Intro to Computing: Robotics

 

Professor: Theresa Law  

 

Course Number: CMSC 113

CRN Number: 10031

Class cap: 18

Credits: 4

 

Schedule/Location:

Mon       1:30 PM - 2:50 PM Reem Kayden Center 107

 

 

    Fri   1:30 PM - 2:50 PM Reem Kayden Center 101

 

Distributional Area:

MC  Mathematics and Computing   

 

Crosslists: Mind, Brain, Behavior

 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.

 

Introduction to Data Analytics and R Programming

 

Professor: Valerie Barr  

 

Course Number: CMSC 121

CRN Number: 10032

Class cap: 18

Credits: 4

 

Schedule/Location:

Mon       1:30 PM - 3:30 PM Reem Kayden Center 100

 

 

 Tue  Thurs    1:30 PM - 2:50 PM Reem Kayden Center 100

 

Distributional Area:

MC  Mathematics and Computing   

 

 

Data analytics, the process of analyzing, revealing, interpreting and visualizing information concealed inside big data, is revolutionizing daily life, as used by companies such as Amazon, Google and Facebook, for the diagnosis of medical conditions or the way medical claims are handled, for investment strategies and real estate pricing, and in academia, with the analysis of historical texts, understanding the deliberations of the Supreme Court or the European Commission, or processing large amounts of genomics data. In this class, students will be introduced to techniques, implemented via programming in R, to manipulate and pre-process data into manageable forms, perform analyses from a descriptive and predictive standpoint, and learn the basics of visualizing the result, all with a focus on story telling through data, enhancing data literacy.

 

Introduction to Mind, Brain and Behavior

 

Professor: Theresa Law  

 

Course Number: CMSC 131

CRN Number: 10033

Class cap: 18

Credits: 4

 

Schedule/Location:

Mon  Wed     3:30 PM - 4:50 PM Reem Kayden Center 100

 

 

   Thurs    3:30 PM - 5:30 PM Reem Kayden Center 100

 

Distributional Area:

LS  Laboratory Science   

 

Crosslists: 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.   

 

Object-Oriented Programming

 

Professor: Rose Sloan  

 

Course Number: CMSC 141 A

CRN Number: 10035

Class cap: 18

Credits: 4

 

Schedule/Location:

Mon  Wed     10:10 AM - 11:30 AM Reem Kayden Center 107

 

 

    Fri   10:00 AM - 12:00 PM Reem Kayden Center 107

 

Distributional Area:

MC  Mathematics and Computing   

 

Crosslists: 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, simulation. Good programming and documentation habits are emphasized.

 

Object-Oriented Programming

 

Professor: Bob McGrail  

 

Course Number: CMSC 141 B

CRN Number: 10034

Class cap: 18

Credits: 4

 

Schedule/Location:

 Tue  Thurs    10:10 AM - 11:30 AM Reem Kayden Center 107

 

 

    Fri   12:00 PM - 2:00 PM Reem Kayden Center 107

 

Distributional Area:

MC  Mathematics and Computing   

 

Crosslists: 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, simulation. Good programming and documentation habits are emphasized.

 

Discrete Math

 

Professor: Bob McGrail  

 

Course Number: CMSC 145

CRN Number: 10036

Class cap: 18

Credits: 4

 

Schedule/Location:

  Wed  Fri   10:10 AM - 11:30 AM Reem Kayden Center 101

 

Distributional Area:

MC  Mathematics and Computing   

 

Crosslists: Mathematics

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.

 

Object-Oriented Prog. Workshop

 

Professor: Sven Anderson  

 

Course Number: CMSC 157

CRN Number: 10037

Class cap: 18

Credits: 2

 

Schedule/Location:

   Thurs    3:30 PM - 4:50 PM Reem Kayden Center 107

 

Distributional Area:

MC  Mathematics and Computing   

 

 

