Math 25 (Fall 2011): Introduction to Number Theory

Quick links on this page: News | Introduction | Instructor information | Exam Schedule | Grading | Homework Policy | Textbook | Course Description | Weekly Schedule

Quick links to other Math 25 webpages: Homework Assignments | Class Notes | FAQ on the programming component | Final project | Final Exam | Fun links



Math 25 is an introduction to the subject of number theory. It is not too much of a simplification to say that number theory is the study of integers and rational numbers, as opposed to the study of real numbers (calculus) or complex numbers. Number theory is a vast and ancient subject, and it is no exaggeration to say that one could spend a lifetime studying it and still not come close to understanding the entire field, but the formal requirements for beginning the study of number theory are minimal. We will survey a variety of elementary but important results, and hopefully illustrate some applications that basic number theory has in real life.

The ORC prerequisite for this class is Math 8 (Calculus II), but in reality virtually no calculus is needed in this class. Perhaps the most important determinant of success in a class such as this is the willingness to think deeply and diligently about mathematics - in other words, hard work! Students who have seen some algebra (Math 31, 71, 81) will recognize a nontrivial intersection between algebra and number theory, but we do not assume any knowledge of algebra in this class. We may point out some places where algebraic ideas naturally appear, so in some sense this class might serve as motivation for ideas from algebra.

Besides teaching you about number theory, a secondary objective in this class is to teach you how to write clear and logical solutions to mathematical problems. Some homework assignments may ask you to compute a certain number (akin to problems in calculus or linear algebra, where you may calculate integrals or solve systems of linear equations). In these problems, not only should you find the correct number, you should also explain how you arrived at your answer. Other questions may ask you to show that a certain statement is either true or false. In these problems, you need to give clear, logically correct explanations - in other words, proofs. A substantial part of the lectures in this class will be devoted to giving detailed proofs of mathematical statements.

Finally, number theory is naturally an algorithmic subject. A substantial percentage of the homework assignments will be implementations of various algorithms related to subjects learned in class, using the programming language Python. No prior knowledge of programming or computer science is assumed.

Instructor information

Name: Andrew Yang
Office: Kemeny 316
Office Hours: Monday, Wednesday, Friday 3:30pm - 4:30pm.

Examination Schedule

There will be two midterms and a take-home final exam. The two midterms will be closed book exams with no computational assistants of any kind.

If you are unable to be at any of these exams, please contact me as soon as possible so we can setup alternate test-taking arrangements.


Your grade in this class will be determined by homework, exams, and a final presentation.

There will be two types of homework assignments: written and programming. Written assignments are similar to conventional assignments in math classes, where you solve problems (with explanations of why your solutions are correct) and hand them in. Programming assignments will be guided assignments where you will be asked to write short programs that implement algorithms (such as calculating the greatest common divisor or testing for primality) discussed in class. There will usually also be components of programming assignments where you will be asked to mathematically analyze various aspects of those algorithms in writing. See the homework page for more details on what is expected.

There will be two midterm exams and a take-home final examination. The dates and times of these exams will be announced in the future. The two midterms will be closed book exams, while the final will be open book.

There will also be a final presentation which will take place at the end of the term. About halfway through the term (near the end of October), the class will be randomly split into pairs. Each pair will select a topic related to number theory, research that topic, and then give a 15-20 minute presentation on it. In addition, each pair will write a short paper (about 3-4 pages) about the topic they chose. The paper will be due at the same time the presentations are given.

Each of the above contributes to your final grade in the following fashion:

Your final letter grade is computed using a curve. Exactly what the distribution of letter grades cannot be determined in advance, although it should not stray too far from the way grades were distributed in previous terms.

Homework Policy

Written homework assignments will be posted on this website and will be usually due about a week after they are posted. Late assignments will only be accepted when granted an extension, which must be requested from the instructor several days in advance. In general, extensions will only be granted for health-related reasons or family emergencies. Exceptions may be made for school-related travel.

Programming assignments will be given once every two weeks. Instructions for submitting the assignments are available in more detail at the homework page.

The homework collaboration policy for this class is more or less in line with other Dartmouth math classes. You are allowed to collaborate with others on homework, but must write your own solutions. A good rule of thumb is that you should never be copying phrases or sentences from anyone else or any source. You may use theorems, lemmas, etc. that we have covered from the textbook, but in general you should not use theorems, lemmas, etc. from sections of the book we have not covered or from external sources. Also, please write down the people you collaborated with and outside sources (namely, anything besides the required textbook) you consulted on your homework assignments.

For the programming assignments, you are to never directly consult any code related to the problems you are working on prior to handing in an assignment, whether that be pre-existing code you find in books or the Internet, or the code of fellow students in the class. (However, consulting pseudocode is fine.) Just like with the written assignments, a good rule of thumb is that you should never copy any code you find anywhere. You are still allowed to discuss how you might go about solving a particular problem with other students, but you must write your programs independently.


The required book for this class is Elementary Number Theory, by Gareth A. Jones and J. Mary Jones, ISBN 3540761977.

There are many, many books written about elementary number theory, and even more books written about number theory in general. The following list of supplemental books is by no means all-inclusive:

Course description

Our primary goal in this class is to cover through chapter 7 of the textbook. We begin by discussing divisibility, which naturally leads to the topic of prime numbers. This then leads to the study of "congruences modulo n", where n is a positive integer. In particular, we will consider analogues of familiar questions in algebra, such as solving linear and quadratic polynomials of a single variable, except instead of asking for solutions over real or complex numbers we will ask for solutions in some set of number-theoretic interest. Along the way we will give a very brief introdution to applications of number theory to the subject of cryptography.

Weekly schedule

This schedule is preliminary and will almost certainly be adjusted over the course of the term.

Week 1: Introduction

Week 2: Divisibility, prime numbers

Week 3: Prime numbers

Week 4: Congruences

Week 5: Congruences modulo prime powers

Week 6: The Euler totient function

Week 7: The unit group

Week 8: Quadratic residues

Week 9: Quadratic residues, Extras

Week 10/11: Extras