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

#### 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:

- At least three courses must be taken from CSE and at least three course must be taken from Math.
- Up to two preapproved courses 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.

## 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
**a****pproved 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**

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**

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**

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