Applied Symbolic Computation (CS 480-504/680-504)

 Announcments  Lectures  Programs  Course Resources   Assignments and Solutions  Grading Policy
Course Announcement
The department of Mathematics and Computer Science is offering a combined undergraduate/graduate course (CS 480-504/680-504) in Applied Symbolic Computation during the Spring 00-01 term. This course is of interest to computer science, mathematics, science, and engineering students who are interested in using computer algebra systems, such as Maple, to solve various application problems. The course will focus on the use of Maple.

A followup sequence will be offered in the winter and spring terms for those students interested in the algorithms underlying computer algebra systems.

See syllabus fo more details.

Course Description
This course is for users of symbolic computation in the physical and biological sciences, engineering, mathematics, finance, computer science, etc. who wish to gain an understanding of fundamental symbolic mathematical methods as embodied in contemporary systems for symbolic mathematics (e.g. Maple, Derive, Macsyma, Mathematica, etc.). Topics covered include: an introduction to a symbolic mathematical computation system; simplification of expressions, discussion of fundamental techniques in symbolic computation as illustrated by the solution of applications problems, the problem of intermediate expression swell, the basic economics of symbolic manipulation, methods for efficient solution of large problems, hybrid symbolic/numeric techniques.
Graduate computer science, mathematics, engineering, and science students interested in learning about and applying computer algebra systems, such as MAPLE, to various application areas. The course is appropriate for students interested in scientific programming.

This course is also open to upper level undergraduates interested in scientific computing and computational mathematics. The course counts towards the numeric and scientific computing track for computer science students.
Undergraduate data structures course
Courses in calculus, linear algebra, and some knowledge of differential equations
Jeremy Johnson
Office: 292 Korman Center
phone: 895-2893
office hours: M 2-4 and 6-7, W 2-4 and Th 2-3:30. Additional hours by appointment.
Meeting Time
W 6:00-9:00 in Korman 259
There is no required text for this course; however, the following books are listed as recommended reading. The first book is out of print, and selected materials from a preliminary copy of the second edition will be provided. The second and third books are for reference. Copies are available on reserve in the library.

Every student must have access to Maple. Course notes will be provided on the web page as Maple worksheets that can not be read without Maple.

  1. R. M. Corless. Essential Maple: A Guide for Scientific Programmers. Springer-Verlag, 1995.
  2. Maple V Learning Guide, Springer-Verlag, 1996.
  3. Maple V Programming Guide, Springer-Verlag, 1996.
  4. Maple 6 Computer Algebra System. The student edition is available for purchase. Access to Maple is available through department and university computers.
  5. The text will be supplemented by several journal articles and readings from texts available in the library.


  1. Introduction to symbolic mathematics systems in general and Maple in particular.
  2. Effective use of Maple.
  3. Scientific programming in Maple.
  4. Code generation (e.g. finite diferences schemes, automatic differentiation)
  5. Solution of systems of polynomial equations (introduction to Groebner Bases).
  6. Applications of Groebner Bases (digital signal processing, robotics)
  7. Quantifier elimination and applications to stability analysis and control theory.
  8. Other applications based on student interests.


  1. Homework assignments (40%)
  2. Midterm (30%)
  3. Final project or final exam (30%)
Assignments and exams will be returned on a regular basis to provide feedback to students.


Reference Books
  1. Maple V Learning Guide, Springer-Verlag, 1996.
  2. Maple V Programming Guide, Springer-Verlag, 1996.
  3. A. Heck. Introduction to Maple, Second Edition. Springer-Verlag, 1996.
  4. Gander, W., Hrebicek, J., Solving Problems in Scientific Computing Using Maple and MATLAB, Third Edition, Springer-Verlag, 1997.
  5. Cox, D., Little, J., and O'Shea, D. Ideals, Varieties, and Algorithms, Second Edition. Springer-Verlag, 1997.
Web Pages
  1. Waterloo Maple
  2. Maple V Application Center
  3. SymbolicNet -- Symbolic Mathematical Computation Information Center
  4. IMACS Conferences on Applications of Computer Algebra

Look Here for Important Announcements

Announcements (Last posted Dec. 5 @ 8:00am)


This list is tentative and may be modified at the instructor's discretion.
  1. Sept. 26, 2001 (Course Introduction and Introduction to Maple)
  2. Oct. 3, 2001 (Symbolic and Numeric Computing in Maple)
  3. Oct. 10, 2001 (Maple Syntax and Semantics)
  4. Oct. 17, 2001 (Maple Programming)
  5. Oct. 24, 2001 (Advanced Maple Programming)
  6. Oct. 31, 2001 (RSA Public Key Cryptosystem)
  7. Nov. 7, 2001 (RSA Public Key Cryptosystem)
  8. Nov. 14, 2001 (Integer Multiplication, Interpolation, and the Chinese Remainder Theorem)
  9. Nov. 21, 2001 (Thanksgiving Holiday - No Class)
  10. Nov. 28, 2001 (Convolution, the CRT, and the FFT)
  11. Dec. 5, 2001 (FFT Based polynomial and integer multiplication)
  12. Dec. 12, 2001 (Final Exam and Presentations)

Programs and Worksheets



Created: 3/24/01 (revised 5/22/01) by