- The role of design abstraction and patterns in engineering software
- Learn the managing of software projects in teams
- The organization and activities of mature software processes
Software engineering is the discipline of engineering large software systems, whose development and maintenance involve multiple people. The course provides the fundamental skills to engineer software systems, manage a software process, elicit, specify and analyse requirements, validate and verify software.
- Attendance in class
- Exercises done as homework and discussed in class
For each main topic, there will be an assignment, to deliver within specified deadline. There will also be both an intermediate and a final written exam, with questions on the topics of the course. The grades on assignments and exams will comprise the 60% and 40% of the final grade, respectively.