Double Majors and Other Programs

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

B.S. Computer Science and Data Science, (12 Courses) [Show] B.S. Computer Science and Data Science, (12 Courses) [Hide]

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

  1. Statistics Requirement, choose one of
    • DATA 152 : Inferential Statistics
    • MATH 138 : Introduction to Applied Statistics
  2. DATA 151 : Intro to Data Science in R
  3. CS__ 151 : Intro to Programming in Python
  4. CS__ 152 : Data Structures
  5. MATH 251W: Foundations of Advanced Mathematics
  6. MATH 280 : Math for Data Science*
  7. Machine Learning Requirement, choose one of
    • DATA 252 : Models and Machine Learning
    • CS__ 475 : Machine Learning*
  8. 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
  9. Advanced Computing Requirement 2/2
  10. CS__ 351 : Analysis of Algorithms
  11. DATA 351 : Data Management with SQL
  12. DATA 352W: Ethics, Teamwork, Communications
*Denotes classes with requirements that do not count toward the minor.

Dependency Graph

CS 152, MATH 251W, DATA 351, DATA 352W require CS 151. CS 261 and CS 271 require CS 152. CS 351 requires CS 152 and MATH 251W. DATA 252 requires DATA 152. MATH 280 requires Calculus.
B.S. Computer Science and B.A. Mathematics, (16 Courses) [Show] B.S. Computer Science and B.A. Mathematics, (16 Courses) [Hide]

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

  1. CS__ 151 : Intro to Programming in Python
  2. CS__ 152 : Data Structures
  3. MATH 251W: Foundations of Advanced Mathematics
  4. 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
  5. Advanced Computing Requirement 2/2
  6. CS__ 351 : Analysis of Algorithms
  7. DATA 351 : Data Management with SQL
  8. DATA 352W: Ethics, Teamwork, Communications
  9. MATH 253 : Linear Algebra
  10. MATH 446 : Real Analysis I or MATH 456 : Abstract Algebra I
  11. MATH 499W: Senior Seminar in Mathematics
  12. MATH 200+: Elective
  13. MATH 200+: Elective
  14. MATH 300+: Elective
  15. MATH 300+: Elective
  16. MATH 400+: Elective

Students are encouraged to select MATH courses as electives that count toward the "Applied Math" minor.

B.S. Data Science and B.A. Mathematics, (15 Courses) [Show] B.S. Data Science and B.A. Mathematics, (15 Courses) [Hide]

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

  1. DATA 151 : Intro to Data Science in R
  2. Statistics Requirement, choose one of
    • DATA 152 : Inferential Statistics
    • MATH 138 : Introduction to Applied Statistics
  3. CS__ 151 : Intro to Programming in Python
  4. MATH 280 : Math for Data Science
  5. Machine Learning Requirement, choose one of
    • DATA 252 : Models and Machine Learning
    • CS__ 475 : Machine Learning*
  6. DATA 351 : Data Management with SQL
  7. DATA 352W: Ethics, Teamwork, Communications
  8. MATH 251W: Foundations of Advanced Mathematics
  9. MATH 256 : Differential Equations with Linear Algebra
  10. MATH 352 : Linear Algebra
  11. MATH 376 : Topics in Mathematics: Probability Theory (topic dependent)
  12. MATH 446 : Real Analysis I or MATH 456 : Abstract Algebra I
  13. MATH 499W: Senior Seminar in Mathematics
  14. MATH 300+: Elective
  15. MATH 400+: Elective

Triple-major program

B.S. Computer Science and Data Science and B.A. Mathematics, (19 Courses) [Show] B.S. Computer Science and Data Science and B.A. Mathematics, (19 Courses) [Hide]

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

  1. CS__ 151 : Intro to Programming in Python
  2. CS__ 152 : Data Structures
  3. DATA 151 : Intro to Data Science in R
  4. Statistics Requirement, choose one of
    • DATA 152 : Inferential Statistics
    • MATH 138 : Introduction to Applied Statistics
  5. 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
  6. Advanced Computing Requirement 2/2
  7. Machine Learning Requirement, choose one of
    • DATA 252 : Models and Machine Learning
    • CS__ 475 : Machine Learning*
  8. MATH 251W: Foundations of Advanced Mathematics
  9. MATH 280 : Math for Data Science
  10. CS__ 351 : Analysis of Algorithms
  11. DATA 351 : Data Management with SQL
  12. DATA 352W: Ethics, Teamwork, Communications
  13. MATH 352 : Linear Algebra
  14. MATH 446 : Real Analysis I or MATH 456 : Abstract Algebra I
  15. MATH 499W: Senior Seminar in Mathematics
  16. MATH 200+: (prefer: MATH 256 : Differential Equations with Linear Algebra)
  17. MATH 300+: (prefer: MATH 376 : Topics in Mathematics: Probability Theory (topic dependent))
  18. MATH 300+: Elective
  19. MATH 400+: Elective

3+1 BS/MS Programs with Additional Majors

B.S. Computer and Data Science and M.S. Data Science, (7-9 Courses [Undergraduate] + 9 Courses [Graduate/Professional]) [Show] B.S. Computer and Data Science and M.S. Data Science, (7-9 Courses [Undergraduate] + 9 Courses [Graduate/Professional]) [Hide]

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)

  1. DATA 151 : Intro to Data Science in R
  2. Statistics Requirement, choose one of
    • DATA 152 : Inferential Statistics
    • MATH 138 : Introduction to Applied Statistics
  3. CS__ 151 : Intro to Programming in Python
  4. CS__ 152 : Data Structures
  5. MATH 251W: Foundations of Advanced Mathematics
  6. MATH 280 : Math for Data Science
  7. 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
  8. Advanced Computing Requirement 2/2
  9. CS__ 351 : Analysis of Algorithms

Notes

DATA 504W counts toward the DATA 352W requirement for the B.S. Computer Science.
B.S. Computer and Data Science and M.S. Computer Science, (7 Courses [Undergraduate] + 9 Courses [Graduate/Professional]) [Show] B.S. Computer and Data Science and M.S. Computer Science, (7 Courses [Undergraduate] + 9 Courses [Graduate/Professional]) [Hide]

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)

  1. CS__ 151 : Intro to Programming in Python
  2. CS__ 152 : Data Structures
  3. DATA 151 : Intro to Data Science in R
  4. Statistics Requirement, choose one of
    • DATA 152 : Inferential Statistics
    • MATH 138 : Introduction to Applied Statistics
  5. MATH 251W: Foundations of Advanced Mathematics
  6. MATH 280 : Math for Data Science*
  7. 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.

  1. DATA 503 : Fundamentals of Data Engineering
  2. DATA 504W: Data Ethics, Policy, and Human Beings
  3. DATA 505 : Applied Machine Learning