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.