Hoppa till huvudinnehållet
Till KTH:s startsida

DH2642 Interaction Programming and the Dynamic Web 7,5 hp

Course memo Autumn 2023-50152

Version 2 – 10/26/2023, 11:57:20 PM

Course offering

iprogdh (Start date 30 Oct 2023, English)

Language Of Instruction

English

Offered By

EECS/Human Centered Technology

Course memo Autumn 2023

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. Prepare for each lecture. There will be no traditional teaching. You are expected to consult lecture material in advance. It is available as a Video (20-30 min per lecture hour) or Canvas page. You can consult one of them, or both. For each segment you can write down Questions. Example for the first lecture (see schedule, or Zoom: https://kth-se.zoom.us/j/68823723414 )
  3. 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 (Tuesdays), please book at 5-min lab examination slot (typically on Wednesday or Thursday). 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. 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 is examined with a 5 min Zoom discussion typically on the Wednesday or Thursday. 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

30 Oct 2023

Course offering

  • iprogdh Autumn 2023-50152

Language Of Instruction

English

Offered By

EECS/Human Centered Technology

Contacts