IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Programming Language Seminar 
Kursusnavn (engelsk):Programming Language Seminar 
Semester:Efterår 2013 
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: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. Failure to hand in these mandatory assignments on time will mean that the registration for examination is annulled.

These mandatory assignments are:
* 0-3 presentations
* 3-5 miniprojects
Deadlines and exact numbers depend on which topics are selected by the class in the first weeks and will be posted on the course blog.

Submission/completion of mandatory activities before Friday 29 November 2013 at 15:00. 
Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Intern censur

Mini project with individual grading.

No later than 13 December Approval of project description by the course manager.
No later than 20 December at 14:00 hand in in SAP front office outside the 3D wing.

Expected workload for the project is 20 hours  

Litteratur udover forskningsartikler:TBA 
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Fredag 12.00-13.50 Forelæsning ITU 4A14
Fredag 14.00-15.50 Øvelser ITU 4A14

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2013-12-20 No later than 2 PM Skriftlige arbejder ITU Students Affairs and programmes 3D wing