Undergraduate Programs

Second Majors

Second Major in Computer Science

Students earning a degree in another division can earn a second major in computer science by completing the requirements as listed below. It is not necessary to complete other distribution requirements of the School of Engineering for the second major.

 

Second Major in Computer Science Admissions

The CS Minor needs to be nearly completed before one will be admitted to the Second Major in C.S. The Second Major should not be requested until after registering for or completing all courses required for a Minor in C.S. 

Second Major in Computer Science

 

Required Core Courses (21 Units Total)

Code Title Units
CSE 131 Introduction to Computer Science 3
CSE 132 Introduction to Computer Engineering 3
CSE 240
or Math 310
Logic and Discrete Mathematics
Foundations for Higher Mathematics
3
CSE 247 Data Structures and Algorithms 3
CSE 332S Object-Oriented Software Development Laboratory 3
CSE 347 Analysis of Algorithms 3
CSE 361S 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). Choose one of:

Code Title Units
CSE 422S Operating Systems Organization 3
CSE 425S Programming Systems and Languages 3
CSE 431S Translation of Computer Languages 3
CSE 433S Introduction to Computer Security 3
CSE 434S Reverse Engineering and Malware Analysis 3
CSE 473S Introduction to Computer Networks 3

 

Methods Requirement (3 Units). Choose one of:

Code Title Units
CSE 256A Introduction to Human-Centered Design 3
CSE 411A AI and Society  3
CSE 412A Introduction to Artificial Intelligence 3
CSE 416A Analysis of Network Data 3
CSE 417T Introduction to Machine Learning  3
or ESE 417 Introduction to Machine Learning and Pattern Recognition (ESE 417 would not count towards the required 2 CSE courses at 400+ and would be counted as an out of department course) 3
CSE 442T Introduction to Cryptography 3
CSE 457A Introduction to Visualization  3
CSE 468T Introduction to Quantum Computing  3

 

Technical Electives

15 Additional Units (5 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 400E) or approved courses from other departments, such as ESE 417. Courses in other departments must have significant technical computing content, including those outside of the Engineering School. Complete the following form to request review of non-CSE courses: Elective Request. 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 CSE classroom courses at the 400-level or higher.

All course 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 131* Calculus I 3
Math 132* Calculus II 3
Math 233* Calculus III 3
Math 309
or ESE 318
Matrix Algebra
Engineering Mathematics A
3
ESE 326
Probability and Statistics for Engineering
  • Elementary to Intermediate Statistics and Data Analysis
  • Statistics for Data Science I
  • Managerial Statistics I and II
3
Total units 15

*Upon completing a course in the calculus sequence (Math 131-Math 132-Math 233) 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's back credit policy.

 

Additional Departmental Requirements

Code Title Units
CWP 100 College Writing I 3
Engr 310 Technical Writing 3
Natural Sciences electives 8
Humanities and Social Sciences electives 18
Total Units 32
*The College Writing and Humanities and Social Sciences requirements are those required of all students in the McKelvey School of Engineering. The Natural Sciences requirement is for 8 units designated NSM (Natural Sciences and Mathematics) from any of the following departments: Anthropology; Biology; Chemistry; Earth, Environmental, and Planetary Sciences; Environmental Studies, or Physics. The College Writing and Natural Sciences courses must be completed with a grade of C- or better.

All courses taken to meet any of the above requirements (with the exception of the humanities and social sciences electives) cannot be taken on a pass/fail basis.


 

Second Major in Computer Science + Mathematics

The McKelvey School of Engineering and the College of Arts & Sciences have developed a new second major that efficiently captures the intersection of the complementary studies of computer science and math.

Second Major in Computer Science + Mathematics

Core Course Requirements*

Code Title Units
CSE 131  Introduction to Computer Science 3
CSE 240 Logic and Discrete Mathematics 3
CSE 247 Data Structures and Algorithms 3
Math 131 Calculus I (AP credit may satisfy this requirement)** 3
Math 132 Calculus II (AP credit may satisfy this requirement)** 3
Math 233 Calculus III** 3

