IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Programming Language Seminar 
Kursusnavn (engelsk):Programming Language Seminar 
Semester:Efterår 2011 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:12 
Forventet antal deltagere:20 
Maks. antal deltagere:25 
Formelle forudsætninger:The course Advanced Models and Programs or equivalent, see
http://www.itu.dk/research/pls/wiki/index.php/AMP-Spring2011 
Læringsmål:After the course the student should be able to:

  • Characterise some recent developments in programming languages and implementation technology,

  • Discuss in depth at least one such recent development.

  • With respect to the latter, the student must be able to summarize, evaluate, discuss and contrast the studied techniques, and be able to reflect on their utility and apply them to cases studies.
 
Fagligt indhold:At the beginning of the course, we will choose 3-5 topics within the theme "recent developments in programming languages" and assign participants to present overview papers or research papers within these topics.

For inspiration and initial ideas, here are some example topics:

** Scala, http://www.scala-lang.org/, combining functional and
object-oriented programming, interesting type system (traits, type
members), actors for concurrency, JVM platform

** F#, http://fsharp.net, functional programming, dimensions, actors
for concurrency, units of measure types (A Kennedy), .NET platform

** C# 4.0 and .NET 4.0 (more and more functional, dynamic types, Task
Parallel Library, ...)

** Plaid (http://www.plaid-lang.org/), Aldrich at CMU, concurrency,
typestate, gradual typing

** Typed Scheme, http://www.ccs.neu.edu/home/samth/typed-scheme/, Sam
Tobin-Hochstadt, Scheme with gradual typing. Related: soft typing
(Cartwright), Soft Scheme (Wright), from Scheme to ML (Henglein,
Rehof), Dylan (Mehnert)

** Javascript gradual typing (Møller, Thiemann)

** BitC, http://www.bitc-lang.org/, Jonathan Shapiro, combining a
low-level C-like systems programming language with the safety of
strongly typed functional languages. Related work: Cyclone
(Morrisett)

** Parallel programming for multicore architectures and GPGPUs

** Concurrency concepts: actors, transactional memory, ...

** Programming with Dependent Types, programming in Coq.


LANGUAGE IMPLEMENTATION TECHNOLOGY

** LLVM (implementation, virtual machine)

** General-purpose graphics cards (GPGPU) for high-performance
computing, Microsoft Accelerator (S Singh)

** Field-programmable gate arrayw (FPGA), eg. Scheme Workshop 2006, MS
Accelerator?

** Just-in-time compiler technology, eg. IBM JVM (Suganuma), Spur
tracing JIT (Microsoft, but also C Probst)

On top of that the course will give an overview of possible thesis subjects in this area and offer a possibility of matching students to supervisors. 
Læringsaktiviteter:

The programming language seminar will meet 2.5 hours weekly.
In each seminar, there will be two presentations by students about cutting-edge programming language technology. Those students who do not present a paper in a given seminar (1) must read the papers presented, (2) must submit a 10-line summary of the paper by email to sestoft@itu.dk and birkedal@itu.dk prior to the seminar, (3) must attend the presentation, and (4) must ask questions to the presenter. The teachers will give individual feedback on the oral presentations, contents as well as form.

Study structure
This course is part of the SDT specialization Programming Languages. See all SDT specializations described here:
SDT specializations. 

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

During this course students will be required to hand in mandatory assignments (e.g. attendance, papers, exercises, presentations, productions), that need to be completed/approved before being eligible to register for the examination and e.g. being allowed to submit written work for examination. Failure to hand in these mandatory assignments on time will mean that the registration for examination is annulled.

These mandatory assignments are (Deadlines are posted separately, e.g. on the course blog):
* 2 presentations
* or alternate assignments (see above)

Submission/completion of mandatory activities before Friday 2. December 2011 at 15:00.  

Litteratur udover forskningsartikler:TBA 
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Onsdag 08.00-09.50 Forelæsning ITU 3A18
Onsdag 10.00-11.50 Øvelser ITU 3A18

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2011-12-14 09:00-15:00 Eksamensopgave 1 ITU Eksamenskontoret (2E)