Software-intensive systems combine software and hardware. The goal of this course is to understand the challenges, technologies, and best practices for the design and construction of software-intensive systems. This course covers the front-end life cycle of systems engineering, top-down and bottom-up engineering, integration of components, design for reuse, COTS components (off-the-shelf components), and the responsibilities of a systems engineer. The students have to form small teams to construct a software-intensive system of their choosing, making use of advanced modeling techniques such as model simulation. Students are to present their solutions in the course and submit a report summarizing them.
The course includes several lectures on why the engineering of software-intensive systems is different from the engineering of a "pure" software system. The course is "hands on" by forming student teams of engineers to explore the engineering of a specific system of their choosing.
The grade is composed out of the project grade and the grade of a small exam at the end of semester.