Schedule of Classes




2023 Summer: May 10 - August 15
Stateside hybrid classes for Summer 2023 will be made available the weekend of February 10th, 2023. Registration will open February 13th, 2023.

Course Class No. Section Start & End Date Day Time Status Location
CMSC 150 Introduction to Discrete Structures (3)
Prerequisite or corequisite: MATH 140. A survey of fundamental mathematical concepts relevant to computer science. The objective is to address problems in computer science. Proof techniques presented are those used for modeling and solving problems in computer science. Discussion covers functions, relations, infinite sets, and propositional logic. Topics also include graphs and trees, as well as selected applications. Students may receive credit for only one of the following courses: CMSC 150 or CMSC 250.
Start date has passed. Please register for the next start date.
50865 6380 17 May 2023-11 Jul 2023 Open Online
Faculty: Linker, Sheldon O Syllabus Course Materials
CMSC 150 Introduction to Discrete Structures (3)
Prerequisite or corequisite: MATH 140. A survey of fundamental mathematical concepts relevant to computer science. The objective is to address problems in computer science. Proof techniques presented are those used for modeling and solving problems in computer science. Discussion covers functions, relations, infinite sets, and propositional logic. Topics also include graphs and trees, as well as selected applications. Students may receive credit for only one of the following courses: CMSC 150 or CMSC 250.
Start date has passed. Please register for the next start date.
51168 6381 17 May 2023-11 Jul 2023 Open Online
Faculty: Muralidharan, Rajamani Syllabus Course Materials
CMSC 150 Introduction to Discrete Structures (3)
Prerequisite or corequisite: MATH 140. A survey of fundamental mathematical concepts relevant to computer science. The objective is to address problems in computer science. Proof techniques presented are those used for modeling and solving problems in computer science. Discussion covers functions, relations, infinite sets, and propositional logic. Topics also include graphs and trees, as well as selected applications. Students may receive credit for only one of the following courses: CMSC 150 or CMSC 250.
51973 6980 14 Jun 2023-08 Aug 2023 Closed Online
Faculty: Romero, Jose A Syllabus Course Materials
CMSC 150 Introduction to Discrete Structures (3)
Prerequisite or corequisite: MATH 140. A survey of fundamental mathematical concepts relevant to computer science. The objective is to address problems in computer science. Proof techniques presented are those used for modeling and solving problems in computer science. Discussion covers functions, relations, infinite sets, and propositional logic. Topics also include graphs and trees, as well as selected applications. Students may receive credit for only one of the following courses: CMSC 150 or CMSC 250.
54316 6981 14 Jun 2023-08 Aug 2023 Open Online
Faculty: Korrapati, Srinivas Syllabus Course Materials
CMSC 307 Artificial Intelligence Applications (3)
(No programming or math background required.) An interactive, hands-on study of current artificial intelligence (AI) applications spanning multiple disciplines and domains, including business, science, communications, and computing. The goal is to use datasets with AI and machine learning applications from leading cloud vendors, including Amazon and Microsoft. Projects and laboratory exercises demonstrate how AI can be used to solve problems across a wide variety of disciplines.
Start date has passed. Please register for the next start date.
51711 6380 17 May 2023-11 Jul 2023 Closed Online
Faculty: Chan, Philip W Syllabus Course Materials
CMSC 307 Artificial Intelligence Applications (3)
(No programming or math background required.) An interactive, hands-on study of current artificial intelligence (AI) applications spanning multiple disciplines and domains, including business, science, communications, and computing. The goal is to use datasets with AI and machine learning applications from leading cloud vendors, including Amazon and Microsoft. Projects and laboratory exercises demonstrate how AI can be used to solve problems across a wide variety of disciplines.
52682 6980 14 Jun 2023-08 Aug 2023 Open Online
Faculty: Castillo, David Syllabus Course Materials
CMSC 307 Artificial Intelligence Applications (3)
(No programming or math background required.) An interactive, hands-on study of current artificial intelligence (AI) applications spanning multiple disciplines and domains, including business, science, communications, and computing. The goal is to use datasets with AI and machine learning applications from leading cloud vendors, including Amazon and Microsoft. Projects and laboratory exercises demonstrate how AI can be used to solve problems across a wide variety of disciplines.
52842 6981 14 Jun 2023-08 Aug 2023 Open Online
Faculty: Syllabus Course Materials
CMSC 307 Artificial Intelligence Applications (3)
(No programming or math background required.) An interactive, hands-on study of current artificial intelligence (AI) applications spanning multiple disciplines and domains, including business, science, communications, and computing. The goal is to use datasets with AI and machine learning applications from leading cloud vendors, including Amazon and Microsoft. Projects and laboratory exercises demonstrate how AI can be used to solve problems across a wide variety of disciplines.
Start date has passed. Please register for the next start date.
54351 6381 17 May 2023-11 Jul 2023 Open Online
Faculty: Castillo, David Syllabus Course Materials
CMSC 325 Game Design and Development (3)
Prerequisite: CMSC 230 or CMIS 242. A project-driven study of the theory and practice of game design and development. The aim is to build realistic graphical 3-D worlds, animate characters, and add special effects to games. Discussion covers critical mathematical concepts and real-time game physics. Projects include collaborative development of interactive games.
Start date has passed. Please register for the next start date.
51532 6380 17 May 2023-11 Jul 2023 Open Online
Faculty: Johnson, Tiffany N Syllabus Course Materials
CMSC 330 Advanced Programming Languages (3)
Prerequisite: CMSC 230 or CMSC 350. A comparative study of programming languages. The aim is to write safe and secure computer programs. Topics include the syntax and semantics of programming languages and run-time support required for various programming languages. Programming projects using selected languages are required.
Start date has passed. Please register for the next start date.
50863 6380 17 May 2023-11 Jul 2023 Open Online
Faculty: Gubanov, Vladimir Syllabus Course Materials
CMSC 330 Advanced Programming Languages (3)
Prerequisite: CMSC 230 or CMSC 350. A comparative study of programming languages. The aim is to write safe and secure computer programs. Topics include the syntax and semantics of programming languages and run-time support required for various programming languages. Programming projects using selected languages are required.
Start date has passed. Please register for the next start date.
51297 6381 17 May 2023-11 Jul 2023 Open Online
Faculty: Elms, Michael A Syllabus Course Materials
CMSC 330 Advanced Programming Languages (3)
Prerequisite: CMSC 230 or CMSC 350. A comparative study of programming languages. The aim is to write safe and secure computer programs. Topics include the syntax and semantics of programming languages and run-time support required for various programming languages. Programming projects using selected languages are required.
52198 6980 14 Jun 2023-08 Aug 2023 Closed Online
Faculty: Elms, Michael A Syllabus Course Materials
CMSC 335 Object-Oriented and Concurrent Programming (3)
Prerequisite: CMSC 230 or CMSC 350. A study of object-oriented and concurrent programming using features of Java. The goal is to design, implement, test, debug, and document complex robust programs in an object-oriented language. Concepts of object-oriented programming (such as composition, classification, and polymorphism) are explored. Topics include the principles of concurrent programming (such as task synchronization, race conditions, deadlock, threads, and event-driven graphic user interface programs). Programming projects are implemented in Java. Students may receive credit for only one of the following courses: CMSC 300 or CMSC 335.
Start date has passed. Please register for the next start date.
50984 6380 17 May 2023-11 Jul 2023 Open Online
Faculty: Mujeye, Douglas Syllabus Course Materials
CMSC 335 Object-Oriented and Concurrent Programming (3)
Prerequisite: CMSC 230 or CMSC 350. A study of object-oriented and concurrent programming using features of Java. The goal is to design, implement, test, debug, and document complex robust programs in an object-oriented language. Concepts of object-oriented programming (such as composition, classification, and polymorphism) are explored. Topics include the principles of concurrent programming (such as task synchronization, race conditions, deadlock, threads, and event-driven graphic user interface programs). Programming projects are implemented in Java. Students may receive credit for only one of the following courses: CMSC 300 or CMSC 335.
Start date has passed. Please register for the next start date.
51285 6381 17 May 2023-11 Jul 2023 Open Online
Faculty: Dinsoreanu, Mihaela Syllabus Course Materials
CMSC 335 Object-Oriented and Concurrent Programming (3)
Prerequisite: CMSC 230 or CMSC 350. A study of object-oriented and concurrent programming using features of Java. The goal is to design, implement, test, debug, and document complex robust programs in an object-oriented language. Concepts of object-oriented programming (such as composition, classification, and polymorphism) are explored. Topics include the principles of concurrent programming (such as task synchronization, race conditions, deadlock, threads, and event-driven graphic user interface programs). Programming projects are implemented in Java. Students may receive credit for only one of the following courses: CMSC 300 or CMSC 335.
52199 6980 14 Jun 2023-08 Aug 2023 Closed Online
Faculty: Ghosh, Soumajit Syllabus Course Materials
CMSC 350 Data Structures and Analysis (3)
Prerequisite: CMIS 242. A study of user-defined data structures and object-oriented design in computer science. The aim is to develop secure Java programs. Topics include linked lists, stacks, queues, arrays, maps, vectors, and trees. Algorithms that perform sorting, searching, and recursion are discussed and analyzed.
Start date has passed. Please register for the next start date.
50917 6380 17 May 2023-11 Jul 2023 Open Online
Faculty: Huskins, James M Syllabus Course Materials
CMSC 350 Data Structures and Analysis (3)
Prerequisite: CMIS 242. A study of user-defined data structures and object-oriented design in computer science. The aim is to develop secure Java programs. Topics include linked lists, stacks, queues, arrays, maps, vectors, and trees. Algorithms that perform sorting, searching, and recursion are discussed and analyzed.
Start date has passed. Please register for the next start date.
51175 6381 17 May 2023-11 Jul 2023 Open Online
Faculty: Schmeelk, Suzanna E Syllabus Course Materials
CMSC 350 Data Structures and Analysis (3)
Prerequisite: CMIS 242. A study of user-defined data structures and object-oriented design in computer science. The aim is to develop secure Java programs. Topics include linked lists, stacks, queues, arrays, maps, vectors, and trees. Algorithms that perform sorting, searching, and recursion are discussed and analyzed.
52168 6980 14 Jun 2023-08 Aug 2023 Closed Online
Faculty: Salomie, Ioan Syllabus Course Materials
CMSC 350 Data Structures and Analysis (3)
Prerequisite: CMIS 242. A study of user-defined data structures and object-oriented design in computer science. The aim is to develop secure Java programs. Topics include linked lists, stacks, queues, arrays, maps, vectors, and trees. Algorithms that perform sorting, searching, and recursion are discussed and analyzed.
52629 6981 14 Jun 2023-08 Aug 2023 Open Online
Faculty: Specioso, Richard E Syllabus Course Materials
CMSC 350 Data Structures and Analysis (3)
Prerequisite: CMIS 242. A study of user-defined data structures and object-oriented design in computer science. The aim is to develop secure Java programs. Topics include linked lists, stacks, queues, arrays, maps, vectors, and trees. Algorithms that perform sorting, searching, and recursion are discussed and analyzed.
Start date has passed. Please register for the next start date.
54193 6382 17 May 2023-11 Jul 2023 Open Online
Faculty: Potolea, Rodica Syllabus Course Materials
CMSC 405 Computer Graphics (3)
Prerequisite: CMSC 325 or CMSC 350. A hands-on, project-based introduction to computer graphics. The goal is to develop projects that render graphic images and animate three-dimensional objects. Topics include programming in OpenGL and transforming, viewing, and modeling 2-D and 3-D objects.
Start date has passed. Please register for the next start date.
51427 6380 17 May 2023-11 Jul 2023 Open Online
Faculty: Marcello, Cynthia V. Syllabus Course Materials
CMSC 405 Computer Graphics (3)
Prerequisite: CMSC 325 or CMSC 350. A hands-on, project-based introduction to computer graphics. The goal is to develop projects that render graphic images and animate three-dimensional objects. Topics include programming in OpenGL and transforming, viewing, and modeling 2-D and 3-D objects.
52171 6980 14 Jun 2023-08 Aug 2023 Open Online
Faculty: Johnson, Tiffany N Syllabus Course Materials
CMSC 412 Operating Systems (3)
Prerequisite: CMIS 310 or CMSC 311. A study of the fundamental principles underlying modern operating systems. The objective is to design and implement a small-scale operating system and design a virtual memory management system. Discussion covers the essential components of a typical operating system and the interactions among them. Topics also include methods of managing processes and resources in computer systems. A programming project that implements part of an operating system is required.
Start date has passed. Please register for the next start date.
50986 6380 17 May 2023-11 Jul 2023 Closed Online
Faculty: Suciu, Alin D Syllabus Course Materials
CMSC 430 Compiler Theory and Design (3)
Prerequisites: CMSC 330 and programming experience in C or C++. An examination of the formal translation of programming languages, syntax, and semantics. The goal is to write programs that are constructed using program generators. Topics include evaluation of finite-state grammars and recognizers; context-free parsing techniques, such as recursive descent, precedence, LL(K), LR(K), and SLR(K); and improvement and generation of machine-independent code and syntax-directed translation schema. Programming projects that implement parts of a compiler are required.
52200 6980 14 Jun 2023-08 Aug 2023 Closed Online
Faculty: McDonald, Renee C Syllabus Course Materials
CMSC 430 Compiler Theory and Design (3)
Prerequisites: CMSC 330 and programming experience in C or C++. An examination of the formal translation of programming languages, syntax, and semantics. The goal is to write programs that are constructed using program generators. Topics include evaluation of finite-state grammars and recognizers; context-free parsing techniques, such as recursive descent, precedence, LL(K), LR(K), and SLR(K); and improvement and generation of machine-independent code and syntax-directed translation schema. Programming projects that implement parts of a compiler are required.
52623 6981 14 Jun 2023-08 Aug 2023 Open Online
Faculty: Mikulski, George R Syllabus Course Materials
CMSC 430 Compiler Theory and Design (3)
Prerequisites: CMSC 330 and programming experience in C or C++. An examination of the formal translation of programming languages, syntax, and semantics. The goal is to write programs that are constructed using program generators. Topics include evaluation of finite-state grammars and recognizers; context-free parsing techniques, such as recursive descent, precedence, LL(K), LR(K), and SLR(K); and improvement and generation of machine-independent code and syntax-directed translation schema. Programming projects that implement parts of a compiler are required.
52726 6982 14 Jun 2023-08 Aug 2023 Open Online
Faculty: Chan, Philip W Syllabus Course Materials
CMSC 451 Design and Analysis of Computer Algorithms (3)
Prerequisites: CMSC 150 and CMSC 350 (or CMSC 230). A presentation of fundamental techniques for designing and analyzing computer algorithms. The aim is to apply Big-O estimates of algorithms and proof-of-correctness techniques and to design algorithms. Basic methods include divide-and-conquer techniques, search and traversal techniques, dynamic programming, greedy methods, and induction. Programming projects are included.
Start date has passed. Please register for the next start date.
50988 6380 17 May 2023-11 Jul 2023 Open Online
Faculty: Sanford, Jeff H Syllabus Course Materials
CMSC 451 Design and Analysis of Computer Algorithms (3)
Prerequisites: CMSC 150 and CMSC 350 (or CMSC 230). A presentation of fundamental techniques for designing and analyzing computer algorithms. The aim is to apply Big-O estimates of algorithms and proof-of-correctness techniques and to design algorithms. Basic methods include divide-and-conquer techniques, search and traversal techniques, dynamic programming, greedy methods, and induction. Programming projects are included.
Start date has passed. Please register for the next start date.
51738 6381 17 May 2023-11 Jul 2023 Open Online
Faculty: Smith, Therese M Syllabus Course Materials
CMSC 451 Design and Analysis of Computer Algorithms (3)
Prerequisites: CMSC 150 and CMSC 350 (or CMSC 230). A presentation of fundamental techniques for designing and analyzing computer algorithms. The aim is to apply Big-O estimates of algorithms and proof-of-correctness techniques and to design algorithms. Basic methods include divide-and-conquer techniques, search and traversal techniques, dynamic programming, greedy methods, and induction. Programming projects are included.
52642 6980 14 Jun 2023-08 Aug 2023 Closed Online
Faculty: Sanford, Jeff H Syllabus Course Materials
CMSC 451 Design and Analysis of Computer Algorithms (3)
Prerequisites: CMSC 150 and CMSC 350 (or CMSC 230). A presentation of fundamental techniques for designing and analyzing computer algorithms. The aim is to apply Big-O estimates of algorithms and proof-of-correctness techniques and to design algorithms. Basic methods include divide-and-conquer techniques, search and traversal techniques, dynamic programming, greedy methods, and induction. Programming projects are included.
54680 6981 14 Jun 2023-08 Aug 2023 Open Online
Faculty: Syllabus Course Materials
CMSC 495 Current Trends and Projects in Computer Science (3)
(Intended as a final, capstone course to be taken in a student's last 9 credits.) Prerequisite(s): Either CMSC 330 and CMSC 335, CMIS 320 and CMIS 330, or SDEV 425. An overview of computer technologies, with an emphasis on integration of concepts, practical application, and critical thinking. The goal is to research, plan, conduct, and complete collaborative computer-related projects in compliance with schedule deadlines. Analysis covers innovative and emerging issues in computer science. Assignments include working in teams throughout the analysis, design, development, implementation, testing, and documentation phases of the projects, including periodic peer reviews.
Start date has passed. Please register for the next start date.
50996 6380 17 May 2023-11 Jul 2023 Open Online
Faculty: Mentzos, Terrence W. Syllabus Course Materials
CMSC 495 Current Trends and Projects in Computer Science (3)
(Intended as a final, capstone course to be taken in a student's last 9 credits.) Prerequisite(s): Either CMSC 330 and CMSC 335, CMIS 320 and CMIS 330, or SDEV 425. An overview of computer technologies, with an emphasis on integration of concepts, practical application, and critical thinking. The goal is to research, plan, conduct, and complete collaborative computer-related projects in compliance with schedule deadlines. Analysis covers innovative and emerging issues in computer science. Assignments include working in teams throughout the analysis, design, development, implementation, testing, and documentation phases of the projects, including periodic peer reviews.
Start date has passed. Please register for the next start date.
51727 6381 17 May 2023-11 Jul 2023 Closed Online
Faculty: Dao, Hung Syllabus Course Materials
CMSC 495 Current Trends and Projects in Computer Science (3)
(Intended as a final, capstone course to be taken in a student's last 9 credits.) Prerequisite(s): Either CMSC 330 and CMSC 335, CMIS 320 and CMIS 330, or SDEV 425. An overview of computer technologies, with an emphasis on integration of concepts, practical application, and critical thinking. The goal is to research, plan, conduct, and complete collaborative computer-related projects in compliance with schedule deadlines. Analysis covers innovative and emerging issues in computer science. Assignments include working in teams throughout the analysis, design, development, implementation, testing, and documentation phases of the projects, including periodic peer reviews.
Start date has passed. Please register for the next start date.
51735 6382 17 May 2023-11 Jul 2023 Open Online
Faculty: Nevarez, Shanna Nicole Syllabus Course Materials
CMSC 495 Current Trends and Projects in Computer Science (3)
(Intended as a final, capstone course to be taken in a student's last 9 credits.) Prerequisite(s): Either CMSC 330 and CMSC 335, CMIS 320 and CMIS 330, or SDEV 425. An overview of computer technologies, with an emphasis on integration of concepts, practical application, and critical thinking. The goal is to research, plan, conduct, and complete collaborative computer-related projects in compliance with schedule deadlines. Analysis covers innovative and emerging issues in computer science. Assignments include working in teams throughout the analysis, design, development, implementation, testing, and documentation phases of the projects, including periodic peer reviews.
52319 6980 14 Jun 2023-08 Aug 2023 Closed Online
Faculty: Davis, Christopher L Syllabus Course Materials
CMSC 495 Current Trends and Projects in Computer Science (3)
(Intended as a final, capstone course to be taken in a student's last 9 credits.) Prerequisite(s): Either CMSC 330 and CMSC 335, CMIS 320 and CMIS 330, or SDEV 425. An overview of computer technologies, with an emphasis on integration of concepts, practical application, and critical thinking. The goal is to research, plan, conduct, and complete collaborative computer-related projects in compliance with schedule deadlines. Analysis covers innovative and emerging issues in computer science. Assignments include working in teams throughout the analysis, design, development, implementation, testing, and documentation phases of the projects, including periodic peer reviews.
52700 6981 14 Jun 2023-08 Aug 2023 Open Online
Faculty: Shaalan, Majid A Syllabus Course Materials
CMSC 495 Current Trends and Projects in Computer Science (3)
(Intended as a final, capstone course to be taken in a student's last 9 credits.) Prerequisite(s): Either CMSC 330 and CMSC 335, CMIS 320 and CMIS 330, or SDEV 425. An overview of computer technologies, with an emphasis on integration of concepts, practical application, and critical thinking. The goal is to research, plan, conduct, and complete collaborative computer-related projects in compliance with schedule deadlines. Analysis covers innovative and emerging issues in computer science. Assignments include working in teams throughout the analysis, design, development, implementation, testing, and documentation phases of the projects, including periodic peer reviews.
Start date has passed. Please register for the next start date.
54275 6383 17 May 2023-11 Jul 2023 Open Online
Faculty: Metallo, Lynda M Syllabus Course Materials
CMSC 495 Current Trends and Projects in Computer Science (3)
(Intended as a final, capstone course to be taken in a student's last 9 credits.) Prerequisite(s): Either CMSC 330 and CMSC 335, CMIS 320 and CMIS 330, or SDEV 425. An overview of computer technologies, with an emphasis on integration of concepts, practical application, and critical thinking. The goal is to research, plan, conduct, and complete collaborative computer-related projects in compliance with schedule deadlines. Analysis covers innovative and emerging issues in computer science. Assignments include working in teams throughout the analysis, design, development, implementation, testing, and documentation phases of the projects, including periodic peer reviews.
54670 6982 14 Jun 2023-08 Aug 2023 Open Online
Faculty: Dao, Hung Syllabus Course Materials
Top of Page