Hide Advanced Options
Courses - Fall 2017
CMSC
Computer Science Department Site
CMSC100
(Perm Req)
Bits and Bytes of Computer Science
Credits: 1
Grad Meth: Reg
Restriction: For first time freshmen and first time transfer computer science majors.
Students are introduced to the field (and disciplines) of computer science within a small classroom setting. They will learn to make a successful transition from high school to the university, while exploring study skills, student success plans and research opportunities.
CMSC106
Introduction to C Programming
Credits: 4
Grad Meth: Reg
Prerequisite: MATH115.
Restriction: Must not be in Computer Science program; and must not have completed any courses from CMSC131-499 course range.
Design and analysis of programs in C. An introduction to computing using structured programming concepts. Intended for students with no or minimal programming experience.
CMSC122
Introduction to Computer Programming via the Web
Credits: 3
Grad Meth: Reg, P-F, Aud
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: CMSC122 or CMSC198N.
Formerly: CMSC198N.
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.
CMSC131
(Perm Req)
Object-Oriented Programming I
Credits: 4
Grad Meth: Reg
Corequisite: MATH140; and permission of CMNS-Computer Science department.
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.
CMSC131A
(Perm Req)
Object-Oriented Programming I
Credits: 4
Grad Meth: Reg, P-F, Aud
Corequisite: MATH140; and permission of CMNS-Computer Science department.
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
(Perm Req)
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 permission of the department based on satisfactory performance on the department placement exam; and minimum grade of C- in MATH140; and permission of CMNS-Computer Science department.
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.
CMSC132H
(Perm Req)
Object-Oriented Programming II
Credits: 4
Grad Meth: Reg, P-F, Aud
Prerequisite: Minimum grade of C- in CMSC131; or must have earned a score of 5 on the A Java AP exam. Or permission of the department based on satisfactory performance on the department placement exam; and minimum grade of C- in MATH140; and permission of CMNS-Computer Science department.
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.
Corequisite: CMSC250.
Credit only granted for: CMSC212, (CMSC213 and CMSC313), or CMSC216.
Machine representation of data including integers and floating point. Modern computer architectural features and their interaction with software (registers, caches). Interaction between user programs and the OS: system class, process, and thread management. Optimizing software to improve runtime performance using both compilers and hand turning.
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: Permission of CMNS-Computer Science department.
Formerly: CMSC150.
Fundamental mathematical concepts related to computer science, includin 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.
CMSC250H
(Perm Req)
Discrete Structures
Credits: 4
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC131; and minimum grade of C- in MATH141.
Restriction: Permission of CMNS-Computer Science department.
Formerly: CMSC150.
Fundamental mathematical concepts related to computer science, includin 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.
CMSC298A
(Perm Req)
Special Topics in Computer Science
Credits: 1 - 4
Grad Meth: S-F
Contact department for information to register for this course.
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.
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; and permission of CMNS-Computer Science department.
The semantics of programming languages and their run-time organization. Several different models of languages are discussed, including procedural (e.g., C, Pascal), functional (e.g., ML, LISP), rule-based (e.g., Prolog), and object-oriented (e.g., C++, Smalltalk). Run-time structures, including dynamic versus static scope rules, storage for strings, arrays, records, and object inheritance are explored.
CMSC351
(Perm Req)
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC250 and CMSC216; and permission of CMNS-Computer Science department.
Credit only granted for: CMSC251 or CMSC351.
Additional information: CMSC351 may not count as one of the required upper level CMSC courses for students who are required to have 24 upper level CMSC credits for graduation, i.e. for students who became computer science majors prior to Fall, 2002.
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.
CMSC389K
(Perm Req)
Special Topics in Computer Science; Full-stack Web Development with Node.js
Credits: 1
Grad Meth: Reg
Prerequisite: CMSC216 and CMSC250 with a grade of C- or better. Restriction: Permission of CMNS-Computer Science department.

