About the course
Welcome!
Welcome to the course on Fundamentals of Software Engineering. We will teach essential techniques and methods for software engineering in this course, as well as a framework that ties them together.
You can find all information about this course in the module Introduction.
100 % on-campus teaching
All course activities will be on campus in 2023. In case you are unable to join a lecture because of symptoms of illness, you can look at the 2022 edition of the course, which has recorded lectures. (Note that the interactive Q & A sessions were not recorded and that the content in 2023 will vary slightly.)
Graded labs
Four graded lab sessions for presentations/demonstrations will be in the labs (Jan 31, Feb 9, Feb 21, Mar 2).
Lectures
Learning in this course will be based on active learning. Each lecture is preceded by short self-study and then starts as a question and answer (Q & A) session before diving deeper into the material. In general, each 45-minute block is organized in that way, so the time division shown below usually applies twice for a two-hour block.
We would like you to self-study an introduction to each module before each lecture (except for the initial lecture) and will provide you with short videos (typically 3–15 minutes) and reading material for that. Sometimes, there will be questions to think about, or a quiz.
The lecture will begin with a Q & A session to ensure that the introduction to the material was clear and understood. That part will not be recorded, so you can speak freely. After that, the second part of each lecture block dives deeper into the topic.
The lecture blocks may be slightly shorter than 45 minutes each overall, but you are expected to be prepared in advance.
Schedule
The overall schedule for the lectures is as follows:
Lecture | Module |
---|---|
1 | Introduction |
2 | Version Control |
3 | Continuous integration; Introduction to Essence |
4 | Packages, structural complexity, open source |
5 | Testing and assertions, design patterns |
6 | API design and documentation |
7 | Refactoring, debugging, licensing |
8 | The big picture on software engineering |
An overview of all lectures, labs, and deadlines Links to an external site. is available. Note that the "extra lab-exam" and the submission deadline that follows it are only for groups who got an "Fx" during any of the previous graded assignments. For groups that have passed the four graded assignments, they do not apply.
Labs
Labs are done in groups; we will assign the groups to you as soon as course registration closes. Groups are assigned at random to give all students an equal chance and to emphasize the aspect of having to build a team that optimizes each team member's strengths in a project.
Also see: