92334

CMSC 116

 Intro to Computing: WEB INFORMATICS

Robert McGrail

 T  Th    10:10-12:10 pm

RKC 100

MC

MATC

This course is an introduction to content deployment for the World Wide Web.  Participants in this course will construct social networking software, similar in scope to blogs or Facebook, using a dynamic web programming 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: Passing score on Part I of the Mathematics Diagnostic.  Class size: 12

 

91915

CMSC 131

 FOUndAtIOns OF Mind, Brain, AND Behavior

Sven Anderson

    Lab:

M  W      1:30-2:50 pm

   F         1:30-3:30 pm

RKC 100

RKC 107

LS

SCI

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

*****************************************************************************************************************************************************************************

 

91916

CMSC 141 A

 Object Oriented Programming

Kerri-Ann Norton

M  W      10:10-11:30 am

RKC 107

MC

MATC

Cross-listed: Experimental Humanities; Mind, Brain, Behavior  This course introduces students to the methodologies of object-oriented design and programming, which are used throughout the Computer Science curriculum. Students will learn how to move from informal problem statement, through increasingly precise problem specifications, to design and implementation of a solution for problems drawn from areas such as graphics, animation, and simulation. Good programming and documentation habits are emphasized.  Class size: 20

 

92469

CMSC 141 B

 Object Oriented Programming

Kerri-Ann Norton

M  W      3:10-4:30 pm

RKC 107

MC

MATC

See above.

CMSC 141 Lab Options (register separately)

 

91917

CMSC 141 LBA

 Object Oriented Program Lab

Kerri-Ann Norton

    F        10:30-12:30 pm

RKC 107

MC

MATC

Class size: 18

 

91918

CMSC 141 LBB

 Object Oriented Program Lab

Kerri-Ann Norton

   Th       9:30-11:30 am

RKC 107

MC

MATC

Class size: 18

*****************************************************************************************************************************************************************************

 

91919

CMSC 201

 Data Structures

Keith O'Hara

   Lab:

M  W      10:10-11:30 am

    F        10:30-12:30 pm

RKC 100

RKC 100

MC

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

 

91921

CMSC 226

 Principles of Computing Systems

Keith O'Hara

M  W      1:30-2:50 pm

RKC 107

MC

MATC

This course takes a systems perspective to the study of computers.  As our programs scale up from a single author, user, and computer to programs designed, written, maintained, and used by multiple people that run on many computers (sometimes at the same time), considerations beyond algorithms alone are magnified. Design principles and engineering practices help us cope with this complexity: version control for multiple authors, input validation for multiple (adversarial) users, build automation tools for multiple platforms, process and thread models for parallelism.  From how numbers are represented in hardware to how instruction-level parallelism and speculation can lead to bugs: the design, implementation, evaluation, safety and security of computing systems will be stressed. Students will explore computers from the ground up, using a variety of programming languages (including assembly) and tools like the command line, debuggers, and version control.  Pre-requisites: Object-Oriented Programming or permission of instructor.  Class size: 18

 

91922

CMSC 305

 Design of Programming Languages

Robert McGrail

 Lab:

 T  Th    1:30-2:50 pm

   F         1:30-3:30 pm

RKC 100

RKC 100

MC

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 Data Structures.  Class size: 18

 

91923

CMSC 352

 Machine Learning

Sven Anderson

M    F     8:30-9:50 am

RKC 107

MC

MATC

Cross-listed: Mathematics; Mind, Brain, Behavior    Machine learning is a field in which algorithms learn to improve themselves based on their interactions with an environment.  In this course, we explore a broad array of techniques from machine learning and statistical pattern recognition.  Topics will include a mix of unsupervised learning, clustering, dimensionality reduction, supervised learning, neural networks, reinforcement learning, and learning theory.  An emphasis is placed on mathematical analysis leading to computer-based implementation.  Applications will be drawn from areas such as computer vision, speech recognition, autonomous navigation, natural language processing, and data mining.  Pre-requisites: Calculus 2 and Data Structures.  Some background in probability and/or linear algebra is advised. Class size: 18