Software Engineering
Module: INF-BSc-115
LSF: 040135
Credits: 4 (lecture 3 / exercises 1)
Hours: 3 (lecture 2 sws / exercises 1 sws)
Location: Tuesdays SRG 1 / H.001 ; Wednesdays HG II / HS 6
Start: 09.04.2024
Moodle: https://moodle.tu-dortmund.de/course/view.php?id=44668 (Attention! Registration via LSF!)
This course will be given in German.
Contents
Software Engineering is a key qualification for a computer science student. The ability to conceptualize, organize, design, create, and test software in different scales (small to ultra-large) is expected from a computer science graduate. In this lecture we will lay the foundation for this ability and familiarize students with the techniques and methodology in this field.
Curriculum
1 | Foundations / Overview |
2 | Requirements (Collection, Capture, and Management) |
3 | Empicial Methods |
4 | Project Management (Waterfall, V-Model, SCRUM, ...) |
5 | Implementation Patterns |
6 | Modelling Languages (UML, ...) |
7 | Design Patterns |
8 | Design Patterns |
9 | Application Domains and Domain-Driven Design |
10 | Architecture Patterns |
11 | APIs and Interfaces |
12 | Components (Databases, Message Queues, Key-Value Stores, ...) |
13 | Quality and Testing |
14 | Mectrics and Formal Methods |
Course Mode
This will be primarily an in-person course.
Given the current state of the Corona pandemic we will, however, attempt to provide recodings and digital sessions as well. This might not be as interactive as an in-person attendance, but will enable vulnerable persons and persons that we taken by surprise by the sudden return to in-person teaching to still take this course.
Students will have to hand in their results for two of the exercise sheets to pass the course. A certain amount of points needs to be achieved there to pass. This is the course achievement (Studienleistung). This will happen through Moodle.
There will be one lectures per week on Tuesday. Sometimes we will use the Wednesday lecture to provide additional content and discuss exercises and labs. We will attempt to live stream these lectures through our YouTube channel (links available in Moodle shortly before the lectures) and furthermore we will attempt to upload the recordings to the university infrastructure and Moodle. Please understand that this is an extra effort for us and will be subject to technical and personal feasibility. The default mode of this course is in-person.
There will be accompanying exercises to the lecture content. Most of these exercises will not be corrected by us. The exception here are the two exercises necessary for the course achievement (Studienleistung) mentioned before. 14 days after the exercises are issued, we will provide a suggested solution that you can use for self-correction. However, we strongly recommend doing these exercises as they prepare you for the exam. It will also give you a feel for the nature of the exam questions. You can find the exercise sheets in Moodle.
We offer 14 exercise sessions per week. You can find the individual dates in LSF. Some of these sessions will be offered as digital sessions. We will announce these sessions in Moodle. We strongly recommend visiting these exercise sessions as they will help you understand the course topics and will prepare you for the exam.
We plan to offer a help desk for the course. Please refer to the official Help Desk website.
Communication
You can ask a question about the course at any time in the Questions and Answers forum in Moodle. You can also answer questions from other students there at any time. We will follow the discussions and add to them if necessary and answer questions that remain unanswered. I ask you to make use of this opportunity and help each other here in working out the material. It is scientifically proven that nothing helps to learn (or consolidate) something more than explaining it to other people. Communication in Moodle is also not anonymous for many reasons. We still ask you to use the forum. We consider your questions there as a learning process and only grade official submissions and exams. If you have a personal concern (e.g. regarding registration formalities), please write to us and ask for a personal appointment.
Literature
- Felderer, Michael (Hrsg.) - Contemporary Empirical Methods in Software Engineering
- Beck, Kent - Implementation Patterns (2008) / Deutsche Ausgabe
- Gamma; Helm; Johnson; Vlissides - Design Patterns (2009) / Deutsche Ausgabe
- Evans, Eric - Domain-Driven Design (2004)
- Buschmann, Frank et al. - Pattern-Oriented Software Architecture - A System of Patterns (1996)