Last modified: 2022-08-01
This is a course page of
David Casperson
Associate Professor
Computer Science
University of Northern British Columbia

CPSC 370: Functional and Logic Programming

This page needs revising.

Syllabus

Course Content:

The following list is quite approximate and will be refined shortly:

  • An introduction to functional programming. Static versus dynamic typing. Strict versus non-strict evaluation. Some common functional programning languages. Pure versus impure functional programming.
  • Functions and partial functions. Cartesian products. Disjoint unions. Currying.
  • Standard ML. Builtin types and literals. Tuples. Lists. Declarations. Function declarations and function values. Product types and function types.
  • Recursion, tail recursion, and accumulator arguments. Higher order functions for lists.
  • Scheme
  • Space and time complexity for functional programs and data structures.
  • An introduction to logic programming. Prolog.
  • Facts. Rules. Goals. Variables. Conjunctions. Horn Clauses. The Unification algorithm. Accumulator arguments. Difference lists. Cuts. Negation. Arithmetic. Debugging.
Home page Semesters Site Map
go back Fall 2010 go forward
2024-12 other links

Software

CPSC 200
Java
Building .jar files
CPSC 370
Blackboard
Books
Course Outline
Policies
Programming Policies
Prolog Resources
Syllabus
David’s Schedule

University Calendar

fall-2024