
| Course: | S6075 (Spring Semester 2012) |
| Lecturer: | Oscar Nierstrasz |
| Staff: | Toon Verwaest, Fabrizio Perin |
| Lectures: | Friday 10h15 - 12h00 |
| Exercises: | Friday 12h00 - 13h00 |
| Place: | IWI 003, Engehaldestrasse 8 |
| Start: | 2012-02-24 |
| Repetition: | Autumn 2014 |
Programming languages are the means by which we instruct a computer to perform tasks for us. We use different programming languages to accomplish different tasks, but what really are the differences between various languages?
In this course we adopt the viewpoint that programming is modeling, so different programming languages offer us different ways to model our applications. We will examine a number of different paradigms for programming, and in each case look at one or more concrete examples of programming languages that support that paradigm. Specifically we will look at languages like Postscript, Haskell, Prolog and EToys. We will also take a brief look at the semantics of programming languages, and we will see how semantic descriptions can be made directly executable to obtain a rapid prototype of a language.
| 1 | 24-Feb-12 | Introduction |
| 2 | 02-Mar-12 | Stack-based Programming |
| 3 | 09-Mar-12 | Functional Programming |
| 4 | 16-Mar-12 | Types and Polymorphism |
| 5 | 23-Mar-12 | Lambda Calculus |
| 6 | 30-Mar-12 | Fixed Points |
| 06-Apr-12 | Good Friday | |
| 13-Apr-12 | Easter vacation | |
| 7 | 20-Apr-12 | Programming Language Semantics |
| 8 | 27-Apr-12 | Objects and Types |
| 9 | 04-May-12 | Objects and Prototypes |
| 10 | 11-May-12 | Logic Programming |
| 11 | 18-May-12 | Applications of Logic Programming |
| 12 | 25-May-12 | Visual Programming |
| 13 | 01-Jun-12 | Final Exam |