The course syllabus contains changes
See changesCourse syllabus adopted 2024-05-06 by Head of Programme (or corresponding).
Overview
- Swedish nameProgramvaruutveckling: teori och praktisk tillämpning
- CodeDAT670
- Credits7.5 Credits
- OwnerTKITE
- Education cycleFirst-cycle
- Main field of studyComputer Science and Engineering, Software Engineering
- DepartmentCOMPUTER SCIENCE AND ENGINEERING
- GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Course round 1
- Teaching language English
- Application code 52151
- Block schedule
- Open for exchange studentsNo
- Only students with the course round in the programme overview.
Credit distribution
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0124 Written and oral assignments 5 c Grading: TH | 5 c | ||||||
0224 Examination 2.5 c Grading: TH | 2.5 c |
|
In programmes
- MPSOF - SOFTWARE ENGINEERING AND TECHNOLOGY, MSC PROGR, Year 2 (elective)
- TKITE - SOFTWARE ENGINEERING, Year 3 (compulsory)
Examiner
- Chih-Hong Cheng
- Associate Professor, Interaction Design and Software Engineering, Computer Science and Engineering
Eligibility
General entry requirements for bachelor's level (first cycle)Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Specific entry requirements
The same as for the programme that owns the course.Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Course specific prerequisites
Knowledge in Java programming and sucessfull completion of courses in data structures and algorithms (e.g., TDA417) as well as object-oriented programming(e.g., TDA548, TDA553) of 7.5hp each.Aim
The course provides theoretical and practical understanding of principles in software engineering, emphasizing skills to tackle modern software complexities and lay a foundation for further studies on the topic of software engineering and a future career as a software engineer.Learning outcomes (after completion of the course the student should be able to)
Knowledge and Understanding- Understand the core principles of software engineering, including various software development life cycles (SDLC), requirements engineering, and software architecture design.
- Describe strategies for software testing, maintenance, and evolution, as well as methods for real-time and safety-critical software engineering.
- Recognize the challenges and strategies of integrating software in complex systems and specific concerns in machine learning components.
- Utilize professional tools for developing, testing, and analyzing software projects.
- Design and evaluate scalable, maintainable, and efficient software architectures.
- Apply software engineering principles to develop solutions in specialized areas such as real-time, safety-critical, and learning-enabled systems.
- Critically assess different SDLC models and software engineering techniques to determine their effectiveness for specific projects.
- Evaluate and integrate software solutions across a variety of applications, including real-time, safety-critical, and learning-enabled systems.
- Understand how software development practices are applied in sectors like finance, telecommunications, and automation.
Content
The course "Software engineering: Theory and practice" is designed to equip students with the knowledge and skills necessary to develop, manage, and maintain software systems across various industries. Starting with a foundation in general software engineering principles, students will explore the many challenges of designing software architectures, requirement engineering, and testing strategies. The course contains specialized topics such as real-time software engineering, software reuse, and the development of learning-enabled systems, emphasizing the unique challenges these systems present. Particular attention is given to safety-critical software engineering, essential for sectors like automotive and aerospace, where reliability and compliance with stringent standards are paramount.Organisation
There will be lectures and exercise sessions. The sessions are a base to the individual assignments which are designed for the students to be familiar with practical applications of theoretical concepts taught in the lectures and professional software engineering tools.Literature
Will be presented 8 weeks before the course startsExamination including compulsory elements
The examination consists of two parts: an individual written exam (2.5 hec) and completion of mandatory homework assignments (5 hec).In order to pass the course, both the final exam and the homework assignment have to be passed. The final grade will be based on the following: EXAM * 0.33 + ASSIGNMENTS * 0.67, rounded to the nearest integer number.
The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.
The course syllabus contains changes
- Changes to course rounds:
- 2024-05-08: Block Block B added by Chih-Hong Cheng
[Course round 1]
- 2024-05-08: Block Block B added by Chih-Hong Cheng