Programming design principles like composition, modularity, encapsulation, and interfaces will be emphasized. The course will cover intermediate algorithmic problem solving in some computing context (e.g., data processing, simulation, visualization). This course serves as a bridge course to Data Structures (CMSC 201) for students with substantial prior programming experience:  students with 5 AP CS credits and permission of the instructor, those that have excelled in a CMSC 11X: Intro to Computing course, or those coming from CMSC 143 that need more programming practice.   Prerequisite: CMSC 11X or CMSC 143.

 

Data Structures

 

Professor: Kerri-Ann Norton  

 

Course Number: CMSC 201

CRN Number: 10038

Class cap: 18

Credits: 4

 

Schedule/Location:

 Tue  Thurs    10:10 AM - 11:30 AM Reem Kayden Center 100

 

 

    Fri   12:00 PM - 2:00 PM Reem Kayden Center 100

 

Distributional Area:

MC  Mathematics and Computing   

 

Crosslists: 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.

 

Algorithms

 

Professor: Sven Anderson  

 

Course Number: CMSC 301

CRN Number: 10039

Class cap: 18

Credits: 4

 

Schedule/Location:

Mon  Wed  Fri   9:00 AM - 9:50 AM Reem Kayden Center 100

 

Distributional Area:

MC  Mathematics and Computing   

 

Crosslists: Mathematics; Mind, Brain, Behavior

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 and either CMSC 145 or Math 261.

 

Bioinformatics & Beyond

 

Professor: Kerri-Ann Norton  

 

Course Number: CMSC 320

CRN Number: 10040

Class cap: 18

Credits: 4

 

Schedule/Location:

 Tue  Thurs    11:50 AM - 1:10 PM Reem Kayden Center 107

 

Distributional Area:

MC  Mathematics and Computing   

 

 

This course introduces students with prior object-oriented programming experience to the basics of bioinformatics and biological statistical analysis. The students will develop the necessary tools for analyzing and aligning biological sequences, building phylogenetic trees, and using statistical tests. By the end of this course they will learn how to develop a hypothesis, test their hypothesis, and statistically analyze their data. Prerequisite: CMSC275 (Stats for Computing), BIO 244 (BioStats), or permission of the instructor.

 

Machine Learning

 

Professor: Rose Sloan  

 

Course Number: CMSC 352

CRN Number: 10041

Class cap: 18

Credits: 4

 

Schedule/Location:

Mon  Wed     3:30 PM - 4:50 PM Reem Kayden Center 107

 

Distributional Area:

MC  Mathematics and Computing   

 

 

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.

 

Software Development

 

Professor: Valerie Barr  

 

Course Number: CMSC 375

CRN Number: 10042

Class cap: 18

Credits: 4

 

Schedule/Location:

 Tue  Thurs    10:10 AM - 11:30 AM Reem Kayden Center 102

 

Distributional Area:

MC  Mathematics and Computing   

 

 

The building of large software systems introduces new challenges for software development. Appropriate design decisions and programming methodology can make a major difference in developing software that is correct and maintainable. This course will cover strategies for the systematic design, implementation, and testing of large software systems, including design notations, tools, and techniques that are used to build correct and maintainable software.  These strategies will help students improve their skills in designing, writing, debugging, and testing software. This course is programming intensive and will include both individual and team software development projects. Prerequisites: CMSC 201 Data Structures

 

Cross-listed Courses:

 

Scientific Computing

 

Course Number: MATH 301

CRN Number: 10054

Class cap: 15

Credits: 4

 

Professor:

Stefan Mendez-Diez

 

Schedule/Location:

 Tue  Thurs    11:50 AM - 1:10 PM Albee 100

 

Distributional Area:

MC  Mathematics and Computing   

 

Crosslists:

Computer Science

 

Topics in Music Software: Introduction to Max/Msp

 

Course Number: MUS 262

CRN Number: 10562

Class cap: 15

Credits: 4

 

Professor:

Matthew Sargent

 

Schedule/Location:

 Tue  Thurs    1:30 PM - 2:50 PM Blum Music Center N119

 

Distributional Area:

PA  Practicing Arts   

 

Crosslists:

Computer Science; Experimental Humanities