CPSC 4993
Special Topics II
Although this is a generic topics course that may be put to a variety
of purposes, I have essentially taught only three distinct topics in
the seven times that I have offered it.
As Symbolic Computation
I have taught this course as an Introduction to Symbolic Computation,
and more specifically as Computational Ring Theory in Winter 1998,
Winter 2002, and in Winter 2009.
This course covers some basic ring theory, such as definitions of
rings, fields, integral domains, unique factorization domains,
Euclidean domains and the like.
It then covers representations of integers and polynomials,
gradeschool algorithms, fast multiplication, methods of representing
finite fields and the like.
It then moves towards the factorization of polynomials over the integers.
As Functional Data Structures
I have taught this course as a course on Functional Data Structures,
in Fall 2002, Winter 2004, and Winter 2006.
This course loosely follows Purely Functional Data
Structures by Chris Okasaki, although it usually starts with no
assumption that the students know a functional programming language.
The fundamental theme of this course is that even with persistent data
structures laziness can help achieve amortized time.
As Semantic Modelling
This course was taught as a course on semantic modelling only once,
in Winter 2000 (although much of the same material was reprieved in a
module of
CPSC 706
in Fall 2003.)
The point of this course was to show that functional languages can be
used to test models of denotational semantics directly and quickly.
Links
 Outlines

 Pages

 I didn't start constructing Semester webpages until Fall
2003.
 2004 (a strange web page)
 2006
 2009
