course-details-portlet

IDIG4110

Modern Software Engineering

New from the academic year 2026/2027

Credits 7.5
Level Second degree level
Course start Autumn 2026
Duration 1 semester
Language of instruction English
Location Gjøvik
Examination arrangement Portfolio

About

About the course

Course content

This course builds on foundational concepts of software engineering and focuses on an in-depth discussion and application of contemporary software engineering practices in the context of development of secure and robust software systems. The course takes into account state-of-the-art theory, professional practice, as well as cross-cutting aspects such as compliance, ethics and sustainability. This course targets graduate students that have a foundational understanding and experience with software engineering and development.

This course covers the following topics:

  • Concepts
    • Introduction to responsible software engineering
    • Architecture modelling: languages and principles
    • Principles of requirements engineering
  • Process
    • Development processes and collaboration modes
    • Design of secure software and system architectures
    • Implementation of requirements engineering
  • Quality
    • Software quality and trustworthiness, including trade-off analyses
    • Risk management
    • Software testing and validation
  • Emerging topics in software engineering
    • AI-enabled software engineering

Learning outcome

Knowledge

  • Explain key concepts of responsible software engineering, including ethical, social, and professional responsibilities.
  • Describe and apply principles of risk management in the context of software engineering projects.
  • Analyze and justify different software quality attributes (including security) based on project-specific characteristics and constraints.
  • Explain domain-specific modeling approaches (e.g., risk modelling, quality modelling, service modelling, feature modelling)
  • Understand and apply AI-related concepts such as machine learning and agentic engineering
  • Develop and customise architectural models using different architectural views and paradigms.
  • Perform and evaluate trade-off analyses in architectural design to compare and justify architectural decisions.

Skills

  • Plan, design, and manage secure and scalable software-enabled systems using appropriate engineering processes and tools.
  • Critically select and apply AI techniques and tools to support the design, development, and validation of software systems.
  • Evaluate human- or AI-generated architecture, code, and tests against requirements, including security, quality standards, and system constraints.
  • Plan and execute systematic risk assessments, documenting risks, mitigation strategies, and decision rationales in the context of software engineering.

General Competences

  • Demonstrate the ability to justify the professional application of state-of-the-art software engineering principles in project work and decision-making.
  • Apply and reflect on best practices for inclusive, collaborative, and efficient teamwork in software engineering contexts.
  • Recognize and explain dilemmas and analyze trade-offs as part of the software engineering process.
  • Integrate and evaluate human-centered principles and best practices (e.g., ethics, usability, communication, stakeholder engagement) throughout the software engineering process.

Learning methods and activities

  • Lectures
  • Class presentation
  • Group work
  • Reflection
  • Supervision

Further on evaluation

(the information may be changed until June 15th)

The portfolio consists of:

  • Written deliveries based on assignments (e.g., report on development project, report on research topic)
  • Classroom presentations
  • Individual oral assessment

The precise composition of the portfolio is provided during the first sessions of the course.

Specific conditions

Admission to a programme of study is required:
Applied Computer Science (MACS)
Informatics (MSIT)

Subject areas

  • Computer Science

Contact information

Course coordinator

Lecturers

Department with academic responsibility

Department of Computer Science

Examination

Examination

Examination arrangement: Portfolio
Grade: Letter grades

Ordinary examination - Autumn 2026

Portfolio
Weighting 100/100