Table of Contents

T-76.3601 Basics of Software Engineering

Why software engineering?

While being an expert on programming is crucial for a software development professional, in itself it is not enough. Most software development activities take place in teams within business organizations, often with outside customers. In such projects, programming can stand for only about 30–35% of total effort. Thus, most of the time is spent on other activities, including requirements management (understanding what to build), project planning (knowing how long it will take and what to charge), team building and organization, testing and releasing. For most organizations, having a defined and understood way of developing software is crucial.

The field of software engineering deals with how to plan, build and maintain real, complex software systems in real-world organizations. Having a basic understanding of software engineering is crucial for all computer science professionals, even those wanting to focus on programming. People specializing in software engineering typically work as software designers, implementors or testers; as project managers, process developers, program managers or software development heads.

Course objectives

The purpose of the course is to familiarize students with the problems, concepts, models and methods in the field of software engineering. The course aims at giving a high-level overview of various approaches and methods, from both a theoretical and practical perspective.

Upon completing the course, students should:

Course overview

The course is divided into two distinct parts: an introductory part lasting 5 weeks, and an advanced part lasting 8 weeks.

During the introductory part, students quickly familiarize themselves with the field of software engineering through lectures, and by reading the textbook. The introductory part ends in a mid-term exam covering selected chapters of the textbook. The purpose of the introductory part and the mid-term exam is to ensure that students have a good grasp of the basic terminology and issues in software engineering. With this knowledge, they are better able to actively participate in the guest lectures.

The advanced part consists of guest lectures featuring industry and academic experts presenting and discussing their own topics of expertise. During this part, students are encouraged to engage in discussions with the experts in order to facilitate deeper understanding of issues and make the learning experience more interesting both for themselves and the lecturers. No lecture notes will be distributed from the guest lectures, but the slides will be made available on the course web page. Students are encouraged to take notes during the lectures.

During the advanced part of the course, there are weekly exercises on the topics discussed during the lectures. Each exercise contains multiple-choice questions, as well as a short one-page (500 words) essay question. By completing the exercises students can earn up to 40 points. The topics of the exercises are based upon both the material in the textbook and the lectures (including the discussions during the lectures). Answering some exercises might also require a small amount of research, e.g., using the Internet.

The course ends with the second mid-term exam, from which students can get up to 30 points. For students who have not taken and passed the first mid-term exam, an augmented exam will be available. By taking this augmented exam, students can earn up to 60 points.

Course material

Course material is listed on material page.

Course personnel

Course personnel and their contact information can be found from personnel page.

Course schedule

The course will follow the schedule shown in schedule page. Note that guest lecturers and to some degree, contents, are preliminary and subject to change. We will inform you of changes both on our Web site, and by sending email to the address registered in Webtopi.

Course information and communication

Course information channels and information about communication with course personnel can be found on the communication page.


Last modified: 10.09.2008 16:22