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 1301 Introduction to Computer Science 3
CSE 1302 Introduction to Computer Engineering 3
CSE 2400
or Math 3010
Logic and Discrete Mathematics
Foundations for Higher Mathematics
3
CSE 2407 Data Structures and Algorithms 3
CSE 3302 Object-Oriented Software Development Laboratory 3
CSE 3407 Analysis of Algorithms 3
CSE 3601 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 4202 Operating Systems Organization 3
CSE 4205 Programming Systems and Languages 3
CSE 4301 Translation of Computer Languages 3
CSE 4303 Introduction to Computer Security 3
CSE 4304 Reverse Engineering and Malware Analysis 3
CSE 4703 Introduction to Computer Networks 3

 

Methods Requirement (3 Units). Choose one of:

Code Title Units
CSE 2506 Introduction to Human-Centered Design 3
CSE 4101 AI and Society  3
CSE 4102 Introduction to Artificial Intelligence 3
CSE 4106 Analysis of Network Data 3
CSE 4107 Introduction to Machine Learning  3
or ESE 4170 Introduction to Machine Learning and Pattern Recognition (ESE 4170 would not count towards the required 2 CSE courses at 400+ and would be counted as an out of department course) 3
CSE 4402 Introduction to Cryptography 3
CSE 4507 Introduction to Visualization  3
CSE 4608 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 4001) or approved courses from other departments, such as ESE 4170. 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 1510* Calculus I 3
Math 1520* Calculus II 3
ESE 3260
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 9

*Upon completing a course in the calculus sequence (Math 1510-Math 1520-Math 2130) 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 1500 College Writing I 3
Engr 3100 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

This major, developed through a collaboration between the McKelvey School of Engineering and the College of Arts & Sciences, efficiently captures the intersection of the complementary studies of computer science and math.

Second Major in Computer Science + Mathematics

McKelvey Engineering students who declare this major must fulfill the core course requirements listed below and all other requirements for the Applied Science degree in the McKelvey School of Engineering. They must also complete ENGR 3100 Technical Writing and 8 units of courses designated as NSM (Natural Sciences & Math) from Anthropology (ANTHRO), Biology and Biomedical Sciences (BIOL), Chemistry (CHEM), Earth, Environmental, and Planetary Sciences (EEPS), Physics (PHYSICS), or Environmental Studies (ENST). 

Arts & Sciences students who declare this major must fulfill the distribution requirements and all other requirements for the Bachelor of Arts (BA) degree in addition to the specific requirements listed below.

 

Core Course Requirements*

Code Title Units
CSE 1301  Introduction to Computer Science 3
CSE 2400 Logic and Discrete Mathematics** 3
CSE 2407 Data Structures and Algorithms 3
CSE 3407 Analysis of Algorithms 3
Math 1510 Calculus I** 3
Math 1520 Calculus II** 3
Math 2130 Calculus III** 3

Math 3010

or Math 3015

Foundations for Higher Mathematics**

Foundation for Higher Mathematics with Writing**

Math 3300 Matrix Algebra** 3

SDS 3020 

or SDS 3030

or ESE 3260

Elementary to Intermediate Statistics and Data Analysis

Statistics for Data Science I

Probability and Statistics for Engineering

 

3

 

Total Units 30

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

**AP credit may be applied in place of MATH 1510 and/or MATH 1520. Students who complete the MATH 2801 Honors Mathematics I and MATH 2802 Honors Mathematics II sequence will be considered to have completed MATH 1510, MATH 1520, MATH 2130, and CSE 2400; these students are also recommended to bypass MATH 3010/MATH 3015 and MATH 3300, for which they may substitute any other upper-level Mathematics courses.

 

Electives

Seven upper-level courses from Math or Computer Science & Engineering 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 4000 or CSE 4001 Independent Study may be taken for a maximum of 3 units and must be approved by a CS+Math review committee.
  • For each of the following pairs of electives, students may count one as an elective toward the major, but not both:
    • CSE 2107 Introduction to Data Science or BME 4400 Biomedical Data Science
    • CSE 4107 Introduction to Machine Learning or ESE 4170 Introduction to Machine Learning and Pattern Classification
    • CSE 4109 Introduction to AI for Health or CSE 5310 AI for Health
    • Math 4560 Topics in Financial Mathematics or ESE 4270 Financial Mathematics 
List of Approved Electives

Computer Science & Engineering

