DD2480 VT21 (61173) Software Engineering Fundamentals

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.

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.

Lecture schema: pre-study, Q & A, half-hour lecture

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, either on Canvas or at the beginning of the Q & A session on Zoom.

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.

We hope that this way, the course load will overall be the same as when we would have physical lectures, and that the course is more interesting than when having to follow 90-minute Zoom streams non-stop.

Schedule and Zoom links

The overall schedule for the lectures is as follows:

Lecture Module Zoom link
1 Introduction https://kth-se.zoom.us/j/9436681205 Links to an external site.
2 Version Control https://kth-se.zoom.us/j/5095865614 Links to an external site.
3 Continuous integration; Introduction to Essence https://kth-se.zoom.us/j/9436681205 Links to an external site.
4 Packages, structural complexity, debugging https://kth-se.zoom.us/j/9776973454 Links to an external site.
5 Testing and assertions https://kth-se.zoom.us/j/9776973454 Links to an external site.
6 API design and documentation https://kth-se.zoom.us/my/snilsson Links to an external site.
7 Refactoring and design patterns, open source https://kth-se.zoom.us/j/9776973454 Links to an external site.
8 The big picture on software engineering https://kth-se.zoom.us/j/9776973454 Links to an external site.

Download An overview of all lectures, labs, and deadlines

is available as a PDF (updated: Jan 11). 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.

You will use your own Zoom room for each lab, both for requesting assistance and for presenting your work (in the "exam labs"). You can share your Zoom room link on the KTH lab queue, and we will connect to your ongoing Zoom meeting.

Also see: