CSD Home | Important Links | SCS Admin Services | SCS Home

 

 

GENERAL INFO
  About
News Page
Faculty Positions Available 
  SCS Calendar
EDUCATION
Ph.D. in CS
B.S. in CS
M.S in CS
Doctoral Catalog
RESEARCH
Faculty Research Guide
Areas of Research
Undergraduate Research
Publications
PEOPLE
  Who's Who
  Faculty List
  Administrative Staff
Grad Student Directory
Undergrad Student Site
  CSD On the Road
   

 

Search SCS

google
Computer Science as a Secondary Concentration
Revised June, 2006

The School of Computer Science offers both a Double Major and a Minor in Computer Science.

NOTE: The requirements have changed for students entering in Fall, 2006 and are substantially different from the curriculum requirements printed in catalogs prior to 2006. This revised curriculum is binding on all students admitted for Fall, 2006 and later. Students admitted prior to Fall, 2006 should follow the prior double major/minor requirements published in their admit-year catalog.

Double Major

The following courses are required for a Double Major in Computer Science:

Prerequisites:

  • 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
  • 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)

Double Major requirements:

  • 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 course:
    • 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
    • 15-681: Artificial Intelligence: Machine Learning
    • 16-362: Mobile Robot Programming Laboratory
  • one Fundamentals of Algorithms course:
    • 15-354: Computational Discrete Mathematics
    • 15-355: Modern Computer Algebra
    • 15-414: Bug Catching: automated Program Verification and Testing
    • 21-301: Combinatorics
    • 21-373: Algebraic Structures
    • 21-484: Graph Theory
  • one Fundamentals of Programming course:
    • 15-312: Foundations of Programming Languages
    • 15-317: Constructive Logic
    • 15-453: Formal Languages and Automata
    • 17-651: Models of Software Systems
    • 21-300: Basic Logic
    • 80-310: Logic and Computation
    • 80-311: Computability and Incompleteness
  • one Systems Programming course:
    • 15-410: Operating System Design and Implementation
    • 15-418: Parallel Computer Architecture and Programming
    • 15-441: Computer Networks
    • 18-447: Introduction to Computer Architecture
  • two Computer Science electives
  • 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

Double-Counting Restrictions
In order to avoid excessive double-counting, students pursuing a Double Major or Minor in Computer Science must complete at least 6 courses in their home department, of at least 9 units each, none of which are required by (or are cognates for requirements in) the Computer Science major.


Minor

The following courses are required for the Minor in Computer Science:

Prerequisites:

  • 15-111:Intermediate/Advanced Programming (students with no prior programming experience take 15-100: Introductory/Intermediate Programming and 15-111)
  • 21-127: Concepts of Mathematics

Minor requirements:

  • 15-211: Fundamental Data Structures and Algorithms
  • one of the following courses:
    • 15-213: Introduction to Computer Systems (requires 15-123 as a prerequisite)
    • 15-251: Great Theoretical Ideas in Computer Science
  • three Computer Science electives (15-212 or higher; 15-221 does not count!) (NOTE: the 2006 printed catalog mistakenly states two electives are required, not three!)

Double-Counting Restrictions
In order to avoid excessive double-counting, students pursuing a Double Major or Minor in Computer Science must complete at least 6 courses in their home department, of at least 9 units each, none of which are required by (or are cognates for requirements in) the Computer Science major.


Maintained by Catharine Fichtner, CS Undergraduate Program Administrator.

 

      CSD Home   Webteam  ^ Top   SCS Home