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.

Core Courses
CS 210–212Computer Science I-III12
MATH 231–232Elements of Discrete Mathematics I-II8
MATH 251–253Calculus I-III12
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–342Elementary Linear Algebra8
MATH 351–352Elementary Numerical Analysis I-II8
or MATH 461–462 Introduction to Mathematical Methods of Statistics I-II
Upper-level mathematics course 14
Computer Science
CS 313Intermediate Data Structures4
CS 314Computer Organization4
CS 315Intermediate Algorithms4
CS 425Principles of Programming Languages4
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 28
Writing Requirements
WR 320Scientific and Technical Writing4
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
General Biology I-II
Chemistry 3
Introduction to Chemical Principles
The Chemistry of Sustainability
General Chemistry I
Advanced General Chemistry I
General Chemistry
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
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 Credits96
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.

MATH 316Fundamentals of Analysis I4
MATH 341Elementary Linear Algebra4
MATH 342Elementary Linear Algebra4
CS 313Intermediate Data Structures4
CS 314Computer Organization4
CS 315Intermediate Algorithms4
CS 425Principles of Programming Languages4
One of the following:
CS 330C/C++ and Unix4
CS 420Automata Theory4
CS 422Software Methodology I4

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

Degree Map
First Year
FallMilestonesCredits
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
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
Degree Map
Second Year
FallMilestonesCredits
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
Degree Map
Third Year
FallMilestonesCredits
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
Degree Map
Fourth Year
FallMilestonesCredits
MATH 351
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
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
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

Degree Map
First Year
FallMilestonesCredits
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
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
Degree Map
Second Year
FallMilestonesCredits
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
Degree Map
Third Year
FallMilestonesCredits
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
Degree Map
Fourth Year
FallMilestonesCredits
Elective course with a CS subject code 4
MATH 351
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
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
Scientific and Technical Writing
or Business Communications
4
Elective course 4
 Credits 12
 Total Credits 36