Course Description

Swe05

Contents

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:

These topics will be studied in theory in the form of lectures and papers, and in practice by means of lab exercises and a software project.

Literature

Required reading for the course consists of 'A Handbook of Software and Systems Engineering' and a series of software engineering research papers.

The book should be ordered, pointers to the papers are available on the course website.

Course form

The course consists of lectures, weekly paper reviews, and a collaborative software project.

Prerequisites

Students are expected to be mature programmers with some experience with project work. It is expected that students are able to acquire skills in new programming languages and environments (e.g., Linux, version management and build tools).

Exam form

The final grade for the course is composed as follows:

  • 30% : grade for maintaining a log of activities and paper reviews
  • 30% : grade for project
  • 40% : grade for final written exam

To pass the course all grades should be higher then 5.5. It is not possible to repeat the project. The exam may be repeated by a new exam.