CS 4424a/9556a: Foundations of Computational Algebra

Éric Schost, Computer Science Department

Lectures: MC-105B, Wednesday, 9:30am - 12:30am
Office Hours: MC415, Tuesday, 9:30am - 11:30am
Phone: 519 661 2111 ext 86994 (e-mail contact preferred!)


Symbolic computation develops algorithms to manipulate mathematical objects (numbers, matrices, polynomials, ...) formally. This course provides an overview of a few fundamental aspects, with an emphasis on the design of fast algorithms, and the study of their complexity. Explicitly, we will discuss

Course outline


Course material

News, assignments, etc


The course's textbook is Modern Computer Algebra, by Joachim von zur Gathen and Jürgen Gerhard. Another useful text is Knuth's The Art of Computer Computer Programming volume 2; part of the material is also in Introduction to Algorithms, by Cormen, Leiserson, Rivest, Stein.


You will pick a project from a list I will provide, or come up with a personal one. If you want to work on a project not in the list, it will be subject to my approval. The projects are individual, but I have no objection to several students picking the same project, as long as they work individually.

The projects will be oriented towards litterature review. You will read one paper; you will have to explain their content in your own words. When the papers are long, I mostly want you to understand and extract the main ideas, and present them by yourself; you must coordinate with me to decide what part of the paper to focus on.

You are to submit a written report of about 5 to 15 pages (quality matters, not quantity), and give a presentation, followed by questions.

Student evaluation and schedule

Grades will be based on Schedule