# Computer Science and Engineering, B.S.

The undergraduate program in Computer Science and Engineering is administered by faculty from two academic units: the Department of Computer Science (CS) in the Donald Bren School of Information and Computer Sciences, and the Department of Electrical Engineering and Computer Sciences (EECS) in The Henry Samueli School of Engineering. Successful completion of the program leads to a B.S. in Computer Science and Engineering.

**Program Educational Objectives:** Graduates of the program will: (1) establish a productive Computer Science and Engineering career in industry, government, or academia; (2) engage in professional practice of computer systems engineering and software systems engineering; (3) promote the development of innovative systems and solutions using hardware and software integration; (4) promote design, research, and implementation of products and services in the field of Computer Science and Engineering through strong communication, leadership, and entrepreneurial skills.

(Program educational objectives are those aspects of computer science and engineering that help shape the curriculum; achievement of these objectives is a shared responsibility between the student and UCI.)

This program is designed to provide students with the fundamentals of computer science, both hardware and software, and the application of engineering concepts, techniques, and methods to both computer systems engineering and software system design. The program gives students access to multidisciplinary problems in engineering with a focus on total systems engineering. Students learn the computer science principles that are critical to development of software, hardware, and networking of computer systems. From that background, engineering concepts and methods are added to give students exposure to circuit design, network design, and digital signal processing. Elements of engineering practice include systems view, manufacturing and economic issues, and multidisciplinary engineering applications.

**Career Paths.** Most likely careers will involve building the computer-based infrastructure—computers, networks, embedded devices, as well as operating systems, compilers, and networking software. The focus is on cooperation between hardware and software to yield the highest performance. Examples of such problem areas would be in traffic management, flight control, earthquake monitoring, automotive control, and smart homes.

#### Change of Major

Students interested in changing their major to Computer Science and Engineering should contact the Student Affairs Office in the Bren School of ICS or The Henry Samueli School of Engineering for information about change-of-major requirements. Information is also available at UCI Change of Major Criteria website.

### Courses

**CSE 90. Systems Engineering and Technical Communications . 2 Units. **

Introduces systems engineering concepts, including specifications and requirements, hardware and software design, integration, testing, and documentation. Emphasizes organization and writing of reports and effective presentations.

Restriction: Computer Science Engineering Majors have first consideration for enrollment.

**CSE 112. Electronic Devices and Circuits. 4 Units. **

A first course in the design of Very Large Scale Integrated (VLSI) systems. Introduction to CMOS technology; MOS transistors and CMOS circuits. Analysis and synthesis of CMOS gates. Layout design techniques for building blocks and systems. Introduction to CAD tools.

(Design units: 4)

Prerequisite: PHYS 7D and (CSE 70A or EECS 70A)

Overlaps with EECS 119, EECS 170D.

Restriction: Computer Science Engineering Majors have first consideration for enrollment.

**CSE 199. Individual Study. 1-4 Units. **

Supervised independent reading, research, or design for undergraduate Engineering majors. Students taking individual study for design credit are to submit a written paper to the instructor and to the Undergraduate Student Affairs Office in the School of Engineering.

(Design units: 1-4)

Repeatability: May be taken for credit for 8 units.

**High School Students:** Students must have completed four years of mathematics through pre-calculus or math analysis and are advised to have completed one year each of chemistry and physics. One semester of programming coursework is also advised. That preparation, along with honors courses and advanced placement courses, is fundamental to success in the program.

The Henry Samueli School of Engineering recommends that freshmen applicants in Engineering majors take the SAT Subject Test, Math Level 2.

**Transfer Students.** Students are encouraged to complete as many of the lower-division degree requirements as possible prior to transfer, including one year of approved calculus; one year of calculus-based physics with laboratories (mechanics, electricity and magnetism); one year of transferable computer science courses^{1} involving concepts such as those found in Java, Python, C++, or other object-oriented, high-level programming language, and one additional approved transferable course for the major (an approved math, science, or CSE course).

^{1} | Additional computer science courses beyond the two required are strongly recommended, particularly those that align with the major of interest. Java and C++ are used in the curriculum; therefore, transfer students should plan to learn these languages by studying on their own or by completing related programming courses prior to their first quarter at UCI. |

Students who enroll at UCI in need of completing lower-division coursework may find that it will take longer than two years to complete their degrees. For further information, contact the Donald Bren School of Information and Computer Sciences at 949-824-5156 or The Henry Samueli School of Engineering at 949-824-4334.

###### All students must meet the University Requirements.

##### Major Requirements

Mathematics and Basic Science Courses | |

Mathematics Courses: Students must complete a minimum of 32 units of mathematics including: | |

Boolean Logic and Discrete Structures | |

Discrete Mathematics for Computer Science | |

Single-Variable Calculus and Single-Variable Calculus | |

Multivariable Calculus | |

Introduction to Linear Algebra | |

Elementary Differential Equations | |

Introduction to Probability and Statistics for Computer Science | |

Basic Science Courses: Students must complete a minimum of 18 units of basic science courses including: | |

Classical Physics and Classical Physics Laboratory | |

Classical Physics and Classical Physics Laboratory | |

Students select, with the approval of a faculty advisor, two additional basic science courses needed to satisfy school and department requirements from two courses in General Education II, except those offered by Computer Science and Engineering, Economics, Engineering, Information and Computer Sciences, or Math. | |

Engineering and Computing Topics Courses | |

Students must complete a minimum of 72 units of engineering topics, 24 units of engineering design, and 63 units of computing topics. All courses below qualify as engineering topics; those marked with an asterisk (*) qualify as computing topics also. The following courses must be completed: | |

A. Select one of the following course groups: | |

Introduction to Programming and Programming with Software Libraries and Intermediate Programming | |

or | |

Python Programming and Libraries (Accelerated) and Intermediate Programming | |

B. Complete: | |

COMPSCI 132/EECS 148 | Computer Networks ^{*} |

COMPSCI 143A | Principles of Operating Systems ^{*} |

or EECS 111 | System Software |

EECS 31 | Introduction to Digital Systems ^{*} |

EECS 31L | Introduction to Digital Logic Laboratory ^{*} |

I&C SCI 45C | Programming in C/C++ as a Second Language ^{*} |

I&C SCI 46 | Data Structure Implementation and Analysis ^{*} |

EECS 50 | Discrete-Time Signals and Systems |

EECS 70A | Network Analysis I |

CSE 90 | Systems Engineering and Technical Communications |

CSE 112 | Electronic Devices and Circuits |

EECS 112 | Organization of Digital Computers ^{*} |

EECS 112L | Organization of Digital Computers Laboratory ^{*} |

COMPSCI 141 | Concepts in Programming Languages I ^{*} |

COMPSCI 142A | Compilers and Interpreters ^{*} |

COMPSCI 145 | Embedded Software |

COMPSCI 145L | Embedded Software Laboratory |

COMPSCI 161 | Design and Analysis of Algorithms ^{*} |

EECS 159A- 159B | Senior Design Project I and Senior Design Project II |

ENGR 190W | Communications in the Professional World |

IN4MATX 43 | Introduction to Software Engineering ^{*} |

Students select, with the approval of a faculty advisor, any additional engineering and computer topics courses needed to satisfy school and department requirements. | |

Technical Elective Courses: | |

Students must complete a minimum of two courses (with 3 or more units each) of technical electives. A technical elective may be any upper-division course from the Departments of Computer Science, Electrical Engineering and Computer Science, or Informatics, not otherwise used for the CSE degree, chosen from the following ranges: | |

Computer Science: 100–189, except COMPSCI 121 | |

Electrical Engineering and Computing Science: 100–189 | |

Informatics: 100–139 |

(The nominal Computer Science and Engineering program will require 183 units of courses to satisfy all university and major requirements. Because each student comes to UCI with a different level of preparation, the actual number of units will vary).

NOTE: Students majoring in Computer Science and Engineering may not complete the major in Computer Engineering, the major in Computer Science, the major or minor in Information and Computer Science, or the minor in Informatics.

Freshman | ||
---|---|---|

Fall | Winter | Spring |

MATH 2A | MATH 2B | MATH 2D |

I&C SCI 31 | I&C SCI 32 | I&C SCI 33 |

General Education | PHYSICS 7C- 7LC | PHYSICS 7D- 7LD |

General Education | EECS 31 | EECS 31L |

Sophomore | ||

Fall | Winter | Spring |

MATH 3A | MATH 3D | EECS 50 |

I&C SCI 45C | I&C SCI 46 | CSE 90 |

I&C SCI 6B | EECS 70A | I&C SCI 6D |

Science Elective | General Education | |

Junior | ||

Fall | Winter | Spring |

IN4MATX 43 | STATS 67 | COMPSCI 143A |

CSE 112 | EECS 112L | COMPSCI 142A |

EECS 112 | COMPSCI 141 | COMPSCI 145- 145L |

COMPSCI 161 | General Education | |

Senior | ||

Fall | Winter | Spring |

EECS 159A | EECS 159B | ENGR 190W |

EECS 148 | Technical Elective | Technical Elective |

General Education | General Education | Science Elective |

General Education | General Education | General Education |