Computing Science 325
Non-Procedural Languages
Sept - Dec 2004
Section A1 9:30 - 10:50am V 102 B Price & R Greiner
TAs:  Kevin Andrusky  Tommy Chu   David Silver
LectureNotes HWs, MidTerm, Final
GradeBook
Textbooks & Resources NewsGroup Outline

Course Description

Purpose:  To study the theory, run-time structure, and implementation of selected non-procedural programming languages, focussing on functional and declarative (logic-based) languages, using examples from Lisp and Prolog.

This course introduces two different models of computation, functional and declarative:

By the end of the course the students are expected to have a good understanding of the theory and implementation of both functional and declarative programming languages.

Prerequisite: CMPUT 201CMPUT 204CMPUT 229 or EE 380,  MATH 120. 


Resources

  • Lecture Notes
  • Auxiliary Material:
  • News group: Much of the discussion of the course material will take place in the news group: news:ualberta.courses.cmput.325
  • Logistics
  • Questionnaire
  • Office hours:  Immediately after class (10:50-11:30 T Th), or by arrangements.
    Information about TA and Labs

    Evaluation

    The evaluation of the students is based on a combination of 4 assignments, a midterm exam, and a final examination.
    See GradeBook for current records of your marks.
    To access:
  • Assignments (due dates are tentative; at 11:59pm)
              Assignment       Due date (at 11:59pm)
    1 Lisp (Intro)   8 [100] Tues 28 Sep 04 (try)
    2 Lisp (Challenging) + Lambda Calculus 12 [100] Thurs 21 Oct 04 (try)
    3 Prolog (Easy)   8 [100] Tues 16 Nov 04 (try)
    4 Prolog + SECD-machines (Challenging) 12 [100] Wed 8 Dec 04 (try)
    Exams
    Midterm 25% Thurs 28 Oct 04
    Final 35% 15/Dec 04, 9:00am V 102

  • Interested in Artificial Intelligence in general? (You should be!)
    Come to the weekly AI Seminar!