|Website:||website containing additional information|
|Credits:||6 ECTS (=4.2 old credit points)|
|Period:||periode 2 (week 44 t/m 51, dwz 28-10-2002 t/m 20-12-2002; herkansing week 10)|
|Participants:||up till now 41 subscriptions|
|Schedule:||Dit is een oud rooster!
|Contents:||The IEEE Computer Society defines software engineering as "(1) The
application of a systematic, disciplined, quantifiable approach to the
development, operation, and maintenance of software; that is, the
application engineering to software. (2) The study of approaches as in
Thus software engineering comprises everything that is involved in building and maintaining software systems. Clearly this is too much to cover in a single course. Many aspects of software engineering are adequately treated in the rest of the computer science curriculum, e.g., algorithms, data structures, programming languages, and programming methodology. Other aspects of software engineering such as project management are better studied in a department with knowledge of management. On the other hand, essential tools for software engineers, such as version management, build management, software deployment, and software testing, are neglected.
In this course we focus on the technical aspects of the software engineering process, and in particular on the tools that support this process. We will study the following topics:
The course starts with introductory lectures about each of these topics in order to introduce the basic tools to be used in the practical work.
The practical exercises of the first half of the course allow you to acquire the basic skills necessary to use the tools. These smaller introductory exercises are followed by a larger exercise in which you will reorganize an existing program to make it reusable, maintainable, and portable using the tools covered by the course.
The tools covered in the first part are widely used and provide solutions to common development problems, however, they are far from perfect. In the second half of the course we examine the underlying problems and study alternative solutions and tools for these problems. You will further examine specific problems and tools by writing a paper comparing a selection tools on their ability to solve a particular development problem.
|Literature:||The literature for this course consists of a bundle of articles (reader) accompanied with pointers to further resources on the website. The reader can be obtained at the student desk. Slides of the lectures will be made available online.|
|Course form:||There will be two weekly lectures and two lab sessions. Your are expected to read literature accompanying the lectures, make lab assignments, and write a tool comparison paper.|
|Exam form:||You have to hand in
|Minimum effort to qualify for 2nd chance exam:||Om aan de aanvullende toets te mogen meedoen is ontbreken van ten hoogte 1 toetsactiviteit toegestaan.|