Department of Information and Computing Sciences

Departement Informatica Onderwijs
Bachelor Informatica Informatiekunde Kunstmatige intelligentie Master Computing Science Game&Media Technology Artifical Intelligence Human Computer Interaction Business Informatics

Onderwijs Informatica en Informatiekunde

Vak-informatie Informatica en Informatiekunde

Software engineering

Te lang geleden voor docent- en roosterinformatie
Contents:[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.
Literature:Required reading for the course consists of ' Software Engineering 8 by Ian Sommerville' and a number of software engineering research papers that shall have to be reviewed. More details on which chapters and papers ought to be read can be found on the course website. The slides (including those of the guest lectures) are an important part of the material and are also part of the material for the exam; they contain quite a bit of material that is not in the book.
Course form:The course consists of following the lectures, a number of paper reviews and three practical assignments. At the end there is a single closed book exam.
Exam form:The final grade for the course is computed as follows:
  • 20% : average grade for paper reviews
  • 40% : average grade for practical assignments
  • 40% : grade for final written exam.
All practical assignments are weighted equally, and all paper reviews are weighted equally. To pass the course the exam grade should be 5.5 or higher, all other grades should be 4 or higher, and the average should be higher than or equal to 5.5.
Minimum effort to qualify for 2nd chance exam:If you have not passed the course yet, you are allowed a 2nd chance exam if, by replacing your exam grade by a perfect score of 10, the smallest grade of the practical assignments by a perfect score of 10, and the smallest grade of your paper reviews by a perfect score of 10, the condition for passing the course are fulfilled. Note: a part of the course that you did not hand in at all, defaults to the grade zero.
wijzigen?