Hoppa till huvudinnehållet
Till KTH:s startsida Till KTH:s startsida

DH2642 Interaction Programming and the Dynamic Web 7,5 hp

Course memo Spring 2024-60899

Version 1 – 01/14/2024, 10:18:46 PM

Course offering

iprogd (Start date 16 Jan 2024, English)

Language Of Instruction

English

Offered By

EECS/Human Centered Technology

Course memo Spring 2024

Course presentation

Interaction programming gives the basic Model-View-Presenter principles for developing interactive applications. These principles can be applied to many desktop, mobile or web apps frameworks. The course currently applies these principles to web applications, using JavaScript, JSX, HTML, CSS  and frameworks like React and Vue.js. These front-end applications use data from remote back-ends using web APIs.

Headings denoted with an asterisk ( * ) is retrieved from the course syllabus version Autumn 2021

Content and learning outcomes

Course contents

JavaScript for interaction programming, callbacks, synchronous and asynchronous code, functional programming.
Web development interfaces (API): REST, JSON, AJAX, Fetch, Promises.
Local data: cookies, local storage.
User interfaces, appearance: HTML, CSS, DOM API, other tree based frameworks for user interfaces (e g Android).
User interfaces, interaction: events, event levels, event propagation, event management.
User interfaces, architectures: Model-View-Controller.
User interfaces, frameworks: React, Angular, Vue.

Intended learning outcomes

Having passed the course, the student will be able to

  • choose appropriate technical platforms or JavaScript frameworks to create useful data persistent interactive web applications or native applications
  • program interactive web applications according to Model-View-Controller or related architectures
  • program systems that read data from, and send data to, web interfaces with good use qualities
  • assess and improve the usability of existing interactive web applications
  • cooperate with others to implement interactive web applications.

Preparations before course start

Recommended prerequisites

Corresponding to the course Human-Computer Interaction, introductory course (DH1620/DH2620) and programming competence, elements of object-oriented programming.

Specific preparations

  1. Create an account at KTH Git. Simply log in at https://gits-15.sys.kth.se/ with your KTH account 
  2. Watch the overview video
  3. Since the course goes on 25%, a lab week takes actually 2 weeks. Lab "week" 1 (Tutorial Week 1, TW1) is individual. Check under KTH Git that you have received your individual git repository. The repo is accessible only to you and the course team. If you do not find your repo, or cannot access it, or for any other issue, please write to dh2642-ta@eecs.kth.se 
  4. Lab Weeks 2 and 3 are done in pairs. Please join a Lab group ASAP, under the Canvas People menu. Please do so by the end of the first course week, so we can create your lab group repository.
  5. Latest when you submit every lab (Mondays), please book at 5-min lab examination slot (typically on Tuesday or Wednesday). This is typically done in an online spreadsheet, which will be shared with you during the first week of the course. If the 5 min are not enough (they usually are), you can talk more to a member of the course team.

Literature

There is no book, as the Interaction Programming technologies are in continous dynamic change. Besides, there are many Web resources about the technologies involved (JavaScript HTML, CSS, JSX, React, Vue, Firebase)

The Canvas pages and the course videos present a selection of concepts and technical items such as HTML elements, CSS style properties, framework features like component state, lifecycle, etc. Based on this selection you can search further information on the web. Searching information is an important engineer skill. Still, all the technical items needed for the lab are explained in the course material.

Equipment

You can use any own computer, no special software is necessary. 

Software

Web browsers like Google Chrome and Mozilla Firefox include very advanced developer tools which we use in the lab. We strongly suggest using Google Chrome at the lab, especially for the unit tests.

You will also need an editor like (free) Visual Studio Code, and launch a few commands in the Terminal. The course uses Git for version control we create a repository for each student (week 1) and lab pair (weeks 2 and 3). We also make heavy use of Zoom for lab help (all labs are digital) and lab examination, as well as project help.

Examination and completion

Grading scale

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

Examination

  • LAB1 - Lab, 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.

The section below is not retrieved from the course syllabus:

Each lab week (two weeks in VT) is examined with a 5 min Zoom discussion typically on the Tuesday or Wednesday. The discussion is individual, with a course assistant. If more time is needed, more time will be allocated, typically with another course assistant, teacher or with the course examiner.

At the start of the 5 min Zoom session please show you identification (passport, identity card) and prepare your app (vue.html, react.html) on your shared screeen, as well as the unit tests (test.html

In the Project we expect each group member to commit to the project git repository in reasonable poportion. Each group member will submit an individual self-reflection where they will describe their project contribution, as well as reflect on the process and learning from the project experience.

Grading criteria/assessment criteria

Grading matrix according to course objectives.

See online document

 

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.

The section below is not retrieved from the course syllabus:

The EECS code of honor applies.

Code plagiarism is avoided using the Measure of Software Similarity tool, which compares Git repositories. All plagiarism cases will be reported.

Further information

No information inserted

Round Facts

Start date

16 Jan 2024

Course offering

  • iprogd Spring 2024-60899

Language Of Instruction

English

Offered By

EECS/Human Centered Technology

Contacts