Concentration in Algorithms & Theoretical Computer Science

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.