## Lesson 1: Introduction to CoCoA

Using CoCoA to implement Euclid's Algorithm (for integers and for univariate polynomials)

01-EuclideanAlgm.cocoa5
## Lesson 2: Advanced use of CoCoA

Using polynomial factorization as the main topic, we shall see how to define and use polynomial rings, homomorphisms, records, and matrices.

02-factorization.cocoa5
## Lesson 3: Operations on monomial ideals

Monomial ideals are a simple yet useful subclass of general (polynomial) ideals. We look at various operations on monomial ideals; a first encounter between algebra and algorithmics, and also a foretaste of what is to come.

03-MonomialIdeals.cocoa5
## Lesson 4: Term orderings

Terms orderings lie at the core of Groebner basis theory.
We see how to create and use term orderings in CoCoA; also some special properties of certain orderings.

04-TermOrdering.cocoa5
## Lesson 5: Division Algorithm

We look at the division algorithm which lies at the heart of Groebner bases.

05-DivisionAlgm.cocoa5
## Lesson 6: Leading term ideal

We consider how to compute LT(I), and the utility of doing so.

06-LeadingTerm.cocoa5
## Lesson 7: Buchberger's Algorithm

Presentazione dell'Algoritmo di Buchberger; esempi ed esercizi.

07-BuchbergerAlgm.cocoa5
## Lesson 8: Elimination

Algorithms and exercises related to elimination ideals

08-elimination.cocoa5
## Lesson 9: Polynomial system solving

We look at exact (algebraic) techniques for solving systems of polynomial equations

09-SystemSolving.cocoa5
## Lesson 10: Graph colouring

We look at an application of polynomial system solving to colouring graphs.

10-BuchbergerMoeller.cocoa5
10-GraphColouring.cocoa5