|Website:||website containing additional information|
|Period:||periode 1 (week 36 t/m 45, dwz 3-9-2009 t/m 6-11-2009; herkansing week 52)
|Participants:||up till now 36 subscriptions|
|Schedule:||Note: from now on the schedule is to be found in Osiris|
|Teachers:||Dit is een oud rooster!
|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:
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.
- Formal requirements specification
- Design through specification languages
- Aspect oriented programming
- Software engineering support (tools):
- Configuration management
- Version management
- Build management
- Testing and profiling
- Software comprehension and metrics
- Empirical software engineering
|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 material that is not in the book.
|Course form:||The course consists of following the lectures (presence is not mandatory, however), doing two literature/tool studies (alone) and three practical assignments (in pairs). At the end there is a single closed book exam.
|Exam form:||The final grade for the course is computed as follows:
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.
- 20% : average grade for paper reviews
- 40% : average grade for practical assignments
- 40% : grade for final written exam.
|Minimum effort to qualify for 2nd chance exam:||If you have not passed the course yet, you are allowed a 2nd chance exam (aanvullende toetsing) 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. What constitutes the 2nd chance exam will be established individually for all who qualify to participate.
Note: a part of the course that you did not hand in at all, defaults to the grade zero. |