A strong background in high school mathematics is strongly recommended for CMSC 105. You do not need calculus, but you should be familiar with basic number theory and geometry. For example, we may discuss techniques for calculating the greatest common divisor (GCD) of two integers, so it helps to know what a GCD is. We develop an algorithm for testing for the intersection of two line segments, so you should be able to work with various equations describing a line.

We work with logical statements about programs, so it will also help if you are familar with basic logic. For example, we might use the following logical statement to describe the relationship between the variables x and z at some point in a program:
"for all y such that x < y < z, z/y is not an integer"

We generally review these mathematical concepts as we need them in the course, but a good background in math will make it easier for you to stay focused on the new material rather than the review.