2025
Communication
There will be an email list created for all participants of the course. The main reporting about lecture dates and locations as well as practicals will be trough this list, e.g. if a lecture has to be moved it will come trough email.
If there are questions / discussion about the course, one can also send to this email list.
For discussing programming and asking questions I recommend using the #python slack channel on the IRF slack.
There is also the #linux-users channel for discussion about Linux systems.
Note!
There is now also the #software-development-course channel on slack!
Schedule
The course is designed to run over approximately 12 weeks.
This year it will run between:
- Start: Week 11 (2025-03-10)
- End: Week 23 (2025-06-05)
Practicals
The course contain two (2) larger practical tasks done in groups, these tasks are more complex and thus usually cannot be completed during a single session.
As such there will be three half-day hackathons where these tasks are started and worked on. They are then finished by the groups on their own.
This year the hackathons will be:
- Hackathon 1 - Practical 1: March 31 (Monday) 09:00 - 12:00 @ Aniara
- Hackathon 2 - Practical 2: April 25 (Friday) 10:30 - 12:00 @ Aniara
- Hackathon 3 - Practical 2: June 4 (Wednesday) 13:00 - 16:00 @ Mima
Lectures
Lecture outline
Hello World- March 19 09:00 - 10:30 @ AniaraWhy this course?- March 19 13:00 - 14:30 @ AniaraPython programming- March 21 09:00 - 10:30 @ AniaraYour tools and environment- March 25 09:00 - 10:30 @ AniaraSolving problems- March 28 09:00 - 10:30 @ AniaraWriting code for Humans to read and Machines to run- April 1 09:00 - 10:30 @ AniaraCollaboration- April 4 09:00 - 12:00 @ AniaraStyles of development- April 8 09:00 - 10:30 @ AniaraSoftware design and architecture- April 25 9:00 - 10:30 @ AniaraMaking it work: debugging- May 6 09:00 - 10:30 @ AniaraMaking it work: logging and profiling- May 6 13:00 - 14:30 @ AniaraAutomate away friction- May 9 09:00 - 10:30 @ AniaraParallelization and foreign function interfaces- May 23 09:00 - 11:00 @ AniaraOptimization- May 27 09:00 - 11:00 @ Aniara
Download calendar file over lectures here
Lecture recordings
0. Hello World
Lecture Recording
1. Why this course?
Recording
2. Python programming
Recording
3. Your tools and environment
Recording
4. Solving problems
Recording
5. Writing code for Humans to read and Machines to run
Recording
6. Collaboration
Recording
7. Styles of development
Recording
8. Software design and architecture
Recording
9. Making it work: debugging
Recording
10. Making it work: logging and profiling
Recording
11. Automate away friction
Recording
12. Parallelization and foreign function interfaces
Recording
13. Optimization
Recording