99279

CMSC 115   Introduction to Computing: Simulating Reality

Sven Anderson

. T . Th .

10:30 - 12:30 pm

RKC 100

MATC

Cross-listed: Cognitive Science   How do rumors and fashions spread in society?  Does a small change in environmental temperature disrupt an ecosystem?  Questions like these are explored using computers to create virtual worlds.  This introduction to modeling and simulation is intended for students who are interested in creating computer models of objects, processes, and complex systems using computer software.  Students will create and run several different simulation model types drawn from a variety of disciplines, including: artificial life, cognitive science, economics, environmental science, evolution, neuroscience, physics, and political science.  Students will gain a practical understanding of how to combine mathematical modeling, computer simulation, and data analysis as they use and create software that enables them to build simulation models that answer a practical need and/or scientific question.  No prior knowledge of computer programming is required.  Prerequisite: strong background in pre-calculus mathematics or its equivalent and successful completion of Q exam.

 

99280

CMSC 116   Introduction to Computing: Semantic Web

Robert McGrail

                Lab A:

                Lab B:

M . . . .

. T . . .

. . W . .

1:30 -2:50 pm

1:30 -3:30 pm

1:30 -3:30 pm

RKC 103

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.

 

99281

CMSC 131   Cognitive Science

Sven Anderson

. T . Th .

2:30 -3:50 pm

RKC 111

SSCI

 

 

                   Lab:

. . . . F

2:00 -4:00 pm

RKC 107

 

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. 

 

99510

CMSC 143   Introduction to Object-

Oriented Programming with Robots

Keith O’Hara

M . W . .

9:00 - 10:20 am

RKC 107

MATC

 

 

                  Lab:

. . . . F

9:00 – 11:00 am

RKC 107

 

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.

 

99283

CMSC 201   Advanced Programming and Data Structures

Rebecca Thomas

                         Lab:

M . W . .

. . . . F

10:30 - 11:50 am

11:00-1:00 pm

RKC 100

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

 

99284

CMSC 305   Design of Programming

Robert McGrail

M . W . .

9:00 - 10:20 am

RKC 100

MATC

 

Languages

                  Lab:

. . . . F

9:00 - 11:00 am

RKC 100

 

Cross-listed: Cognitive Science   This course will cover a selection of issues important to the design of programming languages including, but not limited to, type systems, procedure activation, parameter passing, data encapsulation, dynamic memory allocation, and concurrency.  In addition, the functional, logic, and object-oriented programming paradigms will be presented as well as a brief history of high-level programming languages. Students will be expected to complete a major programming project in Standard ML of New Jersey as well as other programming assignments in Java or Prolog. Prerequisite:  CMSC 201

 

99292

CMSC 360   Intelligent Robotics and Perception

Keith O’Hara

M . W . .

3:00 -4:20 pm

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.