Course

Advanced Programming (DAT240)

Students will learn to use advanced programming in a strongly typed, objected oriented programming language. Apply software development methodologies such as agile in developing a project.


Course description for study year 2020-2021. Please note that changes may occur.

See course description and exam/assesment information for this semester (2024-2025)

Semesters

Facts

Course code

DAT240

Credits (ECTS)

10

Semester tution start

Autumn

Language of instruction

English

Number of semesters

1

Exam semester

Autumn

Content

  • Software development methodologies for example, agile methodologies such as scrum, kanban
  • Programming paradigms such as object oriented programming, functional programming, procedural programming, SOLID principle, Design Patterns, Generics, 
  • 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 advanced computer programs

Required prerequisite knowledge

Introductory course for engineers - Computer science and electrical engineering (ING100)

Recommended prerequisites

Algorithms and Datastructures (DAT200), Database Systems (DAT220), Web Programming (DAT310)

Exam

Form of assessment Weight Duration Marks Aid Exam system Withdrawal deadline Exam date
Oral exam 1/1 Letter grades 02.11.2020 16.11.2020


Project consisting one large assignment. The project is to be performed in a group. The grade for the project will be based on the submitted program code and an oral hearing in groups of the submitted program code. Both parts must be done before final grade is given. Each group member can receive a different grade based on their performance during the oral hearing.

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

Written exam is digital (Inspera).

Coursework requirements

3 compulsory lab assignments, 3 compulsory lab assignments

Three mandatory individual lab exercises (programming exercises). Pass/Fail. All programming exercises must be passed to attend for the written exam. Approval may take place through the Autograder system for automated evaluation, followed by in-lab approval.

Completion of mandatory 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 exam of the course.

Course teacher(s)

Course teacher:

Glenn Frode Henriksen

Head of Department:

Tom Ryen

Course coordinator:

Vinay Jayarama Setty

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) , Advanced Programming (DAT240_1) 5
Software Engineering (DAT210_1) , Advanced Programming (DAT240_1) 10

Open for

Computer Science - Bachelor in Engineering
Admission to Single Courses at the Faculty of Science and Technology
Industrial Economics - Master of Science Degree Programme, Five Year Industrial Automation and Signal Processing - Master's Degree Programme - 5 year
Exchange programme at Faculty of Science and Technology

Course assessment

Form/oral discussion.
The course description is retrieved from FS (Felles studentsystem). Version 1