Classes in CMSC
| CMSC106 | (PermReq)Introduction to C Programming (4 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Prerequisite: permission of department. Pre- or corequisite: MATH140. Only for CMPS, ENCP and students with major code: 2299F. Not open to students who have completed CMSC114 or higher. Design and analysis of programs in C. An introduction to computing using structured programming concepts. For further information contact the Undergraduate Education Office, Computer Science Department. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC122 | Introduction 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC198A | Special Topics in Computer Science for Non-Majors (1 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Restriction: Must not be in Computer Science program. Repeatable to 6 credits if content differs. A course designed to allow non-computer science majors and non-computer engineering majors to pursue a specialized topic or project. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC298A | Special Topics in Computer Science (1 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Restriction: Permission of CMNS-Computer Science department. Repeatable to 6 credits if content differs. A course designed to allow a lower level student to pursue a specialize topic or project. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC390 | (PermReq)Honors Paper (3 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Prerequisite: admission to CMSC Honors Program. Special study or research directed toward preparation of honors paper. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC411 | Computer 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC412 | Operating 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC417 | Computer 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC420 | Data 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC466 | Introduction 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC498A | Selected Topics in Computer Science (1 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Restriction: Permission of CMNS-Computer Science department. An individualized course designed to allow a student or students to pursue a selected topic not taught as a part of the regular course offerings under the supervision of a Computer Science faculty member. In addition, courses dealing with topics of special interest and/or new emerging areas of computer science will be offered with this number. Selected topics courses will be structured very much like a regular course with homework, project and exams. Credit according to work completed | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC499A | Independent Undergraduate Research (1 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Restriction: Must be in one of the following programs (Computer Science; Engineering: Computer) ; and permission of CMNS-Computer Science department. Students are provided with an opportunity to participate in a computer science research project under the guidance of a faculty advisor. Format varies. Students and supervising faculty member will agree to a research plan which must be approved by the department. As part of each research plan, students should produce a final paper delineating their contribution to the field. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC798A | (PermReq)Graduate Seminar in Computer Science (1 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC majors only. Other majors require permission of department. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC818A | Advanced Topics in Computer Systems; Advanced Topics in Computer Systems (1 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Restriction: Permission of instructor. Repeatable to 99 credits. Advanced topics selected by the faculty from the literature of computer systems to suit the interest and background of students. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC828A | Advanced Topics in Information Processing (1 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Restriction: Permission of instructor. Repeatable to 99 credits. Advanced topics selected by the faculty from the literature of information processing to suit the interest and background of students. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC838A | Advanced Topics in Programming Languages (1 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Restriction: Permission of instructor. Repeatable to 99 credits. Advanced topics selected by faculty from the literature of programming languages to suit the interest and background of students. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC858A | Advanced Topics in Theory of Computing (1 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Restriction: Permission of instructor. Repeatable to 99 credits. Advanced topics selected by the faculty from the literature of theory of computing to suit the interest and background of students. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC878A | Advanced Topics in Numerical Methods (1 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Restriction: Permission of instructor. Repeatable to 99 credits. Advanced topics selected by the faculty from the literature of numerical methods to suit the interest and background of students. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CMSC898 | Pre-Candidacy Research (1 credits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Restriction: Permission of instructor. Prerequisite: permission of instructor. Advanced topics selected by the faculty from the literature of applications of computer science to suit the interest and background of students. May be repeated for credit. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||



