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 W 13. Additional hours by appointment.

TA
 Jeff Abrahamson
Office: Korman 207 (MCS Student Resource Center)
email: jeffa@cs.drexel.edu
office hours: R 23:30.
 Meeting Time
 TR 12:302:00 in Pearlstein 101
 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 9. It is
highly recommended that students purchase the student version of Maple
9, 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
9 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 (50%)
 Midterm (25%)
 Final Exam (25%)
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 (Sat. Nov. 22 @ 9:00am)
Lectures
This list is tentative and may be modified at the instructor's discretion.
The course will be organized around three themes: 1) Discrete mathematics,
combinatorics, and algorithm analysis. 2) Number theoretic algorithms and
cryptography. 3) Solving systems of equations and applications.
Approximately three weeks will be devoted to each topic. Maple will be used
to explore all of these topics and the topics will be used to illustrate
effective use of Maple.
More detailed lecture notes and a more accurate timeline will be provided as the
term progresses.
 Week 1

Sept. 23, 2003 (Course Introduction and
Introduction to Maple)

Sept. 25, 2003
(FindMax, Permutations, Harmonic and Stirling Numbers)
 Week 2

Sept. 30, 2003
(FindMax, Permutations, Harmonic and Stirling Numbers)
 Oct. 2, 2003
(Generating Permutations)
 Week 3
 Oct. 7, 2003
(Partitions) class starts at 1 due to convocation.
 Oct. 9, 2003
(Partition trees and the WalshHadamard Transform)
 Week 4
 Oct. 14, 2003
(Generating Functions)
 Help with assignment 2
 Week 5
 Oct. 21, 2003
(Solving Recurrences using Generating Functions)
 (takehome midterm)
 Week 6
 Oct. 28, 2003
(Go over midterm  solmid.mws)
 No class
 Week 7
 Nov. 4, 2003
(Fibonacci Numbers and the Euclidean Algorithm)
 Nov. 6, 2003
(Modular Arithmetic and Fast Powering)
 Week 8
 Nov. 11, 2003 (RSA publickey cryptosystem)
 Nov. 13, 2003 (RSA publickey cryptosystem)
 Week 9
 Nov. 18, 2003 (Fast Integer Multiplication using Karatsuba's Algorithm)
 Nov. 20, 2003 (Faster Integer Multiplication and
Polynomial Interpolation)
 Week 10
 Nov. 25, 2003 (Interpolation and the FFT)
 Thanksgiving Holiday
 Week 11
 Dec. 1, 2003 (Interpolation and the FFT)
 Dec. 3, 2003 (Review)  go over Solution to
Assignment 4 and the Final Exam
Programs and Worksheets
Assignments

Submitting Assignments
 Assignment 1 (Download Maple 8 worksheet assign1.mws)
 Due Oct. 2.
 Assignment 2 (Download Maple 8 worksheet assign2.mws)
 Due Wed. Oct. 22 by midnight.
 Take Home Midterm (midterm.mws) 
Due by the beginning of class on Tue. Oct 28
 Assignment 3 (assign3.mws) 
Due Thur. Nov. 20 by midnight.
 Assignment 4 (assign4.mws) 
Due Thur. Dec. 4 by the beginning of class (no extensions).
 Take Home Final Exam (final.mws)
To be posted on Thur. Dec. 4. Due. Thur. Dec. 11 by midnight (no extensions)
Solutions
 Solution to assignment 1 (sol1.mws)  Maple 8 worksheet.
 Solution to assignment 2 (sol2.mws)  Maple 9 classic worksheet.
 Solution to the midterm (solmid.mws)  Maple 9 classic worksheet.
 Solution to assignment 3 (sol3.mws)  Maple 9 classic worksheet.
 Solution to assignment 4 (sol4.mws)  Maple 9 classic worksheet.
Created: 9/22/03 () by jjohnson@mcs.drexel.edu