CSC 324: Lectures

Week Topics Lecture Tutorial
1 Introduction to Programming Languages concepts
Introduction to Scheme: variables, procedures, evaluation
no tutorial held
2 Evaluating programming languages
Basic Scheme: procedures, variables, conditionals, predicates
Exercises
3 Scheme: lists (cons, car, cdr), higher-order functions (apply, map, for-each) Exercises
4 Scheme: symbols, quoting, recursion, trees Exercises
5 Scheme: closures, mutations (set!), iteration, macros (define-syntax) Notes Exercises
6 Scheme: symbolic list processing, pattern matching, named let, continuations Notes Exercises
-- Reading week - no class
7 Midterm Test
Scheme: continuations, cooperative multitasking
Notes Exercises
8 Typing, C++ generics Notes Intro to C++
9 Objects, polymorphism Exercises (C++)
10 Type inference, unification (ML examples)
Introduction to Prolog (Prolog example)
Notes Intro to Prolog
11 Prolog: resolution trees, continuation, cuts Notes Exercises
12 Grammars (BNF), syntax specification Notes Exercises
13 Other PL concepts: garbage collection, passing parameters, exceptions
Final review
Notes no tutorial held
-- Final exams -- April 17-29 -- check exam schedule

Resources to supplement lectures and tutorials, or to use as reference, are listed on the Resources page. A number of resources are also in the reserve section of the library.

Tutorials tend to include several exercises, which you are encouraged to try yourself and understand. Try writing code for each question, and then reading the answer/discussion in the tutorial notes.


Valid HTML 4.01 Transitional