Math 310

or Math 310W

Foundations for Higher Mathematics

Foundation for Higher Mathematics with writing

3

 

Math 309 Matrix Algebra 3

SDS 3200 

or ESE 326

or SDS 3211

Elementary to Intermediate Statistics and Data Analysis

Probability and Statistics for Engineering 

Statistics for Data Science I

 

3

 

CSE 347 Analysis of Algorithms 3
Total Units 30

*Each of these core courses must be passed with a C- or better. 

**Students who complete the Math 203 Honors Mathematics I and Math 204 Honors Mathematics II sequence will be considered to have completed Math 131 Calculus I, Math 132 Calculus II, and Math 233 Calculus III. These students can also choose to take additional electives in place of Math 309 Matrix Algebra and Math 310 Foundations for Higher Mathematics.

 

Elective

Seven upper-level courses from Math or CSE can be chosen from the approved list, with the following caveats:

  1. At least three courses must be taken from CSE and at least three course must be taken from Math.
  2. At most one preapproved course from outside both departments can be selected.​
  3. CSE 400 Independent Study  or  CSE 400E Independent Study  may be taken for a maximum of 3 units and must be approved by a CS+Math review committee.
  4. Students may count either Math 456 or ESE 427 as an elective toward the major, but not both. Likewise, students may count either CSE 417T or ESE 417 as an elective toward the major, but not both. 
List of Approved Electives

Mathematics

Code Title Units
Math 350 Topics in Applied Mathematics 3
Math 370 Introduction to Combinatorics 3
Math 371 Graph Theory 3
Math 407 An Introduction to Differential Geometry 3
Math 4111 Introduction to Analysis 3
Math 4121 Introduction to Lebesgue Integration 3
Math 4171 Topology I 3
Math 429 Linear Algebra 3
Math 430 Modern Algebra 3
Math 4351 Number Theory and Cryptography 3
Math 444 Mathematics of Quantum Theory 3
Math 449 Numerical Applied Mathematics 3
Math 450 Topics in Applied Mathematics 3
Math 456 Topics in Financial Mathematics 3
Math 470 Topics in Graph Theory 3
Math 493C/SDS 493 Probability 3
Math 495C/SDS 495 Stochastic Processes 3

Statistics and Data Science

Code Title Units
SDS 420 Experimental Design 3
SDS 434 Survival Analysis 3
SDS 439 Linear Statistical Models 3
SDS 459 Bayesian Statistics 3
SDS 460 Multivariate Statistical Analysis  3
SDS 4601 Statistical Learning  3
SDS 461 Time Series Analysis  3
SDS 462 Mathematical Foundations of Big Data 3
SDS 475 Statistical Computation 3

SDS 493/Math 493C

Probability 3
SDS 494 Mathematical Statistics 3
SDS 495/Math 495C Stochastic Processes  3

Computer Science & Engineering

Code Title Units
CSE 217A Introduction to Data Science 3
CSE 341T Parallel and Sequential Algorithms 3
CSE 411A AI and Society 3
CSE 412A Introduction to Artificial Intelligence 3
CSE 416A Analysis of Network Data 3
CSE 417T Introduction to Machine Learning 3
CSE 427S Cloud Computing with Big Data Applications 3
CSE 442T Introduction to Cryptography 3
CSE 447T Introduction to Formal Languages and Automata 3
CSE 468T Introduction to Quantum Computing 3
CSE 510A Deep Reinforcement Learning 3
CSE 513T Theory of Artificial Intelligence and Machine Learning 3
CSE 514A Data Mining 3
CSE 515T Bayesian Methods in Machine Learning 3
CSE 516A Multi-Agent Systems 3
CSE 517A Machine Learning 3
CSE 518A Human-in-the-Loop Computation 3
CSE 533T Coding and Information Theory for Data Science 3
CSE 531A AI for Health 3
CSE 534A Large-Scale Optimization for Data Science 3
CSE 541T Advanced Algorithms 3
CSE 543T Algorithms for Nonlinear Optimization 3
CSE 544T Special Topics in Computer Science Theory 3
CSE 546T Computational Geometry 3
CSE 554A Geometric Computing for Biomedicine 3
CSE 555T Adversarial AI 3
CSE 559A Computer Vision 3
CSE 561A Large Language Models 3
CSE 581T Approximation Algorithms 3
CSE 584A Algorithms for Biosequence Comparison 3
CSE 587A Algorithms for Computational Biology 3
CSE 659A Advances in Computer Vision 3