Code Title Units
CSE 2107 Introduction to Data Science 3
CSE 3401 Parallel and Sequential Algorithms 3
CSE 4061 Text Mining 3
CSE 4101 AI and Society 3
CSE 4102 Introduction to Artificial Intelligence 3
CSE 4106 Analysis of Network Data 3
CSE 4107 Introduction to Machine Learning 3
CSE 4109 Introduction to AI for Health 3
CSE 4207 Cloud Computing with Big Data Applications 3
CSE 4402 Introduction to Cryptography 3
CSE 4470 Introduction to Formal Languages and Automata 3
CSE 4507 Introduction to Visualization 3
CSE 4608 Introduction to Quantum Computing 3
CSE 5100 Deep Reinforcement Learning 3
CSE 5103 Theory of Artificial Intelligence and Machine Learning 3
CSE 5104 Data Mining 3
CSE 5105 Bayesian Methods in Machine Learning 3
CSE 5106 Multi-Agent Systems 3
CSE 5107 Machine Learning 3
CSE 5108 Human-in-the-Loop Computation 3
CSE 5270 Natural Language Processing 3
CSE 5313 Coding and Information Theory for Data Science 3
CSE 5310 AI for Health 3
CSE 5401 Advanced Algorithms 3
CSE 5403 Algorithms for Nonlinear Optimization 3
CSE 5404 Special Topics in Computer Science Theory 3
CSE 5406 Computational Geometry 3
CSE 5504 Geometric Computing for Biomedicine 3
CSE 5505 Adversarial AI 3
CSE 5509 Computer Vision 3
CSE 5519 Advances in Computer Vision 3
CSE 5610 Large Language Models 3
CSE 5801 Approximation Algorithms 3
CSE 5804 Algorithms for Biosequence Comparison 3
CSE 5807 Algorithms for Computational Biology 3

 

Mathematics

Code Title Units
Math 3410 Introduction to Combinatorics 3
Math 3420 Graph Theory 3
Math 3590 Topics in Applied Mathematics 3
Math 4101 Introduction to Analysis 3
Math 4102 Introduction to Lebesgue Integration 3
Math 4150 Introduction to Fourier Series and Integrals 3
Math 4201 Topology I 3
Math 4220 An Introduction to Differential Geometry 3
Math 4301 Linear Algebra 3
Math 4302 Modern Algebra 3
Math 4350 Number Theory and Cryptography 3
Math 4493 Topics in Graph Theory 3
Math 4501 Numerical Applied Mathematics 3
Math 4502 Topics in Applied Mathematics 3
Math 4560 Topics in Financial Mathematics 3
Math 4570 Mathematics of Quantum Theory 3

 

Statistics and Data Science

Code Title Units
SDS 4010 Probability* 3
SDS 4020 Mathematical Statistics 3
SDS 4110 Experimental Design 3
SDS 4120 Survival Analysis 3
SDS 4130 Linear Statistical Models 3
SDS 4140 Advanced Linear Statistical Models 3
SDS 4155 Time Series Analysis 3
SDS 4210 Statistical Computation 3
SDS 4310 Bayesian Statistics 3
SDS 4430 Statistical Learning 3
SDS 4440 Mathematical Foundations of Data Science 3
SDS 4720 Stochastic Processes* 3

*This course may be counted as a Mathematics elective.

 

Electrical & Systems Engineering

Code Title Units
ESE 4031 Optimization for Engineered Planning, Decisions and Operations 3
ESE 4150 Optimization 3
ESE 4170 Introduction to Machine Learning and Pattern Classification 3
ESE 4270 Financial Mathematics 3
ESE 4290 Basic Principles of Quantum Optics and Quantum Information 3
ESE 5130 Large-Scale Optimization for Data Science* 3
ESE 5200 Probability and Stochastic Processes 3

 *This course may be counted as a Computer Science & Engineering elective.

 

Economics

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

 

Linguistics

Code Title Units
LING 3250 Introduction to Computational Linguistics 3
LING 4250 Computation and Learnability in Linguistic Theory 3

 

Biomedical Engineering

Code Title Units
BME 4400 Biomedical Data Science 3
BME 4700 Mathematics of Imaging Science 3
BME 5720 Biological Neural Computation 3

 

Physics

Code Title Units
PHYSICS 4027 Introduction to Computational Physics 3

 

 

Additional Departmental Requirements
Engr 3100 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. The Bachelor of Arts in Data Science (BADS) will give students the formal foundation needed to understand the applicability and consequences of the various approaches to analyzing data with a focus on statistical modeling and machine learning.

Second Major in Data Science
Students who declare this major must fulfill the core course requirements and electives listed below. In addition, students need to meet the ethics and professional responsibility requirement as well as the practicum requirement. Arts & Sciences students who declare this major must fulfill all other requirements for a BA degree. McKelvey Engineering students who declare this major must complete all other requirements for the Applied Science degree in the McKelvey School of Engineering. They must also complete ENGR 3100 Technical Writing and 8 units of courses designated as Natural Sciences & Math (NSM) from Anthropology (ANTHRO), Biology and Biomedical Sciences (BIOL), Chemistry (CHEM), Earth, Environmental, and Planetary Sciences (EEPS), Physics (PHYSICS), or Environmental Studies (ENST).

 

Data Science Core Requirements (CR)

Code Title  Units
CSE 1301 Introduction to Computer Science (AP credity may satisfy)
CSE 2107 Introduction to Data Science 3
CSE 2407 Data Structures and Algorithms  3
CSE 3104 Data Manipulation and Management 3

CSE 4107

or ESE 4170

or SDS 4430

Introduction to Machine Learning 

Introduction to Machine Learning and Pattern Classification 

Statistical Analysis Learning

