IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Programming Language Seminar 
Kursusnavn (engelsk):Programming Language Seminar 
Semester:Efterår 2010 
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:30 
Formelle forudsætninger:The course Advanced Models and
Programs or equivalent, see
http://www.itu.dk/research/pls/wiki/index.php/AMP-Spring2010?  
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:Sample topics are listed below:
RECENT DEVELOPMENTS IN PROGRAMMING LANGUAGES:

** Clojure (macro, immutable data structures, concurrency (STM), JVM
platform)

** 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)

** Spreadsheet technology, sheet-defined functions, parallelization
for multicore architectures and GPGPUs, partial evaluation

** 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)

 
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 be attend the presentation, and (3) must ask questions to the presenter.

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

Exam form: C1. Each student should write a small survey (10 pages) peppered with code examples (or similar) over the same subject as their presentation.
 

Litteratur udover forskningsartikler:  
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Onsdag 09.00-12.00 Forelæsning ITU 2A20

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2010-12-15 No later than 3 PM Eksamensopgave 1 ITU The Examination Office