**The goal of this course** is to investigate the relationship between algebra and computation. The course is designed to expose students to algorithms used for symbolic computation, as well as to the concepts from modern algebra which are applied to the development of these algorithms. This course provides a hands-on introduction to many of the most important ideas used in symbolic mathematical computation, which involves solving system of polynomial equations, factorization, integration of polynomials and rational functions. Some problems of coding theory and cryptography is considered.

The appropriate use of computer algebra systems (Mathematica, Sage and Maxima) to support the teaching and learning of mathematics, and in related assessments, is incorporated throughout the course.

**We will consider the following topics:**

A Groebner basis for a system of polynomials possesses a property that the set of polynomials in a Groebner basis have the same collection of roots as the original polynomials. Therefore, Groebner bases are very useful for solving polynomial equations by elimination of variables.

Decomposition of polynomials into irreducible factors modulo p. Decomposition of the squarefree elements. Hensel's lemma. Application to problems of communication.

We will describe algorithms to the problem of indefinite integration in finite terms.

**Textbook****s****:**

- D. Cox, J. Little and D. O'Shea,
*Ideals, Varieties, and Algorithms*, 2nd ed., Springer-Verlag, 1996. - J. S. Cohen,
*Computer Algebra and Symbolic Computation: Mathematical Methods*, AK Peters Ltd, 2003.

**Software:**

**Mathematica, Sage, Maxima**