IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Programming Language Seminar 
Kursusnavn (engelsk):Programming Language Seminar 
Semester:Efterår 2014 
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". We then alternate between lectures, student presentation of overview or research papers, and miniprojects, all within these topics.

The course emphasises thesis opportunities.

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, session types, Jolie...

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

It is my (debois) intention and expectation that the course will be awesome.
======= 
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 debois@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. 

Obligatoriske aktivititer: A detailled description of mandatory assignments will be available in week 36
During this course students will be required to hand in mandatory assignments, 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. 
Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern prøve

Mini project with individual grading.

No later than 9 December Approval of project description by the course manager.
No later than 16 December at 14:00 hand in LearnIT

Expected workload for the project is 20 hours  

Litteratur udover forskningsartikler:TBA