ID2010 Programmering av interaktiva system 7,5 hp
Programming of Interactive Systems
Utbildningsnivå
Avancerad nivåKursnivå (A-D)
DHuvudområde
Betygsskala
A, B, C, D, E, FX, F
Kurstillfällen/kursomgångar
VT13 TSEDM TEBSM för programstuderande
Perioder
VT13 P3 (7,5 hp)
Anmälningskod
61223Kursen startar
2013 vecka: 2Kursen slutar
2013 vecka: 11Undervisningsspråk
EngelskaCampus
KTH KistaAntal föreläsningar
20 (preliminärt)Antal övningar
Undervisningstid
DagtidUndervisningsform
NormalAntal platser *
Min. 25*) Kurstillfället kan komma att ställas in om antalet antagna understiger minimiantalet platser.
Schema
Schema (nytt fönster)Kursansvarig
Fredrik Kilander <fki@kth.se>
Lärare
Fredrik Kilander <fki@kth.se>
Målgrupp
Öppen för alla program
Del av program
VT14 TSEDM TEBSM för programstuderande
Perioder
VT14 P3 (7,5 hp)
Anmälningskod
61075Kursen startar
2014 vecka: 4Kursen slutar
2014 vecka: 12Undervisningsspråk
EngelskaCampus
KTH KistaAntal föreläsningar
20 (preliminärt)Antal övningar
Undervisningstid
DagtidUndervisningsform
NormalAntal platser *
Min. 25*) Kurstillfället kan komma att ställas in om antalet antagna understiger minimiantalet platser.
Schema
Schema (nytt fönster)Kursansvarig
Fredrik Kilander <fki@kth.se>
Lärare
Fredrik Kilander <fki@kth.se>
Målgrupp
Villkorligt valfri för TIDAB3 (DPUB), TEBSM1 och TSEDM1. Sökbar för andra program.
Del av program
Lärandemål
On successful completion of this course the students should be able to:
- recognise and identify the distinguishing properties of a distributed computer system
- describe and use basic computer networking technology, with particular emphasis on TCP/IP
- extend and enhance a given networking Java application, with multiple components and asyncronous interactions
- give examples of loosely coupled ad-hoc systems, consisting of reactive and proactive components.
Kursens huvudsakliga innehåll
The course is divided into three parts:
-distributed systems
-the agent metaphor
-programming with Java
Distributed systems can be distinguished from local (or single-host) systems by properties such as latency, memory access and partial failure and concurrency. These properties and their effects on performance and robustness are reviewed. Design issues related to division of labour, transaction semantics, central- vs distributed functionality, peer-to-peer vs client-server solutions are then treated. Approaches to heterogeneous platforms are touched upon, followed by issues related to small systems, e.g. constraints in terms of CPU, memory, power, network connectivity and GUI real estate. This is followed by a discussion of networking issues like random connectivity, wireless link layers and techniques for discovery and message exchange.
The agent metaphor as an approach to distributed system design is discussed, emphasising on the modelling and creation of systems of autonomous, reasoning, communicating and proactive entities. This raises questions about knowledge and its representations, reasoning, plans and goal-directed behaviour — in isolation and in collaboration with other entities — interspersed with periods of deactivation, hibernation or transport. Implementation issues involve the proper selection and integration of runtime components, e.g. multi-threading, implementations in multiple programming languages and state maintenance.
Two assignments are given, both involving a Java application that is to be extended or completed.
Kursupplägg
Lectures approx. 20 h
Labs (mostly unsupervised) approx. 50h
Seminars approx. 6h
Behörighet
Eligibility for single course students:
- Completed documented upper secondary education incl documented proficiency in English and university studies corresponding to 60 credits (hp)/2 years of study.
- Academic studies corresponding to 180 ECTS (hp) in Information Rechnology/Computer Science/Computer and Systems Sciences.
Litteratur
Preliminary:
Java Network Programming and Distributed Computing, David Reilly, Michael Reilly
Upplaga: Förlag: Addison Wesley År: 2002
ISBN: 0-201-71037-4
A collection of selected articles:
(1) "A Note on Distributed Computing" by Jim Waldo, Geoff Wyant, Ann Wollrath and Sam Kendall, Sun Microsystems 1994.
(2) "On agent-based software engineering" by Nicholas R. Jennings, Artificial Intelligence 117 (2000) 277-296, Elsevier Science B.V.
(3) The seven deadly sins of distributed systems, S. Muir, First workshop
on real, large distributed systems, USENIX, 2004.
Examination
- LAB1 - Laborationer, 3,0 hp, betygsskala: P, F
- TEN1 - Tentamen, 4,5 hp, betygsskala: A, B, C, D, E, FX, F
Course examination is based on labs and a written exam.
Krav för slutbetyg
The grades on the course are A/B/C/D/E/Fx/F.
For a passing grade on the course it is required that all assignments and the exam has a passing grade.
Ges av
ICT/Kommunikation: tjänster och infrastruktur
Kontaktperson
Fredrik Kilander, fki@kth.se, 08-790 40 82
Examinator
Fredrik Kilander <fki@kth.se>
Versionsinformation
Kursplan giltig från och med
VT09.
Examinationsinformation giltig från och med
HT07.
