Computer Science, B.S.
The undergraduate Computer Science curriculum emphasizes the principles of computing that underpin our modern world, and provides a strong foundation to prepare students for the broad spectrum of careers in computing including within industry, academia, government, and non-profit organizations.
The Computer Science major is highly customizable, enabling students to explore the diverse modern computing landscape. The lower-division core requirements provide a solid foundation in programming methodologies, computer architecture, middle-level infrastructure, data structures, algorithms, and mathematical fundamentals of computing. The upper-division requirements include flexible core electives that expose the students to the breadth of areas within computer science, along with additional electives that allow students to pursue selected areas in greater depth. To ensure that the students build strong skills in design and implementation, the curriculum requires a minimum of two project-based courses.
For suggested upper-division courses within the different areas of Computer Science, refer to the 'Upper-Division Areas of Study' section.
The department also offers a joint undergraduate degree in Computer Science and Engineering, in conjunction with The Henry Samueli School of Engineering; information is available in the Interdisciplinary Studies section of the Catalogue.
To learn more about the department, including research areas and latest news, visit the Computer Science department website.
Freshman Applicants: See the Undergraduate Admissions section.
Transfer Applicants:
Transfer applicants who satisfactorily complete course prerequisites will be given preference for admission. All applicants must complete the following required courses: one year of approved calculus, one year of object-oriented programing (python, java, C++), additional courses as specified by the major, and completion of lower-division writing. Students are encouraged to complete as many of the lower-division degree requirements as possible prior to transfer. Visit the UCI Office of Admissions website for information on transfer requirements for our major.
Requirements for the B.S. in Computer Science
All students must meet the University Requirements.
Major Requirements
| Lower-division | |
| A. Select one of the following series: | |
| Introduction to Programming and Programming with Software Libraries and Intermediate Programming | |
| or | |
| Python Programming and Libraries (Accelerated) and Intermediate Programming | |
| B. Complete: | |
| I&C SCI 45C | Programming in C/C++ as a Second Language |
| I&C SCI 46 | Data Structure Implementation and Analysis |
| I&C SCI 51 | Introductory Computer Organization |
| I&C SCI 53 | Principles in System Design |
| SWE 43 | Introduction to Software Engineering |
| MATH 2A- 2B | Single-Variable Calculus I and Single-Variable Calculus II |
| I&C SCI 6B | Boolean Logic and Discrete Structures |
| I&C SCI 6D | Discrete Mathematics for Computer Science |
| I&C SCI 6N | Computational Linear Algebra |
| or MATH 3A | Introduction to Linear Algebra |
| STATS 67 | Introduction to Probability and Statistics for Computer Science |
| C. Two courses approved for General Education category II except those offered by the School of Engineering, the School of Information and Computer Sciences, the Department of Economics, or the Department of Mathematics. University Studies courses can be used with the approval of the Computer Sciences Vice Chair for Undergraduate Studies. | |
| Upper-division (17 courses) | |
| Complete sections A-D. Courses used in one section may not apply to another, except CS 145 which may apply to sections B and D. | |
| A. Core (2 courses) | |
| COMPSCI 161 | Design and Analysis of Algorithms |
| I&C SCI 139W | Critical Writing on Information Technology |
| B. Flexible Core Requirement (4 courses) | |
| Complete one course from at least four distinct focus areas (FA) listed below. | |
| FA1: Vision and Graphics | |
| COMPSCI 112 | Computer Graphics |
| COMPSCI 116 | Computational Photography and Vision |
| FA2: Information Management | |
| COMPSCI 121 | Information Retrieval |
| COMPSCI 122A | Introduction to Data Management |
| FA3: Networks and Cybersecurity | |
| COMPSCI 130 | Introduction to Security and Privacy |
| COMPSCI 132 | Computer Networks |
| COMPSCI 134 | Computer and Network Security |
| FA4: Systems and Software | |
| COMPSCI 141 | Concepts in Programming Languages |
| COMPSCI 142A | Compilers and Interpreters |
| COMPSCI 143A | Principles of Operating Systems |
| FA5: Architecture and Embedded Systems | |
| COMPSCI 145 | Embedded Software |
| COMPSCI 151 | Digital Logic Design |
| COMPSCI 152 | Computer Architecture |
| FA6: Algorithms | |
| COMPSCI 162 | Formal Languages and Automata |
| COMPSCI 163 | Graph Algorithms |
| COMPSCI 164 | Computational Geometry |
| COMPSCI 167 | Introduction to Applied Cryptography |
| FA7: Artificial Intelligence and ML | |
| COMPSCI 171 | Introduction to Artificial Intelligence |
| COMPSCI 178 | Machine Learning and Data-Mining |
| COMPSCI 184A | Artificial Intelligence in Biology and Medicine |
| C. Upper-division electives (9 courses): | |
| Complete nine courses from the list below. | |
| COMPSCI 103-189 | |
| Requirements Analysis and Engineering | |
| Software Testing, Analysis, and Quality Assurance | |
| Project in Software System Design | |
| Software Design: Applications | |
| Software Design: Structure and Implementation | |
| Internet Applications Engineering | |
| Human Computer Interaction | |
| User Interaction Software | |
| Advanced Topics in User Interface Software | |
| D. Project Courses (2 courses): | |
| Complete two courses from the list below. | |
| Projects in Advanced 3D Computer Graphics | |
| Project in Computer Vision | |
| Introduction to Virtual Reality | |
| Project in Databases and Web Applications | |
| Principles of Data Management | |
| Beyond SQL Data Management | |
| Next Generation Search Systems | |
| Advanced Computer Networks | |
| Project in Compilers and Interpreters | |
| Project in Operating System Organization | |
| Embedded Software | |
| Internet of Things (IoT) Software and Systems | |
| Computer Design Laboratory | |
| Project in Algorithms and Data Structures | |
| Project in Artificial Intelligence | |
| Project in Computer Science | |
| Project in Computer Science | |
| Project in Bioinformatics | |
| Project in Software System Design | |
| Advanced Topics in User Interface Software | |
- 1
Students must complete and pass both COMPSCI 180A and COMPSCI 180B for course credit.
Computer Science is a broad field of study. The Computer Science degree curriculum encourages students to tailor their upper-division course work toward their specific areas of interest, or alternatively allows students to explore any number of areas. Areas of interest include:
Algorithms, including theory of computation, graph and network algorithms, probabilistic algorithms, computational geometry, cryptography, and quantum computation.
Related courses: COMPSCI 162-COMPSCI 169
Complementary courses: COMPSCI 177, COMPSCI 179
Architecture and Embedded Systems, including hardware, digital logic design, computer architecture, embedded computing systems, and multitasking operating systems.
Related courses: COMPSCI 145-COMPSCI 154
Complementary courses: COMPSCI 131
Artificial Intelligence and Machine Learning, including human knowledge representation, building automated reasoning systems, developing intelligent search techniques and algorithms that adapt and learn from data, with applications to bioinformatics, and beyond.
Related courses: COMPSCI 171-COMPSCI 179
Complementary courses: COMPSCI 116, COMPSCI 121-COMPSCI 125, COMPSCI 169, COMPSCI 183, COMPSCI 184A-COMPSCI 189
Information Management, including information retrieval, database management, storage management, data-intensive computing, and next generation search systems.
Related courses: COMPSCI 121-COMPSCI 125, COMPSCI 178
Complementary courses: COMPSCI 177, COMPSCI 179
Networks and Cybersecurity, including Internet architecture, Internet applications, distributed systems, network security, computer security, and privacy.
Related courses: COMPSCI 130-COMPSCI 137
Complementary courses: COMPSCI 143A-COMPSCI 143B, COMPSCI 167
Systems and Software, including programming languages, compilers and interpreters, operating systems, and parallel and distributed computing.
Related courses: COMPSCI 131, COMPSCI 141-COMPSCI 143B
Complementary courses: COMPSCI 103, COMPSCI 146-COMPSCI 147
Visual Computing, including computer graphics, 3D graphics, image processing, image recognition, computational photography, computer vision, and virtual reality.
Related courses: COMPSCI 111-COMPSCI 114, COMPSCI 116-COMPSCI 118
Complementary courses: COMPSCI 115
| Freshman | ||
|---|---|---|
| Fall | Winter | Spring |
| I&C SCI 31 | I&C SCI 32 | I&C SCI 33 |
| MATH 2A | MATH 2B | SWE 43 |
| WRITING 40 | WRITING 50 | I&C SCI 6B |
| General Education III | WRITING 60 | |
| Sophomore | ||
| Fall | Winter | Spring |
| I&C SCI 45C | I&C SCI 46 | Flex Core Requirement |
| I&C SCI 51 | I&C SCI 6N or MATH 3A | Flex Core Requirement |
| I&C SCI 6D | General Education III | STATS 67 |
| General Education IV/VIII | General Education III/VII | |
| Junior | ||
| Fall | Winter | Spring |
| I&C SCI 53 | Flex Core Requirement | Computer Science Elective |
| COMPSCI 161 | Flex Core Requirement | Computer Science Elective |
| Science Elective | I&C SCI 139W | Computer Science Elective |
| Science Elective | General Education VI | |
| Senior | ||
| Fall | Winter | Spring |
| Computer Science Elective | Computer Science Elective | Computer Science Elective |
| Computer Science Elective | Computer Science Elective | Computer Science Elective |
| CS Project | CS Project | General Education IV |
| General Education IV | ||
NOTES:
1. Students are advised that this sample program lists the minimum requirements; it is possible that students may have to take additional courses to prepare for required courses.
2. The lower-division writing requirement must be completed by the end of the seventh quarter at UCI.
3. This is only a sample plan. Course offerings may be moved due to unforeseen circumstances. It is strongly recommended that students meet with an academic advisor to create an academic plan tailored to meet their specific areas of interest.