It's easy to start your application.
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  ObjectOriented 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 HumanCentered 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 nonCSE 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 400level 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

3 
Total units  15 
*Upon completing a course in the calculus sequence (Math 131Math 132Math 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 
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 
or Math 310W 
Foundations for Higher Mathematics Foundation for Higher Mathematics with writing 
3

Math 309  Matrix Algebra  3 
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 upperlevel courses from Math or CSE can be chosen from the approved list, with the following caveats:
 At least three courses must be taken from CSE and at least three course must be taken from Math.
 At most one preapproved course from outside both departments can be selected.
 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.
 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 
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  MultiAgent Systems  3 
CSE 517A  Machine Learning  3 
CSE 518A  HumanintheLoop Computation  3 
CSE 533T  Coding and Information Theory for Data Science  3 
CSE 531A  AI for Health  3 
CSE 534A  LargeScale 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 nexttolast 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 projectfocused 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
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 doublecounted 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
Code  Title  Units 

CSE 237S  Programming Tools and Techniques  3 
CSE 256A  Introduction to HumanCentered 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 doublecounted in EPR)  3 
CSE 411A  AI and Society (Cannot be doublecounted 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 doublecounted 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  HumanintheLoop Computation  3 
CSE 527A  Natural Language Processing  3 
CSE 527S  Datadriven Privacy and Security  3 
CSE 534A  LargeScale Optimization for Data Science  3 
CSE 543T  Algorithms for Nonlinear Optimization  3 
CSE 559A  Computer Vision  3 
Electrical and Systems Engineering
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
Code  Title  Units 

EECE 202  Computational Modeling in Energy, Environmental and Chemical Engineering  3 
Linguistics
Code  Title  Units 

Ling 317  Introduction to Computational Linguistics  3 
List of Approved EPR Courses
Course name  Course description  Units 

CSE 359A  Signals, Data and Equity (Cannot be doublecounted as an Elective)  3 
CSE 411A  AI and Society (Cannot be doublecounted 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 