3
Math 1510 Calculus I (AP credit may satisfy) 3
Math 1520 Calculus II (AP credit may satisfy) 3
Math 2130 Calculus III  3
Math 3300 Matrix Algrebra 3
SDS 3030 Statistics for Data Science I 3
SDS 4030 Statistics for Data Science II 3
SDS 4130 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 can be chosen from the approved electives list given below, with the following caveats:

  • At least one course from Statistics and Data Science (at the 4000 level or above)
  • At least one course from Computer Science & Engineering (At the 4000 level or above)
  • At most one course at the 2000 level

 

Ethics and Professional Responsibility Requirement (EPR)

  • 3 units of courses from the approved list given below

 

Practicum Requirement

  • Students must complete an approved comprehensive data science project or experience for their practicum requirement. The 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 the following pathways:
    • Independent Study (CSE 4001 or SDS 4000)
    • Project-focused courses, including (but not limited to) CSE 4109 Introduction to AI for Health, CSE 4307 Software Engineering Workshop, and CSE 4504 Software Engineering for External Clients. Students should contact course instructors in advance to identify the degree of agency the student will have over project selection and requirements.
    • Internships related to data science can be used to fulfill the practicum. Internships (paid or unpaid) cannot count for credit, but can satisfy the practicum requirement. 
  • To initiate the approval process, majors through the McKelvey School of Engineering should contact the CSE undergraduate coordinator in the CSE Department, and majors through Arts & Sciences should contact the Undergraduate Director(s) in the Department of Statistics and Data Science.
List of Approved Technical Electives 

Computer Science & Engineering

Course List

Code Title Units
CSE 2307 Programming Tools and Techniques 3
CSE 2506 Introduction to Human-Centered Design 3
CSE 3050 Responsible Data Science (Cannot be double-counted in EPR) 3
CSE 3101 Introduction to Intelligent Agents Using Science Fiction 3
CSE 3407 Analysis of Algorithms 3
CSE 4061 Text Mining 3
CSE 4101 AI and Society (Cannot be double-counted in EPR) 3
CSE 4102 Introduction to Artificial Intelligence 3
CSE 4107 Introduction to Machine Learning (Cannot be double-counted in CR) 3
CSE 4109 Introduction to AI for Health (Cannot be double-counted as Practicum) 3
CSE 4207 Cloud Computing 3
CSE 4305 Database Management Systems 3
CSE 4507 Introduction to Visualization 3
CSE 5104 Data Mining 3
CSE 5105 Bayesian Methods in Machine Learning 3
CSE 5107 Machine Learning 3
CSE 5108 Human-in-the-Loop Computation 3
CSE 5403 Algorithms for Nonlinear Optimization 3
CSE 5509 Computer Vision 3

 

Statistics and Data Science

Course List

Code Title Units
SDS 3110 Biostatistics 3
SDS 4020 Mathematical Statistics 3
SDS 4110 Experimental Design 3
SDS 4120 Survival Analysis 3
SDS 4140 Advanced Linear Statistical Models 3
SDS 4155 Time Series Analysis 3
SDS 4210 Statistical Computation  3
SDS 4310 Bayesian Statistics 3
SDS 4430 Statistical Learning (Cannot be double-counted in CR) 3
SDS 4440 Mathematical Foundations of Data Science 3
SDS 4480 Topics in Statistics: Machine Learning Methods in Biological Sciences 3
SDS 4720 Stochastic Processes 3
SDS 5061 Theory of Statistics I 3
SDS 5062 Theory of Statistics II 3
SDS 5071 Advanced Linear Models I 3
SDS 5072 Advanced Linear Models II 3
SDS 5531 Advanced Statistical Computing I 3
SDS 5532 Advanced Statistical Computing II 3
SDS 5595 Topics in Statistics: Spatial Statistics 3
SDS 5800 Topics in Statistics 3
SDS 5805 Topics in Statistics 3

 

Mathematics

Course List

Code Title Units
Math 4501 Numerial Applied Mathematics 3
Math 4502 Topics in Applied Mathematics 3
Math 4560 Topics in Financial Mathematics 3
Math 5223 Geometry/Topology III: Differential Geometry

 

Electrical and Systems Engineering​

Course List

Code Title Units
ESE 3590 Signals, Data and Equity 3
ESE 4031 Optimization for Engineered Planning, Decisions and Operations 3
ESE 4150 Optimization 3
ESE 4270 Financial Mathematics 3
ESE 5130 Large-Scale Optimization for Data Science 3

 

Energy, Environmental & Chemical Engineering

Course List

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

 

Linguistics 

Course List

Code Title Units
Ling 3250 Introduction to Computational Linguistics 3
​List of Approved EPR Courses

Course List

Code Title Units
CSE 3050 Responsible Data Science (Cannot be double-counted as an elective) 3
CSE 4101 AI and Society (Cannot be double-counted as an elective) 3
Engr 4501 Engineering Ethics and Sustainabiliy 1
Engr 4502 Engineering Leadership and Team Building 1
Engr 4503 Conflict Management and Negotiation 1
MSB 5560 Ethics in Biostatistics and Data Science 3
Phil 2070 Business Ethics 3
Phil 3160 Classical Ethical Theories 3
Phil 4250 Normative Ethical Theory 3
PolSci 3313 Theories of Social Justice 3