Skip to content

Commit 426684b

Browse files
committed
Update orga slides
1 parent 238d890 commit 426684b

File tree

3 files changed

+79
-49
lines changed

3 files changed

+79
-49
lines changed

00_organization/challenge_intro_slides.md

Lines changed: 43 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -47,26 +47,41 @@ slideOptions:
4747
- Examples: feature, tutorial, documentation, new packaging, bugfix, ...
4848
- Run through complete cycle (issue, discussion, PR, review, merge)
4949

50-
### Timeline
50+
---
51+
52+
## Timeline
5153

52-
1. Pick a software (till **Oct 23**, evening)
53-
2. Present the software: how you got it, what are main features, some tutorials you did, ... (**Nov 6**)
54-
3. Present *"RSE infrastructure"* of the software: Which CI / documentation / building / git workflow ... does it use? How do contributions work? (**Dec 11**)
55-
4. Suggest contribution (**Dec 16**)
56-
5. Present the contribution (**Feb 5**)
54+
- Pick a software (till **Oct 22**, evening)
55+
- **Step 1**: Present the software: how you got it, what are main features, some tutorials you did, ... (**Nov 5**)
56+
- **Step 2**: Present *"RSE infrastructure"* of the software: Which CI / documentation / building / git workflow ... does it use? How do contributions work? (**Dec 17**)
57+
- Suggest contribution (**Dec 17**)
58+
- **Step 3**: Present the contribution (**Feb 4**)
5759

5860
---
5961

6062
## Grading
6163

62-
Challenge / exercises / engagement = 45% / 50% / 5%
64+
Challenge / exercises / other = 45% / 50% / 5%
6365

6466
The challenge part:
6567

