[Note for
minor students: take this course in your third year; `Modelleren en
systeemontwikkeling' is a required course.]
The IEEE Computer Society
defines software engineering as
The application
of a systematic, disciplined, quantifiable approach to the development,
operation, and maintenance of software; that is, the application of engineering
to software.
Thus
software engineering comprises everything that is involved in building and
maintaining software systems, including design and construction, manufacturing
and distribution, project management, and human factors of software use and
development. Many aspects of software engineering are adequately treated in the
rest of the computer science curriculum, e.g., algorithms, data structures,
programming languages, programming methodology, and software design. In this
course we focus on those aspects of the software process that are required to
turn programming into software development, i.e., the activities that are
complementary to design and construction of software, including the following
topics:
- Formal
requirements specification
- Design through specification languages
- Aspect oriented
programming
- Software engineering
support (tools):
- Configuration
management
- Version
management
- Build
management
- Deployment
- Testing
and profiling
- Software comprehension and metrics
- Empirical
software engineering
These topics will be studied in
theory in the form of lectures and papers, and in practice by means of lab
exercises. The course features a number of guest lectures from academia and
industry.
http://www.cs.uu.nl/education/vak.php?vak=INFOSWE&jaar=2008