COURSE SYLLABUS
Development of Server-side Solutions, 6 credits
Development of Server-side Solutions, 6 högskolepoäng
Course Code: TDVS27
Confirmed by: Dean Jan 3, 2016
Revised by: Director of Education Feb 7, 2018
Valid From: Jan 1, 2017
Version: 2
Education Cycle: Second-cycle level
Disciplinary domain: Technology (95%) and social sciences (5%)
Subject group: DT1
Specialised in: A1F
Main field of study: Informatics

Intended Learning Outcomes (ILO)

After a successful course, the student shall

Knowledge and understanding

- demonstrate comprehension of stateless web services and REST API
- display knowledge of standard vocabularies and schemas for structuring information
- display knowledge of common security vulnerabilities in web applications

Skills and abilities

- demonstrate the ability to create server-side scripts in a scripting language
- demonstrate skills of creating a REST web service with a web framework

Judgement and approach

- demonstrate the ability to choose an appropriate implementation of a server-side solution based on the principles of service design
- demonstrate an understanding of advantages and disadvantages of using NoSQL databases for data processing compared to relational databases

Contents

The course introduces solutions on the server side, which provide digital products with structured information. Server-side solutions are created taking into account the principles of service design. The course starts with basics of programming in JavaScript and explains web frameworks for creation of server-side applications such as Express. The client-server model is considered then as well as creation of web services with REST API. Request routing, templates for web pages and serialization with JSON are explained next. Storing of data in a database on the server is detailed then. The second part of course continues the subject of the semantic web, and how it can be used to improve applications.

The topics covered in the course include:
- development of server-side solutions based on the principles of service design
- introduction to programming in JavaScript
- the client-server model of programming
- web frameworks for JavaScript
- request routing and web page templates
- stateless web services, REST API, and JSON serialization
- storing data in a database and ER-modelling
- using open vocabularies and standard schemas for structuring information
- using NoSQL databases

Type of instruction

The course consists of lectures and project work with supervision meetings.

The teaching is conducted in English.

Prerequisites

Passed courses at least 90 credits within the major subject in Informatics, Computer Science, Computer Engineering, Interaction Design (with relevant courses in web programming), and completed course User Experience Design, 6 credits. Proof of English proficiency is required (or the equivalent).

Examination and grades

The course is graded 5,4,3 or Fail.

Registration of examination:
Name of the TestValueGrading
Project work6 credits5/4/3/U

Course literature

The literature list for the course will be provided one month before the course starts.

Title: Web Development with Node and Express
Author: Ethan Brown
Publisher: O'Reilly Media, Inc, 2014
ISBN: 978-1-4919-4930-6