Students who are interested in algorithms and computation theory usually take two required courses, Introduction to Algorithms (CS 330) and Elements of the Theory of Computation (CS 332), and a number of elective courses offered both within our department, and elsewhere within BU. Here’s a list of the elective courses that students have taken in the past:

Elective courses in CS

  • CS 530 Algorithms
  • CS 532 Computational Geometry
  • CS 535 Complexity Theory
  • CS 537 Randomness in Computing
  • CS 542 Machine Learning
  • CS 549 Pattern Matching and Pattern Detection Algorithms
  • CS 499 Directed study
  • CS 401 & 402 Senior Independent Work

Related elective courses in other departments/colleges at BU

  • CAS MA 531 Computability and Logic
  • CAS MA 532 Foundations of Mathematics
  • CAS MA 539 Methods of Scientific Computing
  • ENG EN 727 Coding Theory
  • ENG SC 700 Modern Information Protocols
  • ENG SC 730 Information Theory

Other available resources at BU

Almost every Friday afternoon during the school year there is a seminar presented on a topic of current interest in theoretical computer science.