A good foundation in linear algebra and some knowledge of abstract algebra
(such as MAT 313 or MAT 311 or MAT 312). However, I will try to keep the amount of required
previous knowledge to a minimum. The seminar will require active student participation and will
encourage student discoveries of known (and perhaps unknown) mathematics.

This book is a gentle introduction to computational algebraic geometry and commutative algebra at the undergraduate level.
It discusses systems of polynomial equations ("ideals"), their
solutions ("varieties"), and how these objects can be manipulated ("algorithms"). The
Table of Contents may give you a more detailed picture of the topics covered in the book.

Applications of Gröbner bases: elimination theory, singular points,
envelope of a family of curves, etc.

Some theory on varieties and ideals (an algebra-geometry dictionary)

Robotics. Integer programming.

Introduction to projective algebraic geometry.

Use of computer packages:

Specialized computer algebra systems as well as vizualization tools can help tremendously in the study of certain explicitly given
(i.e. by equations) algebraic varieties. We will make use of the following software:

Maple and Mathematica for the visualization of implicitly defined curves, surfaces, etc.

I will assign problems in each lecture, ranging in difficulty from routine to more challenging.
Course grades will be based on these problems and any other class participation; solving at least 2/3 of them
will be considered a perfect score. Late homework will be accepted until the second class meeting after the due date,
but will not be accepted after that time. Each student will also be required to deliver a 20-30 minute (depending on class size)
presentation and hand in one-two papers or computer projects
(the first is due by November 1; the second by December 1)

Software documentation, tutorials, and computer projects

We will use the math computer lab in S-235 of the math tower; this lab contains
30 Sun workstations running Unix, as well as a number of PCs running Windows NT. We
will be using the Unix machines in class; however, much of the work can be done on other systems.
We will rely heavily on Macaulay 2 (a software system devoted to supporting computations in algebraic geometry and commutative algebra) and
Maple (a program that can do algebra, calculus,
graphics, etc.), although if other tools are better suited to the task, we may make use of them.
No previous experience with computers is needed.

Macaulay 2 and Maple
are available for most platforms (Unix, Macintosh, Windows, etc); Macaulay 2 can be freely downloaded from the following location, while a student version of Maple can be purchased from Waterloo Maple for $99.
You can also use the campus modem pool to dial-in to the mathlab computers.

Here are some important things to read:

To access the documentation for Macaulay 2
you will need to use a web browser (which you must already be doing if you are
reading this). I like the Netscape Navigator, (or its other version,
Mozilla, but any other browser such as
the Microsoft Internet Explorer is OK if you want. You can get Netscape and MSIE from
Instructional Computing,
although more recent versions are available from
Netscape and
Micro$oft.

We may sometimes have to access documents on the web which are in the Adobe PDF form
(Portable Document Format). To read these you will need to have a copy of
the freely available Adobe Acrobat Reader on your machine. You can get this
from Adobe.
For PostScript documents, a free viewer can be downloaded from
the GhostScript site.

We will use Macaulay 2 in Emacs mode,
but we will essentially make no other use of Emacs fancy features. Here
is a short Emacs tutorial and here is an Emacs Quick Reference file.

The simplest way to start Macaulay 2 is to
type M2 at the shell prompt. This will run a Macaulay 2 session in the current window. However the recommended way is to
run Macaulay 2
as an emacs subprocess, one nice feature of the emacs' Macaulay 2 mode being command
completion. Click here for a brief tutorial introduction to the use of
emacs with Macaulay 2.

On pages 510 and 512 of the second edition of Ideals, Varieties, and Algorithms, Appendix C mentions computer packages for Maple and Mathematica. These were written mainly for teaching purposes and tend to be rather slow in comparison with a dedicated system as Macaulay 2. You may browse/download these packages from David A. Cox's web site. For Maple V, Release 5(1) you may also download the package, a tutorial and a reference worksheet from the following location:

Macaulay 2 is a software system devoted to supporting research in algebraic geometry and commutative algebra, developed by Daniel R. Grayson and Michael E. Stillman. Here are
two elementary tutorials:

A short tutorial
introducing a number of basic operations using Groebner bases, and at the same time
a range of useful Macaulay 2 constructs.

A chapter (click here for PDF)
by Bernd Sturmfels on elementary computations in Algebraic Geometry
from a forthcoming book on Macaulay 2. It illustrates also the
use of Macaulay 2 for some of the computations
in the textbook by Cox, Little and O'Shea.

If you have a physical, psychiatric, medical or learning
disability that may impact on your ability to carry out assigned
course work, you may contact the Disabled Student Services (DSS)
office (Humanities 133, 632-6748/TDD). DSS will review your concerns
and determine, with you, what accommodations may be necessary and
appropriate. I will take their findings into account in deciding what
alterations in course work you require. All information on and
documentation of a disability condition should be supplied to me in
writing at the earliest possible time AND is strictly
confidential. Please act early, since I will not be able to make any
retroactive course changes.