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
Moodle: https://moodle.tu-dortmund.de/course/view.php?id=32577 (Registration via LSF!)
This course will be given in German.
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.
|1||Foundations / Overview|
|2||Requirements (Collection, Capture, and Management)|
|4||Project Management (Waterfall, V-Model, SCRUM, ...)|
|6||Modelling Languages (UML, ...)|
|9||Application Domains and Domain-Driven Design|
|11||APIs and Interfaces|
|12||Components (Databases, Message Queues, Key-Value Stores, ...)|
|13||Quality and Testing|
|14||Mectrics and Formal Methods|
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.
The course will be given in compact mode. That means that the usual 14 weeks will be tightened into 7 weeks including 2 lectures each week and extended exercise sheets. This will enable one of the two exam dates to happen very early (likely in June) and will enable student to participate in the hands-on lecture during the semester break if passed. The second exam date will happen later in the semester. We will evaluate the usefullness of this course mode during this semester and will base our decision to continue this practice on the results of this evaluation.
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 two lectures per week: Tuesdays 16:15 - 18:00 in SRG 1 / H.001 and Wednesdays 08:15 - 10:00 in HG II / HS 6. 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 question. 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.
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.
- 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)