CS 680-503 Computer Algebra I Syllabus

Course Description
This course serves as an introduction to the foundations of symbolic mathematical computation, drawing from both computer science and mathematics. Topics to be covered typically include: the algebraic definition of numerical, polynomial and rational function domains, notation for computing time analysis, arithmetic with large integers, rational numbers and multivariate polynomials, modular number arithmetic, greatest common divisors of polynomials (rational function simplification), computing with homomorphic images and the Chinese Remainder Theorem, the modular GCD algorithm.
Course Objective
To obtain an understanding of the design, implementation, and analysis of computer algebra algorithms in general and algorithms for computing with polynomials in particular.

The course will require several computational assignments utilizing Maple, and several programming assignments using both Maple and C or C++.
Algorithms and Data Structures I (CS 557 or equivalent). Also knowledge of linear algebra. Some knowledge of abstract algebra would be helpful but is not necessary.
Jeremy Johnson
Office: 271 Korman Center
phone: 895-2893
e-mail: jjohnson@mcs.drexel.edu
office hours: MW 1-3 and T 4-6, additional hours by appointment.
Meeting Time
W 6:00-9:00 in Randell 329
Keith Geddes, Stephen Czapor, and George Labahn Algorithms for Computer Algebra. Kluwer Academic Publishers, 1992.


  1. Algebra of polynomials, Rational functions, and power series.
  2. Data structures and algorithms for polynomial arithmetic.
  3. Homomorphisms, modular algorithms, interpolation and the Chinese Remainder Theorem.
  4. Newton's iteration and Hensel lifting.
  5. Polynomial greatest common divisors.
  6. Polynomial factorization.


  1. Homework assignments (five) 50% (10% each)
  2. Programming project 50%

Created:  12/22/99 by jjohnson@mcs.drexel.edu