Computer Science 582/482B
Maple Flavored Concrete Mathematics

[Concrete Math | Maple | Problems | Links | News]

Grad Students: Do you use discrete mathematics in your research?

Discrete mathematics, in one form or the other, makes its way into almost every computer science thesis. Most of our graduate students have taken a discrete math course as part of their undergraduate training, but quite often they find that they've forgotten this material and now need some part of it for their thesis research. In the past, some grad students have sat through Math 224/324, but this is not really a satisfactory solution. This course is designed as a thorough introduction, at the graduate level, to those areas of discrete mathematics (exclusive of graph theory), that are most useful to the average computer science researcher. There are many software tools available to aid in discrete mathematical computations, and the best of these is Maple. We will use Maple as a resource throughout the course, and try to uncover some of the internal algorithms that it uses.

The only prerequisites for this course are some previous exposure to discrete mathematics and a beginning programming course.

Concrete Mathematics

The text for this course is Concrete Mathematics by Graham, Knuth, and Patashnik. It is the finest Mathematics textbook ever (imho). The best description of this text is the one given by the authors themselves, a copy of which has been placed outside my office door (EOW 321). The following chapter headings should give you an idea of the contents of the book and the course: Recurrent Problems, Sums, Integer Functions, Number Theory, Binomial Coefficients, Special Numbers, Generating Functions, Discrete Probability, Asymptotics. Here is publisher info about Concrete Mathematics. Here is a list of errata for the book.

Maple

Maple is a wonderful symbolic computation system. Many of our graduate students have found it extremely useful in their research. On the other hand, I've read several theses that contained page after page of detailed (and error prone) algebraic manipulation that could have been handled quite easily by a small Maple program. The use of a symbolic manipulation system should be in the bag of tricks of every graduate student.

There is no text for this portion of the course. There will be some handouts and some books on reserve. Here's a picture of those books:

Some Relevant Links:

Grading

Course grading is based on a series of 1/2 hour quizes, and occassional homework problems. The problems on these quizes come directly from the text or are small variants thereof. There will also be some pass/no-pass Maple programming assignments. Graduate students will have to undertake a pass/nopass mini-project based on the course material.

Time

The class will run TW 4:30-6, in Cunningham 146.

Problem List

Click to get them.


next up previous