Faculty of Science Home Page University of Alberta Home Page

CMPUT 325 - Non-procedural Programming Languages

General Information

Term: Fall 2006, Lecture A1
Date and Time: Tuesdays and Thursdays at 9:30-10:50 am
Location: CEB 255
Number of credits: 3


Instructor: Prof. Rich Sutton
Office: ATH 3-13
Phone: 780 492 4584
E-mail: sutton@cs.ualberta.ca
Office Hours: TBA

Teaching Assistants: Kevin Andrusky, Maysam Heydari
E-mail: andrusky@cs.ualberta.ca, maysam@cs.ualberta.ca

Their will be two lab hours (time and place TBA) when the TAs will be available to answer questions.  There will also be a news group for students to ask and answer questions.  For the latest information please consult the course web page.


A study of the theory, run-time structure, and implementation of selected non-procedural programming languages. Languages will be selected from the domains of functional and logic-based languages.


To increase your effectiveness and sophistication as a programmer by learning to use the tools and metaphors of functional and declarative programming.


CMPUT 201, 204, 229 or E E 380, MATH 120

Required Textbook

Structure and Interpretation of Computer Programs, second edition, by Abelson and Sussman with Sussman. MIT Press 1996.

Course Topics

The course will cover the first four chapters of the required textbook.   To get a sense of the material to be covered, see the online version of the textbook.  The content of the course is described more fully in the course web page.

Course Work and Evaluation

Course Work Date Weight
Participation In-class 5%
Exercises Weekly 35%
Mid-term Tues Oct 24
Project Tues Dec 5
Final Exam Fri Dec 15

IMPORTANT: The final exam schedule for the University can change. Students must verify their final exam dates on BearTracks when the Final Exam Schedule is posted.

Exams are open book, but no electronic or living organic aids.

Grading System

Grading will be done partly on absolute measures of what has been learned and partly on the distribution of scores in the class.  The result is expected to be consistent with university standards for higher-level undergraduate courses.

Deferred Exams

If a deferred exam is permitted, it will be written on Jan 4, 2007.


Any questions or concerns about marks on a particular assignment must be brought to the instructor's attention within 10 days of its return date. After that, remarking or re-evaluating will not be considered.  Remarking will be done on assignments as a whole and may result in a lower rather than a higher grade.


Course Outlines

Policy about course outlines can be found in Section 23.4(2) of the University Calendar.

Academic Integrity

The University of Alberta is committed to the highest standards of academic integrity and honesty. Students are expected to be familiar with these standards regarding academic honesty and to uphold the policies of the University in this respect. Students are particularly urged to familiarize themselves with the provisions of the Code of Student Behaviour (online at www.ualberta.ca/secretariat/appeals.htm) and avoid any behaviour which could potentially result in suspicions of cheating, plagiarism, misrepresentation of facts and/or participation in an offence. Academic dishonesty is a serious offence and can result in suspension or expulsion from the University. (GFC 29 SEP 2003)

All forms of dishonesty are unacceptable at the University. Cheating, plagiarism and misrepresentation of facts are serious offenses. Anyone who engages in these practices will receive at minimum a grade of zero for the exam or paper in question and no opportunity will be given to replace the grade or redistribute the weights. Any offense will be reported to the Senior Associate Dean of Science who will determine the disciplinary action to be taken  Typical sanctions for serious violations of the Code have included disciplinary grade reductions, disciplinary failing grades, suspension or permanent expulsion from the University.

Deferred Exam Policy

A deferred exam will be permitted only in exceptional circumstances, such as a debilitating illness.  If permitted, it will be on the date indicated above.


Students are not permitted to work on assignments or projects together.  Talking about the assignments with other students is permitted and even encouraged, but don't bring a pen or computer to such discussions.

Excused Absences

Excused absences for medical or other reasons will be handled on a case by case basis.  Assignments that are late by one class period will be marked down by effectively one letter grade.

Department Policies

Refer to Department Policy to learn about:

  • Collaboration
  • Excused Absences
  • Conditions of Use

University Policies

The University of Alberta policies include, but are not limited to, the following: