Mathematics and Computer Science (BA/BS)
Arkady Vaintrob and Christopher B. Wilson, Advisors
Students who want training in both mathematics and computer science can declare a joint mathematics and computer science major. This allows them to develop skills and knowledge in both fields. The program develops team players prepared for information-based jobs. MACS students graduate with the tools to analyze complex problems and to compute the answers to them.
Program Learning Outcomes
Upon successful completion of this program, students will be able to:
- Demonstrate proficiency in the main areas of computer science, including data structures and algorithms, computer systems, programming languages, and software development.
- Draw on broad knowledge of computer science to design, implement, and test software solutions to problems in a variety of areas.
- Demonstrate in-depth understanding of some area of computer science (theoretical foundations, computer systems, software development).
- Demonstrate proficiency with the calculational techniques and applications of calculus and linear algebra.
- Read and write mathematical proofs, producing arguments that are logically and syntactically correct.
- Demonstrate an in-depth understanding of some area of mathematics.
- Communicate and collaborate with others and express ideas orally and in writing.
Mathematics and Computer Science Major Requirements
The requirements for the mathematics and computer science (MACS) major fall into four categories: mathematics, computer science, writing, and science, with 44 credits taken in mathematics, 40 credits in computer science, and 16 credits (science and writing) in other departments.
Computer Science I (CS 210), Computer Science II (CS 211), Computer Science III (CS 212), Elements of Discrete Mathematics I (MATH 231), and Elements of Discrete Mathematics II (MATH 232) must be passed with grades of B– or better before students can take the upper-division core courses. Courses required for the major must be taken for a letter grade. Upper-division courses must be passed with a grade of C– or better. The science courses may be taken pass/no pass (P/N) or letter grades.
Code | Title | Credits |
---|---|---|
Core Courses | ||
CS 210–212 | Computer Science I-III | 12 |
MATH 231–232 | Elements of Discrete Mathematics I-II | 8 |
MATH 251–253 | Calculus I-III | 12 |
or MATH 261–263 | Calculus with Theory I-III | |
Mathematics Requirements | ||
Select one of the following: | ||
Fundamentals of Analysis I | ||
Fundamentals of Number Theory I | ||
Fundamentals of Abstract Algebra I | ||
MATH 341–342 | Elementary Linear Algebra | 8 |
MATH 351–352 | Elementary Numerical Analysis I-II | 8 |
or MATH 461–462 | Introduction to Mathematical Methods of Statistics I-II | |
Upper-level mathematics course 1 | 4 | |
Computer Science | ||
CS 313 | Intermediate Data Structures | 4 |
CS 314 | Computer Organization | 4 |
CS 315 | Intermediate Algorithms | 4 |
CS 425 | Principles of Programming Languages | 4 |
Select one of the following: | 4 | |
Introduction to Software Engineering | ||
C/C++ and Unix | ||
Automata Theory | ||
Software Methodology I | ||
Two other upper-division CS courses 2 | 8 | |
Writing Requirements | ||
WR 320 | Scientific and Technical Writing | 4 |
or WR 321 | Business Communications | |
Science Requirements | ||
Select 12 credits from one of the following science areas: | 12 | |
Biology 3 | ||
General Biology I: Cells and General Biology III: Ecology and Evolution | ||
or BI 211–212 | General Biology I-II | |
Chemistry 3 | ||
Introduction to Chemical Principles | ||
or CH 113 | The Chemistry of Sustainability | |
or CH 221 | General Chemistry I | |
or CH 224H | Advanced General Chemistry I | |
General Chemistry | ||
or CH 224H–226H | Honors General Chemistry | |
Geography | ||
The Natural Environment | ||
Select two of the following: | ||
Climatology | ||
Geomorphology | ||
Biogeography | ||
Earth Sciences | ||
Dynamic Planet Earth | ||
Earth's Surface and Environment | ||
History of Life | ||
Physics 3 | ||
General Physics | ||
or PHYS 251–253 | Foundations of Physics I | |
Psychology | ||
Introduction to Psychology I | ||
Select two of the following: | ||
Scientific Thinking in Psychology | ||
Biopsychology | ||
Cognition | ||
Music and the Brain | ||
Total Credits | 96 |
- 1
Excludes Statistical Methods I (MATH 425)
- 2
Special Studies: [Topic] (CS 399) and Experimental Course: [Topic] (CS 410) courses used as electives must have a prerequisite of Intermediate Data Structures (CS 313) and have regular class meetings and homework assignments. At least one course must be numbered 410 or above.
- 3
Students are encouraged to complete the accompanying lab courses.
Additional Requirements
Students must earn no grade below a B– in required lower-division mathematics and computer science courses—Computer Science I (CS 210), Computer Science II (CS 211), Computer Science III (CS 212), Elements of Discrete Mathematics I (MATH 231), Elements of Discrete Mathematics II (MATH 232)—for automatic advancement to upper-division computer science courses. At least 12 of the mathematics upper-division credits applied to the degree must be taken in residence at the university.
Major Progress Review and Major in Good Standing
Each major must meet with a CS advisor to file a Major Progress Review form after completing 12 credits of the upper-division core, including at least one course from each department. Mathematics and computer science courses and at least 8 credits of upper-division CS courses used to satisfy upper-division major requirements must be taken for letter grades and passed with grades of C– or better. At least 12 of the upper-division mathematics credits and 12 of the upper-division computer science credits applied to the degree must be taken in residence at the university. A student who receives two grades below C– in the upper-division core or three grades below C– in any upper-division courses may be removed from the major.
Code | Title | Credits |
---|---|---|
MATH 316 | Fundamentals of Analysis I | 4 |
MATH 341 | Elementary Linear Algebra | 4 |
MATH 342 | Elementary Linear Algebra | 4 |
CS 313 | Intermediate Data Structures | 4 |
CS 314 | Computer Organization | 4 |
CS 315 | Intermediate Algorithms | 4 |
CS 425 | Principles of Programming Languages | 4 |
One of the following: | ||
CS 330 | C/C++ and Unix | 4 |
CS 420 | Automata Theory | 4 |
CS 422 | Software Methodology I | 4 |
Honors Program
Both of the cooperating departments offer departmental honors programs to their undergraduate majors. After obtaining advance approval from both of their advisors, students in the joint degree program are eligible to attain honors in mathematics and computer science by meeting the honors requirements of either department, including writing a thesis.
Four-Year Degree Plan
The degree plan shown is only a sample of how students may complete their degrees in four years. There are alternative ways. Students should consult their advisor to determine the best path for them.
Bachelor of Arts in Mathematics and Computer Science
First Year | |||
---|---|---|---|
Fall | Milestones | Credits | |
CS 122 | Introduction to Programming and Problem Solving | 4 | |
MATH 112Z | Precalculus II: Trigonometry | 4 | |
WR 121Z | Composition I | 4 | |
First term of second-year second-language sequence | 4 | ||
Credits | 16 | ||
Winter | |||
CS 210 | Computer Science I | 4 | |
MATH 231 | Elements of Discrete Mathematics I | 4 | |
WR 122Z or WR 123 |
Composition II or College Composition III |
4 | |
Second term of second-year second-language sequence | 4 | ||
Credits | 16 | ||
Spring | |||
CS 211 | Computer Science II | 4 | |
MATH 232 | Elements of Discrete Mathematics II | 4 | |
Core-education course in arts and letters | 4 | ||
Third term of second-year second-language sequence | 4 | ||
Credits | 16 | ||
Total Credits | 48 |
Second Year | |||
---|---|---|---|
Fall | Milestones | Credits | |
CS 212 | Computer Science III | 4 | |
MATH 251 | Calculus I | 4 | |
First course of additional science sequence | 4 | ||
Core-education course in social science | 4 | ||
Credits | 16 | ||
Winter | |||
CS 313 | Intermediate Data Structures | 4 | |
MATH 252 | Calculus II | 4 | |
Second course of additional science sequence | 4 | ||
Core-education arts and letters | 4 | ||
Credits | 16 | ||
Spring | |||
CS 315 | Intermediate Algorithms | 4 | |
MATH 253 | Calculus III | 4 | |
Third course of additional science sequence | 4 | ||
Core-education social science | 4 | ||
Credits | 16 | ||
Total Credits | 48 |
Third Year | |||
---|---|---|---|
Fall | Milestones | Credits | |
CS 314 | Computer Organization | 4 | |
MATH 316 |
Fundamentals of Analysis I or Fundamentals of Number Theory I or Fundamentals of Abstract Algebra I |
4 | |
CS 322 | Introduction to Software Engineering | 4 | |
Core-education course in arts and letters | 4 | ||
Credits | 16 | ||
Winter | |||
CS 322 | Introduction to Software Engineering | 4 | |
MATH 341 | Elementary Linear Algebra | 4 | |
Core-education course in social science | 4 | ||
Core-education course in arts and letters that also satisfies cultural literacy requirement | 4 | ||
Credits | 16 | ||
Spring | |||
CS 425 | Principles of Programming Languages | 4 | |
MATH 342 | Elementary Linear Algebra | 4 | |
Core-education course in social science that also satisfies cultural literacy requirement | 4 | ||
Elective course | 4 | ||
Credits | 16 | ||
Total Credits | 48 |
Fourth Year | |||
---|---|---|---|
Fall | Milestones | Credits | |
MATH 351 or MATH 461 |
Elementary Numerical Analysis I or Introduction to Mathematical Methods of Statistics I |
4 | |
Upper-division elective course with CS subject code | 4 | ||
Elective course | 4 | ||
Credits | 12 | ||
Winter | |||
MATH 352 or MATH 462 |
Elementary Numerical Analysis II or Introduction to Mathematical Methods of Statistics II |
4 | |
Upper-division elective course with CS subject code | 4 | ||
Elective course | 4 | ||
Credits | 12 | ||
Spring | |||
WR 320 or WR 321 |
Scientific and Technical Writing or Business Communications |
4 | |
Upper-division elective course with MATH subject code | 4 | ||
Elective course | 4 | ||
Credits | 12 | ||
Total Credits | 36 |
Bachelor of Science in Mathematics and Computer Science
First Year | |||
---|---|---|---|
Fall | Milestones | Credits | |
MATH 112Z | Precalculus II: Trigonometry | 4 | |
CS 122 | Introduction to Programming and Problem Solving | 4 | |
WR 121Z | Composition I | 4 | |
Core-education course in arts and letters | 4 | ||
Credits | 16 | ||
Winter | |||
MATH 231 | Elements of Discrete Mathematics I | 4 | |
CS 210 | Computer Science I | 4 | |
WR 122Z or WR 123 |
Composition II or College Composition III |
4 | |
Core-education course in social science | 4 | ||
Credits | 16 | ||
Spring | |||
MATH 232 | Elements of Discrete Mathematics II | 4 | |
CS 211 | Computer Science II | 4 | |
Core-education course in arts and letters | 4 | ||
Core-education course in social science | 4 | ||
Credits | 16 | ||
Total Credits | 48 |
Second Year | |||
---|---|---|---|
Fall | Milestones | Credits | |
MATH 251 | Calculus I | 4 | |
CS 212 | Computer Science III | 4 | |
Core-education course in arts and letters also satisfies a cultural literacy requirement | 4 | ||
First course of additional science sequence | 4 | ||
Credits | 16 | ||
Winter | |||
CS 313 | Intermediate Data Structures | 4 | |
MATH 252 | Calculus II | 4 | |
Second course of additional science sequence | 4 | ||
Core-education course in social science also satisfies a cultural literacy requirement | 4 | ||
Credits | 16 | ||
Spring | |||
CS 315 | Intermediate Algorithms | 4 | |
MATH 253 | Calculus III | 4 | |
Third course of additional science sequence | 4 | ||
Core-education course in social science | 4 | ||
Credits | 16 | ||
Total Credits | 48 |
Third Year | |||
---|---|---|---|
Fall | Milestones | Credits | |
CS 314 | Computer Organization | 4 | |
MATH 316 |
Fundamentals of Analysis I or Fundamentals of Number Theory I or Fundamentals of Abstract Algebra I |
4 | |
CS 322 | Introduction to Software Engineering | 4 | |
Core-education course in arts and letters | 4 | ||
Credits | 16 | ||
Winter | |||
CS 322 | Introduction to Software Engineering | 4 | |
MATH 341 | Elementary Linear Algebra | 4 | |
Elective courses | 8 | ||
Credits | 16 | ||
Spring | |||
CS 425 | Principles of Programming Languages | 4 | |
MATH 342 | Elementary Linear Algebra | 4 | |
Elective courses | 8 | ||
Credits | 16 | ||
Total Credits | 48 |
Fourth Year | |||
---|---|---|---|
Fall | Milestones | Credits | |
Elective course with a CS subject code | 4 | ||
MATH 351 or MATH 461 |
Elementary Numerical Analysis I or Introduction to Mathematical Methods of Statistics I |
4 | |
Elective course | 4 | ||
Credits | 12 | ||
Winter | |||
Elective course with a CS subject code | 4 | ||
MATH 352 or MATH 462 |
Elementary Numerical Analysis II or Introduction to Mathematical Methods of Statistics II |
4 | |
Elective course | 4 | ||
Credits | 12 | ||
Spring | |||
Elective course with MATH subject code | 4 | ||
WR 320 or WR 321 |
Scientific and Technical Writing or Business Communications |
4 | |
Elective course | 4 | ||
Credits | 12 | ||
Total Credits | 36 |