Department of Electrical Engineering and Computer Science
Bachelor of Science in Computer Science and Engineering
General Institute Requirements (GIRs)
The General Institute Requirements include a Communication Requirement that is integrated into both the HASS Requirement and the requirements of each major; see details below.
Summary of Subject Requirements | Subjects |
Science Requirement | 6 |
Humanities, Arts, and Social Sciences (HASS) Requirement [two subjects can be satisfied by 6.3260[J] and 6.4590[J] (taken as part of a track) in the Departmental Program]; at least two of these subjects must be designated as communication-intensive (CI-H) to fulfill the Communication Requirement. | 8 |
Restricted Electives in Science and Technology (REST) Requirement [can be satisfied by 6.1910 and 6.1200[J] (if taken under joint number 18.062[J]) in the Department Program] | 2 |
Laboratory Requirement (12 units) [satisfied by 6.1010 in the Departmental Program] | 1 |
Total GIR Subjects Required for SB Degree | 17 |
Physical Education Requirement | |
Swimming requirement, plus four physical education courses for eight points. | |
Departmental Program
Choose at least two subjects in the major that are designated as communication-intensive (CI-M) to fulfill the Communication Requirement.
| 9-12 |
| Oral Communication (CI-M) | |
| Seminar in Undergraduate Advanced Research (12 units, CI-M) | |
6.100A | Introduction to Computer Science Programming in Python | 6 |
or 6.100L | Introduction to Computer Science and Programming |
6.1010 | Fundamentals of Programming | 12 |
6.1020 | Elements of Software Construction | 15 |
6.1200[J] | Mathematics for Computer Science | 12 |
6.1210 | Introduction to Algorithms | 12 |
6.1400[J] | Computability and Complexity Theory | 12 |
or 6.1220[J] | Design and Analysis of Algorithms |
6.1800 | Computer Systems Engineering | 12 |
6.1900 | Introduction to Low-level Programming in C and Assembly | 6 |
6.1910 | Computation Structures | 12 |
| 12 |
| Introduction to Probability | |
| Introduction to Inference | |
| Introduction to Probability and Statistics | |
| Linear Algebra | |
| Linear Algebra and Optimization | |
| 24 |
| 24 |
| 12 |
Units in Major That Also Satisfy the GIRs | (36-60) |
Total Units Beyond the GIRs Required for SB Degree | 180-195 |
The units for any subject that counts as one of the 17 GIR subjects cannot also be counted as units required beyond the GIRs.
Computer Science Tracks1
| Constructive Computer Architecture | |
| Digital Systems Laboratory | |
| Hardware Architecture for Deep Learning | |
| Computer Systems and Society | |
| Foundations of Information Policy | |
| Software Studio | |
| Engineering Interactive Technologies | |
| Principles and Practice of Assistive Technology | |
| Software Studio | |
| Software Performance Engineering | |
| Computer Language Engineering | |
| Dynamic Computer Language Engineering | |
| Multicore Programming | |
| Foundations of Computer Security | |
| Operating System Engineering | |
| Mobile and Sensor Computing | |
| Database Systems | |
| Design and Analysis of Algorithms | |
| Computability and Complexity Theory | |
| Fixed Parameter and Fine-grained Computation | |
| Theory of Computation | |
Artificial Intelligence + Decision Making Tracks1
From the 6-4 Artificial Intelligence & Decision Making degree requirements, select one of the following options.
Electrical Engineering Tracks1
See 6-1 Electrical Engineering degree for Electrical Engineering Tracks.
Advanced Undergraduate Subjects1
6.1040 | Software Studio | 15 |
6.1060 | Software Performance Engineering | 18 |
6.1100 | Computer Language Engineering | 12 |
6.1120 | Dynamic Computer Language Engineering | 12 |
6.1820[J] | Mobile and Sensor Computing | 12 |
6.2050 | Digital Systems Laboratory | 12 |
6.4510 | Engineering Interactive Technologies | 12 |
6.5081 | Multicore Programming | 12 |
6.5831 | Database Systems | 12 |
Independent Inquiry Subjects1
6.1040 | Software Studio | 15 |
6.1060 | Software Performance Engineering | 18 |
6.1100 | Computer Language Engineering | 12 |
6.1120 | Dynamic Computer Language Engineering | 12 |
6.1820[J] | Mobile and Sensor Computing | 12 |
6.1850 | Computer Systems and Society | 12 |
6.2050 | Digital Systems Laboratory | 12 |
6.4510 | Engineering Interactive Technologies | 12 |
6.4530[J] | Principles and Practice of Assistive Technology | 12 |
6.4590[J] | Foundations of Information Policy | 12 |
6.UAR | Seminar in Undergraduate Advanced Research | 6 |
Advanced Undergraduate Subjects
6.1040 | Software Studio | 15 |
6.1060 | Software Performance Engineering | 18 |
6.1100 | Computer Language Engineering | 12 |
6.1120 | Dynamic Computer Language Engineering | 12 |
6.1820[J] | Mobile and Sensor Computing | 12 |
6.1920 | Constructive Computer Architecture | 12 |
6.2040 | Analog Electronics Laboratory (CI-M) | 12 |
6.2050 | Digital Systems Laboratory | 12 |
6.2060 | Microcomputer Project Laboratory (CI-M) | 12 |
6.2061 | Microcomputer Project Laboratory - Independent Inquiry (CI-M) | 15 |
6.2090 | Solid-State Circuits | 12 |
6.2200 | Introduction to Electric Power Systems | 12 |
6.2220 | Power Electronics Laboratory (CI-M) | 12 |
6.2221 | Power Electronics Laboratory - Independent Inquiry (CI-M) | 15 |
6.2530 | Introduction to Nanoelectronics | 12 |
6.3100 | Dynamical System Modeling and Control Design | 12 |
6.3260[J] | Networks | 12 |
6.3720 | Introduction to Statistical Data Analysis | 12 |
6.3730[J] | Statistics, Computation and Applications | 12 |
6.4120[J] | Computational Cognitive Science (CI-M) | 12 |
6.4130[J] | Principles of Autonomy and Decision Making | 12 |
6.4400 | Computer Graphics | 12 |
6.4420 | Computational Design and Fabrication | 12 |
6.4510 | Engineering Interactive Technologies | 12 |
6.4830[J] | Fields, Forces and Flows in Biological Systems | 12 |
6.4860[J] | Medical Device Design (CI-M) | 12 |
6.5081 | Multicore Programming | 12 |
6.5151 | Large-scale Symbolic Systems | 12 |
6.5831 | Database Systems | 12 |
6.5931 | Hardware Architecture for Deep Learning | 12 |
6.6331 | Fundamentals of Photonics | 12 |
6.7201 | Optimization Methods | 12 |
6.8301 | Advances in Computer Vision | 15 |
6.8371 | Digital and Computational Photography | 12 |
6.8611 | Quantitative Methods for Natural Language Processing | 15 |
6.8701 | Computational Biology: Genomes, Networks, Evolution | 12 |
6.8711[J] | Computational Systems Biology: Deep Learning in the Life Sciences | 12 |
6.8721[J] | Principles of Synthetic Biology | 12 |
6.8801[J] | Biomedical Signal and Image Processing | 12 |
6.C01 | Modeling with Machine Learning: from Algorithms to Applications 1 | 6 |
18.404 | Theory of Computation | 12 |
Independent Inquiry Subjects
6.1040 | Software Studio | 15 |
6.1060 | Software Performance Engineering | 18 |
6.1100 | Computer Language Engineering | 12 |
6.1120 | Dynamic Computer Language Engineering | 12 |
6.1820[J] | Mobile and Sensor Computing | 12 |
6.2050 | Digital Systems Laboratory | 12 |
6.2061 | Microcomputer Project Laboratory - Independent Inquiry (CI-M) | 15 |
6.2221 | Power Electronics Laboratory - Independent Inquiry (CI-M) | 15 |
6.2370 | Modern Optics Project Laboratory (CI-M) | 12 |
6.3730[J] | Statistics, Computation and Applications | 12 |
6.4120[J] | Computational Cognitive Science (CI-M) | 12 |
6.4200[J] | Robotics: Science and Systems (CI-M) | 12 |
6.4210 | Robotic Manipulation | 15 |
6.4420 | Computational Design and Fabrication | 12 |
6.4510 | Engineering Interactive Technologies | 12 |
6.4530[J] | Principles and Practice of Assistive Technology | 12 |
6.4590[J] | Foundations of Information Policy | 12 |
6.4880[J] | Biological Circuit Engineering Laboratory (CI-M) | 12 |
6.5151 | Large-scale Symbolic Systems | 12 |
6.8301 | Advances in Computer Vision | 15 |
6.8611 | Quantitative Methods for Natural Language Processing | 15 |
6.8701 | Computational Biology: Genomes, Networks, Evolution | 12 |
6.9030 | Strobe Project Laboratory (CI-M) | 12 |
6.C01 | Modeling with Machine Learning: from Algorithms to Applications 1 | 6 |
6.UAR | Seminar in Undergraduate Advanced Research | 6 |