Applied Symbolic Computation (CS 300)
Announcments
Lectures
Programs
Course Resources
Assignments and Solutions
Grading Policy

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. See syllabus fo more details.

Audience

Undergraduate 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. The course counts towards the numeric
and symbolic computing track for computer science students.

Prerequisites

Undergraduate data structures course (CS 260)

Courses in calculus (MATH 200 or equivalent), linear algebra (MATH 201
or equivalent), discrete mathematics (MATH 221 or equivalent) and some
knowledge of differential equations would be helpful.

Instructor

Jeremy Johnson
Office: 206 Korman Center
phone: (215) 8952893
email: jjohnson@cs.drexel.edu
office hours: M 36 and W13. Additional hours by appointment.

TA
 Jeff Abrahamson
Office: Korman 207 (MCS Student Resource Center)
email: jeffa@cs.drexel.edu
office hours: T 3:305:30.
 Meeting Time
 TR 2:003:30 in Matheson 309
 Course Mailing List
 cs300@imap.mcs.drexel.edu

Please use this list for questions and discussions related to the course.
If you know the answer to someone's question, please feel free to jump in,
as long as well it is not an answer to a homework problem. I will moderate
the list so that frivolous mail and spam is not forwarded.

Textbook
Every student must have access to Maple version 8. It is
highly recommended that students purchase the student version of Maple
8, though Maple is available in the Math and CS labs as well as Drexel
labs. Course notes will be provided on the web page as Maple
worksheets that can not be read without Maple. Additional resources
are listed below.

Maple
8 student edition.

Maple 8 Getting Started Guide.

Maple 8 Learning Guide.

Maple 8 Introductory Programming Guide.

Maple 8 Advanced Programming Guide.

The text will be supplemented by several journal articles and readings
from texts available in the library.
Topics

Introduction to symbolic mathematics systems in general and Maple in particular.

Effective use of Maple.

Scientific programming in Maple.

Cryptography and Number Theoretic Algorithms.

Integer and polynomial arithmetic.

Code generation (e.g. finite diferences schemes, automatic differentiation)

Solution of systems of polynomial equations (introduction to Groebner Bases).

Applications of Groebner Bases (digital signal processing, robotics)

Quantifier elimination and applications to stability analysis and control
theory.

Other applications based on student interests.
Grading
 Homework assignments (40%)
 Midterm (30%)
 Optional (for nongraduating seniors) Final Exam (30%)
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.
Resources

Reference Books

Maple 8 Getting Started Guide.

Maple 8 Learning Guide.

Maple 8 Introductory Programming Guide.

Maple 8 Advanced Programming Guide.

Cox, D., Little, J., and O'Shea, D. Ideals, Varieties, and Algorithms,
Second Edition. SpringerVerlag, 1997.

Web Pages

Waterloo Maple

Maple Student Center

Maple
Essentials

Maple
Programming

Maple Application Center

SymbolicNet  Symbolic Mathematical
Computation Information Center

ISSAC 2003  International
Conference on Computer Algebra

ECCAD 2003  Regional
Conference on Computer Algebra

IMACS Conferences on Applications
of Computer Algebra
Look Here for Important Announcements
Announcements (Last posted April
29 @ 8:30pm)
Lectures
This list is tentative and may be modified at the instructor's discretion.
 Week 1

April 1, 2003 (Course Introduction and
Introduction to Maple)

April 3, 2003 (Symbolic and Numeric
Computing in Maple)
 Week 2

April 8, 2003 (Symbolic and Numeric
Computing in Maple)

April 10, 2003 (Symbolic and Numeric
Computing in Maple)
 Week 3

April 15, 2003 (Symbolic and Numeric
Computing in Maple)

April 17, 2003 (Computing e)
 Week 4

April 22, 2003 (Maple Syntax and Semantics)

April 24, 2003 (Maple Programming)
 Week 5

April 29, 2003 (Advanced Maple Programming)

May 1, 2003 (The Euclidean Algorithm)
 May 1, 2003 (Midterm Exam)
 Week 6

May 6 2003 (Modular Arithmetic)

May 8 2003 (RSA Public Key Cryptosystem)
 Week 7

May 13, 2003 (Multiplication,
Interpolation, and the Chinese Remainder Theorem)
 May 15, 2003 (Review Session)
See p3.mws
 Week 8
 May 20, 2003 (Convolution, the CRT, and
the FFT)
 May 22, 2003 (FFT Based polynomial and
integer multiplication)
 Week 9
 May 27, 2003 (FFT Based polynomial and
integer multiplication)
 May 29, 2003 (Review Session)
 Week 10

 June 3, 2003 Code Generation
 June 5, 2003 Code Generation
Programs and Worksheets
Assignments
Solutions
Created: 3/24/01 (revised 5/22/01) by jjohnson@mcs.drexel.edu