Advanced Programming (DAT240)
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.
Course description for study year 2025-2026. Please note that changes may occur.
Course code
DAT240
Version
1
Credits (ECTS)
10
Semester tution start
Autumn
Number of semesters
1
Exam semester
Autumn
Language of instruction
English
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
- Advanced data structures and algorithms
- Concurrency
- Use of compilers, build tools
- Use of version control (git) and coding in teams
Learning outcome
- 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
- Be capable of designing and developing complex software systems.
- Know how to apply design patterns
- Capable of developing and managing advanced software projects
Required prerequisite knowledge
Recommended prerequisites
Exam
Project assignment with corrective oral hearing
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.If a student fails the project, she/he has to take the project next time the course is lectured.
Coursework requirements
Course teacher(s)
Course teacher:
Glenn Frode HenriksenHead of Department:
Tom RyenCourse coordinator:
Vinay Jayarama SettyMethod of work
Overlapping courses
Course | Reduction (SP) |
---|---|
Advanced programming (BID100_1) | 5 |
Software Engineering (DAT210_1) | 10 |