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

Core Requirements Course List

Code Title Unit
CSE 131 Introduction to Computer Science 3
CSE 132 Introduction to Computer Engineering 3
CSE 240 Logic and Discrete Mathematics 3
or  Math 310 Foundations for Higher Mathematics
CSE 247 Data Structures and Algorithms 3
CSE 332S Object-Oriented Software Development Laboratory 3
CSE 347 Analysis of Algorithms 3
Total Units 18

*Each of these core courses must be completed with a grade of C- or better

Computer Science Electives

At least 24 units of computer science electives, selected from any CSE courses with an S, M, T or A suffix. In satisfying these technical electives, up to 6 units may be taken outside the CSE classroom. Independent work (CSE 400E, CSE 497-CSE499) is possible by finding a suitable faculty mentor for the work. Such work can be classified as S, M, T or A with approval. Some or all of the 6 units may also be satisfied by taking courses in other departments with significant technical computing content, including those outside of the Engineering School. Complete the following form to request review of non-CSE courses: Elective Request

Math Requirement

Calculus (Math 131), Calculus II (Math 132), and Probability (ESE 326 or Math 3200, or the sequence DAT 120 & DAT 121).

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 Requirements Course List

Code Title Units
Math 131 Calculus I 3
Math 132 Calculus II 3
CSE 131 Introduction to Computer Science 3
Math 233 Calculus III 3
Math 310 Foundations for Higher Mathematics 3
or  Math 310W Foundations for Higher Mathematics with Writing
or  CSE 240 Logic and Discrete Mathematics
CSE 247 Data Structures and Algorithms 3
Math 309 Matrix Algebra 3
Math 3200 Elementary to Intermediate Statistics and Data Analysis 3
or  ESE 326 Probability and Statistics for Engineering
CSE 347 Analysis of Algorithms 3
Total Units 27

Elective

Eight upper-level courses from Math or CSE can be chosen from an approved list (below), 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. Up to two preapproved courses 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.
List of Approved Electives

Math and Statistics Course List

Code Title Units
Math 350 Dynamical Systems and Chaos 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 420 Experimental Design 3
Math 429 Linear Algebra 3
Math 430 Modern Algebra 3
Math 434 Survival Analysis 3
Math 4351 Number Theory and Cryptography 3
Math 439 Linear Statistical Models 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 459 Bayesian Statistics 3
Math 460 Multivariate Statistical Analysis 3
Math 4601 Statistical Learning 3
Math 461 Time Series Analysis 3
Math 462 Mathematical Foundations of Big Data 3
Math 470 Analytic Combinatorics
Math 475 Statistical Computation 3
Math 493 Probability 3
Math 494 Mathematical Statistics 3
Math 495 Stochastic Processes 3

Computer Science & Engineering Course List

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 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 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 581T Approximation Algorithms 3
CSE 584A Algorithms for Biosequence Comparison 3
CSE 587A Algorithms for Computational Biology 3

Electrical & Systems Engineering Course List

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 Course List

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

Economics Course List

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

Biology and Biomedical Sciences Course List

Code Title Units
Biol 5657 Biological Neural Computation 3

Biomedical Engineering Course List

Code Title Units
BME 470 Mathematics of Imaging Science 3

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