Course

Software Engineering (DAT240)

Facts

Course code DAT240

Credits (ECTS) 10

Semester tution start Spring

Language of instruction English

Number of semesters 1

Exam semester Spring

Time table View course schedule

Literature Search for literature in Leganto

Introduction

The students will learn to apply software development methodologies such as agile and project management tools in developing a large group software project. Learn about various programming paradigms such as objected oriented programming, functional, etc. Learn to identify the difference between these paradigms and their limitations.

Content

  • Software development methodologies for example, agile methodologies such as scrum, kanban, project management tools (for design, tracking issues, sprints etc)
  • Programming paradigms such as object oriented programming, functional programming, procedural programming with emphasis on strong typed languages
  • SOLID principle, Design Patterns, Generics
  • Domain driven design
  • Advanced data structures and algorithms
  • Concurrency
  • Use of compilers, build tools
  • Use of version control (git) and coding in teams

Learning outcome

Knowledge:

  • Use of strongly typed programming languages
  • Objected oriented programming and polymorphism
  • Software engineering and development methodologies such as agile (scrum and kanban)
  • SOLID principles and design patterns
  • Best coding practices
  • Concurrency
  • Testing, debugging, version control, code review

Skills:

  • Be capable of designing and developing complex software systems.
  • Know how to apply design patterns

General competence:

  • Capable of developing and managing advanced software projects

Required prerequisite knowledge

  • Introduction to Programming (DAT110)
or
  • Programming fundamentals (DAT120)

Recommended prerequisites

Databases and Web programming (DAT130), Algorithms and Datastructures (DAT200), Operating Systems and Systems Programming (DAT320)

Exam

Project assignment with corrective oral hearing

Weight 1/1

Marks Letter grades

The final grade (A-F) is 100% based on the group project and the corresponding oral exam. The project consists of one large assignment demonstrating the application of concepts and techniques learned in the course. The project is to be performed in a group. The grade (A-F) for the project will be based on the submitted project assignment including program code and the corresponding oral exam. The groups must successfully explain their project implementation in detail during the oral exam to get the final grade.

A minimum of 6 weeks of project work is required. All aids are permitted during the 6 weeks of project work. The project presentation lasts 30 minutes, and no aids are permitted during the presentation

If a student fails the project, she/he has to take the project next time the course is lectured.

Coursework requirements

Compulsory assignments

Three compulsory individual lab exercises (programming and written exercises). All compulsory exercises must be approved to take part in the final project. Approval may take place through the QuickFeed system for automated evaluation, followed by in-lab approval.

Completion of compulsory lab assignments are to be made within the allotted time period. Absence due to illness or for other reasons must be communicated as soon as possible to the laboratory personnel. One cannot expect that provisions for completion of the lab assignments at other times are made unless prior arrangements with the laboratory personnel have been agreed upon.

Failure to complete the assigned labs on time or not having them approved will result in barring from taking the project of the course.

Method of work

Lectures, individual programming tasks and a project that must be done in groups.

4 hours lectures and 4 hours exercise per week.

Overlapping courses

Course Reduction (SP)
Advanced programming (BID100_1) , Software Engineering (DAT240_1) 5
Software Engineering (DAT210_1) , Software Engineering (DAT240_1) 10

Open for

Computer Science Industrial Economics
Exchange programme at The Faculty of Science and Technology

Course assessment

The faculty decides whether early dialogue will be held in all courses or in selected groups of courses. The aim is to collect student feedback for improvements during the semester. In addition, a digital course evaluation must be conducted at least every three years to gather students’ experiences.
The course description is retrieved from FS (Felles studentsystem). Version 1