Official course description:

Full info last published 15/11-23
Course info
Language:
English
ECTS points:
7.5
Course code:
KSFRWAW1KU
Participants max:
75
Offered to guest students:
yes
Offered to exchange students:
yes
Offered as a single subject:
yes
Price for EU/EEA citizens (Single Subject):
10625 DKK
Programme
Level:
MSc. Master
Programme:
MSc in Software Design
Staff
Course manager
Part-time Lecturer
Course Academic Responsible
Associate Professor, Head of study programme
Course semester
Semester
Forår 2024
Start
29 January 2024
End
23 August 2024
Exam
Exam type
ordinær
Internal/External
ekstern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract

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

Description

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 practised 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 first 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 represents 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.

Those groups that failed to meet mini-project deadlines can have a second attempt in the re-exam. In this case, they have to submit only the third mini-project as the required written submission for the re-exam.

Those students, who have met the deadlines for mini-project submissions but failed the oral exam, will have a second attempt in the re-exam. In this case, they can submit the same third mini-project (i.e. one already submitted for the exam) or, if they want, a new version of the third mini-project.



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 submission 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
  • 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.


reexam
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 submission 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.


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.
Number of registered & approved students (STADS)
66
Group submission:
Group
  • 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 Thu, 30 May 2024, 08:00 - 14:00
Ordinary Exam Wed, 19 June 2024, 09:00 - 21:00
Ordinary Exam Thu, 20 June 2024, 09:00 - 21:00
Ordinary Exam Fri, 21 June 2024, 09:00 - 21:00
Ordinary Exam Mon, 24 June 2024, 09:00 - 21:00
Ordinary Exam Tue, 25 June 2024, 09:00 - 21:00
Ordinary Exam Wed, 26 June 2024, 09:00 - 21:00
Reexam - submission Wed, 24 July 2024, 08:00 - 14:00
Reexam Mon, 12 Aug 2024, 09:00 - 18:00