Missing Semester
This course will be hold by (alphabetical ordering, see below for emails!) Tobias Faller, Dr. Mathias Fleury, Bernhard Gstrein, Florian Pollitt, and Tobias Seufert.
This course is oriented to the MIT/SAI “Missing Semester” and presents many useful tools. None of these tools requires a separate course, but each is useful, especially for manipulating text (e.g., log files, automating and evaluating experiments, …). A typical bachelor thesis will involve:
- programming (with an IDE and a proper text editor setup)
- analysing logs (for performance, statistics)
- writing in LaTeX
- producing plots
All these topics are covered in this lecture. More formally this course covers the following topics, among others:
- Linux and desktop environment
- text editors - Using Git - Shells and command line
- Draw graphs in programs
The number of participants is limited (as we run the course for the first time) and HisInOne is taking care of it. We assume that master students already know most of the content, but they can attend too.
You can find a sanitized version of slides on our Nextcloud.
NEWS
- 8 october: we are activaly rejecting master students on HisInOne. It seems that the course was allocated with wrong conditions in HisInOne.
- 25 September: master students cannot get ECTS for this course (unless you failed last time), EDIT 8. october: except for some Lehramt cases.
- 25 September: adding programm
- 23 September: it seems that the course is also opened for masters. We are not sure yet what we will do with the master students, but we will for sure take as many Bachelor students as possible before taking master students.
- 17 September: we do not know why the course is not visible on the Vorlesungsverzeichnis, but it is taking place
- 06 September: added information on registration
- 18 July: The course will be in German even if (most of) the material is in English
Changes compared to previous iteration
- The course is actually not meant for master students (who probably have already learned most of it anyway). Last year, it was still possible. This year it will not be (except if you failed the course).
Registration
For the registration we rely on HisInOne (including the selection process). We have been told that this time exercises and lecture would be synchronized, so only one registration is required. The registration dates are defined by the University, not by us (last year it was 25.09.2023 and will be similar this year, please see https://www.tf.uni-freiburg.de/de/studium-lehre/termine – we do not control the webpage and we do not know when it will be updated).
The course is (supposed to be) limited to 140 students. We are not sure if we will reach that limit or not (last year we did not have that many bachelor students).
Organization
- Mode: lecture is in-person (with interaction), but also streamed and recorded with Zoom (without interaction)
- Lecture & Exercise Class: To be confirmed (actual information: Wednesday 10 to 12 and Thursday 12 to 2pm)
- Credits: 6 ECTS
- Dependencies: none
- Language: german
- Responsible (for general questions): Dr. Mathias Fleury
- Responsible on paper (for information only, he is only forwarding email to the person above! use the link to open your email client): Prof. Dr. Armin Biere
- Email (for everyone): To write everyone
- Teaching by (alphabetical ordering, do not use this list to write people!): Tobias Faller, Mathias Fleury, Bernhard Gstrein, Florian Pollitt, and Tobias Seufert.
- Exercises will be done on the fly during the lecture depending on the subject.
Most communication is done through Ilias.
Why this course
The entire idea of this course is to show you tools and things that exist. In 2023 we got the feedback that many people would have like the course as a bachelor course! So come and watch it.
Grading
The course will be composed of two parts: the studienleistung (the weekly exercises) and the prüfungsleistung (a project at the end that will have to cover several themes, with a deadline two weeks after the end the course). More details will be given later.
Project
The project will be fully announced later in the semester (probably as mentioned in the program, see below). You can have a look at the 2023 version, which will be similar to the 2024 version.
Temptative Planning
Week 1 to 5: Linux and Git (from the GUI down to the terminal)
Week | Lecture plan | Topics | Exercise available | Homework about that content |
---|---|---|---|---|
14. Oct | 16. Oct., 10 AM to 12 PM | Introduction | ||
Light intro to markdown | ||||
Github + TF account | ||||
17. Oct., 12 PM to 02 PM | Ilias + Suchen + Einführung | |||
21. Oct | 23. Oct., 10 AM to 12 PM | Linux | at home | CRITICAL-EXERCISE |
24. Oct., 12 PM to 02 PM | ||||
28. Oct | 30. Oct., 10 AM to 12 PM | Emacs+LSP | on Monday and Thursday | Not-All-Required (1/6) |
04. Nov | 06. Nov., 10 AM to 12 PM | Terminal (mit pipe) | during lecture | Not-All-Required (2/6) |
07. Nov., 12 PM to 02 PM | TF account for ssh / how much printing left / .. | |||
11. Nov | 13. Nov., 10 AM to 12 PM | Git (repositories, collaboration hooks, CI, …) | during lecture | |
14. Nov., 12 PM to 02 PM | Git exercises | CRITICAL-EXERCISE (2weeks) | ||
18. Nov | 20. Nov., 10 AM to 12 PM | Git | ||
21. Nov., 12 PM to 02 PM | PDB |
Week 6 to 11: Automation
Week | Lecture plan | Topics | Exercice available | Homework about that content |
---|---|---|---|---|
25. Nov | 27. Nov., 10 AM to 12 PM | vim/helix + treesitter | during lecture | Not-All-Required (3/6) |
28. Nov., 12 PM to 02 PM | vim exercises | |||
02. Dec | 04. Dec., 10 AM to 12 PM | Python to extract data | CRITICAL-EXERCISE | |
06. Dec., 12 PM to 02 PM | Exercise | |||
09. Dec | 11. Dec., 10 AM to 12 PM | VSCode (including plugins, remote) | Not-All-Required (4/6) | |
12. Dec., 12 PM to 02 PM | ||||
16. Dec | 18. Dec., 10 AM to 12 PM | Docker (requested topic) | ||
20. Dec., 12 PM to 02 PM | ||||
23. Dec | FREE (Christmas) | |||
FREE (Christmas) | ||||
30. Dec | FREE (New Years) | |||
FREE (New Years) | ||||
06. Jan | 08. Jan., 10 AM to 12 PM | Plots (jupyper notebook) | CRITICAL-EXERCISE | |
09. Jan., 12 PM to 02 PM | pyplot |
Week 12 to 15: High level again
Week | Lecture plan | Topics | Exercice available | Homework about that content |
---|---|---|---|---|
13. Jan | 15. Jan., 10 AM to 12 PM | LaTeX | during lecture | Not-All-Required (5/6) |
16. Jan., 12 PM to 02 PM | Project presentation? | |||
19. Jan | 21. Jan., 10 AM to 12 PM | LaTeX | during lecture | |
22. Jan., 12 PM to 02 PM | LLMs? | |||
27. Jan | 29. Jan., 10 AM to 12 PM | LLMs (+define project here?) | CRITICAL-EXERCISE | |
30. Jan., 12 PM to 02 PM | ||||
03. Feb | 05. Feb., 10 AM to 12 PM | Feedback + project |
The Lehrevaluation is the 6th not-all-required exercise and you must pass 4 of the 6 not-all-required exercises.
Missing Semester: what other topics?
It is unlikely that a second version will ever exist here, but many more topics are still interesting to have heard about, including:
- editorconfig
- make / cmake / autoconf / automake
- toying with linux kernel configuration (like scheduler)
- backup management (unison)