Computer Science Major | Computer Science Minor | Mathematics Major | Applied Mathematics and Statistics Major | Mathematics Minor | Statistics Minor | Data Science Minor

### General Distribution Requirement

All courses in the department count toward the general distribution requirement in mathematics and natural science except those numbered COMP 154, MATH 212, MATH 614, and MATH 624. Both COMP 154 and MATH 212 count toward the humanities general distribution requirement.

### General Education Requirements

Courses that meet the general education requirements in writing, quantitative thinking, internationalism and US identities and differences will be posted on the Registrar's web page in advance of registration for each semester.

Additional information regarding the general distribution requirement and the general education requirements can be found in the graduation requirements section of this catalog.

### Honors Program

The Mathematics, Statistics, and Computer Science Department participates in the honors program. Eligibility requirements, application procedures, and specific project expectations are available under the MSCS Honors Procedures link on the department web page.

### Topics Courses

COMP 194, COMP 294, COMP 394, COMP 494, MATH 194, MATH 294, MATH 394, MATH 494

Selected topics in mathematics, applied mathematics, and statistics. When the course is offered, the topic and prerequisites for that semester will be announced and posted prior to registration. (4 credits)

### Independent Study

The department offers independent study options in the form of tutorials, independent projects, internships, preceptorships and Honors independent projects. For more information contact the department and review the Curriculum section of the catalog.

## Computer Science

*Program coordinator:* Susan Fox

Two basic principles underlie the teaching of computer science at Macalester. First, the program stresses the fundamental principles of computer science-theory of computation, algorithms, languages, software design, and computer organization-as well as programming and the applications of computer technology. A computer science graduate from Macalester will be well prepared for either advanced study or research and development work in industry. Second, the program is firmly committed to the principles and ideals of a liberal arts education. A computer science major or minor includes both technical requirements as well as extensive course work in the humanities, social sciences, and fine arts. An important goal of the program is to produce graduates who are self-educators and life-long learners, characteristics that are so important in a rapidly changing discipline.

*Placement*

Students seeking an introductory computer science course typically choose among three options: COMP 120, COMP 123, or COMP 124. The first three courses are suitable for students with little or no background in computing, programming, or computer science. All three function as both the first course in the major and minor as well as an introduction to the discipline for those not planning to take further coursework (see below for a brief comparison of the three). Students who have significant prior experience of computer science may choose to enroll in COMP 124 - Object-Oriented Programming and Data Structures. The *rare* student may begin coursework beyond that point. Students who are uncertain which course to enroll in should contact the program coordinator for advice.

COMP 120 - Computing and Society, is a survey course that provides a broad overview of the discipline of computer science, including the history of computing and the social and ethical concerns raised by information technology. This course is ideal for students in all fields, especially those in the humanities, social sciences, and fine arts. It is also appropriate for potential computer science students who would like their first course to be a survey of the field. COMP 123 - Core Concepts in Computer Science, explores computer science through a set of core ideas, theoretical and practical, such as design, implementation, and analysis of algorithms, and common data representations. Currently this course uses applications from media computation and robotics to motivate the central ideas. This course is ideal for students who want to begin with an examination of the fundamental conceptual issues of computer science.

### Topics Courses

COMP 194, COMP 294, COMP 394, COMP 494

Topics of interest to students in the field of computer science but which are not part of the regular curriculum. When the course is offered, the topic and prerequisites for that semester will be announced and posted prior to registration. (4 credits)

### Independent Study

The department offers independent study options in the form of tutorials, independent projects, internships, preceptorships and Honors independent projects. For more information contact the department and review the Curriculum section of the catalog.

## Computer Science Major

### Major Requirements

- Introductory sequence:
- Core courses: the four required core courses COMP 221, COMP 225, COMP 240, and COMP 261.
- Elective courses: A minimum of three advanced elective courses in computer science, numbered 300-500.
- Supporting courses: MATH 279 and any two additional mathematics courses, numbered 135 or above, taken at Macalester and approved by the department. Courses which are highly appropriate for computer science majors would include: MATH 135, MATH 137, MATH 155, MATH 236, MATH 313.
- Capstone: The College's capstone graduation requirement in Computer Science is satisfied by:

- passing an approved capstone course (COMP 342, COMP 346, COMP 380, COMP 440, COMP 445, COMP 479, COMP 484), passing an Independent Study associated with an Honors thesis, or passing a capstone-approved topics course (COMP 494) and

- giving a public presentation of your work to a general audience on Capstone Day in April, and

- participating in all departmental senior capstone meetings

The capstone course must be taken junior year or fall of senior year. Each course designated as such will include a serious semester project, and each Computer Science major must pass the project part of the class.

In addition to the three required mathematics courses, students are strongly encouraged to include some of the following courses as part of their elective program: MATH 155 - Introduction to Statistical Modeling, MATH 236 - Linear Algebra, MATH 253 - Machine Learning, MATH 354 - Probability, MATH 313 - Advanced Symbolic Logic, MATH 455 - Mathematical Statistics, and MATH 432 - Mathematical Modeling.

Students who plan to attend graduate school in computer science are encouraged to take more than the minimum number of computer science electives as well as additional supporting work in related disciplines. In order to ensure orderly progress through the curriculum, introductory courses (COMP 120 or COMP 123, COMP 124) and core courses (COMP 221, COMP 225, COMP 240, and COMP 261) should generally be completed before a student enrolls in advanced electives or begins an independent project.

A typical computer science major would take the following courses toward the major in the first two years:

*Year 1:* COMP 120 or COMP 123, COMP 124; MATH 279; a second mathematics course*Year 2:* COMP 225; COMP 221; COMP 240; COMP 261; a mathematics course

However, there is a good deal of flexibility in the computer science program, and a student's exact schedule will be determined only after consultation with his or her major advisor.

## Computer Science Minor

### Minor Requirements

Requirements for a minor in computer science are:

Any five courses in computer science numbered 120-489. Minor plans including more than one crosslisted course require departmental approval. (Note: Credit can be awarded for only *one* of the introductory courses COMP 120 or COMP 123.)

No more than two courses can count toward any other minor or major.

## Mathematics Major

### Major Requirements

Students earn a major in Mathematics by choosing between two paths: *Mathematics* or *Applied Mathematics and Statistics.*

### Requirements for Mathematics are:

- Three courses that are introductory to the major (taken in any order)

MATH 236 - Linear Algebra

MATH 237 - Applied Multivariable Calculus III

MATH 279 - Discrete Mathematics - Two supporting courses (MATH 112 Introduction to Data Science or

MATH 155 - Introduction to Statistical Modeling) and any non-cross-listed Computer Science course - Five Math courses numbered 300 or above and including

At least one of MATH 377 - Real Analysis or MATH 378 - Complex Analysis

At least one of MATH 376 - Algebraic Structures or MATH 379 - Combinatorics

At least one 400-level Capstone Course taken*before*spring semester of senior year - Pass the Capstone Presentation

### Requirements in Applied Mathematics and Statistics are:

- Four courses that are introductory to the major (taken in any order):

COMP 123 - Core Concepts in Computer Science

MATH 155 - Introduction to Statistical Modeling

MATH 236 - Linear Algebra

MATH 237 - Applied Multivariable Calculus III

- Five intermediate or advanced courses. At least four must be chosen from the following list of applied courses. Of these four courses you must choose a minimum of two with a Statistical (S) designation and at least one 400-level Capstone Course taken
*before*spring semester of the senior year.

MATH 253 - Machine Learning (S)

MATH 312 - Differential Equations

MATH 354 - Probability (S)

MATH 365 - Computational Linear Algebra (S)

MATH 432 - Mathematical Modeling

MATH 437 - Topics in Applied Mathematics

MATH 453 - Survival Analysis (S)

MATH 454 - Bayesian Statistics (S)

MATH 455 - Mathematical Statistics (S)

MATH 479 - Network Science

COMP 302 - Introduction to Database Management Systems (S)

COMP 484 - Introduction to Artificial Intelligence (S)**NOTE**: At most, one pure MATH course - numbered 250 or above - which does not appear in the list above may count toward one of the five intermediate or advanced courses.

- One computation course (which may simultaneiously meet requirement 2 above) chosen from the following list:

COMP 124 - Object-Oriented Programming and Data Structures

COMP 221 - Algorithm Design and Analysis

COMP 302 - Introduction to Database Management Systems

COMP 340 - Digital Electronics

COMP 346 - Internet Computing

COMP 365 - Computational Linear Algebra

COMP 484 - Introduction to Artificial Intelligence

MATH 253 - Machine Learning

- An integrative experience in the form of at least one of the following:

An internship or summer research project approved by the department;

A minor or major in anothe rdepartment tied to applied mathematics or statistics (e.g., physics, economics, psychology, sociology, chemistry, biology, geology, geography, environmental studies, computer science) approved on a case-by-case basis by the department;

A preceptorship in two mathematics (MATH) or computer science (COMP) courses

- Pass the Capstone presentation requirement

## Mathematics Minor

To obtain a minor in mathematics, you must complete the following:

- MATH 279, MATH 236, MATH 237 and at least 8 semester credits from Mathematics courses numbered 300-489, except topics courses unless prior departmental approval has been given.
- COMP 123 or an equivalent course.

