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) 895-2893
e-mail: jjohnson@cs.drexel.edu
office hours: M 3-6 and W 1-3. Additional hours by appointment.
-
TA
- Jeff Abrahamson
Office: Korman 207 (MCS Student Resource Center)
e-mail: jeffa@cs.drexel.edu
office hours: R 2-3:30.
- Meeting Time
- TR 12:30-2: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. Springer-Verlag, 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 Walsh-Hadamard Transform)
- Week 4
- Oct. 14, 2003
(Generating Functions)
- Help with assignment 2
- Week 5
- Oct. 21, 2003
(Solving Recurrences using Generating Functions)
- (take-home 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 public-key cryptosystem)
- Nov. 13, 2003 (RSA public-key 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