16064 |
CMSC 117 Intro to
Computing:Interactive |
Keith O'Hara |
T Th 1:30 pm-2:50 pm |
RKC 100 |
MATC |
Cross-listed: Experimental Humanities This course
introduces students to computing through the construction of interactive
computing systems, exploring the interface between the physical and virtual
worlds. Students will explore creative computation through programming projects
involving 2D and 3D graphics, animation, interactivity, and the visualization
of data. No prior knowledge of computer programming is required. Prerequisite:
passing score on part 1 of the Mathematics Diagnostics. Class size: 18
16065 |
CMSC 143 Object-Oriented
Programming with Robots |
Khondaker Salehin |
M
W 10:10 am-11:30 am LAB:
F 10:30 am-12:30 pm |
RKC 107 |
MATC |
Cross-listed: Experimental Humanities; Mind, Brain, Behavior This course introduces
students with prior programming experience to object-oriented design and
programming through the design and implementation of mobile robot programs. The
programs will enable the robot to move around the world, reacting to sensors
such as obstacle detectors and a color camera. Students will learn how to
move from an informal problem statement, through increasingly precise problem
specifications, to design and implementation of a solution. Good
programming habits will be emphasized. Purchase of a small personal robot (to
be specified by the instructor) is recommended. Prerequisite: any Introduction
to Computing course, or permission of the instructor. Class
size: 18
16066 |
CMSC 145 Discrete Math |
Robert McGrail |
T Th 1:30 pm-2:50 pm |
RKC 101 |
MATC |
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. Class
size: 16
16067 |
CMSC 201 Data Structures |
Sven Anderson |
M
W 10:10 am-11:30 am Lab:
F 10:30 am-12:30 pm |
RKC 100 RKC 100 |
MATC |
Cross-listed: 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. Class size: 18
16068 |
CMSC 301 Algorithms |
Sven Anderson |
M
W 1:30 pm-2:50 pm |
RKC 103 |
MATC |
Cross-listed: 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, MATH
141, and Discrete Mathematics (CMSC 145/235/242). Students may substitute
MATH 231 for Discrete Mathematics. Class size: 24
16069 |
CMSC 312 Theory of Computation |
Robert McGrail |
T Th 10:10 am-11:30 am |
RKC 100 |
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. Class size: 20
16070 |
CMSC 335 Computer Networks |
Khondaker Salehin |
M
W 3:10 pm-4:30 pm Lab: Th 1:30 pm-3:30 pm |
RKC 107 RKC 107 |
MATC |
This course takes a bottom-up approach to
computer networking, covering in detail the physical, data link, MAC, network,
transport, and application layers. TCP/IP and OSI reference models are
introduced with examples taken from the Internet, ATM networks, and wireless
networks. Prerequisite: Computer Science 142.
Class size: 16
16071 |
CMSC 360 Intelligent Robotics and
Perception |
Keith O'Hara |
T Th 08:30 am-09:50 am |
RKC 107 |
MATC |
This course
provides an overview of topics in computational perception, machine learning,
and robotics. Students will learn the underlying principles and methods
of intelligent robotic systems, including techniques from sensor processing,
robot software architecture, and supervised, unsupervised, and reinforcement
learning. Throughout the semester, students will collaborate as a team to
build an intelligent robotic system of their choice. Prerequisite: Computer
Science 201 or permission of the instructor. Class size: 18