66-
- All 3 reports: 3/8
67-
- Presentation: 1/8
68-
- Actual contribution: 2/8 difficulty, 2/8 quality (*"net benefit"* for maintainers?)
69-
- *"outstanding"* / *"passed"* / *"failed"*
68+
- All 3 reports: **3/9**
69+
- Presentation: **2/9**
70+
- Actual contribution: **2/9** difficulty + **2/9** quality
71+
- **difficulty**: extend / difficulty of the contribution
72+
- **quality**: how well executed? Communication, documentation, tests, ... (*"net benefit"* for maintainers?)
73+
- *"outstanding"* / *"good"* / *"ok"* / *"not enough"* (*"good"* -> 1.0)
74+
- You need to pass (at least *"ok"*) all steps individually
75+
76+
---
77+
78+
## Example Contributions
79+
80+
1. Ported several demo cases ([see one](https://github.com/FEniCS/dolfinx/pull/2508)) from FEniCS to [FEniCSx](https://fenicsproject.org/): difficulty *"outstanding"*
81+
2. [Improved website search](https://github.com/MakieOrg/Makie.jl/pull/2474) of [Makie](https://makie.org/website/): difficulty *"good"*
82+
3. [Solved a simple good first issue](https://github.com/pymor/pymor/pull/1898) in [pyMOR](https://pymor.org/): difficulty *"ok"*
83+
84+
(all did a good or outstanding job in terms of quality)
7085

7186
---
7287

@@ -75,7 +90,6 @@ The challenge part:
7590
- Something in the simulation universe (this includes equation solvers, meshing, scientific visualization, (AI), ...)
7691
- Truly open source, all development in public
7792
- Uses Git
78-
- Written in Python or C++ (not a strict must)
7993
- Real community project (not 1-2 PhD students developing, but multiple research groups behind project)
8094
- A project that is open for contributions (`CONTRIBUTING.md` or similar)
8195
- Ideally a software you have not worked with before (if you have, please discuss with us)
@@ -90,10 +104,9 @@ The challenge part:
90104
- [DUNE](https://www.dune-project.org/): Modular toolbox for PDEs
91105
- [Eigen](https://eigen.tuxfamily.org): LA library in C++
92106
- [ESPResSo](https://espressomd.org): MD Simulator with Python API (Stuttgart)
93-
- [FEniCS(-X)](https://fenicsproject.org/): FEM library in C++ with Python interface
94107
- [Firedrake](https://www.firedrakeproject.org/): FEM library in Python
95-
- [Gmsh](https://gmsh.info/): Mesh generator
96108
- [LAMMPS](https://www.lammps.org/): MD simulator
109+
- [MercuryDPM](https://www.mercurydpm.org/home): particle code
97110
- [Nalu-Wind](https://github.com/Exawind/nalu-wind): CFD solver for wind farms
98111
- [Palabos](https://palabos.unige.ch/): Lattice Boltzmann method solver
99112

@@ -106,36 +119,45 @@ The challenge part:
106119
- [preCICE](https://precice.org/): Coupling library (Stuttgart)
107120
- [pyiron](https://pyiron.org/): Workflow manager in Python
108121
- [pyMOR](https://pymor.org/): MOR library in Python
122+
- [pyLife](https://pylife.readthedocs.io/en/stable/): fatigue of mechanical components in Python
109123
- [SU2](https://su2code.github.io/): CFD code in C++
110124
- [SUNDIALS](https://computing.llnl.gov/projects/sundials): Nonlinear solvers, ODEs
111125
- [TRILINOS](https://trilinos.github.io/): Collection of scientific software libraries, mainly solvers
112126
- [VisIt](https://visit-dav.github.io/visit-website/index.html): Scientific visualization software
113-
- more projects in [xSDK](https://xsdk.info/packages/) or [NumFOCUS](https://numfocus.org/sponsored-projects)
127+
- more projects in [xSDK](https://xsdk.info/packages/) or [NumFOCUS](https://numfocus.org/sponsored-projects) or [HiRSE Code Promotion](https://www.helmholtz-hirse.de/promo.html)
114128
- **Or your suggestion** (also agent-based or discrete event simulation software)
115129

116130
---
117131

132+
## What Happens if Maintainers do not React in Time?
133+
134+
- Give them time, contact early
135+
- Not your fault
136+
- Keep all communication public, then easy for us to review
137+
138+
---
139+
118140
## How to Submit my Choice?
119141

120-
- [https://gitlab-sim.informatik.uni-stuttgart.de/simulation-software-engineering-wite2425/challenge](https://gitlab-sim.informatik.uni-stuttgart.de/simulation-software-engineering-wite2425/challenge)
121-
- Comment in [issue #1](https://gitlab-sim.informatik.uni-stuttgart.de/simulation-software-engineering-wite2425/challenge/-/issues/1) till **23rd of October** (next Wednesday) evening (no FCFS)
142+
- [https://gitlab-sim.informatik.uni-stuttgart.de/simulation-software-engineering-wite2526/challenge](https://gitlab-sim.informatik.uni-stuttgart.de/simulation-software-engineering-wite2526/challenge)
143+
- Comment in [issue #1](https://gitlab-sim.informatik.uni-stuttgart.de/simulation-software-engineering-wite2526/challenge/-/issues/1) till **22rd of October** (next Wednesday) evening (no FCFS)
122144
- Priority list with at least three choices
123145
- If **not** on our suggestion list, write short paragraph what the software does and give links
124146

125147
---
126148

127149
## Role of Advisor
128150

129-
- Benjamin, Frédéric, Gerasimos, or Ishaan
130-
- Use, for example, exercise blocks and time after lectures for discussions
151+
- Benjamin, Felix, Frédéric, Gerasimos, or Ishaan
152+
- Use, for example, exercise blocks and time before and after lectures for discussions
131153
- Share links etc. to issues and PRs (or tag us)
132154

133155
---
134156

135157
## Presentations
136158

137159
- Length depends on number of students in course (maybe 5-10 mins)
138-
- Everybody has to present at least once
160+
- Everybody has to present at least once, better twice
139161
- Everybody should learn something from every presentation
140162
- Style: like a presentation in a team meeting, not like a presentation at a conference
141163

@@ -146,7 +168,7 @@ The challenge part:
146168
- Submit a report for each step
147169
- 1-2 pages (2500-5000 chars)
148170
- Written in markdown
149-
- Submission via a merge request to the [GitLab challenge repo](https://gitlab-sim.informatik.uni-stuttgart.de/simulation-software-engineering-wite2425/challenge)
171+
- Submission via a merge request to the [GitLab challenge repo](https://gitlab-sim.informatik.uni-stuttgart.de/simulation-software-engineering-wite2526/challenge)
150172
- Add links, instructions, ... should work like a compact summary for everybody in the end
151173
- Will be visible to everybody in SSE group
152174
- We will prepare templates

00_organization/course_intro_slides.md

Lines changed: 35 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ slideOptions:
4747
- Gerasimos (Chourdakis) [`@MakisH`](https://github.com/MakisH)
4848
- Ishaan (Desai) [`@IshaanDesai`](https://github.com/IshaanDesai)
4949

50+
Additional challenge advisors:
51+
52+
- Frédéric (Simonis) [`@fsimonis`](https://github.com/fsimonis)
53+
- Felix (Neubauer) [`@Logende`](https://github.com/Logende)
54+
5055
SSE Hall of Fame:
5156

5257
- Alexander (Jaust) [`@ajaust`](https://github.com/ajaust)
@@ -71,15 +76,13 @@ SSE Hall of Fame:
7176
Two parallel branches:
7277

7378
- **Weekly lectures** (90 mins) and **exercises** (90 mins) to learn and train concepts and tools
74-
- Wednesdays, 09:45–11:15 and 15:45–17:15
75-
- This room: 38-0.108
76-
- No strict distinction between lecture and exercise
77-
- Interactive style (not a theory course)
79+
- Wednesdays, 09:45–11:15 (in V47.05) and 15:45–17:15 (in 38-0.108, might be too small in first week)
80+
- Typically lecture in the morning and exercise in the afternoon
7881
- **Individual challenge**: contribute to real simulation software :rocket:
7982
- List of software candidates: this afternoon
8083
- 3 rounds of presentations from you (more later)
8184
- You get a direct advisor
82-
- Use exercise blocks and time after lectures for discussions
85+
- Use time before and after lectures for discussions
8386

8487
---
8588

@@ -88,6 +91,8 @@ Two parallel branches:
8891
- Basic programming (Python, C++)
8992
- Basic software development skills (bash, Git, md, ...)
9093
- Some simulation background
94+
- SimTech, COMMAS students: no issue
95+
- CS, SE: ideally through Numerical Fundamentals (NumGL) and Fundamentals of Scientific Computing (WissRech)
9196

9297
---
9398

@@ -100,22 +105,13 @@ Two parallel branches:
100105

101106
---
102107

103-
## Waiting List
104-
105-
- Students who have a fixed spot (top 40) in either the lecture or the exercise get in.
106-
- We take 50 students in total.
107-
- Remaining spots are filled by waiting list provided presence or excused today.
108-
- We manually add these students at the end of this week.
109-
110-
---
111-
112108
## Material
113109

114110
- Great open-source book to recap: Irving, Hertweck, Johnston, Ostblom, Wickham, and Wilson: [Research Software Engineering with Python](https://third-bit.com/py-rse/)
115111
- All our material is on [https://github.com/Simulation-Software-Engineering](https://github.com/Simulation-Software-Engineering)
116112
- Mainly markdown ... use your favorite tool to render (simply GitHub viewer, [GWDG Hedgedoc](https://pad.gwdg.de/), [stuvus Hedgedoc](https://pad.stuvus.de/), [pandoc](https://pandoc.org/), [PDFs generated in CI](https://github.com/Simulation-Software-Engineering/Lecture-Material/actions/workflows/create-pdfs-from-markdown.yml), [Marp example](https://github.com/uekerman/sse-marp-example), ...)
117113
- We rework the material as the semester goes.
118-
- We give many links to videos, docs, blog posts, podcasts, ...
114+
- We give links to docs, videos, blog posts, podcasts, ...
119115

120116
---
121117

@@ -132,6 +128,15 @@ Two parallel branches:
132128

133129
---
134130

131+
## Use of Generative AI
132+
133+
- Also changes RSE rapidly
134+
- Even more important: having a good overview of technology and being able to **read** code (what we teach in this course)
135+
- If you use generative AI for your exercises or your challenge: **mandatory** to make this transparent (which parts of your code, how, ...)
136+
- It is important, experiment! But also build a firm understanding of the basics of technology!
137+
138+
---
139+
135140
## Chapters
136141

137142
1. Version Control
@@ -155,11 +160,11 @@ Two parallel branches:
155160

156161
### Timeline
157162

158-
1. Pick a software (till **Oct 23**, evening)
159-
2. Present the software: how you got it, what are main features, some tutorials you did, ... (**Nov 6**)
160-
3. Present *"RSE infrastructure"* of the software: Which CI / documentation / building / git workflow ... does it use? How do contributions work? (**Dec 11**)
161-
4. Suggest contribution (**Dec 16**)
162-
5. Present the contribution (**Feb 5**)
163+
- Pick a software (till **Oct 22**, evening)
164+
- **Step 1**: Present the software: how you got it, what are main features, some tutorials you did, ... (**Nov 5**)
165+
- **Step 2**: Present *"RSE infrastructure"* of the software: Which CI / documentation / building / git workflow ... does it use? How do contributions work? (**Dec 17**)
166+
- Suggest contribution (**Dec 17**)
167+
- **Step 3**: Present the contribution (**Feb 4**)
163168

164169
---
165170

@@ -196,8 +201,8 @@ td {
196201
| ---- | ---- | ------- |------ | -------- |
197202
| 12.11. |Lecture | 3 | Intro packaging, Python packaging | Ishaan |
198203
| 12.11. |Lab | 3 | Python packaging | Ishaan |
199-
| 19.11. |Lecture | 3 | Linux fundamentals, Make, CMake | Benjamin |
200-
| 19.11. |Lab | 3 | CMake and Docker | Benjamin |
204+
| 19.11. |Lecture | 3 | Linux fundamentals, Make, CMake | Gerasimos |
205+
| 19.11. |Lab | 3 | CMake and Docker | Gerasimos |
201206
| 26.11. |Lecture | 3 | Spack | Ishaan |
202207
| 26.11. |Lab | 3 | Spack | Ishaan |
203208
| 03.12. |Lecture | 3 | CPack and more CMake | Benjamin |
@@ -235,13 +240,16 @@ td {
235240
## Examination
236241

237242
- *"Course accompanying examination"*: no exam, but continuous examination (more like a lab course or a seminar)
238-
- Attendance is mandatory.
243+
- Attendance is mandatory
239244
- We look at:
240-
- Challenge (reports, presentations, contribution) (45%)
241-
- Exercises (not every detail, but *"outstanding"* / *"passed"* / *"failed"* ) (50%)
242-
- Overall engagement (interactive lecture, discussions, small presentations, contributions, ...) (5%)
245+
- Challenge (reports, presentations, contribution; more in the afternoon) (45%)
246+
- Exercises (not every detail, but *"outstanding"* / *"good"* / *"ok"* / *"not enough"* ) (50%)
247+
- Other (e.g. contributions to lecture material, ...) (5%)
248+
- *"good"* everywhere leads to 1.0.
249+
- We give (brief) feedback after every exercise.
243250
- You will need to register yourself to the *"exam"* on C@MPUS.
244-
- Point of no return: Once you handed in the first report (Nov 6), you have to register.
251+
- Last in: The deadline to pick a software (**Oct 22**, evening)
252+
- Last out: Once you handed in the first report (**Nov 6**)
245253

246254
---
247255

00_organization/rse_basics_slides.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ slideOptions:
6060
> A Research Software Engineer (RSE) combines professional software engineering expertise with an intimate understanding of research.
6161
6262
- *"Movement"* started in the UK, first UK RSE conference in 2016
63-
- First conferences in Germany and the Netherlands in 2019
63+
- First conferences in Germany and the Netherlands in 2019 ([deRSE 2026](https://events.hifis.net/event/2945/) is in Stuttgart, March 3-5)
6464
- [First de-RSE position paper](https://f1000research.com/articles/9-295/v2) in 2020, [several working groups](https://de-rse.org/en/working_groups.html)
6565
- [Learning and teaching RSE](https://de-rse.org/learn-and-teach/), [foundational competencies](https://de-rse.org/blog/2024/10/08/identifying-the-foundational-competencies-of-an-RSE-en.html)
6666
- [Why be an RSE?](https://researchit.blogs.bristol.ac.uk/2021/10/14/international-rse-day-why-be-an-rse/) Interesting and novel projects, technical freedom, RSEs come from varied backgrounds, development for social good

0 commit comments

Comments
 (0)