Aug 26.
Introduction and course logistics.
[slides]
|
|
Aug 31.
Programming paradigms.
[slides]
|
Read Mitch 2.1.
|
Sep 2.
Brief history of programming languages.
[slides]
|
|
Sep 7.
Syntax: grammars and parsing.
[slides]
|
Read Mitch 4.1 and C Ref Chap. 2 and 7.
|
Sep 9.
Grammars and parsing (cont'd).
|
|
Sep 14.
Imperative programming.
[slides]
|
Homework 1 assigned.
Read Mitch 5.1-2 and C Ref Chap. 8.
|
Sep 16.
Functions: parameter passing mechanisms.
[slides]
|
Read C Ref Chap. 4 and 9.
|
Sep 21.
Functions: scope, activation records.
[slides]
|
Homework 1 due.
Read Mitch 7.
|
Sep 23.
Buffer overflow.
[slides]
|
Homework 2 assigned.
Read Smashing the stack.
|
Sep 28.
Class canceled.
|
|
Sep 30.
Introduction to ML.
[slides]
Exceptions.
[slides]
|
Homework 2 due (11:59pm, Oct 1).
Read Mitch 5.3-4 and 8.2.
|
Oct 5.
Midterm #1.
|
|
Oct 7.
Garbage collection.
[slides]
|
|
Oct 12.
Types. Overloading and polymorphism.
[slides]
|
Homework 3 assigned.
Read Mitch 6 and C Ref Chap. 5 and 6.
|
Oct 14.
Type inference.
|
|
Oct 19.
Concurrent programming: mutual exclusion, semaphores, monitors.
[slides]
|
Homework 3 due.
Read Mitch 14.
|
Oct 21.
Concurrent programming: Java threads, synchronization.
|
Homework 4 assigned.
|
Oct 26.
Concurrent programming: race conditions, Java memory model.
|
|
Oct 28.
Lambda calculus.
[slides]
|
Homework 4 due.
Homework 5 assigned.
Read Mitch 4.2.
|
Nov 2.
Functional programming in Scheme.
[slides]
|
Read Mitch 3 and Why functional programming matters.
|
Nov 4.
Logic programming in Prolog.
[slides]
|
Homework 5 due.
Read Mitch 15.
|
Nov 9.
Midterm #2.
|
|
Nov 11.
Introduction to JavaScript
[slides]
|
Homework 6 assigned.
|
Nov 16.
Security vulnerabilities in scripting languages.
[slides]
|
|
Nov 18.
Modules and objects.
[slides]
|
Homework 6 due.
Read Mitch 9 and 10.
|
Nov 23.
Simula and Smalltalk.
[slides]
|
Homework 7 assigned.
Read Mitch 11.
|
Nov 25.
No class (Thanksgiving).
|
|
Nov 30.
Introduction to C++.
[slides]
|
Read Mitch 12.
|
Dec 2.
C++ (cont'd).
|
Homework 7 due.
|
Dec 9 (2-5pm, CAL 100).
Final.
|