Programming Languages (PL)

helloWorld.png

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

Description

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.

Schedule 2012 (tentative)

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
Last changed by oscar on 20 April 2012