Hide Advanced Options
Courses - Summer 2016
CMSC
Computer Science Department Site
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.
For CMSC majors only.
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.
CMSC198B
(Perm Req)
Special Topics in Computer Science for Non-Majors; A Hands Off Approach
Credits: 1 - 4
Grad Meth: Reg, P-F, Aud
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.
CMSC298A
Special Topics in Computer Science
Credits: 1 - 3
Grad Meth: S-F
Contact department for information to register for this course.
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)
Algorithms
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.
CMSC389N
(Perm Req)
Special Topics in Computer Science; Introduction to PHP and JavaScript
Credits: 3
Grad Meth: Reg
Prerequisite: CMSC216 and CMSC250. Credit only granted for CMSC389J and CMSC389P; or CMSC389N.

An introduction to the development of Web-based applications using PHP, JavaScript, MySQL, and Apache. The course covers fundamental programming language constructs of both PHP and JavaScript, forms, sessions, interation with MySQL via PHP, DOM, and JavaScript event-handling. In addition, popular JavaScript libraries (e.g., JQuery, Angular) will be discussed.
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.
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.
CMSC498A
(Perm Req)
Selected Topics in Computer Science
Credits: 1 - 3
Grad Meth: Reg, P-F, Aud
Contact department for information to register for this course.
CMSC499A
Independent Undergraduate Research
Credits: 1 - 3
Grad Meth: Reg
Contact department for information to register for this course.
CMSC798
Graduate Seminar in Computer Science
Credits: 1 - 3
Grad Meth: Reg, Aud
CMSC798A
(Perm Req)
Graduate Seminar in Computer Science
Credits: 1
Grad Meth: Reg, Aud
Contact department for information to register for this course.
CMSC799
Master's Thesis Research
Credits: 1 - 6
Grad Meth: Reg
Contact department for information to register for this course.
CMSC898
(Perm Req)
Pre-Candidacy Research
Credits: 1 - 8
Grad Meth: Reg, S-F
Contact department for information to register for this course.
CMSC899
Doctoral Dissertation Research
Credits: 1 - 8
Grad Meth: Reg
Contact department for information to register for this course.