Course:
|
CMSC 141 Object-Oriented
Programming |
|||||
Professor:
|
Kerri-Ann Norton |
|||||
CRN: |
15344 |
Schedule/Location: |
Mon Wed 10:10 AM
– 11:30 AM Reem Kayden Center 107 Fri 9:50 AM – 11:50
AM Reem Kayden Center 107 |
|||
Distributional Area: |
MC Mathematics and Computing |
|||||
Credits: 4 |
|
Class cap: 16 |
||||
Crosslists: Experimental Humanities; Mind, Brain, Behavior |
||||||
This course introduces students to the methodologies of
object-oriented design and programming, which are used throughout the Computer
Science curriculum. Students will learn how to move from informal problem
statement, through increasingly precise problem specifications, to design and
implementation of a solution for problems drawn from areas such as graphics,
animation, simulation. Good programming and documentation habits are
emphasized.
Course:
|
CMSC 145 Discrete
Math |
|||||
Professor:
|
Robert McGrail |
|||||
CRN: |
15345 |
Schedule/Location: |
Tue Fri 1:30 PM
– 2:50 PM Reem Kayden Center 101 |
|||
Distributional Area: |
MC Mathematics and Computing |
|||||
Credits: 4 |
|
Class cap: 16 |
||||
Crosslists: Mathematics |
||||||
Discrete mathematics includes those areas of mathematics that
are essential to computer science, information theory, combinatorics, and
genetics. This course emphasizes
creative problem solving, linking language to logic, and learning to read and
write proofs. The topics covered include
propositional logic, predicate logic, inductive proof, sets, relations,
functions, introductory combinatorics and discrete probability. Applications drawn from computation will
motivate most topics. Prerequisite:
Mathematics 141 or programming experience.
Course:
|
CMSC 201 Data
Structures |
|||||
Professor:
|
Keith O’Hara + Kerri-Ann
Norton |
|||||
CRN: |
15346 |
Schedule/Location: |
Mon Thurs 1:30 PM
– 2:50 PM Reem Kayden Center 103 |
|||
Distributional Area: |
MC Mathematics and Computing |
|||||
Credits: 4 |
|
Class cap: 32 |
||||
Crosslists: Mind, Brain, Behavior |
||||||
This course introduces students to essential principles of program
design and analysis that underlie applications of computation to internet communication, digital media, and artificial
intelligence. Building on basic
programming skills, we will focus on the construction of more sophisticated and
reliable computer programs that employ the most important data structures. Data structures, common ways in which data is
organized and manipulated, are an important aspect of modern programs. Consequently, throughout the course students
will learn to create and use the most useful data structures, including files,
lists, stacks, trees, and graphs.
Students will write several programs, ranging from short lab assignments
to larger systems of their own design.
Prerequisite: CMSC 141 or 143, or permission of the instructor. Students
must select a Lab section as well.
Course:
|
CMSC 201 LBA
Data
Structures Lab A |
|||||
Professor:
|
Kerri-Ann Norton |
|||||
CRN: |
15347 |
Schedule/Location: |
Fri 2:00 PM
– 4:00 PM Reem Kayden Center 100 |
|||
Distributional Area: |
MC Mathematics and Computing |
|||||
Credits: 0 |
|
Class cap: 16 |
||||
Crosslists: Mind, Brain, Behavior |
||||||
Course:
|
CMSC 201 LBB
Data
Structures Lab B |
|||||
Professor:
|
Keith O’Hara |
|||||
CRN: |
15348 |
Schedule/Location: |
Fri 9:50 AM
– 11:50 AM Reem Kayden Center 100 |
|||
Distributional Area: |
MC Mathematics and Computing |
|||||
Credits: 0 |
|
Class cap: 16 |
||||
Crosslists: Mind, Brain, Behavior |
||||||
Course:
|
CMSC 251 Introduction
to Artificial Intelligence |
|||||
Professor:
|
Sven Anderson |
|||||
CRN: |
15350 |
Schedule/Location: |
Mon Fri 11:50 AM
– 1:10 PM Reem Kayden Center 107 |
|||
Distributional Area: |
MC Mathematics and Computing |
|||||
Credits: 4 |
|
Class cap: 16 |
||||
Crosslists: Mind, Brain, Behavior |
||||||
An introduction to artificial intelligence principles and
techniques with an emphasis on elements of artificial intelligence that are compatible
with biologically-based intelligence (e.g., neural computation). This course is intended to provide a first
course in artificial intelligence, particularly for students interested in
cognitive science and neuroscience. The
course will explore the application of artificial intelligence techniques to
particular application areas. Techniques
include automated reasoning, machine learning, evolutionary learning, heuristic
search, and behavior-based robot control. Application examples will be drawn from
artificial life, robotics, game play, logic, visual perception, and natural
language processing. Prerequisites: CMSC 143, 157, or equivalent programming
experience.
Course: |
CMSC 301 Algorithms |
|||||
Professor: |
Sven Anderson |
|||||
CRN: |
15351 |
Schedule/Location: |
Mon Wed Fri 8:50 AM – 9:50 AM Reem Kayden Center 100 |
|||
Distributional Area: |
MC Mathematics and Computing |
|||||
Credits: 4 |
|
Class cap: 16 |
||||
Crosslists: Mind,
Brain, Behavior |
||||||
The course discusses
design and analysis of correct and efficient computer algorithms. Topics
include sorting, greedy algorithms, divide-and-conquer algorithms, dynamic
programming algorithms, and graph algorithms. Advanced topics in algorithms may
be selected from specialized areas of the mathematical and empirical
sciences. Prerequisites: CMSC 201 and either CMSC 145 or Math 261.
Course:
|
CMSC 321 Databases:
Theory & Practice |
|||||
Professor:
|
Robert McGrail |
|||||
CRN: |
15352 |
Schedule/Location: |
Tue Thurs 10:10 AM
– 11:30 AM Reem Kayden Center 100 Wed 10:10 AM – 12:10
PM Reem Kayden Center 100 |
|||
Distributional Area: |
MC Mathematics and Computing |
|||||
Credits: 4 |
|
Class cap: 16 |
||||
|
||||||
An introduction to the design, implementation, and uses of
databases. Topics include database design, database models, integrity,
concurrency, security, and database query languages. Prerequisite: a 100-level
Computer Science course.
Course:
|
CMSC 336 Games
Systems: Platforms, Programs & Power |
|||||
Professor:
|
Keith O’Hara |
|||||
CRN: |
15993 |
Schedule/Location: |
Mon Wed 3:10 PM
– 4:30 PM Reem Kayden Center 107 |
|||
Distributional Area: |
MC Mathematics and Computing |
|||||
Credits: 4 |
|
Class cap: 16 |
||||
Crosslists: Experimental Humanities |
||||||
This course studies games using the lens of computing
systems; exploring the design and implementation of historic and modern computing
systems for games, including the hardware, software, and their interface. For
more than the sake of automation or communication, games have exploited a
unique affordance of computers, the ability to simulate & ask questions of
“what if?” This course will go beyond
only creating games, and will challenge students to critically reflect on how
the architectural and programming choices in games can encode inequality and
particular worldviews procedurally, as much as other game elements like visuals,
audio and narrative. We will cover the low-level aspects of games platforms:
graphics programming, networking, and peripherals; mid-level concerns: software
engineering, design patterns, concurrency, and interfaces; and higher-level
issues related to emulation, ethics, platform studies and media archaeology.
Prerequisites: CMSC 201, Data Structures.
Cross-listed courses:
Course:
|
MUS 262 Topics in
Music Software: Introduction to Max/Msp |
|||||
Professor:
|
Matthew Sargent |
|||||
CRN: |
15439 |
Schedule/Location: |
Mon Wed 11:50 AM
– 1:10 PM Blum Music Center N119 |
|||
Distributional Area: |
AA Analysis of Art |
|||||
Credits: 4 |
|
Class cap 15 |
||||
Crosslists: Computer Science; Experimental Humanities |
||||||