Courses

Fall 2005

  • 15-251: Great Theoretical Ideas in Computer Science
    with Anupam Gupta

    This course, designed by Steven Rudich, introduces some of the fundamental ideas and techniques in computer science, in a self-contained way. The central questions addressed in the course are: What is computation? What is computable, in principle? What is especially easy, or especially hard to compute? To what extent does the inherent nature of computation shape how we learn and think about the world? Topics include: representations of number, induction, ancient and modern arithmetic, basic counting principles, probability, number theory, the idea of proof, formal proof, logic, problem solving methods, polynomial representations, automata theory, cryptography, infinity, diagonalization, computability, time complexity, incompleteness and undecidability, random walks, and Kolmogorov/Chaitin randomness.

Spring 2005 and 2006

  • 10-702: Statistical Machine Learning
    with Larry Wasserman

    This course builds on the material presented in Machine Learning (10-701) and Intermediate Statistics (36-705), introducing new learning methods and going more deeply into statistical and computational aspects. Topics include convexity, the bootstrap, directed graphs and conditional independence, undirected graphical models, causal inference, nonparametric curve estimation, smoothing using wavelets and orthogonal functions, classification, consistency, approximate inference algorithms, kernel methods, and stochastic simulation.

Fall 2004 and Spring 2006

  • 15-359: Probability and Computing
    with Mor Harchol-Balter

    Probability theory has become indispensable in computer science. In areas such as artificial intelligence and computer science theory, probabilistic methods and ideas based on randomization are central. In other areas such as networks and systems, probability is becoming an increasingly useful framework for handling uncertainty and modeling the patterns of data that occur in complex systems. This course gives an introduction to probability as it is used in computer science theory and practice, drawing on applications and current research developments as motivation and context. Topics include combinatorial probability and random graphs, heavy tail distributions, concentration inequalities, various randomized algorithms, sampling random variables and computer simulation, and Markov chains and their many applications, from Web search engines to models of network protocols. The course assumes only familiarity with basic calculus and linear algebra; no prior probability and statistics background is expected. Prerequiste: 15-251.