You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 34f68fc
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: 00_organization/challenge_intro_slides.md
+33-22Lines changed: 33 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ slideOptions:
37
37
</style>
38
38
39
39
40
-
# Your Challenge: Contribute to Real Simulation Software
40
+
# Challenge: Contribute to real simulation software
41
41
42
42
---
43
43
@@ -51,17 +51,17 @@ slideOptions:
51
51
52
52
## Timeline
53
53
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**)
54
+
1. Pick a simulation software project
55
+
2.**Presentation 1**: How you got the software, what are main features, some tutorials you did, ...
56
+
3.**Presentation 2**: *"RSE infrastructure"* of the software:<br/> Which CI / documentation / building / git workflow ... does it use? How do contributions work?
1. Ported several demo cases ([see one](https://github.com/FEniCS/dolfinx/pull/2508)) from FEniCS to [FEniCSx](https://fenicsproject.org/): difficulty *"outstanding"*
80
+
1. Ported several demo cases ([see one](https://github.com/FEniCS/dolfinx/pull/2508)) from FEniCS to [FEniCSx](https://fenicsproject.org/): difficulty *"outstanding"* (before widespread AI assistance)
81
81
2.[Improved website search](https://github.com/MakieOrg/Makie.jl/pull/2474) of [Makie](https://makie.org/website/): difficulty *"good"*
82
82
3.[Solved a simple good first issue](https://github.com/pymor/pymor/pull/1898) in [pyMOR](https://pymor.org/): difficulty *"ok"*
83
83
84
84
(all did a good or outstanding job in terms of quality)
85
85
86
86
---
87
87
88
-
## Which Software to Pick?
88
+
## Which software to pick?
89
89
90
90
- Something in the simulation universe (this includes equation solvers, meshing, scientific visualization, (AI), ...)
91
91
- Truly open source, all development in public
@@ -108,47 +108,58 @@ The challenge part:
108
108
-[Firedrake](https://www.firedrakeproject.org/): FEM library in Python
- more projects in [xSDK](https://xsdk.info/packages/), [NumFOCUS](https://numfocus.org/sponsored-projects), or [HiRSE Code Promotion](https://www.helmholtz-hirse.de/promo.html)
128
+
- more projects in [NumFOCUS](https://numfocus.org/sponsored-projects) or [HiRSE Code Promotion](https://www.helmholtz-hirse.de/promo.html)
129
129
-**Or your suggestion** (also agent-based or discrete event simulation software)
130
130
131
131
---
132
132
133
-
## What Happens if Maintainers do not React in Time?
133
+
## The Challenge: Advice
134
+
135
+
- Pick something from your background
136
+
- Don't choose based on the programming language
137
+
- Start early, persist with questions, iterate quickly
138
+
- Start with something clear, extend with a second contribution
139
+
- Contact us early in case of trouble
140
+
- Make reviews easy for maintainers (will return to this)
141
+
142
+
---
143
+
144
+
## What happens if maintainers do not react?
134
145
135
146
- Give them time, contact early
136
147
- Not your fault
137
148
- Keep all communication public, then easy for us to review
- Comment in [issue #1](https://gitlab-sim.informatik.uni-stuttgart.de/simulation-software-engineering-wite2526/challenge/-/issues/1) till **22nd of October** (next Wednesday) evening (no FCFS)
154
+
-Challenge repository (see `timetable.md`)
155
+
- Comment in `work item #1` till next Wednesday evening (no FCFS)
145
156
- Priority list with at least three choices
146
-
- If **not** on our suggestion list, write short paragraph what the software does and give links
157
+
- If **not** on our suggestion list, motivate and give links
147
158
- Add pre-knowledge that you have in the field. For example, if you pick pyMOR, you should know already what MOR is.
148
159
149
160
---
150
161
151
-
## Role of Advisor
162
+
## Role of advisor
152
163
153
164
- Felix, Frédéric, Serge, or Gerasimos
154
165
- Use, for example, exercise blocks and time before and after lectures for discussions
@@ -169,8 +180,8 @@ The challenge part:
169
180
170
181
- Submit a report for each step
171
182
- 1-2 pages (2500-5000 chars)
172
-
- Written in markdown
173
-
- Submission via a merge request to the [GitLab challenge repo](https://gitlab-sim.informatik.uni-stuttgart.de/simulation-software-engineering-wite2526/challenge)
183
+
- Written in Markdown
184
+
- Submission via a merge request to the GitLab challenge repo
174
185
- Add links, instructions, ... should work like a compact summary for everybody in the end
- Learn about all the other things you need to develop research /
66
65
simulation software (to become a *"Research Software Engineer"*):
67
-
continuous integration, virtualization, building & packaging, documentation, ...
68
-
- Focus on tools for C++ and Python
69
-
- More than a *"3-days software carpentry workshop on Python and Git"*
66
+
continuous integration, containers, building & packaging, documentation, ...
70
67
- Learn how to contribute to large-scale open-source simulation software projects
71
68
- Learn which important simulation software packages exist and how to use them
72
69
73
70
---
74
71
75
-
## Building Blocks
72
+
## Specific angle
73
+
74
+
- No (advanced) programming course (for C++ and Python)
75
+
- More than a *"3-days software carpentry workshop on Python and Git"*
76
+
- Focus on simulation software
77
+
78
+
---
79
+
80
+
## Building blocks
76
81
77
82
Two parallel branches:
78
83
@@ -90,7 +95,7 @@ Two parallel branches:
90
95
## Prerequisites: Skills
91
96
92
97
- Basic programming (Python, C++)
93
-
- Basic software development skills (bash, Git, md, ...)
98
+
- Basic software development skills (CLI, Git, Markdown, ...)
94
99
- Some simulation background
95
100
- SimTech, COMMAS students: no issue
96
101
- CS, SE: ideally through Numerical Fundamentals (NumGL) and Fundamentals of Scientific Computing (WissRech)
@@ -108,15 +113,15 @@ Two parallel branches:
108
113
109
114
## Material
110
115
111
-
- Great open-source book to recap: Irving, Hertweck, Johnston, Ostblom, Wickham, and Wilson: [Research Software Engineering with Python](https://third-bit.com/py-rse/)
112
-
- All our material is on [https://github.com/Simulation-Software-Engineering](https://github.com/Simulation-Software-Engineering)
116
+
- Great open-source book to recap: Irving, Hertweck, Johnston, Ostblom, Wickham, and Wilson:<br/>[Research Software Engineering with Python](https://third-bit.com/py-rse/)
117
+
- All our material is on GitHub:<br/> [https://github.com/Simulation-Software-Engineering](https://github.com/Simulation-Software-Engineering)
113
118
- 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), ...)
114
119
- We rework the material as the semester goes.
115
120
- We give links to docs, videos, blog posts, podcasts, ...
116
121
117
122
---
118
123
119
-
## Contribute to the Material
124
+
## Contribute to the material
120
125
121
126
- You, no joke :see_no_evil: ([many students already contributed](https://github.com/Simulation-Software-Engineering/Lecture-Material/graphs/contributors))
122
127
- Typos, broken links, ...
@@ -133,19 +138,23 @@ Two parallel branches:
133
138
134
139
- Also changes RSE rapidly
135
140
- Even more important: having a good overview of technology and being able to **read** code (what we teach in this course)
136
-
- If you use generative AI for your exercises or your challenge: **mandatory** to make this transparent (which parts of your code, how, ...)
141
+
- If you use generative AI for your exercises or your challenge: **mandatory** to make this transparent (where, how, ...)
137
142
- It is important, experiment! But also build a firm understanding of the basics of technology!
138
143
139
144
---
140
145
146
+
## Goal: Learn
147
+
148
+
---
149
+
141
150
## Chapters
142
151
143
152
1. Version Control
144
153
2. Virtualization and Containers
145
154
3. Building and Packaging
146
155
4. Documentation
147
156
5. Testing and Continuous Integration
148
-
6. Miscellaneous
157
+
6. Miscellaneous: Publishing, Licenses, ...
149
158
150
159
---
151
160
@@ -157,15 +166,18 @@ Two parallel branches:
157
166
158
167
- Contribute something small (but not trivial) to a large-scale open-source simulation software (*"good first issue"*)
159
168
- Examples: feature, tutorial, documentation, new packaging, bugfix, ...
160
-
- Run through complete cycle (issue, discussion, PR, review, merge)
169
+
- Run through the complete cycle (issue, discussion, PR, review, merge)
161
170
162
-
### Timeline
171
+
---
172
+
173
+
## The Challenge: Timeline
163
174
164
175
- Pick a software project to contribute to
165
-
-**Step 1**: Present the software: how you got it, what are main features, some tutorials you did, ...
166
-
-**Step 2**: Present *"RSE infrastructure"* of the software: Which CI / documentation / building / git workflow ... does it use? How do contributions work?
167
-
- Suggest contribution
168
-
-**Step 3**: Present the contribution
176
+
-**Step 1**: Present the software: how you got it, what are the main features, some tutorials you did, ...
177
+
-**Step 2**: Present *"RSE infrastructure"* of the software: Which CI / documentation / building / git workflow ... does it use? How do contributions work? Is there a GenAI policy?
178
+
- Suggest a contribution
179
+
-**Step 3**: Present your contribution
180
+
169
181
170
182
---
171
183
@@ -178,13 +190,18 @@ See [GitHub: timetable.md](https://github.com/Simulation-Software-Engineering/Le
178
190
## Examination
179
191
180
192
-*"Course accompanying examination"*: no exam, but continuous examination (more like a lab course or a seminar)
181
-
- Attendance is mandatory
182
193
- We look at:
183
194
- Challenge (reports, presentations, contribution; more in the afternoon) (45%)
184
195
- Exercises (not every detail, but *"outstanding"* / *"good"* / *"ok"* / *"not enough"* ) (50%)
185
-
-Other (e.g. contributions to lecture material, ...) (5%)
196
+
-Engagement (e.g., contributions to lecture material, ...) (5%)
186
197
-*"good"* everywhere leads to 1.0.
187
198
- We give (brief) feedback after every exercise.
199
+
- This year: Adding 3x short multiple-choice exams (optional, engagement points if all passed)
200
+
201
+
---
202
+
203
+
## Examination logistics
204
+
188
205
- You will need to register yourself to the *"exam"* on C@MPUS.
Copy file name to clipboardExpand all lines: 00_organization/organizational_remarks_week8_slides.md
+6-16Lines changed: 6 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,26 +33,18 @@ slideOptions:
33
33
}
34
34
</style>
35
35
36
-
# Organizational Things Week 8
36
+
# Organizational remarks
37
37
38
38
---
39
39
40
-
## Time Table
40
+
## Exam registration
41
41
42
-
<style>
43
-
td {
44
-
font-size: 35px
45
-
}
46
-
</style>
47
-
48
-
## Exam Registration
49
-
50
-
- You have to register for the exam node on C@MPUS (we cannot do this for you)
42
+
- You have to register for the exam node on C@MPUS<br/> (we cannot do this for you)
51
43
- The deadline should be very soon
52
44
53
45
---
54
46
55
-
## Challenge First Report: MR Feedback
47
+
## Challenge first report: MR feedback
56
48
57
49
- Try to write good MR titles and descriptions
58
50
- Resolve threads when comments are answered, done, or dropped
@@ -63,14 +55,12 @@ td {
63
55
64
56
---
65
57
66
-
## Challenge Contribution
58
+
## Challenge contribution
67
59
68
60
- Please open an issue in the Challenge repo explaining what you want to work on in the contribution. We will then use these issues to further discuss the progress of the contribution. Provide links to issues, pull requests etc.
69
61
- Remember the deadline for opening the issue (see timetable)
70
-
- If you open earlier, you get feedback earlier
71
-
- Latest feedback from supervisors: first course week after Christmas
62
+
- If you open earlier, you get feedback earlier (till early January)
72
63
- Title of issue: "Contribution to SOFTWARE by USERNAME"
73
64
- Tag your supervisor in description
74
65
- Get in touch with maintainers early (through official channels)
0 commit comments