Course syllabus

Software Development in Teams - Project
Programvaruutveckling i grupp - projekt

EDAF45, 7.5 credits, G2 (First Cycle)

Valid for: 2024/25
Faculty: Faculty of Engineering LTH
Decided by: PLED C/D
Date of Decision: 2024-04-16
Effective: 2024-05-08

General Information

Main field: Technology Depth of study relative to the degree requirements: First cycle, in-depth level of the course cannot be classified
Mandatory for: C2, D2
Elective for: E4
Language of instruction: The course will be given in Swedish

Aim

The purpose of the course is to provide knowledge and practical experience of how to collaborate in a team to produce a software product. The focus is on the method "Extreme programming", a highly iterative, so-called agile, development process that aims at sustainable software development. The course covers principles for collaboration with the customer, planning, sustainable design/implementation, testing and delivery. At the same time, the course functions as an in-depth study of object-oriented programming. The course also gives the student a basic knowledge of how development of software systems generally takes place, as well as an ability to reflect on the purpose of various elements in a development methodology.


Learning outcomes

Knowledge and understanding
For a passing grade the student must

Competences and skills
For a passing grade the student must

Judgement and approach
For a passing grade the student must

Contents

A concrete iterative software development method is used where the students are trained to work in a team. The method is based on Extreme Programming (XP), with practices like iterative planning, automated testing, test-driven development, pair programming, refactoring, and frequent releases.

Customer requirements are formulated and prioritized in cooperation with the students. This way, the students get an insight into the different roles in the work process, e.g., as customer, project leader, and developer, and insight into the needs of the customer and how they can be handled. The course gives practical experience from how a small project can be run and thereby a frame of reference for subsequent courses that treat methodology for software development in larger projects and organizations.

The course covers two study periods. During the first period a series of lectures are given, supported by lab sessions on specific topics like planning, testing, version control, and refactoring. During the second period, the students work in teams of around 10. Each team carries out a software development project structured as a sequence of iterations, each consisting of a planning meeting and a development session.

At the end of the course, the teams present their developed products.

Examination details

Grading scale: UG - (U, G) - (Fail, Pass)
Assessment:

To qualify for a passing grade the students must have an approved laboratory work and pass a small written examination. This is also the prerequisite to for project during the second reading period. For a passing grade also all parts of the project must be accomplished, including the development sessions, the planning meetings, the reflections, and the presentation of the developed product.

The examiner, in consultation with Disability Support Services, may deviate from the regular form of examination in order to provide a permanently disabled student with a form of examination equivalent to that of a student without a disability.

Modules
Code: 0116. Name: Laboratory Work and Short Written Examination.
Credits: 2.5. Grading scale: UG - (U, G). Assessment: Passed laboratory work. Passed short written examination.
Code: 0216. Name: Project.
Credits: 5.0. Grading scale: UG - (U, G). Assessment: Passed all parts of the project.

Admission

Admission requirements:

The number of participants is limited to: 160
Selection: The course is open only to Swedish-speaking students due to the focus on collaboration. Admission guaranteed for students for whom the course is mandatory. Selection rules for the remaining places: Completed university credits within the programme. Priority is given to students enrolled on programmes that include the course in their curriculum.
Kursen överlappar följande kurser: EDA321 EDA322 EDA260 EDAG05 ETSA03

Reading list

Contact

Course coordinator: Ulf Asklund, ulf.asklund@cs.lth.se
Course homepage: cs.lth.se/edaf45