Skip to main content
  • What is a Proof?

    What is a Proof?

    In this course we will try to convince you that the perceived barrier to mathematical proofs is more frightening than prohibitive: most proofs are easy to understand if explained correctly, and often they are even fun.

  • Combinatorics and Probability

    Combinatorics and Probability

    In this course we discuss most standard combinatorial settings that are used to solve every day counting problems. We will especially concentrate on developing the ability to distinguish these settings in real life and algorithmic problems.

  • Introduction to Graph Theory

    Introduction to Graph Theory

    We invite you to a fascinating journey into Graph Theory — an area which connects the elegance of painting and the rigor of mathematics; is simple, but not unsophisticated. Graph Theory gives us, both an easy way to pictorially represent many major mathematical results, and insights into the deep theories behind them.

  • Number Theory and Cryptography

    Number Theory and Cryptography

    In this course, you will learn about an algorithm for encryption of secret messages that was developed using achievements of number theory. It was called RSA after the names of its authors, and its implementation is probably the most frequently used computer program in the word nowadays.

  • Solving Delivery Problem

    Solving Delivery Problem

    In this course, we’ll implement an efficient program for a problem needed by delivery companies all over the world, millions times per day — the travelling salesman problem. The goal of this problem is to visit all the given places as quickly as possible, the salesman problem.