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 9fd9871
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,8 +138,13 @@ 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!
143
+
-**Not allowed:** GenAI for communication (reports/exercise PR descriptions).
144
+
145
+
---
146
+
147
+
## Goal: Learn
138
148
139
149
---
140
150
@@ -145,7 +155,7 @@ Two parallel branches:
145
155
3. Building and Packaging
146
156
4. Documentation
147
157
5. Testing and Continuous Integration
148
-
6. Miscellaneous
158
+
6. Miscellaneous: Publishing, Licenses, ...
149
159
150
160
---
151
161
@@ -157,15 +167,18 @@ Two parallel branches:
157
167
158
168
- Contribute something small (but not trivial) to a large-scale open-source simulation software (*"good first issue"*)
159
169
- Examples: feature, tutorial, documentation, new packaging, bugfix, ...
160
-
- Run through complete cycle (issue, discussion, PR, review, merge)
170
+
- Run through the complete cycle (issue, discussion, PR, review, merge)
161
171
162
-
### Timeline
172
+
---
173
+
174
+
## The Challenge: Timeline
163
175
164
176
- 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
177
+
-**Step 1**: Present the software: how you got it, what are the main features, some tutorials you did, ...
178
+
-**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?
179
+
- Suggest a contribution
180
+
-**Step 3**: Present your contribution
181
+
169
182
170
183
---
171
184
@@ -181,19 +194,33 @@ See [GitHub: timetable.md](https://github.com/Simulation-Software-Engineering/Le
181
194
- Attendance is mandatory
182
195
- We look at:
183
196
- Challenge (reports, presentations, contribution; more in the afternoon) (45%)
184
-
- Exercises (not every detail, but *"outstanding"* / *"good"* / *"ok"* / *"not enough"* ) (50%)
185
-
-Other (e.g. contributions to lecture material, ...) (5%)
197
+
- Exercises (pass/fail) + interim assessments on the course topics (25%+25%)
198
+
-Engagement (e.g., contributions to lecture material, ...) (5%)
186
199
-*"good"* everywhere leads to 1.0.
187
200
- We give (brief) feedback after every exercise.
188
-
- You will need to register yourself to the *"exam"* on C@MPUS.
201
+
202
+
---
203
+
204
+
## Examination details
205
+
206
+
- Challenge: Must pass every step.
207
+
- Exercises: Collect points
208
+
- Feedback on exercises: pass/fail
209
+
- On each presentation week (morning slot): a few (primarily closed-form) understanding questions
210
+
211
+
---
212
+
213
+
## Examination logistics
214
+
215
+
- You will need to register yourself for the *"exam"* on C@MPUS.
189
216
- Last in: The deadline to pick a software
190
217
- Last out: Once you handed in the first report
191
218
192
219
---
193
220
194
221
## GitLab Account
195
222
196
-
- Please write a mail till tonight to Gerasimos.
223
+
- Please write an email until tonight to Gerasimos.
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