Print

Single-Page Web Applications

Code

IT-SWA1

Version

2.1

Offered by

ICT Engineering

ECTS

5

Prerequisites

SDJ3 and RWD1 or similar.

Main purpose

The purpose of this course is to learn to implement single-page web applications using different technologies and patterns.

Knowledge

The student should be able to
  • define dynamic and static languages
  • identify pitfalls of asynchronous programming
  • explain the JavaScript object model including prototype model
  • define functional programming
  • describe the methods for client/server programming
  • describe web sockets
  • explain reactive programming

 

Skills

The student should be able to apply
  • use object-oriented programming in JavaScript
  • use functional programming in JavaScript
  • apply common design patterns to document object models
  • use callbacks and other higher-order functions for general programming in JavaScript
  • apply asynchronous programming using Promises to implement client/server programming
  • apply asynchronous programming using XmlHttpRequest to implement client/server programming
  • use web sockets to implement client/server communication
  • use reactive programming including operators to implement client/server communication
 

Competences


At the end of the course, the students should be able to
  • compare methods of object creation
  • compare methods of inheritance
  • relate functional programming to imperative programming in JavaScript
  • compare patterns of GUI programming
  • compare use of request/response, web sockets and reactive programming
  • design and implement single-page application using JavaScript, web services, asynchronous programming, and client/server communication patterns
 

Topics

  • JavaScript
    • Dynamic objects
    • Prototypes
    • Prototypical inheritance
    • Functional programming
    • Promises
  • Application Development
    • HTML DOM
    • Asynchronous programming
    • XmlHttpRequest
    • JSON
    • Flow pattern
    • 2-way data binding
    • Reactive programming
    • Web sockets

 

Teaching methods and study activities

Lessons alternate between theory and practical exercises. The course contains one or more compulsory assignments. If the assignments are not approved by the teacher, the student will be denied attending the exam and will thus have used one exam attempt.
 
Expected workload for the average student:
Expected workload for students is estimated to 135 hours.

Resources

  • Martin Haverbeke, Eloquent JavaScript: A Modern Introduction to Programming, 3rd Edition, No Starch Press, ISBN 978-1593279509
  • Internet resources

Evaluation

The course is evaluated according to the 7-point grading scale based on the oral exam at the end of the course.

Examination

Oral examination based on a question from the course syllabus based on the course assignment. Approximately 20 minutes (including discussion of examinee’s performance) without preparation.

Internal exam.

Grading criteria

Additional information

Responsible

Ole Ilsgaard Hougaard (IOH)

Valid from

8/15/2019 12:00:00 AM

Course type

Compulsory Course for all ICT Engineering
6. semester
7. semester
Compulsory for the specialization Cross Media

Keywords