IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Scalability of Web Systems 
Kursusnavn (engelsk):Scalability of Web Systems 
Semester:Efterår 2015 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:
Forventet antal deltagere:
Maks. antal deltagere:50 
Formelle forudsætninger:This course is designed as part of the "Web Systems" specialisation of the "Design Track" of the "Software Development and Technology" program, and builds on parts of the following courses:
- "Introduction to Database Design" (SIDD)
- "Introductory Programming" (GP)
- "System Architecture and Security" (SSSAS)
- The course is a sibling of "Frameworks and Archtectures for the Web" (FRWAW), and it is recommended to attended FRWAW before this course.

The most relevant materials of these courses will be recapped such that there is a chance to read up on such material. 
Læringsmål:The overarching goal of the course is that the student can contribute to the design of a scalable, secure and reliable distributed web service.

After the course the student should be able to
- evaluate and analyze a web service architecture with respect to scalability
- design and deploy an efficient, secure and scalable back end for a web service
- implement a simple, yet efficient database-based web service
- identify and avoid basic security problems for a web service
- design and implement a web service using choreographic programming 
Fagligt indhold:Please note, that due to technical challenges, changes may occur before the start of the semester (week 35) – this applies to all sections of the course description.

The overarching goal of the course is that the student can contribute to the design of a scalable, secure and reliable distributed web service.
Web services constitute the backbone of most of the successful internet companies we see today.

For such a web service it is not only important that it delivers a certain functionality, but it is decisive that it does so to a huge user base in a fast and reliable manner.
This course focuses on the underlying principles that allow to scale a web service to such loads and to do so in a manageable and secure way.

Specific topics include:

- server side programming (e.g. PHP)
- deployment and maintenance of a web service in a virtual environment (cloud)
- load balancing and the power of two choices
- latency requirements if many services are used
- distributed databases and the CAP theorem
- UTF and other encoding schemes
- statistics and performance measures
- security and input sanitization
- basics of multithreaded programming
- performance measurement of a web service 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger og øvelser

14 weeks of teaching consisting of lectures and exercises.
The course consists of weekly lectures and exercise sessions.
The exercise sessions involve short self contained tasks, both on paper and using the computer, some of them with a take home component.
There will be 4 assignments on implementation and deployment of web services. These will be done in groups. The assignments will build on each other and last over several weeks. The main deliverable for each assignment is a written report. These assignments may include presenting one's own work and reviewing others'. 

Obligatoriske aktivititer:Der er ingen obligatoriske aktiviteter. Vær venlig KUN at ændre denne tekst når der er obligatoriske aktiviteter./
There are no mandatory activities. Please, change this text ONLY when there are mandatory activities. 
Eksamensform og -beskrivelse:A. written examination on premises (7-scale; external exam)

The exam form is A11. Written exam on premises. Open book exam. External examiner, 7-point marking scale.
The student is allowed to use all aids: books, notes, software, on-line resources  

Litteratur udover forskningsartikler:“Building scalable web sites” by Cal Henderson (O’Reilly) http://shop.oreilly.com/product/9780596102357.do 
 
Undervisere
Følgende personer underviser på kurset:
NavnStillingUndervisertypeIndsats (%)
Rasmus Pagh Sektionsleder(ITU) Underviser 0
Peter Eklund Professor(ITU) Underviser 0
Matthew Skala Postdoc(ITU) Underviser 35
Nicolas Guenot Postdoc(ITU) Underviser 30
Riko Jacob Lektor(ITU) Kursusansvarlig 35