# Computer Algebra, Syllabus, Spring 2009.

Location: 106 LOV.

Time: Monday, Wednesday, Friday 12:20 - 1:10

Instructor: Dr. Mark van Hoeij

What this course is about: At first sight you might be inclined to believe that algebra courses with topics like ideals, finite fields, or the Chinese remainder theorem are far away from any practical application. But this is not the case: There are algorithms to compute with almost everything you learn in algebra courses, and these algorithms have many applications. For example, finding exact solutions of differential equations, or finding an antiderivative of a function, such algorithms use the algebraic algorithms from this course in many places. The topics covered in this course are:
• 1. Introduction to Maple.
• 2. Modular Euclidean algorithm.
• 3. Computing with algebraic numbers.
• 4. Lattice reduction and applications.
• 5. Factorization of polynomials.
Computer algebra is useful for applications, but at the same time it is also a great way to learn pure math: concepts from pure math become clearer and much easier to understand once you know how to compute with them.

Two courses computer algebra: There are two courses computer algebra. The course taught this semester treats the topics listed above. Some of the previous courses fall 2000, fall 2001, spring2002, treated the integration algorithm (finding a formula for the antiderivative in terms of elementary functions whenever it exists).

Implementations: No prior programming experience is required for this course. We will spend the first two weeks on learning how to use Maple and how to implement algorithms in Maple. Most assignments in this course consist of implementing. This way the algorithms are learned from mathematical concepts all the way down to an implementation. You may be surprised to find that the distance between the two is often small, because the Maple language is quite close to mathematical language. In fact, programming in Maple much easier than programming in most other languages: algorithms implemented in Maple are only a fraction of the size of the same algorithm implemented in C, Java or Pascal.

Help with assignments: If you need help with an assignment you can come to my office any time (also outside of office hours). For most assignments I will be generous with help. The reason is the following: finding the errors (the bugs) is difficult when you start programming. But once you learn the tricks of the trade you will notice that it becomes much easier. To help with this, you are welcome in my office any time.

Grading: There will be three tests during the semester, and one final test. Each of these four tests will account for 20% of the grade. The remaining 20% will be determined by the turn in assignments. For one or two of these tests, you will be given the option to do an assignment instead of a test.

Course goals: The ideas behind the algorithms taught in this course can be used in many mathematical computations. To show that you understand these ideas in sufficient detail, you have to be able to use them on the computer; you should be able implement short algorithms on your own, and larger algorithms as group work.

Textbook: A textbook is not needed for this course, the necessary material will be posted online. However, if you still want a book, then I recommend: Modern Computer Algebra.

Software: The course documents are interactive Maple documents which you can download through the web. These documents can be viewed or printed with Maple. FSU has a campus wide license for Maple, so you should be able to use Maple on most FSU computers. If you want to work at home, then you can buy a copy of Maple from the bookstore, which includes a CD-ROM as well as a book.

Prerequisites: The graduate algebra courses or the consent of the instructor. If you are not sure, please contact me by e-mail.

honor code: A copy of the University Academic Honor Code can be found in the current Student Handbook. You are bound by this in all of your academic work. It is based on the premise that each student has the responsibility 1) to uphold the highest standards of academic integrity in the student's own work, 2) to refuse to tolerate violations of academic integrity in the University community, and 3) to foster a high sense of integrity and social responsibility on the part of the University community. You have successfully completed many mathematics courses and know that on a "test" you may not give or receive any help from a person or written material except as specifically designed acceptable. Out of class you are encouraged to work together on assignments but plagiarizing of the work of others or study manuals is academically dishonest.

ADA: Students with disabilities needing academic accommodations should: 1) register with and provide documentation to the Student Disability Resource Center (SDRC); 2) bring a letter to the instructor from SDRC indicating you need academic accommodations. This should be done within the first week of class. This and other class materials are available in alternative format upon request.