Wiki
Clone wikihopl-course / Home
Course in History of Programming languages
This course is based on the ACM SIGPLAN conference History of Programming Languages (HOPL).
Deadline: June 19
Schedule
Meeting 0:
- Decide a schedule and choose languages
Meeting 1:
- Time: Tuesday, February 10, 15.00-17.00
- Location: LUCAS room
- Beta (Niklas)
- The When, Why and Why Not of the BETA Programming Language (51 pages, double column). Optional: 6. Implementations of BETA (2 pages)
- Presentation
- Assignment
- Simula (Jesper Ö)
Meeting 2:
- Time: Thursday, February 26, 13.15-15.00
- Location: Glasburen (NOTE!!!)
- Haskell (Mattias)
- A History of Haskell: Being Lazy With Class (46 pages, double column). Optional: Part III: Implementations and Tools (7 pages)
- Presentation
- Haskell Assignment
- Algol 60 and Algol 68 (Niklas)
- The American side of the development of Algol (10 pages, double column)
- A history of ALGOL 68, sections 2.1-2.3, 2.8 (34 pages)
- Presentation
- Extra presentation on Simula Coroutines (Görel)
Meeting 3:
- Time: Thursday, March 12, 13.15-15
- Location: LUCAS room
- C and Unix (Jesper N)
- The development of the C programming language (28 pages, including transcript)
- The UNIX time-sharing system (24 pages)
- Presentation
- C++ (Mattias)
- A history of C++: 1979--1991 (54 pages)
- Presentation
Meeting 4:
- Time: Monday, March 30, 13.15-15
- Location: LUCAS room
- Prolog (Maj)
- The birth of Prolog (37 pages, including transcript) (Alternative download: http://www.cs305.com/book/programming_languages/Conf-01/HOPLII/p331-colmerauer.pdf)
- Presentation
- Erlang (Jesper Ö)
- A history of Erlang (20 pages, double column)
- Erlang (8x3 columns)
- Finding race conditions in Erlang with QuickCheck and PULSE (12x2 columns)
- Presentation and assignment
Meeting 5:
- Time: Monday, April 13, 13.15-15
- Location: LUCAS room
- Smalltalk (Gustav)
- The early history of Smalltalk (53 pages)
- Presentation
- Self (Jesper N)
- Self (43 pages, double column)
- Presentation
- Assignment (You will need Self to read and run it)
- Extra material
Meeting 6:
- Time: Monday, April 27, 15.15-17, UPDATED
- Location: LUCAS room
- Fortran (Maj)
- The history of FORTRAN I, II, and III (14 pages, double column)
- The rise and fall of High Performance Fortran: an historical object lesson (18 pages, double column)
- Presentation with assignment
- Lisp (Gustav)
- The evolution of Lisp (69 pages) Optional: 6.2.6, 6.2.7, 6.2.11, 6.2.12 and 6.3.5 (~20 pages)
- Presentation
- Assignment
- Clojure (needed for the assignment)
Course work
- Read papers before meeting. Around 50 pages single column or 40 pages double column for each language.
- Write a short review of the papers after each meeting (1 page)
- Present two languages (2x20 min presentation)
- Prepare one simple assignment for one of the two languages. Include instructions on how to run the compiler.
- Solve all 6 assignments
Course credit
6*10 (read)
6*4 (write)
2*12 (presentation)
1*16 (construct assignment)
6*4 (solve assignment)
6*2 (meeting)
= 160 hours => 6 hp
Examination
Görel is the examiner.
- Email your reviews to niklas.fors@cs.lth.se and gorel.hedin@cs.lth.se
- Email your assignment solutions to the presenter, NF and GH.
Participants
- Niklas (NF)
- Jesper Ö (JÖ)
- Jesper N (JN)
- Maj (MS)
- Mattias N (MN)
- Gustav (GC)
- Christoff
The number of participants is limited to 6 PhD students.
Reviews
Meeting 1 | Meeting 2 | Meeting 3 | Meeting 4 | Meeting 5 | Meeting 6 | |
---|---|---|---|---|---|---|
NF | done | done | done | done | done | done |
JÖ | done | done | done | done | done | done |
JN | ||||||
MS | done | done | done | done | done | done |
MN | done | done | done | done | done | done |
GC | done | done | done | done | done | done |
Assignment progress
NF's asg | JÖ's asg | JN's asg | MS's asg | MN's asg | GC's asg | |
---|---|---|---|---|---|---|
NF | - | done | done | done | done | done |
JÖ | done | - | done | done | done | done |
JN | - | |||||
MS | done | done | done | - | done | done |
MN | done | done | done | done | - | done |
GC | done | done | done | done | done | - |
Updated