Boston University
Undergraduate Computer Science Major
CS Major with Emphasis on Algorithms and Theory

with Emphasis on Algorithms and 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

CS530 Algorithms
CS532 Computational Geometry
CS535 Complexity Theory
CS537 Randomness in Computing
CS542 Machine Learning
CS 549 Pattern Matching and Pattern Detection Algorithms
CS499 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.