Username: Password:
Courses and GradesSchedule MakerClass FinderBook Exchange

Classes in CMSC

CMSC102Introduction to Information Technology (3 credits)
For non-majors only. Not recommended for BMGT students. Not open to students who have completed CMSC106, CMSC114, CMSC132 or CMSC214. Credit will be granted for only one of the following: CMSC102, CMSC132 or CMSC214. If CMSC102 is taken before CMSC132 or CMSC214, then credit will be granted for both. An introduction to computer terminology and concepts of computing and information technology. Hands-on experience with a variety of tools available to access the Internet, to find information, as well as PC applications such as a word processor and a spreadsheet package. Students will work in multiple environments (for example, both Windows and UNIX).
Section 101 Herman, L (70 seats open, out of 70 seats.) MW 3:30-4:45
CMSC122Introduction to Computer Programming via the Web (3 credits)
Not open to students who have completed CMSC132 or higher. Credit will be granted for only one of the following: CMSC122 or CMSC198N. Formerly CMSC198N. Introduction to computer programming in the context of developing full featured dynamic web sites. Emphasizes skills such as program design/implementation using JavaScript and essential knowledge of HTML/CSS for dynamic web sites.
Section 101 Emad, F (100 seats open, out of 100 seats.) MWF 12-12:50
Section 201 Emad, F (100 seats open, out of 100 seats.) MWF 1-1:50
CMSC131 (PermReq)Object-Oriented Programming I (4 credits)
Corequisite: MATH140 and permission of department. Not open to students who have completed CMSC114. 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.
Section 101 Plane, J (25 seats open, out of 25 seats.) MWF 9-9:50, MW 2-2:50
Section 102 Plane, J (25 seats open, out of 25 seats.) MWF 9-9:50, MW 3-3:50
Section 201 Plane, J (25 seats open, out of 25 seats.) MWF 10-10:50, MW 3-3:50
Section 202 Plane, J (25 seats open, out of 25 seats.) MWF 10-10:50, MW 1-1:50
Section 301 Plane, J (25 seats open, out of 25 seats.) MWF 11-11:50, MW 2-2:50
Section 302 Plane, J (25 seats open, out of 25 seats.) MWF 11-11:50, MW 1-1:50
Section 303 Plane, J (25 seats open, out of 25 seats.) MWF 11-11:50, MW 12-12:50
Section 401 Emad, F (25 seats open, out of 25 seats.) MWF 2-2:50, MW 11-11:50
Section 402 Emad, F (25 seats open, out of 25 seats.) MWF 2-2:50, MW 12-12:50
CMSC132 (PermReq)Object-Oriented Programming II (4 credits)
Prerequisite: CMSC131 with a grade of C or better; or a score of 5 on the A Java AP exam; or a score of 4 or 5 on the AB Java AP exam; or permission of the department based on satisfactory performance on the department placement exam and permission of department. Corequisite: MATH141. 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.
Section 101 Padua-Perez, N (25 seats open, out of 25 seats.) MWF 10-10:50, MW 11-11:50
Section 102 Padua-Perez, N (25 seats open, out of 25 seats.) MWF 10-10:50, MW 12-12:50
Section 103 Padua-Perez, N (25 seats open, out of 25 seats.) MWF 10-10:50, MW 1-1:50
Section 201 Padua-Perez, N (25 seats open, out of 25 seats.) MWF 11-11:50, MW 3-3:50
Section 202 Padua-Perez, N (25 seats open, out of 25 seats.) MWF 11-11:50, MW 12-12:50
Section 301 Golub, E (25 seats open, out of 25 seats.) MWF 12-12:50, MW 1-1:50
Section 302 Golub, E (25 seats open, out of 25 seats.) MWF 12-12:50, MW 4-4:50
Section 401 Golub, E (25 seats open, out of 25 seats.) MWF 1-1:50, MW 2-2:50
Section 402 Golub, E (25 seats open, out of 25 seats.) MWF 1-1:50, MW 3-3:50
Section 403 Golub, E (25 seats open, out of 25 seats.) MWF 1-1:50, MW 4-4:50
CMSC132H (PermReq)Object-Oriented Programming II (4 credits)
Prerequisite: CMSC131 with a grade of C or better; or a score of 5 on the A Java AP exam; or a score of 4 or 5 on the AB Java AP exam; or permission of the department based on satisfactory performance on the department placement exam and permission of department. Corequisite: MATH141. For general honors students only.
Section 101 Purtilo, J (22 seats open, out of 22 seats.) TuTh 9:30-10:45, MW 11-11:50
CMSC198IThe Science Behind Computing: What Makes Web Search, Navigation Systems and Social Media Work? (3 credits)

