Syllabus

INTRODUCTION

Welcome to 6.S096!

While we may not see it, the vast field of number theory is all around us. From the cryptosystems that enable secure communications to applications in scheduling, number theory is a vast area of mathematics which we’re passionate about, and we’d like to share that passion with you.

LEARNING OBJECTIVES

By the end of the course, you will be able to:

  • master the basics of modular arithmetic,
  • express the elementary results of modular arithmetic in the language of groups,
  • use the language of group theory with comfort.

PREREQUISITES

  • Number Theory: No previous experience required, but modular aithmetic strongly encouraged.
  • Proof Writing: Strong grasp of Proofs by induction, contradiction, etc… Similar to 18.062/6.1200 (6.042)6 and 18.090.
  • Programming: knowledge of a programming language (esp. Python) recommended but not required.

    SOFTWARE

    You will be doing some light programming using (a) Python and/or (b) Sage to implement. We do not expect you to know Sage, but we do expect some familiarity with Python. If you are not already familiar with Python, you will be expected to learn a bit on your own.

COURSE STRUCTURE

The main delivery of information will be via Lectures and Problem Sets. In lecture, we will cover important foundations and some results, which will be cemented and complemented through Problem Sets. There will be additional readings and/or pre-recorded lectures before the course begins so everyone is up to date on the same content.

Problem Sessions

Starting January 15: We will operate an inverted model for a week, with assigned reading materials released, and then three two-hour problem solving sessions.

  • Problem Session 1 (Tuesday January 15): Modular Arithmetic
  • Problem Session 2 (Wednesday January 17): Euler and Fermat’s Theorems
  • Problem Session 3 (Thursday January 18): More Elementary Number Theory

Lectures

Starting January 22: We will have lectures on Tuesday, Wednesday, Thursday in building 34.303 from 10:30am to 12pm. We will take a short break in the middle.

  • Lecture 1: Quadratic Residues, Primitive Roots
  • Lecture 2: Group Theory; with a focus on the previous content
  • Lecture 3: Introduction to Cryptography (and some Elliptic Curves)
  • Lecture 4: Fourier Analysis on Finite Abelian Groups (Signal Processing)
  • Lecture 5: Integers, Prime Numbers, and More.
  • Lecture 6: Wrap Up: Bonus Results in Theoretical Computer Science.

GRADING

There are two possible grading schemes, and whichever yields a maximum output will be used. The passing grade in the class will be 60%.

HOMEWORK ASSIGNMENTS (70%)

There will be three homework assignments, equally weighed. These will count for at least 70% of your grade.

Project (30%)

Each registered student will have the option to write a small 2-3 page ‘expository note’ (which may be build slightly on lecture notes) counting up to 30% of their grade.

HELP

Students are encouraged to consistently read lecture notes and actively participate in discussions (Piazza) This is intended to be a shared learning environment for all students in the class.

Teaching Staff will hold scheduled Office Hours throughout every week. They will be a fun, interactive time to ask questions.