Jump to content

DAT154 Software Architecture and Application Development

Course description for academic year 2024/2025

Contents and structure

The course concentrates on developing large applications with focus on software architecture, programming patterns and graphical user interfaces. The students learn about graphical desktop applications for Windows using the Windows SDK (Software Development Kit) and the programming language C + +. The last part of the subject concentrates on the .NET platform using the C # programming language and its framework.


  • Software Architecture
  • Event and message-oriented software
  • Software Architectural Patterns
  • Module-based software
  • Implementation and analysis of graphical interfaces
  • Universal design, customize the software to users with disabilities
  • Database integration, access and queries from applications
  • Programming with platform APIs and frameworks
  • Window Management
  • C #-specific language constructs
  • C++-spesific language constructs
  • Multi-Language Applications and Development
  • Programming large applications

Learning Outcome

After completing the course DAT154 Software Architecture, the students will be able to:


  • Explain the principles of programming for Windows SDK
  • Explain the structure of the. NET platform and ingoing concepts and principles
  • Explain language elements in C++ such as pointers and more
  • Explain architectural software patterns
  • Explain concepts and principles of software architecture
  • Explain the principles and elements of graphical user interfaces
  • Explain the principles of universal design of user interfaces


  • Analyze and design software architecture for medium size applications
  • Develop software with graphical user interfaces
  • Apply and evaluate the use of software patterns in practical software development
  • Use development tools to find correct bugs and finally test larger software systems
  • Develop software in .net and C++

General Competence

  • Work in groups
  • Explain the choice of software architecture
  • Document the choice of software architecture

Entry requirements


Recommended previous knowledge

DAT108 Programming and web application or similar course providing competance beyond an introductory course in programming

Teaching methods

Practical programming exercises alone and in groups as well as one larger project. Lectures.

Compulsory learning activities

4 compulsory exercises must be completed (within the given deadlines) and approved before the exam can be taken. These are programming exercises including architectural planning. All exercises are approved through a short demonstration to the teacher in the lab.

Approved exercises also give access to postponed examination the following semester. However, before a new postponed exam can be taken (the next time the subject is taught), new exercises must be delivered.


4 hours written on-campus exam.

Grading scale is A-F, where F is failed.

Examination support material


More about examination support material

Course reductions

  • TOD112 - Utviklingsverktøy/C#/.NET - Reduction: 5 studypoints