These are synthetic programs that arise from combining degrees.
All programs are tested against the Willamette University undergraduate catalog for '24-'25: Link.
I make mistakes on programs but not very often - if you see something: say something!
Double-major programs
This is a twelve course double major with no elective requirements. It has a hidden calculus requirement.
Distribution
- 5 courses in Computer Science
- 5 courses in Data Science, 4 if taking Statistics outside Data Science
- 2 courses in Mathematics, 3 if taking Statistics or Calculus in Mathematics, 4 if taking both
Requirements
- Statistics Requirement, choose one of
- DATA 152 : Inferential Statistics
- MATH 138 : Introduction to Applied Statistics
- DATA 151 : Intro to Data Science in R
- CS__ 151 : Intro to Programming in Python
- CS__ 152 : Data Structures
- MATH 251W: Foundations of Advanced Mathematics
- MATH 280 : Math for Data Science*
- Machine Learning Requirement, choose one of
- DATA 252 : Models and Machine Learning
- CS__ 475 : Machine Learning*
- Advanced Computing Requirement, choose two of
- CS__ 261 : Software Development
- CS__ 262 : Web Development
- CS__ 263 : Mobile Development
- CS__ 271 : Networks and Systems
- CS__ 276 : Advanced Collaborative Computing
- Advanced Computing Requirement 2/2
- CS__ 351 : Analysis of Algorithms
- DATA 351 : Data Management with SQL
- DATA 352W: Ethics, Teamwork, Communications
Dependency Graph
This is a sixteen course double major. It has a hidden calculus requirement.
Distribution
- 9 courses in Mathematics
- 5 courses in Computer Science
- 2 courses in Data Science
Requirements
- CS__ 151 : Intro to Programming in Python
- CS__ 152 : Data Structures
- MATH 251W: Foundations of Advanced Mathematics
- Advanced Computing Requirement, choose two of
- CS__ 261 : Software Development
- CS__ 262 : Web Development
- CS__ 263 : Mobile Development
- CS__ 271 : Networks and Systems
- CS__ 276 : Advanced Collaborative Computing
- Advanced Computing Requirement 2/2
- CS__ 351 : Analysis of Algorithms
- DATA 351 : Data Management with SQL
- DATA 352W: Ethics, Teamwork, Communications
- MATH 253 : Linear Algebra
- MATH 446 : Real Analysis I or MATH 456 : Abstract Algebra I
- MATH 499W: Senior Seminar in Mathematics
- MATH 200+: Elective
- MATH 200+: Elective
- MATH 300+: Elective
- MATH 300+: Elective
- MATH 400+: Elective
Students are encouraged to select MATH courses as electives that count toward the "Applied Math" minor.
This is a fifteen course double major. It has a hidden calculus requirement. Be advised: it requires a MATH 376 topic that is not offered every year.
Distribution
- 9 courses in Mathematics
- 5 courses in Data Science
- 1 courses in Computer Science
Requirements
- DATA 151 : Intro to Data Science in R
- Statistics Requirement, choose one of
- DATA 152 : Inferential Statistics
- MATH 138 : Introduction to Applied Statistics
- CS__ 151 : Intro to Programming in Python
- MATH 280 : Math for Data Science
- Machine Learning Requirement, choose one of
- DATA 252 : Models and Machine Learning
- CS__ 475 : Machine Learning*
- DATA 351 : Data Management with SQL
- DATA 352W: Ethics, Teamwork, Communications
- MATH 251W: Foundations of Advanced Mathematics
- MATH 256 : Differential Equations with Linear Algebra
- MATH 352 : Linear Algebra
- MATH 376 : Topics in Mathematics: Probability Theory (topic dependent)
- MATH 446 : Real Analysis I or MATH 456 : Abstract Algebra I
- MATH 499W: Senior Seminar in Mathematics
- MATH 300+: Elective
- MATH 400+: Elective
Triple-major program
This is a nineteen course double major. It has a hidden calculus requirement.
Distribution
- 9 courses in Mathematics
- 5 courses in Computer Science
- 5 courses in Data Science
Requirements
- CS__ 151 : Intro to Programming in Python
- CS__ 152 : Data Structures
- DATA 151 : Intro to Data Science in R
- Statistics Requirement, choose one of
- DATA 152 : Inferential Statistics
- MATH 138 : Introduction to Applied Statistics
- Advanced Computing Requirement, choose two of
- CS__ 261 : Software Development
- CS__ 262 : Web Development
- CS__ 263 : Mobile Development
- CS__ 271 : Networks and Systems
- CS__ 276 : Advanced Collaborative Computing
- Advanced Computing Requirement 2/2
- Machine Learning Requirement, choose one of
- DATA 252 : Models and Machine Learning
- CS__ 475 : Machine Learning*
- MATH 251W: Foundations of Advanced Mathematics
- MATH 280 : Math for Data Science
- CS__ 351 : Analysis of Algorithms
- DATA 351 : Data Management with SQL
- DATA 352W: Ethics, Teamwork, Communications
- MATH 352 : Linear Algebra
- MATH 446 : Real Analysis I or MATH 456 : Abstract Algebra I
- MATH 499W: Senior Seminar in Mathematics
- MATH 200+: (prefer: MATH 256 : Differential Equations with Linear Algebra)
- MATH 300+: (prefer: MATH 376 : Topics in Mathematics: Probability Theory (topic dependent))
- MATH 300+: Elective
- MATH 400+: Elective
3+1 BS/MS Programs with Additional Majors
Distribution
Completes the undergraduate core of the 3+1 BS/MS Data Science and the BS Computer Science in 9 undergraduate courses.
There is a hidden calculus requirement
Students can situtionally complete in 7 undergraduate courses by taking selected MS Data Science electives within the MS Computer Science "Software and Systems" distribution, usually taught as "CS 529: Topics in Software and Systems", and petition these to count toward the Advanced Computing distribution in the BS Computer Science, but must take these classes in the first two semesters of the MS year before BS degree conferral prior to the third, summer semester.
- 2 courses in Data Science
- 5 course in Computer Science
- 2 course in Mathematics
- 9 graduate/professional courses in Data Science, Computer Science, or otherwise approved
Requirements (Undergraduate)
- DATA 151 : Intro to Data Science in R
- Statistics Requirement, choose one of
- DATA 152 : Inferential Statistics
- MATH 138 : Introduction to Applied Statistics
- CS__ 151 : Intro to Programming in Python
- CS__ 152 : Data Structures
- MATH 251W: Foundations of Advanced Mathematics
- MATH 280 : Math for Data Science
- Advanced Computing Requirement, choose two of
- CS__ 261 : Software Development
- CS__ 262 : Web Development
- CS__ 263 : Mobile Development
- CS__ 271 : Networks and Systems
- CS__ 276 : Advanced Collaborative Computing
- Advanced Computing Requirement 2/2
- CS__ 351 : Analysis of Algorithms
Notes
DATA 504W counts toward the DATA 352W requirement for the B.S. Computer Science.Distribution
Completes the undergraduate core of the 3+1 BS/MS Computer Science and the BS Data Science in 7 undergraduate courses by requiring 2 specific graduate/professional courses.
There is a hidden calculus requirement.
- 3 courses in Computer Science
- 2 courses in Data Science
- 2 courses in Mathematics
- 3 specific graduate/professional courses (in Data Science)
Requirements (Undergraduate)
- CS__ 151 : Intro to Programming in Python
- CS__ 152 : Data Structures
- DATA 151 : Intro to Data Science in R
- Statistics Requirement, choose one of
- DATA 152 : Inferential Statistics
- MATH 138 : Introduction to Applied Statistics
- MATH 251W: Foundations of Advanced Mathematics
- MATH 280 : Math for Data Science*
- CS__ 351 : Analysis of Algorithms
Requirements (Graduate/Professional)
The following courses must be taken at undergraduate or graduate level, but may be taken at graduate level. This gives a wider range of options during the BS, when there are many classes to choose from, and during the MS year, when these classes are a large portion of available offerings.
- DATA 503 : Fundamentals of Data Engineering
- DATA 504W: Data Ethics, Policy, and Human Beings
- DATA 505 : Applied Machine Learning