Computer Science Option and Minor (CS)

Search

open sidebar menu

Related Pages

Study in the computer science option within the Computing & Mathematical Sciences department emphasizes rigor and creativity, and is good preparation either for graduate study followed by a research career, or for a variety of professional or entrepreneurial occupations.

The option introduces students to the mathematical and engineering foundations of the discipline. It provides considerable flexibility in course selection, together with a capstone project giving an opportunity for independent work in an area of the student’s choice. Individual programs will be worked out in consultation with faculty advisers (the materials at cms.caltech.edu/academics/ugrad_cs may be helpful for this purpose).

Any student in the computer science option whose grade-point average is less than 1.9 at the end of the academic year in the subjects listed in the option requirements may be refused permission to continue work in the option.

CS Double Majors

Students interested in simultaneously pursuing a degree in a second option must fulfill all the requirements of the computer science option. Specific courses that are explicitly required by both options only need to be taken once. For example, if both options require CS 38, then it can count for both. However, elective courses that satisfy the “Advanced CS” requirement or the “Breadth” requirement cannot be double counted. That is, Requirements 4 and 8 must be fulfilled using courses that are not simultaneously used for fulfilling a requirement of the second option. To enroll in the program, the student should meet and discuss their plans with the option representative. In general, approval is contingent on good academic performance by the student and demonstrated ability for handling the heavier course load.

CS Option Requirements

  1. CS fundamentals. CS 1 or CS 1X; CS 2; CS 3; CS 4.
  2. Intermediate CS. CS 21; CS 24; CS 38.
  3. CS Project Sequence. One of the following:
    1. An undergraduate thesis (CS 80abc) supervised by a CS faculty member.
    2. A project in computer science, mentored by the student’s academic adviser or a sponsoring faculty member. The sequence must extend at least two quarters and total at least 18 units of CS 81abc.
    3. Any of the following three-quarter sequences. Each of the sequences is expected to be available (nearly) yearly.
      1. Graphics: CS/CNS 171 and two other CS 17x courses. The three courses can include a 9 or 12 unit CS81abc focused on graphics, if approved by a CS faculty member for this purpose.
      2. Learning & Vision: At least three courses chosen from EE/CNS/CS 148, CMS/CS/CNS/EE/IDS 155, CS/CNS/EE 156 ab, IDS/ACM/CS 157, ACM/CS/EE/IDS 158, CS/CNS/EE/IDS 159, CNS/Bi/EE/CS/NB 186, CNS/Bi/Ph/CS/NB 187, Ec/ACM/CS 112, including at least one of 148, 156 b, 159, or 186.
      3. Networks & Communication: Three courses selected from CS 141, CS/IDS 142, CS/EE/IDS 143, CMS/CS/EE/IDS 144, CS/EE 145, CS/EE 146, EE/Ma/CS 126a, EE/Ma/CS 126b, EE 127, EE/CS/EST 135, EE 160, EE 161.
      4. Quantum & Molecular Computing: At least three courses chosen from BE/CS/CNS/Bi 191 ab, BE/CS 196 ab, ChE 130, Ph/CS 219 abc.
      5. Robotics: At least three courses chosen from ME 115 ab, ME/CS/EE 133 B, ME/CS/EE 134, EE/CNS/CS 148, CNS/Bi/EE/CS/NB 186.
      6. Programming Languages: At least three of the courses CS 115, CS 128, CS 131, and CS 164.

      Units used to fulfill the Institute Core requirements do not count toward any of the option requirements. Pass/fail grading cannot be elected for courses taken to satisfy option requirements. Passing grades must be earned in a total of 486 units, including all courses used to satisfy the above requirements.

      CS Typical Course Schedule

      Units per term
      1st 2nd 3rd
      Second Year
      Scientific Fundamentals 9 9 -
      Ma 2, Ma 3 Sophomore Mathematics 9 9 -
      CS 1 Intro. to Computer Programming 1 9 - -
      CS 2 Intro. to Programming Methods 1 - 9 -
      CS 4 Fundamentals of Computer Program - 9 -
      CS 13 Math Foundations for Computing 9 - -
      CS 21 Decidability and Tractability - 9 -
      CS 3 Intro. to Software Design 1 - - 9
      CS 38 Introduction to Algorithms - - 9
      HSS electives 9 - 18
      Other electives - - 9
      Total 45 45 45
      Third Year
      CS courses - 9 9
      CS 24 Intro. to Computing Systems 9 - -
      CS project 9 9 9
      HSS electives 9 9 9
      SEC 10 Technical Seminar
      Presentations
      - - 3
      EAS/Ma courses 9 9 9
      Other electives 9 9 -
      Total 45 45 39
      Fourth Year
      CS courses 9 9 -
      HSS electives 9 9 9
      EAS/Ma courses 9 9 9
      Other electives 18 9 18
      Total 45 36 36


      1 Commonly taken during the first year.

      CS Minor

      The computer science minor is intended to supplement one of Caltech’s undergraduate degrees and is designed for students who wish to broaden their knowledge beyond their normal major or who may wish to pursue a graduate program involving computer science. Students completing the computer science minor requirements will have the phrase ”minor in computer science” added to their transcripts.

      CS Minor Requirements

      1. CS fundamentals. CS 1 or CS 1X; CS 2; CS 3.
      2. Mathematical fundamentals. Ma 2; Ma 3; (CS 13 or Ma/CS 6a or Ma 121a).
      3. Intermediate CS. CS 21; CS 24; CS 38.
      4. Advanced CS. 9 CS units numbered 114 or above that are not applied to the above requirements and are not simultaneously used for fulfilling a requirement of the student’s major option. Pass/fail grading cannot be elected for courses taken to satisfy option requirements. Courses taken as part of the computer science minor are counted toward the total 486 units needed for Institute graduation requirements. To enroll in the program, the student should meet and discuss their plans with the option representative. In general, approval is contingent on good academic performance by the student and demonstrated ability for handling the heavier course load.