Jim Belk Cornell University

Number Theory

I developed an upper-level number theory course for Bard College which I taught in the spring of 2016. This page contains information about this course.

Summary

The course was designed for a mix of students interested in pure and applied mathematics, and covered both theoretical topics (such as the classification of finite fields and the proof of quadratic reciprocity using Gauss sums) and applied topics (such as primality tests, the RSA cryptosystem, and Diffie–Hellman key exchange). Most of the students were sophomore, junior, or senior mathematics majors and had some programming experience.

The textbook for the course was An Introduction to Number Theory with Cryptography by Kraft and Washington.

Homework Assignments

Here are the weekly homework assignments for the course, which were worth 50% of the course grade. These assignments are a mixture of problem-solving, formal proofs, and computer analysis in SageMath or Mathematica. Students were encouraged to work together on the homework but were required to write up their own solutions individually in LaTeX.

Takehome Exams

There were two takehome exams for the course, both of which were worth 20% of the grade.

Notes

Though the course used a textbook, I supplemented this with notes on some more advanced theoretical material:

Syllabus

Here was the syllabus for the course.

Textbook Information

The textbook is An Introduction to Number Theory with Cryptography by Kraft and Washington. You will need a copy of the textbook for reading and homework problems, though you do not need to bring it to class. An electronic version of the book an be rented for $35 from Amazon.com, or you can buy an electronic or paper version for $88.

You may also find the free online textbook Elementary Number Theory: Primes, Congruences, and Secrets by Stein helpful, especially if you're planning to to use SageMath for computer programming.

Course Description

This is a proofs-based introduction to number theory and cryptology. Topics will be a mix of theoretical, computational, and applied number theory, and we will make significant use of computers to explore and test conjectures and implement number-theoretic and cryptological algorithms. Possible topics include the fundamental theorem of arithmetic, congruences, public-key cryptosystems, quadratic reciprocity, factorization algorithms, Diophantine equations, continued fractions, and an introduction to elliptic curves.

Prerequisites

The main prerequisite is Math 261 (Proofs & Fundamentals) or the equivalent. The course will also assume some familiarity with computer programming, such as that obtained from CMSC 143 (Object-Oriented Programming) or MATH 323 (Dynamical Systems). Some experience with abstract algebra (such as MATH 332) may be helpful, but is not necessary.

Homework, Exams, and Grading

Homework

Homework assignments will be a mixture of formal proofs, problem-solving, and computer analysis. You are encouraged to work together on the homework, but you should write up your own solutions individually, and you must acknowledge any collaborators.

All proofs must be written in LaTeX and submitted to me by e-mail. Computer programs may be written in the language of your choice (e.g. SageMath or Mathematica) and their source code submitted via e-mail.

Final Project

There will be a final project, on a topic of your choice. I am happy to allow group projects, though each member of a group must contribute as much effort as a student working individually. A typical project for a pair of students consists of a 10–15 minute class presentation as well as perhaps a computer program or a few pages of written proofs. More details on the final project will be given as we approach the end of the semester.

Exams and Grading

The grade will be based on the weekly homework, the takehome midterm exam, the takehome final exam, and the final project:

Homework 50%
Midterm Exam 20%
Final Exam 20%
Final Project 10%

Project Information

Part of the requirements for this class include a final project. Here is some basic information about the project:

Project Topics

Good topics include any aspect of number theory or crypotgraphy that we have not covered in class. Some possibilities include: