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

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 1301  Introduction to Computer Science 3
CSE 2400 Logic and Discrete Mathematics 3
CSE 2407 Data Structures and Algorithms 3
Math 1510 Calculus I (AP credit may satisfy this requirement)** 3
Math 1520 Calculus II (AP credit may satisfy this requirement)** 3
Math 2130 Calculus III** 3

Math 3010

or Math 3015

Foundations for Higher Mathematics

Foundation for Higher Mathematics with writing

3

 

Math 3300 Matrix Algebra 3

SDS 3200 

or ESE 3260

or SDS 3211

Elementary to Intermediate Statistics and Data Analysis

Probability and Statistics for Engineering 

Statistics for Data Science I

 

3

 

CSE 3407 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 2801 Honors Mathematics I and Math 2802 Honors Mathematics II sequence will be considered to have completed Math 1510 Calculus I, Math 1520 Calculus II, and Math 2130 Calculus III. These students can also choose to take additional electives in place of Math 3300 Matrix Algebra and Math 3010 Foundations for Higher Mathematics.

 

Elective

Seven upper-level courses from Math or CSE can be chosen from the approved list, 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. At most one preapproved course from outside both departments can be selected.​
  3. CSE 4000 Independent Study  or  CSE 4001 Independent Study  may be taken for a maximum of 3 units and must be approved by a CS+Math review committee.
  4. Students may count either Math 4560 or ESE 4270 as an elective toward the major, but not both. Likewise, students may count either CSE 4107 or ESE 4170 as an elective toward the major, but not both. 
List of Approved Electives

Mathematics

Code Title Units
Math 3590 Topics in Applied Mathematics 3
Math 3410 Introduction to Combinatorics 3
Math 3420 Graph Theory 3
Math 4220 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 4301 Linear Algebra 3
Math 4302 Modern Algebra 3
Math 4351 Number Theory and Cryptography 3
Math 4570 Mathematics of Quantum Theory 3
Math 4501 Numerical Applied Mathematics 3
Math 4502 Topics in Applied Mathematics 3
Math 4560 Topics in Financial Mathematics 3
Math 4493 Topics in Graph Theory 3

 

Statistics and Data Science

Code Title Units
SDS 4110 Experimental Design 3
SDS 4120 Survival Analysis 3
SDS 4130 Linear Statistical Models 3
SDS 4310 Bayesian Statistics 3
SDS 4430 Statistical Learning 3
SDS 4061 Time Series Analysis  3
SDS 4440 Mathematical Foundations of Data Science 3
SDS 4210 Statistical Computation 3

SDS 4010

Probability 3
SDS 4020 Mathematical Statistics 3
SDS 4720 Stochastic Processes  3

 

Computer Science & Engineering

Code Title Units

CSE 2107

or BME 4400

Introduction to Data Science

Biomedical Data Science

3
CSE 341T 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 4207 Cloud Computing with Big Data Applications 3
CSE 4402 Introduction to Cryptography 3
CSE 4470 Introduction to Formal Languages and Automata 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 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 5550 Adversarial AI 3
CSE 5509 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
CSE 5519 Advances in Computer Vision 3

 

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 5200 Probability and Stochastic Processes 3

 

Linguistics

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

 

Economics

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

 

Biology and Biomedical Sciences

Code Title Units
Biol 5657 Biological Neural Computation 3

 

Biomedical Engineering

Code Title Units

BME 4400

or CSE 2107

Biomedical Data Science 

Introduction to Data Science

3
BME 4700 Mathematics of Imaging Science 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.

Second Major in Data Science

Data Science Core Requirements (CR)

Code Title  Units
Math 1510 Calculus I (AP credit may satisfy this requirement) 3
Math 1520 Calculus II (AP credit may satisfy this requirement) 3
Math 2130 Calculus III  3
Math 2801 Honors Mathematics I 4
Math 2802 Honors Mathematics II 4
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
CSE 1301 Introduction to Computer Science (AP credit may satisfy this requirement) 3
CSE 2407 Data Structures and Algorithms  3
CSE 2107 Introduction to Data Science 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
Total Units                                                                            44

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

 

Data Science Technical Electives

Four courses from Statistics & Data Science or Computer Science & Engineering can be chosen from an approved list (below), with the following caveats:

  • At least one course from SDS (at the 400 level or above)
  • At least one course from CSE (ending in S, T, M, or A)
  • At most one course at 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 4001 or SDS 400), or via project-focused classes, including (but not limited to) CSE 4307 Software Engineering Workshop and CSE 4504 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 (cody.copeland@wustl.edu) or the Math department office to initiate the approval process.
List of Approved Technical Electives 

Statistics and Data Science

Course List

Code Title Units
SDS 3110 Biostatistics 3
SDS 4110 Experimental Design 3
SDS 4120 Survival Analysis 3
SDS 4140 Advanced Linear Statistical Models 3
SDS 4310 Bayesian Statistics 3
SDS 4430 Statistical Learning (Cannot be double-counted in CR) 3
SDS 4061 Time Series Analysis 3
SDS 4440 Mathematical Foundations of Data Science 3
SDS 4210 Statistical Computation  3
SDS 4020 Mathematical Statistics 3
SDS 4720 Stochastic Processes 3
SDS 4096 Topics in Statistics 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 3


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 3
CSE 3101 Introduction to Intelligent Agents Using Science Fiction 3
CSE 3407 Analysis of Algorithms 3
CSE 4101 AI and Society (Cannot be double-counted in EPR) 3
CSE 4102 Introduction to Artificial Intelligence 3
CSE 4106 Analysis of Network Data 3
CSE 4107 Introduction to Machine Learning (Cannot be double-counted in CR) 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

 

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