Kursusnavn
Project course: Development studio
ECTS
15 ECTS
Blokplacering
Quarter 3 & 4
Skemagruppe
A
Kursusansvarlig
Jyrki Katajainen
Andre undervisere
to be announced
Formål

Development studio is a place where software development is taught and where developers practise. In this course the focus is on software development in a broad sense, including requirements development, system and software design, software construction, testing, and integration of the system solution in its use context.

Indhold

The course activities are anchored around project work which expands over two quarters. In the projects the students are supposed to solve demanding real-life problems whose specification and solution requires active user participation. There can be two types of users:


1) Partners from industry.
2) Researchers or research labs from our university.


Users or groups of users, who wish to offer development tasks, should get their project idea approved in advance by the course team. Moreover, users must be willing to participate actively in the development process as domain experts and reviewers.


All development tasks are to be presented to course participants orally. The students will be divided into teams of 3-4 people. Each team should submit a written bid for the development task(s) they want to undertake. All bids are to be presented to course participants orally. Based on the bids, teams will be assigned to tasks by the course team in collaboration with the users. One team (or maybe more) will be picked to realize each task. Deliverables and timetables are negotiated and agreed upon in contract form.

As part of contract negotiations, the bidders and the project owners should reach an agreement on the rights and ownership of the final software solutions.


As part of development work, the team members are expected to read selected articles and extracts from textbooks that may help them to produce high-quality solutions for the tasks in question, both as regards to technical quality and usability. Also, guests will be invited to give talks related to the development tasks, and software development in general.  Depending on the number of students on the course, all projects can be bundled together, or they can be separate development tasks which are realized synchronously in parallel. The main idea is to allow learning across teams. Thereby the students may obtain a more multifaceted and deeper insight into software development than it would be possible by working alone with the same task and literature.

Kompetancebeskrivelse*

This course aims to give the students solid skills in software development, which is understood as the range of activities leading to software and information systems that are effective, useful, and satisfactory to their users, both in organizational context and in human lives.

Målbeskrivelse
After the course the student should have skills to

- plan a project before its requirements are known,
- write accurate requirements specifications,
- design the architectural structure of a system,
- turn a specification for a computer program into an operational program,
- test a sizeable program,
- criticize and analyse other people's work,
- disseminate the results of his or her work,
- produce system solutions that are satisfactory to their users, and
- have good understanding of the development processes used in industry.
Eksamensform
Obligatory assignments, group project, and individual one-week take-home exam; 7-scale grade; external examiners
Faglige forudsætninger

The student should have equally good programming skills as a computer-science bachelor. Furthermore, an introductory course on IT project management is a prerequisite. This condition might be satisfied by the optional course offered at our undergraduate program.

Formelle krav

The student should have a bachelor degree in computer science or an equivalent.

Undervisningsprog
English
Varighed

2 quarters = 21 weeks; last two are the exam period

Lærerbøger*
Steve McConnell: Software Project: Survival Guide, Microsoft Press (1998) + articles and extracts from other books.
Pensum*
To be announced by the end of the fourth week of the teaching period
Undervisningsform*

lectures; discussion sessions; student presentations; obligatory assignments; group project; mid-term workshop; take-home exam