Electrical & Systems Engineering

Code Title Units
ESE 4031 Optimization for Engineered Planning, Decisions and Operations 3
ESE 415 Optimization 3
ESE 417 Introduction to Machine Learning and Pattern Classification 3
ESE 427 Financial Mathematics 3
ESE 429 Basic Principles of Quantum Optics and Quantum Information 3
ESE 520 Probability and Stochastic Processes 3

Linguistics

Code Title Units
LING 317 Introduction to Computational Linguistics 3
LING 427  Computation and Learnability in Linguistic Theory 3

Economics

Code Title Units
Econ 4151 Applied Econometrics 3
Econ 467 Game Theory 3

Biology and Biomedical Sciences

Code Title Units
Biol 5657 Biological Neural Computation 3

Biomedical Engineering

Code Title Units
BME 470 Mathematics of Imaging Science 3
Additional Departmental Requirements
Engr 310 Technical Writing 3
One themed writing course from the College Writing Program 3
Humanities and social sciences electives 18
Natural sciences electives 8

The College Writing Program, humanities, and social sciences requirements are those required of all students in the McKelvey School of Engineering. For information about how to fulfill the school's English proficiency requirement, please visit the Degree Requirements page

The natural sciences requirement is for 8 units designated NSM (Natural Sciences and Mathematics) from any of the following departments: Anthropology, Biology, Chemistry, Earth and Planetary Sciences, Environmental Studies or Physics. The College Writing Program and natural sciences courses must be completed with a grade of C- or better. 

All courses taken to meet any of the above requirements (with the exception of the humanities and social sciences electives) cannot be taken on a pass/fail basis.

Second Major in Data Science

The McKelvey School of Engineering and the College of Arts & Sciences developed a new major that efficiently captures the intersection of mathematics and statistics with computer science for data science.

Second Major in Data Science
Data Science Core Requirements (CR)
CSE 131 Introduction to Computer Science 3
CSE 217A Introduction to Data Science 3
CSE 247 Data Structures and Algorithms 3
CSE 314A Data Manipulation and Management 3
CSE 417T Introduction to Machine Learning (or Math 4601 Statistical Learning) 3
Math 131 Calculus I 3
Math 132 Calculus II 3
Math 233 Calculus III 3
Math 309 Matrix Algebra 3
Math 3211 Statistics for Data Science I 3
Math 4211 Statistics for Data Science II 3
Math 439 Linear Statistical Models 3
Total Units                                                                             36

Each of these core courses must be passed with a grade of C- or better.

Data Science Technical Electives

Four courses from Mathematics & Statistics or Computer Science & Engineering can be chosen from an approved list (below), with the following caveats:

  • At least one course from Mathematics & Statistics (at the 400 level or above)
  • At least one course from CSE (ending in S, T, M, or A)
  • At most one course on the 200 level
Ethics and Professional Responsibility Requirement (EPR)
  • Three units of courses from an approved list (Below) 
