Official course description:
Full info last published 15/11-21

Frameworks and Architectures for the Web, MSc

Course info
ECTS points:
Course code:
Participants max:
Offered to guest students:
Offered to exchange students:
Offered as a single subject:
Price (single subject):
10625 DKK
MSc. Master
MSc in Software Design
Course manager
Part-time Lecturer
Course Academic Responsible
Associate Professor, Head of study programme
Course semester
Forår 2022
31 January 2022
31 August 2022
Exam type
ekstern censur
Grade Scale
Exam Language

This course aims to enable students to design and develop websites and interactive Web applications based on standard Web technologies and software frameworks.


The course provides students with theoretical understanding and practical skills to build websites and Web applications using modern Web frameworks and architectures.  The main course topics include:

  • Basic web concepts and technologies HTML, CSS, and JavaScript, which are used to develop static websites and dynamic Web pages.
  • Basic principles of user interface design and the website development process.
  • Fundamental object oriented and functional programming concepts of JavaScript and Typescript, which are needed in development of advanced Web applications.
  • Overview of Web application architectures and software frameworks.
  • Development of client-side Web applications using React, a very popular Web UI framework.
  • Design and development of server-side Web applications (Web services) based on REST architectural style (RESTful APIs) using Node.js and Express frameworks.

The course is based on the three main learning principles:   

  • Students' engagement - active participation of students in all activities.
  • Learning by Doing - a lot of practice in addition to the solid theoretical background.
  • Iterative/Incremental learning – a gradual introduction to complicated things.  

Formal prerequisites
None, although it is strongly recommended that students are familiar with, or have prior experience with the following:
  • Any programming language, either through coursework or prior industry practice.
  • A basic understanding of programming concepts, such as variables, debugging and basic procedural and object-oriented aspects of programming.
  • A basic understanding of versioning control concepts and Git version control system.
Intended learning outcomes

After the course, the student should be able to:

  • Apply HTML, CSS, and JavaScript as well as the principles of user interface design in developing websites and dynamic client-side Web applications.
  • Apply fundamental object-oriented and functional programming techniques of JavaScript and Typescript in developing Web applications.
  • Explain basic Web standards, protocols and architectural styles used in distributed Web applications.
  • Develop moderately complex dynamic client-side Web applications using modern Web frameworks.
  • Design and develop server-side Web services based on REST architectural style (RESTful APIs).
Learning activities

The course activities consist of readings, lectures, exercises, and mini-projects.

Readings is an out-of-class activity (i.e., students do them on their own) consisting of reading a text or watching a video. There are two types of readings: ones that students should do before a lecture and those they should do after the lecture.

Lectures will include presentations about a particular subject as well as discussions about relevant issues/questions raised by the teacher.

Exercises are used to:

  • Conduct and practice simple exercises so that students can familiarise and equip themselves with the foundational aspects of the course.
  • Allow students to work on their major deliverables for the course, with the assistance and supervision of Tas.

Mini-projects are mandatory activities that are done in a group.

Mandatory activities

Mini-projects are the only mandatory activities. These are web development projects related to topics students learned in the classes and practiced in the exercises.  Mini-projects are done in groups, typically consisting of 4 students, which will be formed at the beginning of the course. 

There will be 3 assigned mini-projects and groups are obliged to submit them by a certain deadline. These 3 mini-projects correspond to 3 incremental iterations toward the final submission for the exam. On the two mini-projects students will be given feedback in order to improve/correct their work for the next iteration (mini-project). The third mini-project represent the required written submission for the final exam.  In this way, while being supervised, students will gradually develop the required exam submission during the semester.

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

Course literature

The literature consists of lecture slides, provided readings and teaching materials from exercises. 

Student Activity Budget
Estimated distribution of learning activities for the typical student
  • Preparation for lectures and exercises: 20%
  • Lectures: 15%
  • Exercises: 20%
  • Assignments: 25%
  • Exam with preparation: 20%
Ordinary exam
Exam type:
D: Submission of written work with following oral, External (7-point scale)
Exam variation:
D2G: Submission for groups with following oral exam supplemented by the submission. Shared responsibility for the report.
Exam submisson description:
Submission of portfolio based on 3 major deliverables that are to be delivered throughout the semester. Further information on deliverables may be found on LearnIT. The oral exam will be based on the presentation of portfolio.
Group submission:
  • Group size: 4 persons
Exam duration per student for the oral exam:
30 minutes
Group exam form:
Individual exam : Individual student presentation followed by an individual dialogue. The student is examined while the rest of the group is outside the room.

Time and date
Ordinary Exam - submission Fri, 27 May 2022, 08:00 - 14:00
Ordinary Exam Mon, 20 Jun 2022, 09:00 - 20:55
Ordinary Exam Tue, 21 Jun 2022, 09:00 - 20:55
Ordinary Exam Wed, 22 Jun 2022, 09:00 - 20:55
Ordinary Exam Thu, 23 Jun 2022, 09:00 - 20:55
Ordinary Exam Fri, 24 Jun 2022, 09:00 - 20:55
Ordinary Exam Mon, 27 Jun 2022, 09:00 - 20:55
Reexam - submission Wed, 27 Jul 2022, 08:00 - 14:00
Reexam Mon, 22 Aug 2022, 09:00 - 20:55
Reexam Tue, 23 Aug 2022, 09:00 - 20:55