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