One of the "I" Courses for Spring 2011: Issues-Inspiration-Imagination; http://www.iseries.umd.edu/ Click here for more course information.
Section 101 Khuller, S (30 seats open, out of 30 seats.) MWF 10-10:50
Section 102 Khuller, S (30 seats open, out of 30 seats.) MWF 10-10:50
CMSC216 (PermReq)Introduction to Computer Systems (4 credits)
Prerequisite: CMSC131, CMSC132, MATH140, and MATH141. Corequisite: CMSC250. Not open to students who have completed CMSC216. Credit will be granted for only one of the following: CMSC212 or (CMSC213 and CMSC313) or CMSC216. Machine representation of data including intergers 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.
Section 101 Sussman, A (25 seats open, out of 25 seats.) TuTh 11-12:15, MW 9-9:50
Section 102 Sussman, A (25 seats open, out of 25 seats.) TuTh 11-12:15, MW 10-10:50
Section 201 Herman, L (25 seats open, out of 25 seats.) TuTh 12:30-1:45, MW 11-11:50
Section 202 Herman, L (25 seats open, out of 25 seats.) TuTh 12:30-1:45, MW 12-12:50
Section 301 Herman, L (27 seats open, out of 27 seats.) TuTh 2-3:15, MW 1-1:50
Section 302 Herman, L (25 seats open, out of 25 seats.) TuTh 2-3:15, MW 2-2:50
Section 303 Herman, L (25 seats open, out of 25 seats.) TuTh 2-3:15, MW 11-11:50
CMSC250 (PermReq)Discrete Structures (4 credits)
Prerequisite: CMSC131 with a grade of C or better; MATH141; and permission of department. Formerly CMSC 150. 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.
Section 101 Kruskal, C (25 seats open, out of 25 seats.) TuTh 11-12:15, MW 11-11:50
Section 102 Kruskal, C (25 seats open, out of 25 seats.) TuTh 11-12:15, MW 12-12:50
Section 103 Kruskal, C (25 seats open, out of 25 seats.) TuTh 11-12:15, MW 1-1:50
Section 201 Hugue, M (40 seats open, out of 40 seats.) TuTh 12:30-1:45, MW 9-9:50
Section 202 Hugue, M (40 seats open, out of 40 seats.) TuTh 12:30-1:45, MW 10-10:50
CMSC250HDiscrete Structures (4 credits)
Prerequisite: CMSC131 with a grade of C or better; MATH141; and permission of department. Formerly CMSC 150.
Section 101 Kruskal, C (30 seats open, out of 30 seats.) TuTh 2-3:15, MW 11-11:50
CMSC330 (PermReq)Organization of Programming Languages (3 credits)
Prerequisite: CMSC212 and CMSC250: each with a grade of C (2.0) or better; and permission of 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.
Section 101 Tseng, C (25 seats open, out of 25 seats.) TuTh 11-12:15, F 12-12:50
Section 102 Tseng, C (25 seats open, out of 25 seats.) TuTh 11-12:15, F 1-1:50
Section 103 Tseng, C (25 seats open, out of 25 seats.) TuTh 11-12:15, F 1-1:50
Section 201 Tseng, C (25 seats open, out of 25 seats.) TuTh 2-3:15, F 12-12:50
Section 202 Tseng, C (25 seats open, out of 25 seats.) TuTh 2-3:15, F 10-10:50
Section 203 Tseng, C (25 seats open, out of 25 seats.) TuTh 2-3:15, F 11-11:50
CMSC351 (PermReq)Algorithms (3 credits)
Prerequisite: CMSC212 and CMSC250: each with a grade of C (2.0) or better; and permission of department. 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. Credit will be granted for only one of the following: CMSC251 or CMSC351. Formerly CMSC 251. 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.
Section 101 Corrada, H (80 seats open, out of 80 seats.) TuTh 9:30-10:45
Section 201 Hajiaghayi, M (80 seats open, out of 80 seats.) TuTh 3:30-4:45
CMSC411Computer Systems Architecture (3 credits)
Prerequisite: A grade of C or better in (CMSC311 or ENEE350) and a grade of C or better in CMSC330; and permission of department; or CMSC graduate student. Input/output processors and techniques. Intra-system communication, buses, caches. Addressing and memory hierarchies. Microprogramming, parallelism, and pipelining.
Section 101 Tseng, C (40 seats open, out of 40 seats.) TuTh 12:30-1:45
CMSC412Operating Systems (4 credits)
Prerequisites: A grade of C or better in (CMSC311 or ENEE350) and a grade of C or better in CMSC330; and permission of department; or CMSC graduate student. An introduction to batch systems, spooling systems, and third-generation multiprogramming systems. Description of the parts of an operating system in terms of function, structure, and implementation. Basic resource allocation policies.
Section 101 Shankar, A (20 seats open, out of 20 seats.) TuTh 2-3:15, MW 9-9:50
Section 102 Shankar, A (20 seats open, out of 20 seats.) TuTh 2-3:15, MW 10-10:50
CMSC414 (PermReq)Computer and Network Security (3 credits)
Prerequisite: A grade of C or better in (CMSC311 or ENEE350) and a grade of C or better in CMSC330; and permission of department; or CMSC graduate student. 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.
Section 101 Arbaugh, W (40 seats open, out of 40 seats.) MW 2-3:15
Section 201 Katz, J (40 seats open, out of 40 seats.) TuTh 3:30-4:45
CMSC417Computer Networks (3 credits)
Prerequisite: A grade of C or better in CMSC351, a grade of C or better in (CMSC311 or ENEE350), and a grade of C or better in CMSC330; and permission of department; or CMSC graduate student. 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.
Section 101 Agrawala, A (40 seats open, out of 40 seats.) TuTh 12:30-1:45
CMSC420Data Structures (3 credits)
Prerequisites: A grade of C or better in CMSC330 and in CMSC351; and permission of department; or CMSC graduate student. 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.
Section 101 Hugue, M (40 seats open, out of 40 seats.) TuTh 2-3:15
Section 201 Hugue, M (40 seats open, out of 40 seats.) TuTh 3:30-4:45
CMSC421Introduction to Artificial Intelligence (3 credits)
Prerequisites: A grade of C or better in CMSC330 and in CMSC351; and permission of the department or CMSC graduate student. 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).
Section 101 Daume, H (40 seats open, out of 40 seats.) TuTh 3:30-4:45
CMSC424Database Design (3 credits)
Prerequisite: CMSC420 with a grade of C or better; and permission of department; or CMSC graduate student. Motivation for the database approach as a mechanism for modeling the real world. Review of the three popular data models: relational, network, and hierarchical. Comparison of permissible structures, integrity constraints, storage strategies, and query facilities. Theory of database design logic.
Section 101 Deshpande, A (40 seats open, out of 40 seats.) TuTh 11-12:15
Section 201 Roussopoulos, N (40 seats open, out of 40 seats.) TuTh 12:30-1:45
CMSC430Theory of Language Translation (3 credits)
Prerequisites: a grade of C or better in CMSC330; and permission of department; or CMSC graduate student. Formal translation of programming languages, program syntax and semantics. Finite state recognizers and regular grammars. Context-free parsing techniques such as recursive descent, precedence, LL(k) and LR(k). Code generation, improvement, syntax-directed translation schema.
Section 101 Foster, J (40 seats open, out of 40 seats.) MW 2-3:15
CMSC433Programming Language Technologies and Paradigms (3 credits)
Prerequisite: CMSC330; and permission of department; or CMSC graduate student. Programming language technologies (e.g., object-oriented programming), their implementations and use in software design and implementation.
Section 101 Hicks, M (40 seats open, out of 40 seats.) MW 2-3:15
Section 201 Porter, A (40 seats open, out of 40 seats.) TuTh 9:30-10:45
CMSC434Introduction to Human-Computer Interaction (3 credits)
Prerequisites: CMSC330 with a grade of C or better and PSYC100; and permission of department; or CMSC graduate student. 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).
Section 101 , STAFFF (40 seats open, out of 40 seats.) TuTh 11-12:15
Section 201 Golub, E (40 seats open, out of 40 seats.) TuTh 2-3:15
CMSC435Software Engineering (3 credits)
Prerequisites: (CMSC412, CMSC417, CMSC420, CMSC430, or CMSC433) with a grade of C or better and permission of department; or CMSC graduate student. 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.
Section 101 Memon, A (40 seats open, out of 40 seats.) TuTh 9:30-10:45
CMSC451Design and Analysis of Computer Algorithms (3 credits)
Prerequisite: a grade of C or better in CMSC351; and permission of department; or CMSC graduate student. 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.
Section 101 Kruskal, C (40 seats open, out of 40 seats.) TuTh 9:30-10:45
CMSC452Elementary Theory of Computation (3 credits)
Prerequisite: CMSC351 with a grade of C or better; and permission of department; or CMSC graduate student. Alternative theoretical models of computation, types of automata, and their relations to formal grammars and languages.
Section 101 Gasarch, W (40 seats open, out of 40 seats.) TuTh 11-12:15
CMSC456Cryptology (3 credits)
Prerequisites: Any two 400-level MATH courses; or CMSC330 and CMSC351; and permission of department; or CMSC graduate student. Also offered as MATH456. Credit will be granted for only one of the following: 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.
Section 101 Schafer, J (20 seats open, out of 20 seats.) TuTh 12:30-1:45
Section 201 Washington, L (20 seats open, out of 20 seats.) TuTh 9:30-10:45
CMSC460Computational Methods (3 credits)
Prerequisites: MATH240; and MATH241; and CMSC106 or CMSC114 or ENEE114; and permission of department; or CMSC graduate student. Also offered as AMSC460. Credit will be granted for only one of the following: AMSC/CMSC/MAPL460 or AMSC/CMSC/MAPL466. 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.
Section 101 Duraiswami, R (20 seats open, out of 20 seats.) MWF 12-12:50
Section 201 Glaz, H (20 seats open, out of 20 seats.) TuTh 11-12:15
CMSC466Introduction to Numerical Analysis I (3 credits)
Prerequisites: MATH240; and MATH241; and CMSC106 or CMSC114 or ENEE114; and permission of department; or CMSC graduate student. Also offered as AMSC466. Credit will be granted for only one of the following: AMSC/CMSC/MAPL460 or AMSC/CMSC/MAPL466. Floating point computations, direct methods for linear systems, interpolation, solution of nonlinear equations.
Section 101 von, T (25 seats open, out of 25 seats.) MWF 9-9:50
CMSC475Combinatorics and Graph Theory (3 credits)
Prerequisites: MATH240 and MATH241; and permission of department; or CMSC graduate student. Also offered as MATH475. General enumeration methods, difference equations, generating functions. Elements of graph theory, matrix representations of graphs, applications of graph theory to transport networks, matching theory and graphical algorithms.
Section 101 Adams, J (25 seats open, out of 25 seats.) MWF 10-10:50
CMSC630Theory of Programming Languages (3 credits)
Prerequisite: CMSC 430. Contemporary topics in the theory of programming languages. Formal specification and program correctness. Axiomatic proof systems (both Floyd-Hoare and Dijkstra's predicate transformers), Mills' functional correctness approach, abstract data types (both abstract model and algebraic specifications), and Scott-style denotational semantics based on least fixed points.
Section 101 Cleaveland, W (40 seats open, out of 40 seats.) TuTh 2-3:15
CMSC661Scientific Computing II (3 credits)
Prerequisite: AMSC/CMSC/MAPL 460, AMSC/CMSC/MAPL 466, or knowledge of basic numerical analysis (linear equations, nonlinear equations, integration, interpolation) with permission of instructor. Knowledge of C or Fortran. Also offered as AMSC 661. Credit will be granted for only one of the following: AMSC, CMSC 661 or MAPL 661. Fourier and wavelet transform methods, numerical methods for elliptic partial differential equations, numerical linear algebra for sparse matrices, Finite element methods, numerical methods for time dependent partial differential equations. Techniques for scientific computation with an introduction to the theory and software for each topic. Course is part of a two course sequence (660 and 661), but can be taken independently.
Section 101 Levy, D (30 seats open, out of 30 seats.) TuTh 2-3:15
CMSC667Numerical Analysis II (3 credits)
Prerequisite: AMSC/CMSC/MAPL 666. Also offered as AMSC 667. Credit will be granted for only one of the following: AMSC 667, CMSC 667 or MAPL 667. Nonlinear systems of equations, ordinary differential equations, boundary value problems.
Section 101 Cameron, M (25 seats open, out of 25 seats.) TuTh 9:30-10:45
CMSC722Artificial Intelligence Planning (3 credits)
Prerequisite: CMSC 421 or equivalent; or permission of department. Automated planning of actions to accomplish some desired goals. Basic algorithms, important systems, and new directions in the field of artificial intelligence planning systems.
Section 101 Nau, D (40 seats open, out of 40 seats.) MW 3:30-4:45
CMSC724Database Management Systems (3 credits)
Prerequisite: CMSC 624 or permission of instructor. Theoretical and implementation issues in advanced database systems. Topics include distributed databases, parallel databases, database client-server architectures, multimedia access methods, advanced query optimization techniques, data semantics and models, object-oriented databases, and deductive and expert database systems.
Section 101 Deshpande, A (30 seats open, out of 30 seats.) TuTh 3:30-4:45
CMSC751Parallel Algorithms (3 credits)
Prerequisite: CMSC 451 or equivalent. A presentation of the theory of parallel computers and parallel processing. Models of parallel processing and the relationships between these models. Techniques for the design and analysis of efficient parallel algorithms including parallel prefix, searching, sorting, graph problems, and algebraic problems. Theoretical limits of parallelism, inherently sequential problems, and the theory of P-completeness.
Section 101 Vishkin, U (30 seats open, out of 30 seats.) MW 2-3:15
CMSC754Computational Geometry (3 credits)
Prerequisites: {CMSC 420 and CMSC 451} or permission of instructor. Introduction to algorithms and data structures for computational problems in discrete geometry (for points, lines, and polygons) primarily in two and three dimensions. Topics include triangulations and planar subdivisions, geometric search and intersection, convex hulls, Voronoi diagrams, Delaunay triangulations, line arrangements, visibility, and motion planning.
Section 101 Mount, D (30 seats open, out of 30 seats.) TuTh 9:30-10:45
CMSC773Computational Linguistics II (3 credits)
Prerequisite: CMSC723 or LING723; or permission of instructor. May only receive PhD Comp. credit for CMSC723 or CMSC823, not both. Also offered as LING773. Not open to students who have completed LING647. Formerly CMSC 828R. Natural language processing with a focus on corpus-based statistical techniques. Topics inlcude: stochastic language modeling, smoothing, noisy channel models, probabilistic grammars and parsing; lexical acquisition, similarity-based methods, word sense disambiguation, statistical methods in NLP applications; system evaluation.
Section 101 Boyd-Graber, J (30 seats open, out of 30 seats.) W 1:30-4:00

User Panel

  • Register
  • Login

Features

  • Courses and Grades
  • Schedule Maker
  • Class Finder
  • Book Buyer
  • Book Exchange
  • Professor Reviews
  • Grade Data Lookup

Other

  • Privacy Policy
  • Contact Us