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 Test | Value | Grading |
---|
Project work | 6 credits | 5/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.