Skip to main content
Till KTH:s startsida Till KTH:s startsida

DH2643 Advanced Interaction Programming 7.5 credits

The course builds on DH2642 Interaction programming and the dynamic web with a focus on deepening knowledge in front-end-programming. In addition, the course covers back-end programming with a maintained focus on usability and user experience. The course also introduces alternatives to the Model-View-Controller architectures presented in DH2642.

About course offering

For course offering

Autumn 2024 adviprog programme students

Target group

Open for all programmes from year 3 and students admitted to a masters programme, as long as it can be included in your programme.

Part of programme

Master's Programme, Interactive Media Technology, åk 1, Conditionally Elective

Master's Programme, Interactive Media Technology, åk 2, Recommended


P1 (7.5 hp)


26 Aug 2024
27 Oct 2024

Pace of study


Form of study

Normal Daytime

Language of instruction


Course location

KTH Campus

Number of places

Min: 20

Planned modular schedule


For course offering

Autumn 2024 adviprog programme students

Application code



For course offering

Autumn 2024 adviprog programme students


No information inserted

Course coordinator

No information inserted


No information inserted
Headings with content from the Course syllabus DH2643 (Autumn 2020–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

To create full stack web applications with high usability the course gives an overview of design principles and methods for interaction programming of client-server solutions. We examine how successful platforms and frameworks are designed to gain a better understanding of how one should program for respective framework. Client side technologies covered are advanced ReactJS: reducers, react-redux, containers and presentation components, complex components etc. Optimal use of remote data is examined and compared on React, Angular, Vue.
On the server side we look at design and use of e.g nodeJS, Firebase, Heroku, Docker. Between server and client, we look at communication technologies: advanced HTTPS, AJAX, JSON, web sockets, and web services.

Intended learning outcomes

Having passed the course, the student should be able to

  • choose appropriate technical platforms or JavaScript frameworks to create useful distributed interactive web applications (e g client/server) or native applications.
  • structure interactive systems according to established architectures and design patterns
  • assess and improve the usability of existing interactive applications

in order to be able to plan and implement useful interactive applications with both client and server sides.

Literature and preparations

Specific prerequisites

Completed course equivalent to DH2642 Interaction programming and the dynamic web or ID1354 Applications for internet.

Recommended prerequisites

No information inserted


No information inserted


No information inserted

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F


  • LAB1 - Laboratory work, 3.0 credits, grading scale: P, F
  • PRO1 - Project, 4.5 credits, grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study

Computer Science and Engineering

Education cycle

Second cycle

Add-on studies

No information inserted

Supplementary information

In this course, the EECS code of honor applies, see: