Introduction to Data Analytics and R Programming

 

Professor:

Jordan Ayala

 

Course Number:

CMSC 121

CRN Number:

10024

Class cap:

18

Credits:

4

 

Schedule/Location:

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

 

 

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

 

Distributional Area:

MC Mathematics and Computing  

 

Crosslists: Environmental Studies

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.

 

Object-Oriented Programming

 

Professor:

Theresa Law

 

Course Number:

CMSC 141

CRN Number:

10025

Class cap:

18

Credits:

4

 

Schedule/Location:

 Tue  Thurs    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.

 

Discrete Math

 

Professor:

Kerri-Ann Norton

 

Course Number:

CMSC 145

CRN Number:

10026

Class cap:

18

Credits:

4

 

Schedule/Location:

  Tue  Thurs  3:00 PM - 4:20 PM Reem Kayden Center 100

 

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.

 

Data Structures

 

Professor:

Kerri-Ann Norton

 

Course Number:

CMSC 201

CRN Number:

10027

Class cap:

18

Credits:

4

 

Schedule/Location:

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

 

 

    Fri   10:00 AM - 12: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.

 

Algorithmic Bias and Data Ethics

 

Professor:

Valerie Barr

 

Course Number:

CMSC 205

CRN Number:

10028

Class cap:

18

Credits:

2

 

Schedule/Location:

 Tue  Thurs    10:10 AM - 11:30 AM Reem Kayden Center 101 (March 25 – May 20)

 

Distributional Area:

MC Mathematics and Computing  

 

Crosslists: Human Rights

Increasingly, algorithms are being used to automate decisions about many aspects of our lives. These algorithms are usually derived by applying machine learning techniques to enormous data sets.  We expect these algorithms to be fair, but in reality they replicate many social biases.  This course will explore the existing biases of data, of programmers, and in the decisions made as these systems are constructed.  Through readings, discussion, presentations, we will  examine the complexities of data-driven algorithmic decision making. Students who co-enroll in BLC 220 Digital Literacies and Scholarship can count the combination as a 4-credit elective for the Data Analytics Second Focus. Prerequisites: CMSC 121 or CMSC 141 or CMSC 143 or permission of the instructor.

 

Principles:Computing Systems

 

Professor:

Sven Anderson

 

Course Number:

CMSC 226

CRN Number:

10029

Class cap:

18

Credits:

4

 

Schedule/Location:

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

 

Distributional Area:

MC Mathematics and Computing  

 

Crosslists: Experimental Humanities

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.

 

Algorithms

 

Professor:

Sven Anderson

 

Course Number:

CMSC 301

CRN Number:

10030

Class cap:

18

Credits:

4

 

Schedule/Location:

Mon  Wed  Fri   8:50 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.

 

Software Development

 

Professor:

Valerie Barr

 

Course Number:

CMSC 375

CRN Number:

10031

Class cap:

18

Credits:

4

 

Schedule/Location:

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

 

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-losted Courses:

 

Topics in Music Software: Introduction to Max/Msp

 

Professor:

Matthew Sargent

 

Course Number:

MUS 262

CRN Number:

10497

Class cap:

15

Credits:

4

 

Schedule/Location:

Mon  Wed     10:10 AM - 11:30 AM Blum Music Center N119

 

Distributional Area:

PA Practicing Arts  

 

Crosslists: Computer Science; Experimental Humanities