19384 
CMSC 112 Introduction to Computer Science:
Graphics and Animation 
Melvin Chen 
. T . Th . 
9:00
am –10:20 am 
RKC
100 
MATC 
This course provides an introduction to the use of computer programming
for creating and displaying a wide variety of objects, patterns, and digital
images. Students will learn to use a programming language and graphics
interface to write algorithms that represent and render twodimensional and threedimensional
geometrical objects, beginning with points and lines and extending
threedimensional solids. Topics will include applied geometry,
coordinate transformations, projection, perspective, object modeling, and basic
animation. Prerequisite: MATH 110 Precalculus, eligibility for Q
courses.
19336 
CMSC 113 Introduction to Computing: Robotics 
Rebecca Thomas 
. T . Th . 
10:30 12:30 pm 
RKC
107 
MATC 
Crosslisted: Cognitive Science This course introduces
students to ideas that are fundamental to robotics and to computing in
general. Teams of students will design
and build shoeboxsized robots, with guidance from the instructor. These rather minimalist robots will be
mobile and will have multiple sensors.
The student teams will use a simple programming language to program
their robots to carry out simple tasks, and will move to a more robust
programming language and more complex tasks by the end of the semester. Prerequisite: successful completion of Q exam.
19337 
CMSC 141 Object Oriented Programming 
Sven Anderson 
M . W . . 
9:00 10:20 am 
RKC
100 
MATC 



LAB:
F 
9:00 11:00 am 
RKC
100 
MATC 
Crosslisted: Cognitive Science Creating
computer software typically begins with an informal problem statement and
perhaps a vague idea for a solution, and proceeds through progressive
refinement of both our understanding of what the problem is and our
understanding of how to solve it. In objectoriented programming, these two
kinds of refinement often mesh as we design and build software objects that model
important aspects of the problem and of its solution. This course, which is
intended for students with prior programming experience, introduces students to
the methodology of objectoriented design and development via guided student
work, solving interesting problems drawn from such arenas as graphics and
animation, simulation, and/or Internet applications. Good programming and
documentation habits are emphasized. Prerequisite: any Introduction to
Computing course or permission of the instructor.
19385 
CMSC 242 Discrete Mathematics 
Sven Anderson 
. T . Th . 
10:30 11:50 am 
RKC
101 
MATC 
This course will examine the field of discrete mathematics, especially
the areas of importance in computer science, such as algorithms, combinatorics,
probability, and graph theory. Equal time will be given to theory, computation,
and applications. Prerequisites: Math 110 or permission of the
instructor.
19332 
CMSC / MATH 303 Computational Geometry 
Mary Krembs 
. T . . . 
1:00
pm 2:20 pm 
RKC
100 
MATC 
See
Mathematics section for description.
19588 
PSY / CMSC 308 Seminar in Cognitive Science 
Barbara Luka / Sven Anderson 
. . W . . 
7:00 9:00 pm 
RKC
101 
N/A 
Crosslisted: Philosophy (2 credits) Juniors and seniors concentrating in
cognitive science are strongly urged to take this twocredit course. Each
student will present research in progress or a significant paper from the
current literature. The purpose of the seminar is to help students
become familiar with a crosssection of current cognitive science research,
including topics from cognitive psychology, neuroscience, computational
modeling, philosophy of mind, linguistics, music cognition, and artificial
intelligence. In addition to helping juniors select a senior project
topic, the seminar is intended to enhance communication among seniors about
their research projects. Prerequisite: permission of the instructors. (Can
be taken no more than twice for credit.)
19338 
CMSC 312 Theory of Computation 
Rebecca Thomas 
M . . . F 
3:00
pm 4:20 pm 
RKC
111 
MATC 
The course will introduce several computational
models that have been developed to formalize the notion of an algorithm. It
will also discuss in detail several of the primary topics in the theory of
computation including the theory of recursive functions, Turing machines, and
several undecidable problems such as the Halting problem. Prerequisites:
Computer Science 301 and Mathematics 231/ 235.
19386 
CMSC 322 Graphics 
Mary Krembs 
. T . Th . 
2:30
pm 3:50 pm 
RKC
100 
MATC 



LAB:
F 
1:00
pm 3:00 pm 
RKC
100 
MATC 
Computer graphics have become ubiquitous in today's
society, from magazine ads to movies to video games. In this course
students explore the basic algorithms used to create and manipulate two and
threedimensional graphic objects. Among the topics covered are
coordinate transformations, projection, hidden surfaces, shading, ray tracing,
and texture mapping. A strong mathematical and programming background is
necessary. Prerequisites: Mathematics 242 or 331, Computer Science 201
and permission of the instructor.