IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Typer og programmeringssprog 
Kursusnavn (engelsk):Types and Programming Languages 
Semester:Efterår 2005 
Udbydes under:cand.it., internet- og softwareteknologi (int) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:http://www.itu.dk/courses/ITPS/E2005/index.html 
Min. antal deltagere:
Forventet antal deltagere:20 
Maks. antal deltagere:40 
Formelle forudsætninger:Unfortunately, the course is cancelled. Interested students are most welcome to contact the student councellors to seek guidance for alternative course choices.

Before the course the student should be able to (1) describe what an interpreter and a compiler is and (2) design, implement, and test moderate size higher-order programs in a functional language such as Standard ML. One way to have obtained these prerequisites is by having followed a course on functional programming, for example the ITU course "Functional Design and Programming" (FDP), and a course on programming language concepts, for example the ITU course "Programming Languages, Interpreters, and Compilers" (PFOO). 
Læringsmål:This course aims at giving the student a deeper understanding of practical and theoretical issues in the design and implementation of programming languages, with particular focus on types and language-based security.

After the course the student should be able to
  • understand and describe the basics of type systems, program analyses, and various approaches to language-based security
  • understand and describe practical realizations of key algorithms in such systems
  • implement a type inference algorithm and implement selected program analyses
  • know about ongoing programming language research at ITU and DIKU
 
Fagligt indhold:The course covers advanced topics related to programming languages, with the focus on type systems and abstraction, modules systems, program analysis, and language-based security. These topics can be expected to be central to future programming languages and software construction.

The course is divided into two parts:
  • Type systems and abstraction:
    • operational semantics
    • simple types
    • subtyping
    • polymorphism
    • existential types
  • Type- and logic-based applications:
    • module languages
    • exception analysis
    • region inference
    • typed assembly language
    • proof-carrying code
This is not the course schedule. The list of course topics is subject to changes. A detailed lecture plan and literature will be provided in due course. 
Læringsaktiviteter:12 forelæsninger + lejlighedsvis øvelser i forbindelse med undervisningen

Weekly lectures, theoretical exercises, programming exercises.

NB! In the introductory week, meaning from 29 August to 2 September 2005, exercises from 13:00 to 16:00 are cancelled. This means, that there will be only lectures from 9:00 to 12:00. 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 13-skala, Ekstern censur

 

Litteratur udover forskningsartikler:The selection of material for the course has not been finalized yet. The material will most likely be (1) chapters from the book Types and Programming Languages by Benjamin Pierce, (2) chapters from the book Advanced Topics in Types and Programming Languages edited by Benjamin Pierce, and (3) survey and research papers. 
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Fredag 09.00-12.00 Forelæsning ITU
Fredag 13.00-16.00 Øvelser ITU

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2006-01-20 see time slot on course home page Mundtlig eksamen ITU see Examination Plan in the Study Guide on the ITU Intranet