|
 |
 |
 |
B.S. in Computer Science Curriculum
Curriculum Requirements (binding on students admitted
Fall, 2012)
Revised July, 2012
The B.S. curriculum in Computer Science requires a minimum of 360 units
and can be divided into the following sections:
Computer
Science
- 15-128
Freshman Immigration Course
- 15-122
Principles of Imperative Computation (students with no prior programming
experience take 15-112
Fundamentals of Programming
before 15-122)
- 15-150
Principles of Functional Programming
- 15-151
Mathematical Foundations of Computer Science
(non-majors take 21-127 Concepts of Mathematics)
- 15-210
Parallel and Sequential Data Structures and Algorithms
- 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 Algorithms & Complexity elective:
- 15-354
Computational Discrete Mathematics
- 15-355
Modern Computer Algebra
- 15-453
Formal Languages, Automata, and Computability
- 21-301
Combinatorics
- 21-484
Graph Theory
- others as designated
- one Applications elective:
- 02-450
Automation of Biological Research
- 05-391
Designing Human-Centered Software
- 05-431
Software Structures for User Interfaces
- 10-601
Machine Learning
- 11-411
Natural Language Processing
- 15-313
Foundations of Software Engineering
- 15-322/15-323
Intro to Computer Music/Computer Music Systems & Info Processing
- 15-381
Artificial Intelligence: Representation and Problem Solving
- 15-415
Database Applications
- 15-462
Computer Graphics
- 16-384
Robot Kinematics and Dynamics
- 16-385
Computer Vision
- others as designated
- one Logics & Languages elective:
- 15-312
Foundations of Programming Languages
- 15-317
Constructive Logic
- 15-414
Bug Catching: Automated Program Verification and Testing
- 21-300
Basic Logic
- 80-311
Computability and Incompleteness
- others as designated
- one Software 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
- others as designated
- two Computer Science electives (can be from any SCS department; usually 200-level or above): CSD [15-xxx], Lane Center [02-], HCII [05-], ISR [08-,17-], MLD [10-], LTI [11-], RI [16-])
Mathematics/Probability
- 21-120
Differential & Integral Calculus
- 21-122
Integration, Differential Equations, and Approximation
- one of the following Linear Algebra courses:
- 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
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:
- 02-261
Quantitative Cell and Molecular Biology Laboratory
- 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
- 18-202 Mathematical Foundations of Electrical Engineering
- 19-101 Introduction to Engineering and Public Policy
- 19-211 Ethics and Policy Issues in Computing
- 19-402 Telecommunications, Technology Policy & Management
- 19-403 Policies of Wireless Systems and the Internet
- 33-100 Basic Experimental Physics
- 33-115 Physics for Future Presidents
- 33-124 Introduction to Astronomy
- 39-100 What is Engineering?
- 39-200 Business for Engineers
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.
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 required courses in Computer Science. More information can be found on the minor
requirement page.
Computing @ Carnegie Mellon
The following course is required of all students to familiarize them
with the campus computing environment:
- 99-10x
Computing @ Carnegie Mellon
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.
|