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
Valid From: Jan 1, 2017
Version: 1
Reg number:JTH 2016/1206-313
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

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
- demonstrate the ability to find and consume linked data in a web application
- demonstrate the ability to publish datasets on the server side

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 semantic technologies for data processing compared to usual databases techniques

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 Python and explains web frameworks for creation of server-side applications such as Flask. 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 information architecture and semantic technologies. This part deals with enhancing web applications with semantic technologies and linked data: embedding semantic tags in HTML, finding and consuming open data as well as publishing own datasets.
The topics covered in the course include:
- development of server-side solutions based on the principles of service design
- introduction to programming in Python
- the client-server model of programming
- web frameworks for Python
- 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
- enhancing HTML pages with embedded RDFa tags
- consuming linked data with JSON-LD and SPARQL
- publishing data with RDF(S), JSON-LD, and a SPARQL endpoint

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.
Sams Teach Yourself Node.js in 24 Hours by George Ornbo, Sams, 2012.
Linked Data: Structured Data on the Web by David Wood, Marsha Zaidman, Luke Ruth, Manning Publications, 2014.