15581

ML 101

 Data Visualization

Keith O'Hara

. T . Th .

10:10am- 11:30am

RKC 100

N/A

2 credits  Datasets, and their graphical manifestations, are a common mode of argument and persuasion in modern daily life. This class will challenge students to critically engage with the rhetorical function of information visualization. This criticism (i.e. reading) will be complemented and reinforced by creating new visualizations (i.e. writing), a process that is part science, part design and part art. In this short course, students will use a variety of computational platforms including pencil and paper, spreadsheets, software visualization toolkits, and their own small programs to bring datasets to graphical life. The pitfalls and advantages of various methods of presenting numeric, geographic and textual datasets will be constructed and deconstructed. No prerequisites.  The course meets twice a week during the last seven weeks of the semester. This Modern Literacy course does not satisfy the MATC distribution requirement.. Class size: 20

 

 

15119

CMSC  115   

 Introduction to Computing: Simulating Reality

Sven Anderson

. T . Th .

3:10pm-4:30pm

RKC 100

MATC

Cross-listed: Mind, Brain & Behavior    How do rumors, fashions and viruses spread?  What properties make a person or web page important?  This introduction to modeling and simulation is intended for students who are interested in answering such questions using computer modeling.  The models we build will emphasize situations such as animal herds and social networks in which a large number of individuals interact, thereby creating interesting aggregate phenomena such as flocking and small-world networks. Students will create and explore several different simulation model types drawn from a variety of disciplines, including artificial intelligence, economics, ecology, and political science.  They will gain a practical understanding of how to combine mathematical modeling, computer simulation, and data analysis as they build simulation models designed to 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 a passing score on Part Two of the Mathematics Diagnostic. Class size: 20

 

15120

CMSC  143   

 Object-Oriented Programming

 with Robots

Keith O'Hara

 

                          LAB:

. T . Th .

 

. . . . F

1:30pm-2:50pm

 

1:30pm-3:30pm

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

 

15121

CMSC  145   

 Discrete Math

Joseph Kirtland

. T . Th .

4:40pm-6:00pm

RKC 101

MATC

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.  Class size: 16

 

15122

CMSC  201   

 Data Structures

Rebecca Thomas

 

                           LAB:

. T . Th .

 

. . . . F

1:30pm-2:50pm

 

1:30pm-3:30pm

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

 

15123

CMSC  312   

 Theory of Computation

Rebecca Thomas

. T . Th .

8:30am-9:50am

RKC 101

MATC

The course will introduce several computational models that have been developed to formalize the notion of an algorithm. It will also discuss in detail several of the primary topics in the theory of computation including the theory of recursive functions, Turing machines, and several undecidable problems such as the Halting problem. Prerequisites: Computer Science 301 and Mathematics 231/ 235.  Class size: 24

 

15126

CMSC  321   

 Databases: Theory & Practice

Robert McGrail

 

                           LAB:

. T . Th .

 

. . W . .

1:30pm-2:50pm

 

1:00pm-3:00pm

RKC 101

RKC 100

MATC

An introduction to the design, implementation, and uses of databases. Topics include database design, database models, integrity, concurrency, security, and database query languages. Prerequisite: a 100-level Computer Science course.   Class size: 20

 

15127

CMSC  326   

 Operating Systems

Sven Anderson

 

                            LAB:

. T . Th .

 

. . . . F

10:10am-11:30am

 

10:10am-12:10pm

RKC 107

RKC 107

MATC

Cross-listed: Mind, Brain & Behavior  The operating system provides the interface that makes it possible for users and their programs to interact with computer hardware. Whether on a mainframe or mobile phone, the operating system is makes it possible for a computer to be shared by many users and processes in a secure manner.  This course will examine the major components of modern operating systems with an emphasis on how processes and memory are managed for efficiency and security.  Class participants will gain in-depth familiarity with principles of operating system design by modifying components of a fully functional operating system.  Prerequisite: CMSC 201 Data Structures   Class size: 16