Lecture time and place: Monday and Wednesday 10:00-11:20. Essex Hall 186.
Office hours: Monday and Wednesday 12:00-13:00.
Instructor: Prof. Jianguo Lu, LT 5111. Email: jlu at
- (week 1) Course outline [ pdf],
- (Week 2) introduction to programming language classification, paradigms, and history
- (Week 3, 4) Functional Programming
- (Week 4) MapReduce [PPT],
- (Week 5) XSLT [PPT]
- (Week 6) Logic Programming [Slides(PPT)],
snowy.pl. GNU Prolog can be downloaded from the gprolog.com web site. Supported platforms include Windows, OS x et al. It is also installed on machines in our school.
- (Week 6, Review and midterm exam) ( slides ) midterm sample exam (PPT file) (PDF file)
- (Week 7, 8) Aspect Oriented Programming
aop assignment slides .
- (Week 8)
Distributed object and object persistency
- (Week 9, 10) Axiomatic semantics[PPT] [PDF] .
- (Week 11, 12)
- (Week 12 ) review,
Online sample test
sample questions and answers .
- [Functional programming] Due date: October 9.
- [ XSLT] Due date: October 20
- Example for distributed objects (Person class)
- First example:
- Account example
- Obtaining context:
- Caching Factorial result
- Popularity of programming languages gives the popularity of programming languages, updated once a month.
C. A. R. Hoare revisits his axiomatic semantics paper, CACM 2009.
- Computer Language History
Axiomatic Semantics (book Chapter) ,
- Lambda calculus
- AspectJ book, AspectJ in Action: Practical Aspect-Oriented Programming,
by Ramnivas Laddad (Paperback - Jul 1, 2003) (sample
- AspectJ project
- DrRacket, a language derived from Scheme.
- a web based Scheme program development environment WeScheme