91075

CMSC 116   Introduction to Computing: Semantic Web

Robert McGrail

                 Lab A:

                 Lab B:

                 Lab C:

                 Lab D:

M . . . .

. . W . .

. . . Th .

. . . . F

. . . . F

10:10 - 11:30 am

10:30 - 12:30 pm

1:10 -3:10 pm

10:30 - 12:30 pm

3:30 -5:30 pm

RKC 103

RKC 100

RKC 100

RKC 100

RKC 100

MATC

Cross-listed:  Cognitive Science  This course is an introduction to semantically intelligent content management for the World Wide Web.  Participants in this course will construct social networking software, similar in scope to weblogs or facebook, using an advanced content management system.  Strong emphasis will be placed on the development of flexible applications that efficiently store and process data and metadata.  In addition to basic computer programming, various XML technologies will be introduced and employed. Prerequisite: eligibility for Q courses. This course has lab options.

 

91082

CMSC 131   Cognitive Science

Rebecca Thomas

                      Lab:

. T . Th .

. . . . F

8:30 -9:50 am

8:00 -9:50 am

RKC 101

RKC 107

SSCI

Cross-listed: Cognitive Science, Philosophy, Psychology   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 hands-on experience analyzing neural and behavioral data as well as with computational modeling.  Prerequisites: pre-calculus or its equivalent and a willingness to engage a broad variety of ideas and approaches from the natural, mathematical, and social sciences. 

 

91076

CMSC 143   Object-Oriented Programming with Robots

Keith O'Hara

M . W . .

. . . . F

10:10 - 11:30 am

10:30 - 12:30 pm

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.

 

91077

CMSC 201   Data Structures

Rebecca Thomas

                       Lab:

. T . Th .

. . . . F

3:10 -4:30 pm

1:30 -3:30 pm

RKC 100

MATC

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.

 

91078

CMSC 327   Distributed Systems

Keith O'Hara

M . W . .

1:30 -2:50 pm

RKC 100

 

Computing systems are increasingly built in a networked, distributed manner.  These systems, often spanning the globe, coordinate to solve problems involving massive amounts of data in a highly fault tolerant fashion.  Students will study the challenges introduced when extending traditional computing systems concepts (e.g. shared state, hardware abstraction, scheduling, file systems, timing, authentication) to a networked setting. In this course, students will explore the different architectures, algorithms, and technologies used to design, build, and evaluate distributed computer systems. Prerequisite: Computer Science 201 or permission of the instructor.