Course Description
Swe03
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.
This includes the following topics:
- Software lifecycle
- Software configuration management
- Build management
- Version management
- Software deployment
- Software logistics
- Software process
- Validation and verification
- Software inspection
- Software testing
- Software evolution
- Software metrics
- Software reuse
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 the
Guide to the Software Engineering Body of Knowledge
and a series of software engineering research papers.
All literature is accessible via the course website.
Course form
The course consists of lectures, weekly paper reviews, lab exercises
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:
- 40% : average of grades for paper reviews
- 20% : grade for lab exercise
- 40% : grade for project
To pass the course all three grades should be higher then 5.5.
It is not possible to repeat the project.
The lab exercise may be repeated, if it was turned in on time
for the first deadline.
Failing reviews may be compensated with reviews of new papers,
only if all reviews were handed in.