This is a course I have taken at IITK for my MSc credits in CMI in 2007. It is offered by Piyush P Kurur. The notes are quite detailed. I missed the first few classes of this course where he discussed the extended euclid's algorithm and an introduction to groups, fields, rings.

The source/sty files are available here. Or one could just keep files.tar.gz of the source
files and the pdfs. The notes are quite detailed and might contain a
lot of typos or big blunders. If you notice something seriously wrong
with some parts of the notes, please let me know.

Lecture 5 and 6 | : | Chinese Remaindering | [PDF] | [TeX] |

Lecture 7 | : | Towards Factorization over Finite Fields | [PDF] | [TeX] |

Lecture 8 | : | More on Finite Fields | [PDF] | [TeX] |

Lecture 9 | : | Uniqueness of F_q | [PDF] | [TeX] |

Lecture 10 | : | Distinct Degree Factorization | [PDF] | [TeX] |

Lecture 11 | : | Cantor-Zassenhaus Algorithm | [PDF] | [TeX] |

Lecture 12 | : | Berlekamp's Algorithm | [PDF] | [TeX] |

(midsem 1 syllabus ends here) | ||||

Lecture 13 | : | Codes: An Introduction | [PDF] | [TeX] |

Lecture 14 | : | BCH Codes | [PDF] | [TeX] |

Midsem 1 (and solutions) | [PDF] | |||

Lecture 15 and 16 | : | BCH Codes: Error correction | [PDF] | [TeX] |

Lecture 17 | : | Primality is in NP and coNP | [PDF] | [TeX] |

Lecture 18 | : | Quadratic Reciprocity | [PDF] | [TeX] |

Lecture 19 | : | Quadratic Reciprocity (contd.) | [PDF] | [TeX] |

Lecture 20 and 21 | : | Solovay-Strassen Primality Testing | [PDF] | [TeX] |

Lecture 22 | : | A Discussion on ERH and Toward AKS | [PDF] | [TeX] |

Lecture 23 and 24 | : | The Cyclotomic Polynomial | [PDF] | [TeX] |

Lecture 25 | : | The AKS Primality Test | [PDF] | [TeX] |

Lecture 26 | : | Hensel Lifting | [PDF] | [TeX] |

Lecture 27 | : | Bivariate Factorization | [PDF] | [TeX] |

And a single file with all the above lectures: here

During our discussion on cyclotomic polynomials over Q, we talked
about attempting to write a program to compute the n-th cyclotomic
polynomial on input n. I took up the challenge and wrote a program in
Haskell to do it. The source is available here.

The name of the function is cyclo. It took about an hour to write the
program, and is around 80 lines. I've made the code quite readable and
straightforward.

Piyush wrote a
Haskell program for it as well. It is very well organized and faster
than my program. The tar-zipped source is available here.

Another
student Piyush Srivastava wrote a C++ code for the same. The gzipped
source is available here.

As a part of the student talks in CMI, I had given a presentation
on the AKS Primality test. The pdf of the presentation is available here.