Course 
CMSC 103 Great Ideas in
Computer Science


Professor 
Rebecca Thomas 

CRN 
16289 

Schedule 
Tu Th
2:30 3:50 pm OLINLC
115 Wed (Lab) 1:30
3:30 pm ALBEE 100 

Distribution 
OLD: E/Q 
NEW: Math
and Computing

Crosslisted: Science,
Technology & Society
This course will examine several fundamental ideas
from computer science, beginning with the binary representation of data
(numbers, characters, images) and manipulation of these data. We will study some of the big ideas that
enable the current sophistication of computing, including the von Neumann
storedprogram architecture, the use of automatic translators for programming
languages, and the utility of switching among multiple levels of
abstraction. We will study the basics
of programming, and the course will include some simple programming
assignments. By the end of the course,
we will have enough basic understanding to explore some of the technologies
that underlie the internet. Prerequisite: Eligibility for Q courses. Online
Course 
CMSC 131 Cognitive Science


Professor 
Sven Anderson 

CRN 
16290 

Schedule 
Mon
Wed 1:30 2:50 pm OLINLC 115
Fr 9:50  11:50 am HDR 101A 

Distribution 
OLD: E/G 
NEW: SSCI

Crosslisted: Science,
Technology & Society
How do brains make minds? Can computers think? Is
my dog conscious? Cognitive science
assumes that the brain is some sort of computational engine, and, beginning
with that premise, attempts to find answers to such questions. This course will be taught by faculty from
biology, computer science, linguistics, philosophy, and psychology, who will
combine their different approaches to explore how humans and other intelligent
systems feel, perceive, reason, plan, and act.
In particular, the course will focus on the fundamental importance of
language, signaling, and representation at many levels, from the neural to the
organismal. Laboratories will provide
students with handson experience analyzing neural and behavioral data as well
as with computational modeling.
Prerequisites: precalculus or its equivalent and a willingness to
engage a broad variety of ideas and approaches from the natural, mathematical,
and social sciences. Online
Course 
CMSC 141 Computer Science I


Professor 
Robert McGrail 

CRN 
16291 

Schedule 
Mon Fr
10:30  11:50 am HEG 102 Wed (Lab A)
9:50  11:50 am ALBEE 100 or Th (Lab B) 9:50  11:50 am ALBEE 100


Distribution 
OLD: E/G/Q 
NEW: Math
and Computing

This course introduces the notion of a
computational process as well as the idea of a program as a director of such
processes. The study of problemsolving techniques and algorithm development
prepares students to apply the syntax and structure of a programming language
to a variety of problem statements. The course includes regular programming
assignments as well as a programming project. Prerequisite: eligibility for Q
courses. Online
Course 
CMSC 142 Computer Science II:
Structures, Algorithms and Design


Professor 
Brandeis Hill 

CRN 
16292 

Schedule 
Tu Th
9:00  10:20 am ALBEE 106
Th (Lab) 1:30  3:30 pm ALBEE 100


Distribution 
OLD: E/G/Q 
NEW: Math
and Computing

This
course elevates student programming and problemsolving skills via a thorough
introduction to data abstraction and the design of efficient data structures
and associated algorithms. Numerous
problems drawn from a broad variety of fields (e.g., artificial intelligence,
genetics, simulation, languages, and cryptography) are used to motivate the
study of new data types and algorithms.
Students will learn to implement numerous important structures,
including records, queues, lists, and trees.
Essential algorithms for searching and sorting these structures are also
implemented and analyzed. Prerequisites: Computer Science 141 or its equivalent
and eligibility for Q courses. Online
Course 
CMSC 301 Algorithms


Professor 
Rebecca Thomas 

CRN 
16293 

Schedule 
Tu
Th 10:30  11:50 am OLIN 302


Distribution 
OLD: E/Q 
NEW: Math
and Computing

The course discusses design and analysis of correct
and efficient computer algorithms. Topics include sorting, greedy algorithms,
divideandconquer algorithms, dynamic programming algorithms, and graph
algorithms. Advanced topics in algorithms may be selected from specialized
areas of the mathematical and empirical sciences.
Prerequisites: Computer Science 142 and Mathematics
231/235Online
Course 
CMSC 321 Databases: Theory & Practice


Professor 
Robert McGrail 

CRN 
16294 

Schedule 
Mon
Fr 9:00  10:20 am ALBEE 106


Distribution 
OLD: E/Q 
NEW: Math
and Computing

An introduction to the design, implementation, and
uses of databases. Topics include database design, database models, integrity,
concurrency, security, and database query languages.
Prerequisite: Computer Science 142 Online
Course 
CMSC 323 Computer Graphics


Professor 
Melvin Chen 

CRN 
16295 

Schedule 
Mon
Wed 3:00 4:20 pm ALBEE 106


Distribution 
OLD: E/Q 
NEW: Math
and Computing

Computer graphics has become ubiquitous in today’s
society, from magazine ads to movies to video games. In this course we introduce and explore the basic algorithms used
to create and manipulate two and three dimensional graphical objects. Among the topics that will be covered are
coordinate transformations, projection, hidden surfaces, shading, ray tracing,
and texture mapping. A strong
mathematical and programming background is necessary.
Prerequisites: Math 242 or 331, CMSC 142, and permission of instructor.