11239 |
CMSC 113 Introduction to Computing: Robotics |
Rebecca Thomas |
. T . Th . |
1:00 -3:00 pm |
RKC 107 |
MATC |
Cross-listed: 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 shoebox-sized 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.
11243 |
CMSC 117 Introduction to Computing: Interactive Systems |
Keith O'Hara |
M . W . . |
1:30 -2:50 pm |
RKC 107 |
MATC |
This course introduces students to computing through the construction of interactive computing systems. Students will explore computing by programming graphics, perception, and robotics systems; learning how computers can manipulate the physical world as well as calculate in the virtual world. Programming projects include creating 2D and 3D pieces of art, automatically analyzing photos and video from digital cameras, and making machines walk and talk. No prior knowledge of computer programming is required. Prerequisite: eligibility for Q courses.
11244 |
CMSC 143 Object-Oriented Programming with Robots |
Keith O'Hara
LAB: |
. . W . F M . . . . |
9:00 - 10:20 am 9:00 – 11:00 am |
RKC 107 |
MATC |
Cross-listed:
Cognitive Science 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.
11469 |
CMSC 145 Discrete Math |
Sven Anderson |
M . W . . |
9:00 - 10:20 am |
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.
11470 |
CMSC 233 Mobile Applications and
Interfaces |
Sven Anderson |
. . W . . |
7:00 -9:00 pm |
RKC 100 |
MATC |
(2 credits) This course provides a hands-on introduction to the design of applications on hand-held mobile devices characterized by limited computational and interface resources. Particular emphasis will be placed on developing software interface designs that incorporate the specialized input-output capabilities of these devices such as wireless communication, spoken interfaces, and image capture. Students will be assigned to small teams that work together to develop applications for this platform. Prerequisite: CMSC 201.
11471 |
CMSC 251 Introduction to Artificial Intelligence |
Sven Anderson |
. T . Th . |
3:00 -5:00 pm |
RKC 107 |
MATC |
Cross-listed:
Cognitive Science An
introduction to artificial intelligence principles and techniques with an
emphasis on elements of artificial intelligence that are compatible with
current understanding of 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: One of CMSC
111-117, 141-143, or programming experience.
11241 |
CMSC 301 Algorithms |
Robert McGrail |
. T . Th . |
1:00 -2:20 pm |
RKC 100 |
MATC |
Cross-listed: Cognitive Science 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.
11472 |
CMSC 325 Advanced Hardware: Multiprocessor
Computer Architecture |
Rebecca Thomas |
. T . Th . |
10:00 - 12:00 pm |
RKC 107 |
MATC |
Modern desktop computers typically contain multiple microprocessors. In order to take full advantage of these new machines, one must understand a number of interlocking hardware and software issues, including instruction-level and thread-level parallelism, architectures for shared memory, and dynamic scheduling. This course will combine principles of computer organization as applied to multiprocessor systems with case studies of several extant multicore architectures. Prerequisite: CMSC 201.