No more than two courses can count toward any other minor or major.

## Statistics Minor

### Minor Requirements

Five courses total; at most, two of the courses may count toward other majors, minors, or concentrations.

MATH 155 - Introduction to Statistical Modeling plus any four of the following (at most only one coming from outside of Mathematics, Statistics, and Computer Science):

MATH 112 - Introduction to Data Science

MATH 125 - Epidemiology

MATH 253 - Machine Learning

MATH 354 - Probability

MATH 453 - Survival Analysis

MATH 454 - Bayesian Statistics

MATH 455 - Mathematical Statistics

COMP 123 - Core Concepts in Computer Science

COMP 440 - Collective Intelligence

ECON 381 - Introduction to Econometrics

GEOG 225 - Introduction to Geographic Information Systems

POLI 269 - Empirical Research Methods

PSYC 301 - Research in Psychology II

SOCI 269 - Social Science Inquiry

Or another course approved by the Mathematics, Statistics, and Computer Science Chair.

## Data Science Minor

The requirements for the minor are as follows:

Two courses in each of the three areas below.

- Computing

*COMP 123 - Core Concepts in Computer Science AND

* One of: MATH 112 Introduction to Data Science, COMP 124 - Object-Oriented Programming and Data Structures or COMP 302 - Introduction to Database Management Systems or COMP 365 - Computational Linear Algebra or COMP 440 - Collective Intelligence or COMP 484 - Introduction to Artificial Intelligence, or others as approved by the department. - Statistics

*MATH 155 - Introduction to Statistical Modeling AND

*One of: MATH 253 - Machine Learning or MATH 453 - Survival Analysis or MATH 454 - Bayesian Statistics, or others as approved by the department. - Domain area expertise

* Two courses in a**single domain**meeting the following criteria: the courses should be focused around a theme (e.g., bioinformatics) and not a broad discipline AND that theme should

one that allows the possibility of data science-related activities, either within the courses themselves or in the student's future career or further education.

* Pre-approved domain courses are listed below. Proposals for other areas of domain expertise (supported by two courses) will be approved on a case by case basis by the department.

No more than two courses can count toward any other major or minor.

Applied Mathematics and Statistics Majors may not also earn a Data Science Minor.

To ensure a synthesis between coursework in the department and the domain of expertise, all students must complete an integrative essay that either a) discusses an already completed integrative project (a course project, internship, summer research experience, etc), or b) proposes an integrative project in the domain of expertise.

**Pre-Approved Domain Courses**

Astronomy

PHYS 120 - Astronomical Techniques and

PHYS 440 - Observational Astronomy

Bioinformatics

BIOL 260 - Genetics and COMP 320 - Computational Biology

Computational Linguistics

LING 100 Introduction to Linguistics and

LING 294 Computational Methods in Linguistics

Data-Driven Journalism

MCST 114 - News Reporting and Writing and one of the following:

MCST 355 - Advanced Journalism: Electronic

MCST 357 - Advanced Journalism: New Media

Ecology

BIOL 285 - Ecology and one of the following:

BIOL 342 - Animal Behavior/Ecology

BIOL 344 - Aquatic Ecology

BIOL 345 - Field Botany

Environmental Science and Policy

Two of the following:

ENVI 231 - Environmental Economics and Policy

ENVI 133 - Environmental Science

ENVI 240 - The Earth's Climate System

ENVI 150 Climate and Society

ENVI 160 - Dynamic Earth and Global Change

Geographic Analytics

GEOG 225 - Introduction to Geographic Information Systems and one of the following:

GEOG 262 - Metro Analysis

GEOG 362 - Introduction to Remote Sensing

GEOG 364 - GIS and Community Partnerships

GEOG 365 - Urban GIS

GEOG 366 - GIS for Global Urban Environments

GEOG 367 - Environmental Geographic Information Systems (GIS)

GEOG 368 - Health GIS

GEOG 378 - Statistical Research Methods in Geography

Political Analytics

POLI 269 - Empirical Research Methods and

one of:

POLI 214 - Cyber Politics

POLI 242 Political Economy of Development

Quantitative Economics

Two of the following:

ECON 381 - Introduction to Econometrics

ECON 420 - Applied Dynamic Macroeconomics

ECON 485 - Empirical Finance

Quantitative Public Health

Two of the following:

BIOL 355 - Virology

BIOL 357 - Immunology

GEOG 256 - Medical Geography: The Geography of Health and Health Care

MATH 125 - Epidemiology

Social Processes and Relations

SOCI 269 Social Science Inquiry and

one of the following:

SOCI 190 Criminal Behavior/Social Control

SOCI 283 Economic Sociology