# Computer Science for Math Students

Are you a student majoring in Mathematics or Actuarial Science? Have you thought about a minor in Computer Science? Before you dismiss this as a silly thought, read on.

## Why CS is helpful for Math students

There are many good reasons to bolster your mathematics or actuarial science major with computer science.

- From a certain viewpoint (that is not really that radical), computer science is mathematics. See below.
- Computer science skills, such as programming and database design, are very useful in most, if not all, career paths for mathematical majors:
- Actuarial Science students are well-served to have knowledge of programming and database skills for work in the insurance industry, according to the SOA.
- Mathematics Education majors with a substantial computer science background are more marketable, as they can (if they choose) teach, for example, AP computer science courses in high school.
- Mathematics graduate students make heavy use of computer science tools in their research, especially in areas such as numerical analysis, mathematical modeling, operations research/math programming, graph theory, probability and statistics, number theory, and others.

## The CS Minor Is Easy to Get

The requirements for a minor in computer science are CS151, CS248, and 12 hours of electives.

- We accept MA205 (Discrete Math) as equivalent to CS151 for the CS minor.
- These courses can serve as electives in the CS minor:
- MA305 Graph Theory.
- MA365 Numerical Methods counts as a computer science elective.
- CS451 Theory of Computing and CS458 Cryptography normally count as mathematics electives. Be sure to verify this with your advisor or your department chair.
- From time to time, other topics courses also cross-list.

## Computer Science IS a Mathematical Science

Deep theorems in mathematical logic, recursion theory, and computation theory show that writing programs and proving theorems are, at a low level, the same thing. Digital computers are built from **logic gates**: and, or, not. Any computer can be completely designed using combinations of these three logical operators. Thus, any computer program can be written as an algebraic, logic expression.

The **halting problem**, which asks whether a specific program has an infinite loop, has no general algorithmic solution. Translating this theorem in computer science into mathematical logic gives us Goedel’s Incompleteness Theorem, which says that we can’t prove or disprove everything (in a loose sense).

## Give It a Try!

Come, try computer science out. If you like mathematics, you probably will like computer science as well, and it can only help you.

If you have more questions, please contact any faculty or staff member in the computer science department.