Applied Symbolic Computation (CS 567)

 Announcments  Lectures  Programs  Course Resources   Assignments and Solutions  Grading Policy
Course Description
For users of symbolic computation (maple, mathematica, derive, macsyma) who wish to gain an understanding of fundamental symbolic mathematical methods. Includes introduction to a symbolic mathematical computation systems and application to problems from mathematics, science and engineering. Also included programming and problems specific to symbolic computation.
Course Goals
To provide students with the skills, judgement, and spirit necessary to effectively use a symbolic mathematics system such as Maple. To learn the features and limitations of Maple and related systems. To see how Maple can be used to solve a wide range of computational and mathematical problems. To see how computational tools can be applied to various application domains such as cryptography, signal processing, robotics, algorithm design and analysis, code generation, algebra and number theory, and scientific computing.

This particular version of the course will focus on exact integer and polynomial arithmetic and the exact solution of systems of linear and polynomial equations.

Course Objectives
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 and an introduction to the algorithms underlying systems like MAPLE.
Graduate standing in related field and undergraduate course in data structures and algorithms, calculus, linear algebra, and discrete mathematics.
Jeremy Johnson
Office: 100 University Crossings
phone: (215) 895-2669
office hours: TR 10-11, (online office TAB). Additional hours by appointment.
Meeting Time
There will be online lectures (initially [Sept. 22] on Wed from 7-9).
Course Announcements and Discussion

Students must download and install Maple version 14, which is available from Drexel's site license through IRT. Lecture notes will be provided as Maple worksheets that can not be read without Maple. Additional resources are listed below.
  1. Maplesoft
  2. Maplesoft Online Help
  3. Maplesoft Student Help Center
  4. Maplesoft Application Center
  5. Maple 14 Quick Reference
  6. Maple 14 User Manual
  7. Maple 14 Introductory Programming Guide
  8. Maple 14 Advanced Programming Guide
  9. 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. Scientific programming in Maple.
  3. Integer and polynomial arithmetic.
  4. Exact linear algebra.
  5. Solution of systems of polynomial equations (introduction to Groebner Bases).
  6. Applications to (cryptography, DSP - digital signal processing, robotics)
  7. Code generation (e.g. DSP algorithms, automatic differentiation)


  1. Homework assignments (60% - 3 X 20%)
  2. Online Quizes (40%)
Assignments and exams will be returned on a regular basis to provide feedback to students. All students must do their own work. Any violation of this will result in a zero grade for the assignment. A second violation may lead to an F for the course.


Reference Books
  1. Maple Introductory Programming Guide.
  2. Maple Advanced Programming Guide.
  3. Cox, D., Little, J., and O'Shea, D. Ideals, Varieties, and Algorithms, Second Edition. Springer-Verlag, 1997.
Web Pages
  1. TBA.

See BbVista


This list is subject to change.
  1. The Euclidean Algorithm
  2. Karatsuba's Algorithm for Integer Multiplication
  3. Modular Arithmetic
  4. Continued Fractions and the Euclidean Algorithm
  5. Fast Fourier Transform and FFT Based Polynomial and Integer Arithmetic
  6. Newton's Method and Fast Division
  7. Applications to cryptography.
  8. Exact linear algebra and applications.
  9. Wiedmann's algorithm.
  10. Polynomial system solving and applications.
  11. Grobner bases and linear algebra.
  12. Numeric/symbolic algorithms for polynomial systems.

Programs and Worksheets



Created: 9/5/10 (revised ) by jjohnson AT cs DOT drexel DOT edu