Programming Languages

Course Goals:  Successful course participants will:
• Master universal programming-language concepts (including datatypes, functions, continuations, threads,
macros, types, objects, and classes) such that they can recognize them in strange guises.
• Learn to evaluate the power, elegance, and definition of programming languages and their constructs
• Attain reasonable proficiency programming in a functional style
• Find relevant literature somewhat more approachable.
S.No
Topic
CSD
(Presenter)
PDF
PPT Slides
1
Intro; Caml; functional programming
2
Functional programming, syntax,semantics via interpretation or translation
3
Semantics via translation, equivalence & properties, lambda introduction
4
Untyped lambda-calculus, inference rules, environments, ...
5
Continuations, types
6
Types, Subtyping
7
Coercions, Type Variables, Type Inference
8
Types Wrap-up; Object-Oriented Programming
9
Fancier OOP; Concurrency
10
Atomicity; Memory Management

No comments: