The second major provides an opportunity to combine computer science with another degree program. A second major in computer science can expand a student's career options and enable interdisciplinary study in areas such as cognitive science, computational biology, chemistry, physics, philosophy and linguistics. The second major is also well suited for students planning careers in medicine, law, business, architecture and fine arts. The requirements are as follows. There are no additional distribution or unit requirements for the second major.
Computer Science Core Requirements* (21 units)
| Code | Title | Units |
|---|---|---|
| CSE 1301 | Introduction to Computer Science | 3 |
| CSE 1302 | Introduction to Computer Engineering | 3 |
| CSE 2400 | Logic and Discrete Mathematics | 3 |
| or MATH 3010 | Foundations for Higher Mathematics | |
| CSE 2407 | Data Structures and Algorithms | 3 |
| CSE 3302 | Object-Oriented Software Development Laboratory | 3 |
| CSE 3407 | Analysis of Algorithms | 3 |
| CSE 3601 | Introduction to Systems Software | 3 |
| Total Units | 21 | |
- *
Each of these core courses must be passed with a grade of C– or better.
Systems Requirement (3 units)
Students choose one of the following**:
| Code | Title | Units |
|---|---|---|
| CSE 4202 | Operating Systems Organization | 3 |
| CSE 4205 | Programming Systems and Languages | 3 |
| CSE 4301 | Translation of Computer Languages | 3 |
| CSE 4303 | Introduction to Computer Security | 3 |
| CSE 4304 | Reverse Engineering and Malware Analysis | 3 |
| CSE 4703 | Introduction to Computer Networks | 3 |
- **
The selected course must be passed with a grade of C– or better.
Methods Requirement (3 units)
Students choose one of the following***:
| Code | Title | Units |
|---|---|---|
| CSE 2506 | Introduction to Human-Centered Design | 3 |
| CSE 4101 | AI and Society | 3 |
| CSE 4102 | Introduction to Artificial Intelligence | 3 |
| CSE 4106 | Data Science for Complex Networks | 3 |
| CSE 4107 | Introduction to Machine Learning **** | 3 |
| or ESE 4170 | Introduction to Machine Learning and Pattern Classification | |
| CSE 4402 | Introduction to Cryptography | 3 |
| CSE 4507 | Introduction to Visualization | 3 |
| CSE 4608 | Introduction to Quantum Computing | 3 |
- ***
The selected course must be passed with a grade of C– or better.
- ****
ESE 4170 Introduction to Machine Learning and Pattern Classification would not count toward the required two CSE courses at the 4000+ level and would be counted as an out-of-department course.
Computer Science Technical Elective Requirements
Students must complete 15 additional units (five courses) of CSE Technical Electives, which can come from any CSE classroom course including Systems and Methods Courses.
Overall Degree Restrictions
Up to 6 units total can come from a combination of approved CSE Independent Study (CSE 4001 Independent Study, CSE 4970 Senior Project I, CSE 4971 Senior Project II, CSE 4975 Undergraduate Honors Thesis) or approved courses from other departments (e.g., ESE 4170 Introduction to Machine Learning and Pattern Classification). Courses taken in other departments must have significant technical computing content, including those outside of the McKelvey School of Engineering. Students must complete the Elective Request form to request review of non-CSE courses. Students with interests in a particular area of computing should refer to the technical elective course sequences for suggestions on which courses are relevant to that area.
At least two courses must be CSE classroom courses at the 4000 level or higher.
All courses must be taken for a grade. Core, Systems, and Methods requirements require a C– or better. All other courses require a passing grade.
Math Requirements
| Code | Title | Units |
|---|---|---|
| MATH 1510 | Calculus I | 3 |
| MATH 1520 | Calculus II | 3 |
| MATH 3300 Matrix Algebra or ESE 3180 Engineering Mathematics A | 3 | |
| ESE 3260 Probability and Statistics for Engineering or SDS 3020 Elementary to Intermediate Statistics and Data Analysis or SDS 5212 Statistics for Data Science I or DAT 120 Managerial Statistics I + DAT 121 Managerial Statistics II | 3 | |
| Total Units | 12 | |
Upon completing a course in the calculus sequence (MATH 1510 Calculus I-MATH 1520 Calculus II-MATH 2130 Calculus III) with a grade of C+ or better, the student may apply to receive credit for the preceding courses in the calculus sequence by following the Department of Mathematics' back credit policy.