Bachelors Curriculum - Admitted Fall 2008

B.S. in Computer Science
Curriculum Requirements (binding on students admitted Fall, 2008)
Revised June, 2008

The B.S. curriculum in Computer Science requires a minimum of 360 units and can be divided into the following sections:

Image removed.Computer Science

    • 15-111 Intermediate/Advanced Programming (students with no prior programming experience take 15-100 Introductory/Intermediate Programming and 15-111)
    • 15-123 Effective Programming in C and UNIX
    • 15-128 Freshman Immigration Course
    • 15-211 Fundamental Data Structures and Algorithms
    • 15-212 Principles of Programming
    • 15-213 Introduction to Computer Systems
    • 15-251 Great Theoretical Ideas in Computer Science
    • 15-451 Algorithm Design and Analysis

    • one Communications course:
      • 15-221 Technical Communication for Computer Scientists

    • one Applications elective:
      • 15-323 Music Systems and Information Processing
      • 15-381 Artificial Intelligence: Representation and Problem Solving
      • 15-384 Robotic Manipulation
      • 15-385 Computer Vision
      • 15-413 Software Engineering
      • 15-415 Database Applications
      • 15-421 Web Commerce, Security and Privacy
      • 15-437 Web Application Development
      • 15-462 Computer Graphics
      • 15-463 Computational Photography
      • 15-482 Human Language Technologies
      • 15-490 Computational Neuroscience
      • 10-601 Artificial Intelligence: Machine Learning
      • 16-362 Mobile Robot Programming Laboratory
      • others as appropriate

    • one Programming/Logic elective:
      • 15-312 Foundations of Programming Languages
      • 15-317 Constructive Logic
      • 17-651 Models of Software Systems
      • 21-300 Basic Logic
      • 80-311 Computability and Incompleteness
      • others as appropriate

    • one Systems elective:
      • 15-410 Operating System Design and Implementation
      • 15-411 Compiler Design
      • 15-418 Parallel Computer Architecture and Programming
      • 15-440 Distributed Systems
      • 15-441 Computer Networks
      • 18-447 Introduction to Computer Architecture
      • others as appropriate

    • one Theory elective:
      • 15-354 Computational Discrete Mathematics
      • 15-355 Modern Computer Algebra
      • 15-414 Bug Catching: Automated Program Verification and Testing
      • 15-453 Formal Languages and Automata
      • 21-301 Combinatorics
      • 21-484 Graph Theory
      • others as appropriate

  • two Computer Science electives

Image removed. Mathematics/Probability

    • 21-120 Differential & Integral Calculus
    • 21-122 Integration, Differential Equations, and Approximation
    • 21-127 Concepts of Mathematics
    • 21-241 Matrix Algebra (or 21-341 Linear Algebra)

  • one of the following Probability courses:
    • 15-359 Probability and Computing
    • 21-325 Probability
    • 36-217 Probability Theory and Random Processes
    • 36-225 Introduction to Probability and Statistics I
    • 36-625 Probability and Mathematical Statistics I

Image removed. Engineering and Natural Sciences

Four engineering or science courses are required, of which at least one must have a laboratory component and at least two must be from the same department. At present, courses meeting the lab requirement are:

  • 09-101 Introduction to Experimental Chemistry (this 3 unit lab together with 09-105, Introduction to Modern Chemistry, satisfies the lab requirement)
  • 15-321 Research Methods for Experimental Computer Science
  • 27-100 Engineering the Materials of the Future
  • 33-104 Experimental Physics
  • 85-310 Research Methods in Cognitive Psychology

The following courses cannot be used to satisfy the Engineering and Natural Sciences requirement:

  • 09-103 Atoms, Molecules, and Chemical Change
  • 09-104 Fundamental Aspects of Organic Chemistry and Biochemistry
  • 12-090 Technology and the Environment
  • 18-202 Mathematical Foundations of Electrical Engineering
  • 19-211 Ethics and Policy Issues in Computing
  • 33-100 Basic Experimental Physics
  • 33-115 Energy and Environmental Issues
  • 33-124 Introduction to Astronomy
  • 39-100 What is Engineering?
  • 39-200 Business for Engineers


Image removed.Humanities and Arts

All candidates for the bachelor's degree must complete a minimum of 63 units offered by the College of Humanities & Social Sciences and/or the College of Fine Arts. The humanities and arts (or general education) courses for SCS students are to meet the distribution requirements found on the SCS Humanities and Arts page.



Image removed.Required Minor

A sequence of courses prescribed by the requirements of the particular department. Completion of a second major (or double degree) also satisfies this requirement. If permitted by the minor or second major department, courses taken in satisfaction for the minor or second major may also count toward any category other than Computer Science. More information can be found on the minor requirement page.



Image removed.Computing @ Carnegie Mellon

The following course is required of all students to familiarize them with the campus computing environment:

  • 99-10x Computing @ Carnegie Mellon

Image removed.Free Electives

A free elective is any Carnegie Mellon course. However, a maximum of nine units of Physical Education and/or Military Science (ROTC) and/or Student-Led (StuCo) courses may be used toward fulfilling graduation requirements.


Maintained by Catharine Fichtner, CS Undergraduate Program Administrator.