Hide Advanced Options
Courses - Summer 2023
CMSC
Computer Science Department Site
CMSC122
Introduction to Computer Programming via the Web
Credits: 3
Grad Meth: Reg
CORE: IE
GenEd: DSSP
Restriction: Must not have completed any courses from CMSC131-499 course range; and must not be concurrently enrolled in CMSC131.
Credit only granted for: CMSC106, or CMSC122.
Introduction to computer programming in the context of developing full featured dynamic web sites. Uses a problem solving approach to teach basics of program design and implementation using JavaScript; relates these skills to creation of dynamic web sites; then explores both the potential and limits of web-based information sources for use in research. Intended to help relate a student's major to these emerging technologies.
CMSC125
Introduction to Computing
Credits: 3
Grad Meth: Reg, P-F, Aud
GenEd: DSSP
Prerequisite: Must have completed or be concurrently enrolled in MATH115 or higher.
Restriction: Must not be in the Computer Science program; and must not have completed any courses from CMSC131-499; and must not have completed BMGT302, IMDM127 or INST126.
Introduces you to the computing field as a whole. You will gain skills used across the spectrum of computing majors and learn about the great variety of routes into the various areas of study and employment in technological fields.
CMSC131
Object-Oriented Programming I
Credits: 4
Grad Meth: Reg
Corequisite: MATH140.
Credit only granted for: CMSC131, CMSC133, or IMDM127.
Introduction to programming and computer science. Emphasizes understanding and implementation of applications using object-oriented techniques. Develops skills such as program design and testing as well as implementation of programs using a graphical IDE. Programming done in Java.
CMSC132
Object-Oriented Programming II
Credits: 4
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC131; or must have earned a score of 5 on the A Java AP exam; or must have earned a satisfactory score on the departmental placement exam. And minimum grade of C- in MATH140.
Introduction to use of computers to solve problems using software engineering principles. Design, build, test, and debug medium -size software systems and learn to use relevant tools. Use object-oriented methods to create effective and efficient problem solutions. Use and implement application programming interfaces (APIs). Programming done in Java.
CMSC216
(Perm Req)
Introduction to Computer Systems
Credits: 4
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC132; and minimum grade of C- in MATH141.
Restriction: Must be in a major within the CMNS-Computer Science department; or must be in Engineering: Computer program; or must be in the Computer Science Minor program; and Permission of CMSC - Computer Science department.
Introduction to the interaction between user programs and the operating system/hardware. Major topics include C programming, introductory systems programming, and assembly language. Other concepts covered include UNIX, machine data representation, thread management, optimization, and virtual memory. Programming is done in the Linux Environment.
CMSC250
(Perm Req)
Discrete Structures
Credits: 4
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC131; and minimum grade of C- in MATH141.
Restriction: Must be in a major within the CMNS-Computer Science department; or must be in Engineering: Computer program; or must be in the Computer Science Minor program; and Permissions of CMSC - Computer Science department.
Fundamental mathematical concepts related to computer science, including finite and infinite sets, relations, functions, and propositional logic. Introduction to other techniques, modeling and solving problems in computer science. Introduction to permutations, combinations, graphs, and trees with selected applications.
CMSC320
(Perm Req)
Introduction to Data Science
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC216 and CMSC250.
Restriction: Permission of CMNS-Computer Science department.
Credit only granted for: STAT426 or CMSC320.
An introduction to the data science pipeline, i.e., the end-to-end process of going from unstructured, messy data to knowledge and actionable insights. Provides a broad overview of several topics including statistical data analysis, basic data mining and machine learning algorithms, large-scale data management, cloud computing, and information visualization.
CMSC330
(Perm Req)
Organization of Programming Languages
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC250 and CMSC216.
Restriction: Must be in a major within the CMNS-Computer Science department; or must be in the Computer Science Minor program; or must be in Engineering: Computer program; and Permission of CMSC - Computer Science department.
A study of programming languages, including their syntax, semantics, and implementation. Several different models of languages are discussed, including dynamic, scripting (e.g., Ruby, Python) functional (e.g., OCaml, Haskell, Scheme), and memory safe systems programming (e.g., Rust). Explores language features such as formal syntax, scoping and binding of variables, higher-order programming, typing, and type polymorphism. Introduces finite automata, context free grammar, parsing, lambda calculus, and basics of security attacks and software security.
CMSC335
(Perm Req)
Web Application Development with JavaScript
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC216 and CMSC250.
Restriction: Permission of CMNS-Computer Science Department.
Credit only granted for: CMSC389N or CMSC335.
Formerly: CMSC389N.
Provides an introduction to modern ways of developing Web Applications/Services using JavaScript for both front-end and back-end. The course covers topics on fundamental JavaScript language constructs, server-side JavaScript, back-end data persistence, and client-side JavaScript to build Web Applications that interact with Web services and back-end databases.
This course will be entirely online, but exams will be held in-person. The mid-term will be held on Thursday, June 22 and the final will be held on Thursday, July 20. Please plan accordingly. Questions about the course should be directed to Andrej Rasevic at arasevic@cs.umd.edu
CMSC351
(Perm Req)
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC250 and CMSC216.
Restriction: Must be in a major within the CMNS-Computer Science department; or must be in Engineering: Computer program; or must be in the Computer Science Minor program; and Permission from the CMSC - Computer Science department.
Credit only granted for: CMSC251 or CMSC351.
A systematic study of the complexity of some elementary algorithms related to sorting, graphs and trees, and combinatorics. Algorithms are analyzed using mathematical techniques to solve recurrences and summations.
CMSC398G
(Perm Req)
Special Topics in Computer Science; Introduction to Distributed Systems
Credits: 3
Grad Meth: Reg
Questions about the course should be directed to Andrej Rasevic at arasevic@cs.umd.edu.
CMSC411
(Perm Req)
Computer Systems Architecture
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC330; or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Restriction: Permission of CMNS-Computer Science department.
Credit only granted for: ENEE446 or CMSC411.
Input/output processors and techniques. Intra-system communication, buses, caches. Addressing and memory hierarchies. Microprogramming, parallelism, and pipelining.
CMSC422
(Perm Req)
Introduction to Machine Learning
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC320, CMSC330, and CMSC351; and 1 course with a minimum grade of C- from (MATH240, MATH341, MATH461); and permission of CMNS-Computer Science department.
Machine Learning studies representations and algorithms that allow machines to improve their performance on a task from experience. This is a broad overview of existing methods for machine learning and an introduction to adaptive systems in general. Emphasis is given to practical aspects of machine learning and data mining.
CMSC425
(Perm Req)
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC330 and CMSC351.
Restriction: Permission of CMNS-Computer Science department.
An introduction to the principles and practice of computer game programming and design. This includes an introduction to game hardware and systems, the principles of game design, object and terrain modeling, game physics, artificial intelligence for games, networking for games, rendering and animation, and aural rendering. Course topics are reinforced through the design and implementation of a working computer game.
CMSC430
Introduction to Compilers
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC330 and CMSC351; and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Topics include lexical analysis, parsing, intermediate representations, program analysis, optimization, and code generation.
CMSC460
(Perm Req)
Computational Methods
Credits: 3
Grad Meth: Reg, P-F
Prerequisite: 1 course with a minimum grade of C- from (MATH240, MATH341, MATH461); and 1 course with a minimum grade of C- from (MATH241, MATH340); and 1 course with a minimum grade of C- from (CMSC106, CMSC131); and minimum grade of C- in MATH246.
Cross-listed with: AMSC460.
Credit only granted for: AMSC460, AMSC466, CMSC460, or CMSC466.
Basic computational methods for interpolation, least squares, approximation, numerical quadrature, numerical solution of polynomial and transcendental equations, systems of linear equations and initial value problems for ordinary differential equations. Emphasis on methods and their computational properties rather than their analytic aspects. Intended primarily for students in the physical and engineering sciences.
CMSC798
(Perm Req)
Master's Non-Thesis Research
Credits: 1 - 3
Grad Meth: Reg, Aud
Contact department for information to register for this course.
CMSC799
(Perm Req)
Master's Thesis Research
Credits: 1 - 6
Grad Meth: S-F
Contact department for information to register for this course.
CMSC898
(Perm Req)
Pre-Candidacy Research
Credits: 1 - 8
Grad Meth: Reg
Contact department for information to register for this course.
CMSC899
Doctoral Dissertation Research
Credits: 1 - 8
Grad Meth: S-F
Contact department for information to register for this course.