Advanced Programming Languages (שיטות תכנות מתקדמות)

Table of Contents

1 Topics

  • Coq – The Automated Proof Assistant
  • The Lambda Calculus
  • Functional Programming
  • Object Oriented Programming
  • Threaded Code

2 Code for the APL course

3 Coursework

4 Languages used in the course

4.1 Coq

4.2 Scheme

Scheme is the main programming language for the first part of the course. It is a semi-functional, late-binding, dynamically-typed, interactive programming language. It is the most suitable language for working with the untyped lambda calculus. For this course, I'm going to ask you to work with Petite Chez Scheme, which is avaiable for free on most common platforms. You are welcome to try out other Scheme systems (there are even a couple for the iPhone!

), but for the purpose of the assignments, please make sure your code runs on Chez. Click here to go to my Scheme page.

4.3 ML

ML is the second language we shall be using the the first part of the course. It is a semi-functional, early-binding, statically-typed interactive programming language. We shall be using it in our discussions on types, and perhaps in other places as well. Click here to go to my ML page.

4.4 Smalltalk

4.5 Forth

4.6 Erlang

5 Literature

6 Take-home final

The takehome final is available here (due: TBA)

7 Attendance policy

Attendance is mandatory in this course. I realize there are often circumstances that are beyond control that may require you to skip a meeting, so you may skip two meetings during the semester without penalty. Also, we will only start to take attendance after the second week of class. Afterwards, if you need to skip a meeting for some reasonably justifiable reason (‏מילואים‎, illness), please contact me. Otherwise, there is a 2% penlanty to your final grade for each class you miss: If you miss n days, your final grade will be multiplied by 0.98n - 2

8 How your grade is computed

The coursework shall consist of a brief assignment that will serve as a take-home midterm, and a take-home final. Their weights are as follows:

  • Problem set (midterm take-home) – 20%
  • Take-home final – 80%

Author: Mayer Goldberg

Created: 2014-07-04 Fri 02:45

Validate XHTML 1.0