Practicum Requirement
  • 3 units of an approved comprehensive data science project or experience. A practicum must be approved by the committee of data science faculty.
  • The practicum experience should be completed the next-to-last semester of study (i.e., first semester senior year). It is important that practicum plans be submitted for review prior to starting the project or course work to ensure the proposed work is sufficient for the objectives of the practicum. After the fact approvals are possible but not guaranteed.
  • Appropriate practicum work is possible via Independent Study (CSE 400E or Math 400), or via project-focused classes, including (but not limited to) CSE 437S Software Engineering Workshop and CSE 454A Software Engineering for External Client. Students should contact course instructors in advance to identify the degree of agency the student will have over project selection and requirements. 
  • Download the practicum here and contact the Undergraduate Coordinator in the CSE department office or the Math department office to initiate the approval process.
List of Approved Technical Electives 
Mathematics and Statistics
Course List
Code Title Units
Math 322 Biostatistics 3
Math 420 Experimental Design 3
Math 434 Survival Analysis 3
Math 4392 Advanced Linear Statistical Models 3
Math 449 Numerical Applied Mathematics 3
Math 450 Topics in Applied Mathematics 3
Math 456 Topics in Financial Mathematics 3
Math 459 Bayesian Statistics 3
Math 460 Multivariate Statistical Analysis 3
Math 4601 Statistical Learning (Cannot be double-counted in CR) 3
Math 461 Time Series Analysis 3
Math 462 Mathematical Foundations of Big Data 3
Math 475 Statistical Computation 3
Math 493 Probability 3
Math 494 Mathematical Statistics 3
Math 495 Stochastic Processes 3
Math 5047 Geometry/Topology III: Differential Geometry 3
Math 5061 Theory of Statistics I 3
Math 5062 Theory of Statistics II 3
Math 5071 Linear Statistical Models Grad 3
Math 5072 Advanced Linear Models II 3
Computer Science & Engineering
Course List
Code Title Units
CSE 237S Programming Tools and Techniques 3
CSE 256A Introduction to Human-Centered Design 3
CSE 311A Introduction to Intelligent Agents Using Science Fiction 3
CSE 347 Analysis of Algorithms 3
CSE 359A Signals, Data and Equity (Cannot be double-counted in EPR) 3
CSE 411A AI and Society (Cannot be double-counted in EPR) 3
CSE 412A Introduction to Artificial Intelligence 3
CSE 416A Analysis of Network Data 3
CSE 417T Introduction to Machine Learning (Cannot be double-counted in CR) 3
CSE 427S Cloud Computing with Big Data Applications 3
CSE 435S Database Management Systems 3
CSE 457A Introduction to Visualization 3
CSE 514A Data Mining 3
CSE 515T Bayesian Methods in Machine Learning 3
CSE 517A Machine Learning 3
CSE 518A Human-in-the-Loop Computation 3
CSE 527A Natural Language Processing 3
CSE 527S Data-driven Privacy and Security 3
CSE 534A Large-Scale Optimization for Data Science 3
CSE 543T Algorithms for Nonlinear Optimization 3
CSE 559A Computer Vision 3
Electrical and Systems Engineering​
Course List
Code Title Units
ESE 4031 Optimization for Engineered Planning, Decisions and Operations 3
ESE 415 Optimization 3
ESE 427 Financial Mathematics 3
Energy, Environmental & Chemical Engineering
Course List
Code Title Units
EECE 202 Computational Modeling in Energy, Environmental and Chemical Engineering 3
Linguistics 
Course List
Code Title Units
Ling 317 Introduction to Computational Linguistics 3
​List of Approved EPR Courses
Course List
Course name Course description Units
CSE 359A Signals, Data and Equity (Cannot be double-counted as an Elective) 3
CSE 411A AI and Society (Cannot be double-counted as an Elective) 3
Engr 4501 Engineering Ethics and Sustainability 1
Engr 4502 Engineering Leadership and Team Building 1
Engr 4503 Conflict Management and Negotiation 1
Engr 450F Engineers in the Community (Engineering Ethics, Leadership and Conflict Management) 3
Engr 520P Presentation Skills for Scientists and Engineers 2
MSB 512 Ethics in Biostatistics and Data Science 2