Students will be provided with a comprehensive, practical introduction to modern full-stack web development using JavaScript and Node.js. Starting with basic HTML/CSS/JavaScript. Then, we will move into Node.js and learn how to deploy a website from there.We will learn about Express.js (server-side development module) and MongoDB (database) in order to create a complete web application.
CMSC389L
(Perm Req)
Special Topics in Computer Science; Practical Cloud Computing with AWS
Credits: 1
Grad Meth: Reg
Prerequisite: CMSC250 and CMSC330 with a grade of C- or better. Restriction: Permission of CMSN-Computer Science department.

Students are provided with a practical and project-oriented introduction to cloud computing with Amazon Web Services (AWS). They will learn how to build applications using a variety of AWS services, including S3, EC2, Lambda, and Beanstalk. Culminating with a final resume-worthy project that will be built, deployed, and demoed to the class.
CMSC389N
(Perm Req)
Special Topics in Computer Science; Introduction to PHP and Javascript
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC250 and CMSC216; and permission of CMNS-Computer Science department.
CMSC389O
(Perm Req)
Special Topics in Computer Science; The Coding Interview
Credits: 1
Grad Meth: Reg
Prerequisite: CMSC216 and CMSC250 with a grade of C- or better. Restriction: Permission of CMNS-Computer Science department.

Students will be provided with a comprehensive, practical introduction to technical interviews. Starting with basic topics such as Big O and String Manipulation. We will then move into more complex topics such as Bit Manipulation and Dynamic Programming. Most of the classes will be "In-Class Interviews" and take-home assignments will simulate real interview settings.
CMSC390
(Perm Req)
Credits: 3
Grad Meth: Reg
Restriction: Must be admitted to the Computer Science Honors Program.
Special study or research directed toward preparation of honors paper.
Contact department for information to register for this course.
CMSC396H
(Perm Req)
Computer Science Honors Seminar
Credits: 1
Grad Meth: Reg
Prerequisite: Must have admission into Computer Science Departmental Honors Program.
Restriction: Permission of CMNS-Computer Science department.
Credit only granted for: CMSC297 or CMSC396.
Formerly: CMSC297.
Overview of computer science research activities, techniques, and tools. Diverse research areas will be covered, including systems, networks, artificial intelligence, human-computer interaction, software engineering, graphics, vision, and theory.
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.
CMSC412
(Perm Req)
Operating Systems
Credits: 4
Grad Meth: Reg
CORE: CS
Prerequisite: 1 course with a minimum grade of C- from (CMSC414, CMSC417, CMSC420, CMSC430, CMSC433, CMSC435, ENEE440).
Restriction: Permission of CMNS-Computer Science department; or must be in one of the following programs (Computer Science (Master's); Computer Science (Doctoral)).
Credit only granted for: CMSC412 or ENEE447.
A hands-on introduction to operating systems, including topics in: multiprogramming, communication and synchronization, memory management, IO subsystems, and resource scheduling polices. The laboratory component consists of constructing a small kernel, including functions for device IO, multi-tasking, and memory management.
CMSC414
(Perm Req)
Computer and Network Security
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC330 and CMSC351; or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Restriction: Permission of CMNS-Computer Science department.
Credit only granted for: CMSC414, ENEE459C, or ENEE457.
An introduction to the topic of security in the context of computer systems and networks. Identify, analyze, and solve network-related security problems in computer systems. Fundamentals of number theory, authentication, and encryption technologies, as well as the practical problems that have to be solved in order to make those technologies workable in a networked environment, particularly in the wide-area Internet environment.
CMSC417
(Perm Req)
Computer Networks
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC351 and CMSC330; and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Computer networks and architectures. The OSI model including discussion and examples of various network layers. A general introduction to existing network protocols. Communication protocol specification, analysis, and testing.
CMSC420
(Perm Req)
Data Structures
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC351 and CMSC330; and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Description, properties, and storage allocation of data structures including lists and trees. Algorithms for manipulating structures. Applications from areas such as data processing, information retrieval, symbol manipulation, and operating systems.
CMSC421
(Perm Req)
Introduction to Artificial Intelligence
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC351 and CMSC330; and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Areas and issues in artificial intelligence, including search, inference, knowledge representation, learning, vision, natural languages, expert systems, robotics. Implementation and application of programming languages (e.g. LISP, PROLOG, SMALLTALK), programming techniques (e.g. pattern matching, discrimination networks) and control structures (e.g. agendas, data dependencies).
CMSC422
(Perm Req)
Introduction to Machine Learning
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC351 and CMSC330; and permission of CMNS-Computer Science department.
Recommended: STAT400.
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.
CMSC423
(Perm Req)
Bioinformatic Algorithms, Databases, and Tools
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC351 and CMSC330; and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
An introduction to the main algorithms, databases, and tools used in bioinformatics. Topics may include assembly and analysis of genome sequences, reconstructing evolutionary histories, predicting protein structure, and clustering of biological data. Use of scripting languages to perform analysis tasks on biological data. No prior knowledge of biology is assumed.
CMSC424
(Perm Req)
Database Design
Credits: 3
Grad Meth: Reg
CORE: CS
Prerequisite: Minimum grade of C- in CMSC351 and CMSC330; and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Students are introduced to database systems and motivates the database approach as a mechanism for modeling the real world. An in-depth coverage of the relational model, logical database design, query languages, and other database concepts including query optimization, concurrency control; transaction management, and log based crash recovery. Distributed and Web database architectures are also discussed.
CMSC426
(Perm Req)
Computer Vision
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC330 and CMSC351; or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Restriction: Permission of CMNS-Computer Science department.
An introduction to basic concepts and techniques in computervision. This includes low-level operations such as image filtering and edge detection, 3D reconstruction of scenes using stereo and structure from motion, and object detection, recognition and classification.
CMSC427
(Perm Req)
Computer Graphics
Credits: 3
Grad Meth: Reg
Prerequisite: MATH240; and minimum grade of C- in CMSC420; and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
An introduction to the principles of computer graphics. Includes an introduction to graphics displays and systems. Introduction to the mathematics of affine and projective transformations, perspective, curve and surface modeling, algorithms for hidden-surface removal, color models, methods for modeling illumination, shading, and reflection.
CMSC430
(Perm Req)
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.
CMSC433
(Perm Req)
Programming Language Technologies and Paradigms
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.
Programming language technologies (e.g., object-oriented programming), their implementations and use in software design and implementation.
CMSC434
(Perm Req)
Introduction to Human-Computer Interaction
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.
Assess usability by quantitative and qualitative methods. Conduct task analyses, usability tests, expert reviews, and continuing assessments of working products by interviews, surveys, and logging. Apply design processes and guidelines to develop professional quality user interfaces. Build low-fidelity paper mockups, and a high-fidelity prototype using contemporary tools such as graphic editors and a graphical programming environment (eg: Visual Basic, Java).
CMSC435
(Perm Req)
Software Engineering
Credits: 3
Grad Meth: Reg
CORE: CS
Prerequisite: 1 course with a minimum grade of C- from (CMSC412, CMSC417, CMSC420, CMSC430, CMSC433); and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
State-of-the-art techniques in software design and development. Laboratory experience in applying the techniques covered. Structured design, structured programming, top-down design and development, segmentation and modularization techniques, iterative enhancement, design and code inspection techniques, correctness, and chief-programmer teams. The development of a large software project.
CMSC436
(Perm Req)
Programming Handheld Systems
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC330 and CMSC351; or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Restriction: Permission of CMNS-Computer Science department.
Fundamental principles and concepts that underlie the programming of handheld systems, such as mobile phones, personal digital assistants, and tablet computers. Particular emphasis will be placed on concepts such as limited display size, power, memory and CPU speed; and new input modalities, where handheld systems differ substantially from non-handheld systems, and thus require special programming tools and approaches. Students will apply these concepts and principles in the context of an existing handset programming platform.
CMSC451
(Perm Req)
Design and Analysis of Computer Algorithms
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC351; and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Fundamental techniques for designing efficient computer algorithms, proving their correctness, and analyzing their complexity. General topics include sorting, selection, graph algorithms, and basic algorithm design paradigms (such as divide-and-conquer, dynamic programming and greedy algorithms), lower bounds and NP-completeness.
CMSC456
(Perm Req)
Credits: 3
Grad Meth: Reg
Prerequisite: (any two 400-level MATH courses; or (CMSC351 and CMSC330)); and permission of CMNS-Computer Science department. Or must be a CMSC graduate student.
Also offered as: MATH456.
Credit only granted for: CMSC456 or MATH456.
Importance in protecting data in communications between computers. The subject lies on the border between mathematics and computer science. Mathematical topics include number theory and probability, and computer science topics include complexity theory.
CMSC460
(Perm Req)
Computational Methods
Credits: 3
Grad Meth: Reg
Prerequisite: MATH240 and MATH241; and (CMSC106 or CMSC131); and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Also offered as: 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.
CMSC466
(Perm Req)
Introduction to Numerical Analysis I
Credits: 3
Grad Meth: Reg
Prerequisite: MATH240 and MATH241; and (CMSC106 or CMSC131); and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Also offered as: AMSC466.
Credit only granted for: AMSC460, AMSC466, CMSC460, or CMSC466.
Floating point computations, direct methods for linear systems, interpolation, solution of nonlinear equations.
CMSC474
(Perm Req)
Introduction to Computational Game Theory
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC351 and CMSC330; and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Credit only granted for: CMSC474, ECON414, GVPT390 or GVPT399A.
Game theory deals with interactions among agents (either human or computerized) whose objectives and preferences may differ from the objectives and preferences of the other agents. It will also provide a comprehensive introduction to game theory, concentrating on its computational aspects.
CMSC498A
(Perm Req)
Selected Topics in Computer Science
Credits: 1 - 3
Grad Meth: Reg
Contact department for information to register for this course.
CMSC498C
(Perm Req)
Selected Topics in Computer Science; Randomized Algorithms
Credits: 3
Grad Meth: Reg, P-F, Aud
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
CMSC498E
(Perm Req)
Selected Topics in Computer Science; Computer Systems Security
Credits: 3
Grad Meth: Reg
Restriction: Permission of department.

Theoretical and practical aspects of computer systems security. Topics covered include symmetric/asymmetric encryption, message authentication, digital signatures, access control, as well as network security, web security and cloud security. Students acquire tools necessary for designing secure computer systems and programs and for defending against malicious threats (e.g., viruses, worms, denial of service).
CMSC498V
(Perm Req)
Selected Topics in Computer Science; Advanced Functional Programming
Credits: 3
Grad Meth: Reg
Prerequisite: Minimum grade of C- in CMSC351 and CMSC330; and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
CMSC499A
(Perm Req)
Independent Undergraduate Research
Credits: 1 - 3
Grad Meth: Reg
Contact department for information to register for this course.
CMSC631
Program Analysis and Understanding
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: CMSC330; or students who have taken courses with comparable content may contact the department; or permission of instructor.
Techniques for static analysis of source code and modern programming paradigms. Analysis techniques: data flow analysis, program dependence graphs, program slicing, abstract interpretation. The meaning of programs: denotational semantics, partial evaluation. Advanced treatment of abstraction mechanisms: polymorphic types, operation overloading, inheritance, object-oriented programming and ML-like programming languages.
CMSC641
Principles of Data Science
Credits: 3
Grad Meth: Reg
Restriction: Must be in the Data Science Post-Baccalaureate Certificate of Professional Studies program; and permission of CMNS-Computer Science department.
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 what data science means and systems and tools commonly used for data science, and illustrates the principles of data science through several case studies.
CMSC643
Machine Learning and Data Mining
Credits: 3
Grad Meth: Reg
Restriction: Must be in the Data Science Post-Baccalaureate Certificate of Professional Studies program; and permission of CMNS-Computer Science department.
Provides a broad overview of key machine learning and data mining algorithms, and how to apply those to very large datasets. Topics covered include decision trees, linear models for classification and regression, support vector machines, neural networks and deep learning, online learning, recommendation systems, clustering and dimensionality reduction, and systems for large-scale machine learning.
CMSC652
Complexity Theory
Credits: 3
Grad Meth: Reg
Prerequisite: CMSC451 or CMSC452; or permission of instructor.
Credit only granted for: CMSC652 or CMSC858G.
Formerly: CMSC858G.
This course will define what it means for a problem to be hard (or easy in a variety of ways. The emphasis will be on natural problems. Topics may include NP-completeness, Sparse Sets, Graph Isomoprhism (why it is thought to not be NP-complete), Counting problems, and approximation problems.
CMSC660
Scientific Computing I
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Must have knowledge of C or Fortran. And CMSC466, AMSC466, AMSC460, or CMSC460; or (must have knowledge of basic numerical analysis (linear equations, nonlinear equations, integration, interpolation); and permission of instructor).
Also offered as: AMSC660.
Credit only granted for: AMSC660 or CMSC660.
Monte Carlo simulation, numerical linear algebra, nonlinear systems and continuation method, optimization, ordinary differential equations. Fundamental techniques in scientific computation with an introduction to the theory and software for each topic.
CMSC663
Advanced Scientific Computing I
Credits: 3
Grad Meth: Reg
Also offered as: AMSC663.
Credit only granted for: AMSC663 or CMSC663.
In the sequence CMSC663, CMSC664 students work on a year-long individual project to develop software for a scientific task in a high perfomance computing environment. Lectures will be given on available computational environments, code development, implementation of parallel algorithms.
CMSC666
Numerical Analysis I
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: CMSC466 or AMSC466; and MATH410.
Also offered as: AMSC666.
Credit only granted for: AMSC666 or CMSC666.
Interpolation and approximation, numerical integration, solution algorithms for nonlinear systems of equations, numerical optimization.
CMSC723
Computational Linguistics I
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: CMSC421; or students who have taken courses with comparable content may contact the department; or permission of instructor.
Also offered as: LING723, INST735.
Credit only granted for: CMSC723, LING723, or INST735.
Additional information: May only receive PhD Comp. credit for CMSC723 or CMSC823, not both.
Fundamental methods in natural language processing. Topics include: finite-state methods, context-free and extended context-free models of syntax; parsing and semantics interpretation; n-gram and Hidden Markov models, part-of-speech tagging; natural language applications such as machine translation, automatic summarization, and question answering.
CMSC725
Geographical Information Systems and Spatial Databases
Credits: 3
Grad Meth: Reg
Prerequisite: CMSC424 and CMSC420; or permission of instructor.
Topics in geographic information systems and spatial databases. Integrates related results from databases, cartography, geography, computer graphics, file access methods, computational geometry, image processing, data structures, and programming languages. Topics include: cartographic modeling, principles of cartography, methods from computational geometry, principles of spatial databases, access methods, and spatial data structures. The architecture of some existing spatial databases and geographic information systems will be examined in greater detail.
CMSC726
Machine Learning
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: CMSC421; or students who have taken courses with comparable content may contact the department; or permission of instructor.
An introduction to modern statistical data analysis using machine learning techniques. The course quickly surveys elementary statistical models (decision trees, nearest neighbors and linear regression) and moves on to more complex algorithms such as support vector machines, boosting, neural networks, structured prediction, apprenticeship learning, online learning, bandits, recommender systems and reinforcement learning. Throughout an emphasis is placed on mathematical rigor.
CMSC737
Fundamentals of Software Testing
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: CMSC435; or students who have taken courses with comparable content may contact the department; or permission of instructor.
Formerly: CMSC838M.
Examine fundamental software testing and related program analysis techniques. In particular, the important phases of testing will be reviewed, emphasizing th significance of each phase when testing different types of software. Concepts include: test generation, oracles, prioritization and coverage, regression and mutation testing, and program analysis.
CMSC740
Advanced Computer Graphics
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: MATH240 and CMSC420; or permission of instructor.
An introduction to the principles of computer graphics. Includes an introduction to graphics displays and systems, introduction to the mathematics of affine and projective transformations, perspective, curve and surface modeling, algorithms for hidden-surface removal, color models, methods for modeling illumination, shading, and reflection.
CMSC763
Advanced Linear Numerical Analysis
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: AMSC666 or CMSC666; or permission of instructor.
Also offered as: AMSC763.
Credit only granted for: AMSC600, CMSC760, AMSC763, or CMSC763..
Formerly: CMSC760.
Advanced topics in numerical linear algebra, such as dense eigenvalue problems, sparse elimination, iterative methods, and other topics.
Also offered as AMSC763. Credit granted for CMSC763 or AMSC763.
CMSC798
(Perm Req)
Graduate Seminar in Computer Science
Credits: 1 - 3
Grad Meth: Reg, Aud
Contact department for information to register for this course.
CMSC798A
(Perm Req)
Graduate Seminar in Computer Science
Credits: 1 - 3
Grad Meth: Reg, Aud
CMSC majors only. Other majors require permission of department.
Contact department for information to register for this course.
CMSC798E
Graduate Seminar in Computer Science
Credits: 1
Grad Meth: Reg, Aud
CMSC799
(Perm Req)
Master's Thesis Research
Credits: 1 - 6
Grad Meth: Reg, S-F
Contact department for information to register for this course.
CMSC818A
(Perm Req)
Advanced Topics in Computer Systems; Advanced Topics in Computer Systems
Credits: 1 - 3
Grad Meth: Reg, Aud
Contact department for information to register for this course.
CMSC818E
Advanced Topics in Computer Systems; Distributed and Cloud-Based Storeage Systems
Credits: 3
Grad Meth: Reg, Aud
CMSC818O
Advanced Topics in Computer Systems; Computer and Network Security
Credits: 3
Grad Meth: Reg
CMSC828A
(Perm Req)
Advanced Topics in Information Processing
Credits: 1 - 3
Grad Meth: Reg, Aud
Contact department for information to register for this course.
CMSC828C
Advanced Topics in Information Processing
Credits: 1 - 3
Grad Meth: Reg, Aud
CMSC828E
Advanced Topics in Information Processing; From Data to Insights
Credits: 3
Grad Meth: Reg, Aud
CMSC828N
Advanced Topics in Information Processing; Database System Architecture and Implementation
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: CMSC424; or students who have taken courses with comparable content may contact the department; or permission of instructor.
CMSC828O
Advanced Topics in Information Processing; Computational and Mathematical Analysis of Biological Networks across Scales
Credits: 3
Grad Meth: Reg, Aud
CMSC828P
Advanced Topics in Information Processing; Algorithms and Machine Learning for Analyzing Mutations in Cancer
Credits: 3
Grad Meth: Reg, Aud
CMSC828R
Advanced Topics in Information Processing; Machine Learning: Spectral Methods and Reinforcement Learning
Credits: 3
Grad Meth: Reg
CMSC828T
Advanced Topics in Information Processing; Vision, Planning and Control in Aerial Robotics
Credits: 3
Grad Meth: Reg, Aud
CMSC838A
(Perm Req)
Advanced Topics in Programming Languages
Credits: 1 - 3
Grad Meth: Reg, Aud
Contact department for information to register for this course.
CMSC858A
(Perm Req)
Advanced Topics in Theory of Computing
Credits: 1 - 3
Grad Meth: Reg, Aud
Contact department for information to register for this course.
CMSC858K
Advanced Topics in Theory of Computing; Introduction to Quantum Information Processing
Credits: 3
Grad Meth: Reg, Aud
CMSC878A
(Perm Req)
Advanced Topics in Numerical Methods
Credits: 1 - 3
Grad Meth: Reg, Aud
Contact department for information to register for this course.
CMSC898
Pre-Candidacy Research
Credits: 1 - 8
Grad Meth: Reg, S-F
Contact department for information to register for this course.
CMSC899
(Perm Req)
Doctoral Dissertation Research
Credits: 6
Grad Meth: Reg, S-F
Contact department for information to register for this course.