This course is intended for 14 weeks which include 5 small computer labs.
 Logic, proofs, and induction (2 weeks)
Elements of logic. Basic proof techniques. Proof by cases and geometry. Induction, Wellorder. Inductive definitions.
 Sets, functions and relations (1 week)
Relations (ordered pairs). Functions. Data bases and sets. Computer lab: Programming functions.
 Recurrence and generating functions in algorithms (2 weeks) Recurrences and recursive functions. Fibonacci numbers. Linear recurrence relations with constant coefficients. Rational power series. Arrangements and involutions. Generating functions. Exponential generating function.
Computer lab: Multiplying polynomials and formal series.
 Number theory (2 weeks)
Divisibility. Modular arithmetic. Primes. Euler function. RSA cryptosystem. Computer lab: Encryption.
 Counting (2 weeks)
Factorial and binomial coefficients. Pascal triangle. Permutations and combinations. Combinatorial identities. Inclusionexclusion principle. Double counting and pigeonhole principle.
 Combinatorics and probability (1 week)
Computing probabilities in classical problems. Bernoulli trials. Law of large numbers. Central limit theorem. Computer lab: Playing with Pascal triangle.
 Trees (1 week)
Expanding trees. Binary trees. Rooted trees.
 Advanced graph theory (2 weeks)
Graph coloring. Connectivity. Hamiltonian and Eulerian paths. Graph isomorphism. Introduction to spectral graph theory. Computer lab: Generating random graphs.
 Probabilistic methods (1 week)
 Basic inequalities in probability. First moment method. Second moment method.
Bibliography
 Alon, Noga; Spencer, Joel H. (2004). The Probabilistic Method, John Wiley & Sons.
 Newman, Mark (2010). Networks: an Introduction, Oxford University Press.
 Rosen, Kenneth H. (2007). Discrete Mathematics and its Applications, McGrawHill Education.
 Wilf, Herbert S. (2006). Generating Functionology, CRC Press.
 Anderson, Ian (1989). Combinatorics of Finite Sets, Oxford University Press.
 Diestel, Reinhard (1994). Graph Theory, Graduate Texts in Mathematics, Springer.
 Knuth, Donald E.; Graham, Ronald L.; Patashnik, Oren (1994). Concrete Mathematics, A Foundation for Computer Science, 2nd. Edition, Pearson.
 Lovász, László; Pelikán, József; Vesztergombi, Katalin (1999). Discrete Mathematics: Elementary and Beyond, Springer.
Support Sessions
2 hours per week with a teaching assistant.
Grading
Two midterm exams (40%), homework (40%), a simulation project to be submitted/ presented by the end of the course (20%).
