DM571: Software Engineering
Comment
Entry requirements
Academic preconditions
Students taking the course are expected to be able to program on a level corresponding to the course DM550 Introduction to Programming.
The course builds on the knowledge acquired in the courses DM550 Introduction to Programming, and gives an academic basis for doing a bachelor project as well as following elective Master's level courses on advanced subjects within software architecture.
Course introduction
Expected learning outcome
- Describe in detail the core activities of the software development process.
- Describe and discuss process models, and perform substantiated choices between these.
- Describe tools and modeling formalisms from the course.
- Describe and discuss software patterns and other architectural structures, and perform substantiated choices between these.
- Apply knowledge and methods from the course in concrete settings in programming projects.
- Discuss the influence and impact of software on humans, organizations, and society, including ethical issues.
Content
- The core activities of the software development process: user requirements, design, implementation, documentation, test, deployment, maintenance.
- Process models, traditional and agile (with a focus on the latter).
- Software design patterns and other structural/architectural issues.
- Tools and modeling formalisms.
- Software in context: user interfaces, IT and organizations, IT and society, ethics.
Literature
Examination regulations
Exam element a)
Timing
Tests
Portfolio
EKA
Assessment
Grading
Identification
Language
Duration
Examination aids
ECTS value
Additional information
- A number of assignments handed in during the course
- Final oral exam during the exam period
Indicative number of lessons
Teaching Method
Planned lessons:
Total number of planned lessons: 84
Hereof:
Common lessons in classroom/auditorium: 84
The lectures facilitates an introduction to new material and topics, which in the skills home lessons are processed via reading of material, exercises, and project work in order to validate and broaden the acquired knowledge.
Other planned teaching activities:
Describe briefly what happens outside the planned lessons:
Reading from textbooks, solving homework and applying acquired knowledge to practical projects