CPSC 370 — Functional and Logic Programming — Winter 2022
This page summarises information about CPSC 370.
A grade of C-
or better in cpsc 141
and cpsc 281;
or permission of instructor.
- Important Information
Important information may be posted here from time to time.
- All homework now due.
- More homework supplied
- Final exam information added.
Midterm 2 postponed until W 2022-03-16
- No gnus are good gnus
Students in this course who, because of a disability, may
have a need for special academic accommodations should discuss
this with the instructor, or contact
the Access Resource
located in the Teaching & Learning Building in Room 10-1048.
- Room and Hours
- M W F
13:30-14:20 in 5-171.
- Grading Scheme1:
- Course Dates:
|Midterm I ||2022-02-09 Wednesday
|Last Drop Day ||2022-02-24 Thursday
|Midterm II||2022-03-16 Wednesday
|Last Class||2022-04-07 |
|Homework ||from time to time
|2022-04-19 Tue 18:00–21:00 in 5-175|
There is no required text, but reading
Learn You a Haskell for Great Good
is strongly recommended.
See the Referenes
link for where to find this book, and other useful information.
- Programming Assigments
- There will be approximately weekly programming assignments
during the semester. Programming languages
See the homework link
on the menu-bar for information on what homework has been
See the Programming Homework Submissions section under the
on the menu-bar for information on how to
submit homework, and late policies et cetera.
- Approximate Course Content
- An introduction to functional programming. Static and dynamic
typing. Strict and non-strict evaluation.
impure functional programming.
- Some common functional programning languages.
- Functions and partial functions.
- Cartesian products. Disjoint unions.
- Builtin types and literals. Tuples. Lists.
- Declarations. Function declarations and function
- Exploiting laziness. Downsides to laziness.
- Recursion, tail recursion, and accumulator
- Monadic programming.
Space and time complexity for functional programs and data
An introduction to logic
- Facts. Rules.
Goals. Variables. Conjunctions. Horn Clauses.
- Difference lists.
I reserve the right to change the weight of any portion of
this marking scheme. If changes are made, your grade will be
calculated using the original weighting and the new
weighting, and you will be given the higher of the two.