91623

CMSC  101   

 The Craft of Computing

Keith O’Hara

. T . . .

11:50 am -1:10 pm

RKC 100

MATC

1 credit  This seminar introduces students to the burgeoning field of computing from Bard’s program to beyond.  Through the work of pioneers like Simon, Papert, Kay, and Knuth we will explore the past, present and future of computing; exploring the question of digital literacy and the roles of production, analysis, and consumption. This foundational discussion will be accompanied by a practical introduction to the craft of computing, developing necessary skills like editing, scripting, and version control. The seminar provides students with the opportunity to work with other computer science students in the lower college, meet all the computer science faculty, and learn about potential career directions. This course is intended for students in their first three semesters.  Class size: 20

 

91620

CMSC  131   

introduction to Mind, Brain and Behavior

Sven Anderson

M . W . .

. . . . F

8:30 am -9:50 am

8:30 am -10:30 am

RKC 100

RKC 107

SCI

Cross-listed: Mind, Brain & Behavior; 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.   Class size: 22

 

91624

CMSC  143   A

 Object-Oriented Programming

 with Robots

Khondaker Salehin

                     Lab:

M . W . .

. . . . F

10:10 am -11:30 am

10:30 am -12:30 pm

RKC 107

RKC 107

MATC

Cross-listed:  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

 

91625

CMSC  143   B

 Object-Oriented Programming 

with Robots

Keith O’Hara

                     Lab:

M . W . .

. . . . F

1:30 pm -2:50 pm

1:30 pm -3:30 pm

RKC 107

RKC 107

MATC

See above.  Class size: 18

 

91621

CMSC  201   

 Data Structures

Keith O’Hara

                     Lab:

M . W . .

. . . . F

10:10 am -11:30 am

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: 20

 

91626

CMSC  225   

 Computer Architecture

Khondaker Salehin

                      Lab:

M . W . .

. . . Th .

3:10 pm -4:30 pm

1:30 pm -3:30 pm

RKC 107

RKC 107

MATC

This course is an introduction to the structure and operation of a modern computer architecture. Topics will include instruction sets, pipelining, instruction-level parallelism, caches, memory hierarchies, storage systems and multiprocessors. Assembly language programming will be used to demonstrate the concepts.  Prerequisites: Computer Science 143, Object-Oriented Programming.  Class size: 16

 

91622

CMSC  305   

 Design of Programming Languages

Robert McGrail

M . W . .

. . . . F

1:30 pm -2:50 pm

1:30 pm -3:30 pm

RKC 100

RKC 100

MATC

Cross-listed: Mind, Brain & Behavior      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. Class size: 20

 

91627

CMSC  352   

 Biology-Inspired Machine Learning

Sven Anderson

M . W . .

11:50 am -1:10 pm

RKC 107

MATC

In this course, we will examine computation as a metaphor for understanding adaptive systems.  We will study several biological systems and relate them to abstract models that incorporate elements of their data structures, information processing, and learning.  Neuron models, neural networks, and evolutionary learning will be studied using mathematics and computer simulation.  This course emphasizes information processing, pattern recognition, and associated computational abilities of artificial models, but takes an ethological approach to understanding how natural and artificial intelligent systems adapt to their environment.  No background in biology is assumed. Prerequisites: Calculus I and Computer Science II.  Class size: 20