Lectures: 2 sessions / week, 1.5 hours / session
A first course in algebra covering groups, rings, and fields such as 18.701 Algebra I.
This course is a computationally focused introduction to elliptic curves, with applications to number theory and cryptography. While this is an introductory course, we will (gently) work our way up to some fairly advanced material, including an overview of the proof of Fermat's Last Theorem.
Each of topics listed below corresponds to roughly one week of lectures (a total of three hours).
There is no required text; lecture notes will be provided.
We will make reference to material in the five books listed below. We will follow the Washington text most closely in the early stages of the course and rely more heavily on Milne and Silverman as we move into more advanced topics. The text by Cox gives a wonderful exposition of the theory of complex multiplication that really cannot be found anywhere else; we will use portions of it.
Silverman, Joseph H. Advanced Topics in the Arithmetic of Elliptic Curves. Springer-Verlag, 1994. ISBN: 9780387943251. (errata)
The following two books give quite accessible introductions to elliptic curves from very different perspectives. You may find them useful as supplemental reading, but we will not use them in the course.
Blake, Ian F., G. Seroussi, and Nigel P. Smart. Elliptic Curves in Cryptography. Cambridge University Press, 1999. ISBN: 9780521653749. [Preview with Google Books]
Silverman, Joseph H., and John Torrence Tate. Rational Points on Elliptic Curves. Springer-Verlag, 1994. ISBN: 9780387978253. [Preview with Google Books]
The following references provide introductions to algebraic number theory, which is not part of this course per se, but may be useful background for those who are interested.
Algebraic Number Theory Course Notes by J.S. Milne
The book by Stewart and Tall also includes some introductory material on elliptic curves and the proof of Fermat's last theorem, which are topics we will cover, but in greater depth.
Some of the theorems and algorithms presented in lecture will be demonstrated using the Sage computer algebra system, which is based on Python. Most of the problem sets will contain at least one computationally-focused problem, which you will likely want to use Sage to solve. Enrolled students will be given an account on a Sage notebook server set up for this course. But you are free to use other packages such as Magma, Maple, or Mathematica, or to simply write your own code, if you wish. In any case, you will be graded on your results, not your code.
There will be weekly problem sets, each of which usually typically contain three (sometimes four) multi-part problems. Typically the first problem will be required, and you may then choose one of the remaining two problems to solve; one of these will be theoretical in nature, while the other will be more computationally focused, so those who prefer proofs to programming (or vice versa) can suit themselves.
Problem sets are to be prepared in typeset form (typically via LaTeX) and submitted electronically as PDF files. Collaboration is encouraged, but you must write up your own solutions; there will be computational problems for which the correct answer will be different for every student, based on a unique identifier derived from your MIT ID number.
Your grade will be determined by your average problem set score, after dropping your lowest score. There are no midterm exams and no final exam.