Schedule of Classes
Apply Now
Skip to Menu Toggle Button

2026 Spring: January 7 - May 5

Course Class No. Section Start & End Date Day Time Status Location
CMSC 100 Social Networking and Cybersecurity Best Practices (3)
(Formerly CMIS 111.) A hands-on study of current social networking applications and approaches to protect against cyber-attacks and enhance personal cybersecurity. The goal is to collaborate and interact through personal and professional social networking while developing and using computer security best practices. Discussion covers issues associated with the impact of social computing on individuals and society. Projects include creating and maintaining accounts on selected social networking sites. Students may receive credit for only one of the following courses: CMIS 111 or CMSC 100.
Start date has passed. Please register for the next start date.
3186 6380 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Guster, Dennis C Syllabus Course Materials
CMSC 100 Social Networking and Cybersecurity Best Practices (3)
(Formerly CMIS 111.) A hands-on study of current social networking applications and approaches to protect against cyber-attacks and enhance personal cybersecurity. The goal is to collaborate and interact through personal and professional social networking while developing and using computer security best practices. Discussion covers issues associated with the impact of social computing on individuals and society. Projects include creating and maintaining accounts on selected social networking sites. Students may receive credit for only one of the following courses: CMIS 111 or CMSC 100.
Start date has passed. Please register for the next start date.
3187 6381 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Zevallos, Omar A Syllabus Course Materials
CMSC 100 Social Networking and Cybersecurity Best Practices (3)
(Formerly CMIS 111.) A hands-on study of current social networking applications and approaches to protect against cyber-attacks and enhance personal cybersecurity. The goal is to collaborate and interact through personal and professional social networking while developing and using computer security best practices. Discussion covers issues associated with the impact of social computing on individuals and society. Projects include creating and maintaining accounts on selected social networking sites. Students may receive credit for only one of the following courses: CMIS 111 or CMSC 100.
Start date has passed. Please register for the next start date.
3188 6382 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Copeland, Keiona A Syllabus Course Materials
CMSC 100 Social Networking and Cybersecurity Best Practices (3)
(Formerly CMIS 111.) A hands-on study of current social networking applications and approaches to protect against cyber-attacks and enhance personal cybersecurity. The goal is to collaborate and interact through personal and professional social networking while developing and using computer security best practices. Discussion covers issues associated with the impact of social computing on individuals and society. Projects include creating and maintaining accounts on selected social networking sites. Students may receive credit for only one of the following courses: CMIS 111 or CMSC 100.
Start date has passed. Please register for the next start date.
3951 6383 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Beache, Vidda Syllabus Course Materials
CMSC 100 Social Networking and Cybersecurity Best Practices (3)
(Formerly CMIS 111.) A hands-on study of current social networking applications and approaches to protect against cyber-attacks and enhance personal cybersecurity. The goal is to collaborate and interact through personal and professional social networking while developing and using computer security best practices. Discussion covers issues associated with the impact of social computing on individuals and society. Projects include creating and maintaining accounts on selected social networking sites. Students may receive credit for only one of the following courses: CMIS 111 or CMSC 100.
Start date has passed. Please register for the next start date.
4625 6980 11 Feb 2026-07 Apr 2026 Closed Online
Faculty: Ellis, Brenda L Syllabus Course Materials
CMSC 100 Social Networking and Cybersecurity Best Practices (3)
(Formerly CMIS 111.) A hands-on study of current social networking applications and approaches to protect against cyber-attacks and enhance personal cybersecurity. The goal is to collaborate and interact through personal and professional social networking while developing and using computer security best practices. Discussion covers issues associated with the impact of social computing on individuals and society. Projects include creating and maintaining accounts on selected social networking sites. Students may receive credit for only one of the following courses: CMIS 111 or CMSC 100.
Start date has passed. Please register for the next start date.
4626 6981 11 Feb 2026-07 Apr 2026 Open Online
Faculty: Pender, Tiffany M Syllabus Course Materials
CMSC 100 Social Networking and Cybersecurity Best Practices (3)
(Formerly CMIS 111.) A hands-on study of current social networking applications and approaches to protect against cyber-attacks and enhance personal cybersecurity. The goal is to collaborate and interact through personal and professional social networking while developing and using computer security best practices. Discussion covers issues associated with the impact of social computing on individuals and society. Projects include creating and maintaining accounts on selected social networking sites. Students may receive credit for only one of the following courses: CMIS 111 or CMSC 100.
6342 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Copeland, Keiona A Syllabus Course Materials
CMSC 100 Social Networking and Cybersecurity Best Practices (3)
(Formerly CMIS 111.) A hands-on study of current social networking applications and approaches to protect against cyber-attacks and enhance personal cybersecurity. The goal is to collaborate and interact through personal and professional social networking while developing and using computer security best practices. Discussion covers issues associated with the impact of social computing on individuals and society. Projects include creating and maintaining accounts on selected social networking sites. Students may receive credit for only one of the following courses: CMIS 111 or CMSC 100.
6343 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: Guster, Dennis C Syllabus Course Materials
CMSC 100 Social Networking and Cybersecurity Best Practices (3)
(Formerly CMIS 111.) A hands-on study of current social networking applications and approaches to protect against cyber-attacks and enhance personal cybersecurity. The goal is to collaborate and interact through personal and professional social networking while developing and using computer security best practices. Discussion covers issues associated with the impact of social computing on individuals and society. Projects include creating and maintaining accounts on selected social networking sites. Students may receive credit for only one of the following courses: CMIS 111 or CMSC 100.
6989 7382 11 Mar 2026-05 May 2026 Open Online
Faculty: Gonzales, Matthew M Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
Start date has passed. Please register for the next start date.
3176 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Bidwell, Bernard L Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
Start date has passed. Please register for the next start date.
3177 6381 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Schultz, Christopher Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
Start date has passed. Please register for the next start date.
3178 6382 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Romero, Jose A Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
Start date has passed. Please register for the next start date.
3179 6383 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Azhar, Mohammad Q Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
Start date has passed. Please register for the next start date.
3180 6384 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Kayed, Rabiha J Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
Start date has passed. Please register for the next start date.
3181 6385 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Al-Marzooq, Taghreed Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
Start date has passed. Please register for the next start date.
3182 6386 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Haight, Timothy W Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
Start date has passed. Please register for the next start date.
3183 6387 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Manocha, Subhash Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
Start date has passed. Please register for the next start date.
4620 6980 11 Feb 2026-07 Apr 2026 Open Online
Faculty: Karmaker, Amitava Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
Start date has passed. Please register for the next start date.
4621 6981 11 Feb 2026-07 Apr 2026 Open Online
Faculty: Thomas, Darren J Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
Start date has passed. Please register for the next start date.
4622 6982 11 Feb 2026-07 Apr 2026 Open Online
Faculty: Timko, Thomas J Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
6332 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Bidwell, Bernard L Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
6333 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: Al-Marzooq, Taghreed Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
6334 7382 11 Mar 2026-05 May 2026 Closed Online
Faculty: Azhar, Mohammad Q Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
6335 7383 11 Mar 2026-05 May 2026 Closed Online
Faculty: Kayed, Rabiha J Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
6336 7384 11 Mar 2026-05 May 2026 Open Online
Faculty: Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
7587 5755 11 Mar 2026-05 May 2026 T 6:00P-9:00P Open Kuhn Hall-Ft. Meade (Hybrid)
Faculty: Thomas, Darren J Syllabus Course Materials
Note: Registration is open for students who have Base Access Only
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
8654 4025 07 Jan 2026-03 Mar 2026 Th 6:30P-9:30P Open College Park (Hybrid)
Faculty: Alhabashi, Khattab A Bldg/Room: Susquehanna Hall 2120 Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
8655 4060 11 Mar 2026-05 May 2026 W 6:30P-9:30P Open College Park (Hybrid)
Faculty: Alhabashi, Khattab A Syllabus Course Materials
CMSC 105 Introduction to Problem-Solving and Algorithm Design (3)
(Formerly CMIS 102.) A study of techniques for finding solutions to problems through structured programming and stepwise refinement. The objective is to design programs using pseudocode and implement them in an appropriate programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem-solving. Students may receive credit for only one of the following courses: CMIS 102,CMIS 102A, CMSC 101, or CMSC 105.
Start date has passed. Please register for the next start date.
9742 6394 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Mentzos, Terrence W. Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
Start date has passed. Please register for the next start date.
3189 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Rowson, Rebecca R Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
Start date has passed. Please register for the next start date.
3190 6381 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Meystel, Michael A Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
Start date has passed. Please register for the next start date.
3191 6382 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Mittal, Ajay Kumar Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
Start date has passed. Please register for the next start date.
3192 6383 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Mikulski, George R Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
Start date has passed. Please register for the next start date.
3193 6384 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Morad, Osama Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
Start date has passed. Please register for the next start date.
3194 6385 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Breitler, Alan L Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
Start date has passed. Please register for the next start date.
4627 6980 11 Feb 2026-07 Apr 2026 Open Online
Faculty: Lee, John R Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
Start date has passed. Please register for the next start date.
4628 6981 11 Feb 2026-07 Apr 2026 Open Online
Faculty: Metz, Richard Steven Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
6344 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Rowson, Rebecca R Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
6345 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: Marcello, Cynthia V. Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
6346 7382 11 Mar 2026-05 May 2026 Open Online
Faculty: Meystel, Michael A Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
6347 7383 11 Mar 2026-05 May 2026 Open Online
Faculty: Breitler, Alan L Syllabus Course Materials
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
7870 7615 07 Jan 2026-03 Mar 2026 T 6:30P-9:30P Open Dorsey Station (Hybrid)
Faculty: Stricklin, Steve D. Syllabus Course Materials
Note: Dorsey Station: Classroom assignments are subject to change. Please view the electronic board in the hallway for your classroom assignment.
CMSC 115 Introductory Programming (3)
(Formerly CMIS 141.) Prerequisite: CMSC 105 (or CMIS 102). A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 115.
8656 4025 07 Jan 2026-03 Mar 2026 Th 6:30P-9:30P Open College Park (Hybrid)
Faculty: Butu, Emilia V Bldg/Room: Susquehanna Hall 1121 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.
1801 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Marcello, Cynthia V. 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.
2132 6381 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Richmond, Greig K 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.
2389 6382 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Korrapati, Srinivas 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.
4141 6980 11 Feb 2026-07 Apr 2026 Open Online
Faculty: Potolea, Rodica 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.
4908 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Smith, Therese M 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.
5767 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: Korrapati, Srinivas 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.
6264 7382 11 Mar 2026-05 May 2026 Open Online
Faculty: Richmond, Greig K Syllabus Course Materials
CMSC 215 Intermediate Programming (3)
(Formerly CMIS 242.) Prerequisite: CMSC 115 (or CMIS 141). Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event driven programming, exceptions, recursion, arrays, and data structures. Students may receive credit for only one of the following courses: CMSC 215 or CMIS 242.
Start date has passed. Please register for the next start date.
3196 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Logue, Thomas A Syllabus Course Materials
CMSC 215 Intermediate Programming (3)
(Formerly CMIS 242.) Prerequisite: CMSC 115 (or CMIS 141). Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event driven programming, exceptions, recursion, arrays, and data structures. Students may receive credit for only one of the following courses: CMSC 215 or CMIS 242.
Start date has passed. Please register for the next start date.
3197 6381 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Lusby, Jack C Syllabus Course Materials
CMSC 215 Intermediate Programming (3)
(Formerly CMIS 242.) Prerequisite: CMSC 115 (or CMIS 141). Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event driven programming, exceptions, recursion, arrays, and data structures. Students may receive credit for only one of the following courses: CMSC 215 or CMIS 242.
Start date has passed. Please register for the next start date.
3198 6382 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Fernandez, Teresa Suarez Syllabus Course Materials
CMSC 215 Intermediate Programming (3)
(Formerly CMIS 242.) Prerequisite: CMSC 115 (or CMIS 141). Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event driven programming, exceptions, recursion, arrays, and data structures. Students may receive credit for only one of the following courses: CMSC 215 or CMIS 242.
Start date has passed. Please register for the next start date.
3199 6383 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Specioso, Richard E Syllabus Course Materials
CMSC 215 Intermediate Programming (3)
(Formerly CMIS 242.) Prerequisite: CMSC 115 (or CMIS 141). Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event driven programming, exceptions, recursion, arrays, and data structures. Students may receive credit for only one of the following courses: CMSC 215 or CMIS 242.
Start date has passed. Please register for the next start date.
3200 6384 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Nuur, Sadiq O Syllabus Course Materials
CMSC 215 Intermediate Programming (3)
(Formerly CMIS 242.) Prerequisite: CMSC 115 (or CMIS 141). Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event driven programming, exceptions, recursion, arrays, and data structures. Students may receive credit for only one of the following courses: CMSC 215 or CMIS 242.
Start date has passed. Please register for the next start date.
4629 6980 11 Feb 2026-07 Apr 2026 Open Online
Faculty: Grady, Stephen Howard Syllabus Course Materials
CMSC 215 Intermediate Programming (3)
(Formerly CMIS 242.) Prerequisite: CMSC 115 (or CMIS 141). Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event driven programming, exceptions, recursion, arrays, and data structures. Students may receive credit for only one of the following courses: CMSC 215 or CMIS 242.
6350 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Specioso, Richard E Syllabus Course Materials
CMSC 215 Intermediate Programming (3)
(Formerly CMIS 242.) Prerequisite: CMSC 115 (or CMIS 141). Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event driven programming, exceptions, recursion, arrays, and data structures. Students may receive credit for only one of the following courses: CMSC 215 or CMIS 242.
6351 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: Fernandez, Teresa Suarez Syllabus Course Materials
CMSC 215 Intermediate Programming (3)
(Formerly CMIS 242.) Prerequisite: CMSC 115 (or CMIS 141). Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event driven programming, exceptions, recursion, arrays, and data structures. Students may receive credit for only one of the following courses: CMSC 215 or CMIS 242.
6352 7382 11 Mar 2026-05 May 2026 Closed Online
Faculty: Lusby, Jack C Syllabus Course Materials
CMSC 215 Intermediate Programming (3)
(Formerly CMIS 242.) Prerequisite: CMSC 115 (or CMIS 141). Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event driven programming, exceptions, recursion, arrays, and data structures. Students may receive credit for only one of the following courses: CMSC 215 or CMIS 242.
6353 7383 11 Mar 2026-05 May 2026 Open Online
Faculty: Logue, Thomas A Syllabus Course Materials
CMSC 215 Intermediate Programming (3)
(Formerly CMIS 242.) Prerequisite: CMSC 115 (or CMIS 141). Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event driven programming, exceptions, recursion, arrays, and data structures. Students may receive credit for only one of the following courses: CMSC 215 or CMIS 242.
6540 7665 11 Mar 2026-05 May 2026 Th 6:30P-9:30P Open Dorsey Station (Hybrid)
Faculty: Nebhnani, Puran C Syllabus Course Materials
Note: Dorsey Station: Classroom assignments are subject to change. Please view the electronic board in the hallway for your classroom assignment.
CMSC 215 Intermediate Programming (3)
(Formerly CMIS 242.) Prerequisite: CMSC 115 (or CMIS 141). Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event driven programming, exceptions, recursion, arrays, and data structures. Students may receive credit for only one of the following courses: CMSC 215 or CMIS 242.
8657 4065 11 Mar 2026-05 May 2026 Th 6:30P-9:30P Open College Park (Hybrid)
Faculty: Williams, Gregory T Syllabus Course Materials
CMSC 310 Computer Systems and Architecture (3)
(Formerly CMIS 310.) Prerequisite: CMSC 115 (or CMIS 141). A study of the fundamental concepts of computer architecture and factors that influence the performance of a system. The aim is to apply practical skills to computer systems architecture. Topics include data representation, assembly language, central processing unit architecture, memory architecture, and input/output (I/O) architecture. Students may receive credit for only one of the following courses: CMIS 270, CMIS 310, CMSC 310, CMSC 311, or IFSM 310.
Start date has passed. Please register for the next start date.
3202 6380 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Tapus, Nicolae Syllabus Course Materials
CMSC 310 Computer Systems and Architecture (3)
(Formerly CMIS 310.) Prerequisite: CMSC 115 (or CMIS 141). A study of the fundamental concepts of computer architecture and factors that influence the performance of a system. The aim is to apply practical skills to computer systems architecture. Topics include data representation, assembly language, central processing unit architecture, memory architecture, and input/output (I/O) architecture. Students may receive credit for only one of the following courses: CMIS 270, CMIS 310, CMSC 310, CMSC 311, or IFSM 310.
Start date has passed. Please register for the next start date.
3203 6381 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Williams, Yul Syllabus Course Materials
CMSC 310 Computer Systems and Architecture (3)
(Formerly CMIS 310.) Prerequisite: CMSC 115 (or CMIS 141). A study of the fundamental concepts of computer architecture and factors that influence the performance of a system. The aim is to apply practical skills to computer systems architecture. Topics include data representation, assembly language, central processing unit architecture, memory architecture, and input/output (I/O) architecture. Students may receive credit for only one of the following courses: CMIS 270, CMIS 310, CMSC 310, CMSC 311, or IFSM 310.
Start date has passed. Please register for the next start date.
3204 6382 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Luo, Angelo Y Syllabus Course Materials
CMSC 310 Computer Systems and Architecture (3)
(Formerly CMIS 310.) Prerequisite: CMSC 115 (or CMIS 141). A study of the fundamental concepts of computer architecture and factors that influence the performance of a system. The aim is to apply practical skills to computer systems architecture. Topics include data representation, assembly language, central processing unit architecture, memory architecture, and input/output (I/O) architecture. Students may receive credit for only one of the following courses: CMIS 270, CMIS 310, CMSC 310, CMSC 311, or IFSM 310.
Start date has passed. Please register for the next start date.
3325 6383 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Elsaghir, Hesham M Syllabus Course Materials
CMSC 310 Computer Systems and Architecture (3)
(Formerly CMIS 310.) Prerequisite: CMSC 115 (or CMIS 141). A study of the fundamental concepts of computer architecture and factors that influence the performance of a system. The aim is to apply practical skills to computer systems architecture. Topics include data representation, assembly language, central processing unit architecture, memory architecture, and input/output (I/O) architecture. Students may receive credit for only one of the following courses: CMIS 270, CMIS 310, CMSC 310, CMSC 311, or IFSM 310.
Start date has passed. Please register for the next start date.
4631 6980 11 Feb 2026-07 Apr 2026 Closed Online
Faculty: Luo, Angelo Y Syllabus Course Materials
CMSC 310 Computer Systems and Architecture (3)
(Formerly CMIS 310.) Prerequisite: CMSC 115 (or CMIS 141). A study of the fundamental concepts of computer architecture and factors that influence the performance of a system. The aim is to apply practical skills to computer systems architecture. Topics include data representation, assembly language, central processing unit architecture, memory architecture, and input/output (I/O) architecture. Students may receive credit for only one of the following courses: CMIS 270, CMIS 310, CMSC 310, CMSC 311, or IFSM 310.
6357 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Del Orbe, Walther A Syllabus Course Materials
CMSC 310 Computer Systems and Architecture (3)
(Formerly CMIS 310.) Prerequisite: CMSC 115 (or CMIS 141). A study of the fundamental concepts of computer architecture and factors that influence the performance of a system. The aim is to apply practical skills to computer systems architecture. Topics include data representation, assembly language, central processing unit architecture, memory architecture, and input/output (I/O) architecture. Students may receive credit for only one of the following courses: CMIS 270, CMIS 310, CMSC 310, CMSC 311, or IFSM 310.
6358 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: Mentzos, Terrence W. Syllabus Course Materials
CMSC 310 Computer Systems and Architecture (3)
(Formerly CMIS 310.) Prerequisite: CMSC 115 (or CMIS 141). A study of the fundamental concepts of computer architecture and factors that influence the performance of a system. The aim is to apply practical skills to computer systems architecture. Topics include data representation, assembly language, central processing unit architecture, memory architecture, and input/output (I/O) architecture. Students may receive credit for only one of the following courses: CMIS 270, CMIS 310, CMSC 310, CMSC 311, or IFSM 310.
6359 7382 11 Mar 2026-05 May 2026 Open Online
Faculty: Williams, Yul Syllabus Course Materials
CMSC 315 Data Structures and Analysis (3)
(Formerly CMSC 350.) Prerequisite: CMSC 215 (or 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. Students may receive credit for only one of the following courses: CMSC 315 or CMSC 350.
Start date has passed. Please register for the next start date.
3172 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Salomie, Ioan Syllabus Course Materials
CMSC 315 Data Structures and Analysis (3)
(Formerly CMSC 350.) Prerequisite: CMSC 215 (or 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. Students may receive credit for only one of the following courses: CMSC 315 or CMSC 350.
Start date has passed. Please register for the next start date.
3173 6381 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Huskins, James M Syllabus Course Materials
CMSC 315 Data Structures and Analysis (3)
(Formerly CMSC 350.) Prerequisite: CMSC 215 (or 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. Students may receive credit for only one of the following courses: CMSC 315 or CMSC 350.
Start date has passed. Please register for the next start date.
3174 6382 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Tepe, Cemal Syllabus Course Materials
CMSC 315 Data Structures and Analysis (3)
(Formerly CMSC 350.) Prerequisite: CMSC 215 (or 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. Students may receive credit for only one of the following courses: CMSC 315 or CMSC 350.
Start date has passed. Please register for the next start date.
3175 6383 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Francis, Dexter Whensworth Syllabus Course Materials
CMSC 315 Data Structures and Analysis (3)
(Formerly CMSC 350.) Prerequisite: CMSC 215 (or 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. Students may receive credit for only one of the following courses: CMSC 315 or CMSC 350.
6328 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Salomie, Ioan Syllabus Course Materials
CMSC 315 Data Structures and Analysis (3)
(Formerly CMSC 350.) Prerequisite: CMSC 215 (or 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. Students may receive credit for only one of the following courses: CMSC 315 or CMSC 350.
6329 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: Mittal, Ajay Kumar Syllabus Course Materials
CMSC 315 Data Structures and Analysis (3)
(Formerly CMSC 350.) Prerequisite: CMSC 215 (or 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. Students may receive credit for only one of the following courses: CMSC 315 or CMSC 350.
6330 7382 11 Mar 2026-05 May 2026 Closed Online
Faculty: Tepe, Cemal Syllabus Course Materials
CMSC 315 Data Structures and Analysis (3)
(Formerly CMSC 350.) Prerequisite: CMSC 215 (or 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. Students may receive credit for only one of the following courses: CMSC 315 or CMSC 350.
6331 7383 11 Mar 2026-05 May 2026 Open Online
Faculty: Speller, Barry E Syllabus Course Materials
CMSC 320 Relational Database Concepts and Applications (3)
(Formerly CMIS 320.). Prerequisite: CMSC 115 (or CMIS 141). A study of the functions, underlying concepts, and applications of enterprise relational database management systems (RDBMS) in a business environment. The aim is to appropriately use databases to meet business requirements. Discussion covers entity/relationship diagrams, relational theory, normalization, integrity constraints, the Structured Query Language (SQL), and physical and logical design. Business case studies and projects include hands-on work using an industry standard RDBMS. Students may receive credit for only one of the following courses: CMIS 320, CMSC 320, or IFSM 410.
Start date has passed. Please register for the next start date.
3205 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Liu, Lawrence W Syllabus Course Materials
CMSC 320 Relational Database Concepts and Applications (3)
(Formerly CMIS 320.). Prerequisite: CMSC 115 (or CMIS 141). A study of the functions, underlying concepts, and applications of enterprise relational database management systems (RDBMS) in a business environment. The aim is to appropriately use databases to meet business requirements. Discussion covers entity/relationship diagrams, relational theory, normalization, integrity constraints, the Structured Query Language (SQL), and physical and logical design. Business case studies and projects include hands-on work using an industry standard RDBMS. Students may receive credit for only one of the following courses: CMIS 320, CMSC 320, or IFSM 410.
Start date has passed. Please register for the next start date.
3206 6381 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Guy-Williams, Denton G Syllabus Course Materials
CMSC 320 Relational Database Concepts and Applications (3)
(Formerly CMIS 320.). Prerequisite: CMSC 115 (or CMIS 141). A study of the functions, underlying concepts, and applications of enterprise relational database management systems (RDBMS) in a business environment. The aim is to appropriately use databases to meet business requirements. Discussion covers entity/relationship diagrams, relational theory, normalization, integrity constraints, the Structured Query Language (SQL), and physical and logical design. Business case studies and projects include hands-on work using an industry standard RDBMS. Students may receive credit for only one of the following courses: CMIS 320, CMSC 320, or IFSM 410.
Start date has passed. Please register for the next start date.
3207 6382 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Baird, Anthony B Syllabus Course Materials
CMSC 320 Relational Database Concepts and Applications (3)
(Formerly CMIS 320.). Prerequisite: CMSC 115 (or CMIS 141). A study of the functions, underlying concepts, and applications of enterprise relational database management systems (RDBMS) in a business environment. The aim is to appropriately use databases to meet business requirements. Discussion covers entity/relationship diagrams, relational theory, normalization, integrity constraints, the Structured Query Language (SQL), and physical and logical design. Business case studies and projects include hands-on work using an industry standard RDBMS. Students may receive credit for only one of the following courses: CMIS 320, CMSC 320, or IFSM 410.
Start date has passed. Please register for the next start date.
3954 6383 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Johnson, Tiffany N Syllabus Course Materials
CMSC 320 Relational Database Concepts and Applications (3)
(Formerly CMIS 320.). Prerequisite: CMSC 115 (or CMIS 141). A study of the functions, underlying concepts, and applications of enterprise relational database management systems (RDBMS) in a business environment. The aim is to appropriately use databases to meet business requirements. Discussion covers entity/relationship diagrams, relational theory, normalization, integrity constraints, the Structured Query Language (SQL), and physical and logical design. Business case studies and projects include hands-on work using an industry standard RDBMS. Students may receive credit for only one of the following courses: CMIS 320, CMSC 320, or IFSM 410.
Start date has passed. Please register for the next start date.
4632 6980 11 Feb 2026-07 Apr 2026 Open Online
Faculty: Muralidharan, Rajamani Syllabus Course Materials
CMSC 320 Relational Database Concepts and Applications (3)
(Formerly CMIS 320.). Prerequisite: CMSC 115 (or CMIS 141). A study of the functions, underlying concepts, and applications of enterprise relational database management systems (RDBMS) in a business environment. The aim is to appropriately use databases to meet business requirements. Discussion covers entity/relationship diagrams, relational theory, normalization, integrity constraints, the Structured Query Language (SQL), and physical and logical design. Business case studies and projects include hands-on work using an industry standard RDBMS. Students may receive credit for only one of the following courses: CMIS 320, CMSC 320, or IFSM 410.
6361 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Liu, Lawrence W Syllabus Course Materials
CMSC 320 Relational Database Concepts and Applications (3)
(Formerly CMIS 320.). Prerequisite: CMSC 115 (or CMIS 141). A study of the functions, underlying concepts, and applications of enterprise relational database management systems (RDBMS) in a business environment. The aim is to appropriately use databases to meet business requirements. Discussion covers entity/relationship diagrams, relational theory, normalization, integrity constraints, the Structured Query Language (SQL), and physical and logical design. Business case studies and projects include hands-on work using an industry standard RDBMS. Students may receive credit for only one of the following courses: CMIS 320, CMSC 320, or IFSM 410.
6362 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: Butu, Emilia V Syllabus Course Materials
CMSC 320 Relational Database Concepts and Applications (3)
(Formerly CMIS 320.). Prerequisite: CMSC 115 (or CMIS 141). A study of the functions, underlying concepts, and applications of enterprise relational database management systems (RDBMS) in a business environment. The aim is to appropriately use databases to meet business requirements. Discussion covers entity/relationship diagrams, relational theory, normalization, integrity constraints, the Structured Query Language (SQL), and physical and logical design. Business case studies and projects include hands-on work using an industry standard RDBMS. Students may receive credit for only one of the following courses: CMIS 320, CMSC 320, or IFSM 410.
6363 7382 11 Mar 2026-05 May 2026 Closed Online
Faculty: Baird, Anthony B Syllabus Course Materials
CMSC 320 Relational Database Concepts and Applications (3)
(Formerly CMIS 320.). Prerequisite: CMSC 115 (or CMIS 141). A study of the functions, underlying concepts, and applications of enterprise relational database management systems (RDBMS) in a business environment. The aim is to appropriately use databases to meet business requirements. Discussion covers entity/relationship diagrams, relational theory, normalization, integrity constraints, the Structured Query Language (SQL), and physical and logical design. Business case studies and projects include hands-on work using an industry standard RDBMS. Students may receive credit for only one of the following courses: CMIS 320, CMSC 320, or IFSM 410.
6428 7383 11 Mar 2026-05 May 2026 Open Online
Faculty: Shash, Abdulnasir M Syllabus Course Materials
CMSC 320 Relational Database Concepts and Applications (3)
(Formerly CMIS 320.). Prerequisite: CMSC 115 (or CMIS 141). A study of the functions, underlying concepts, and applications of enterprise relational database management systems (RDBMS) in a business environment. The aim is to appropriately use databases to meet business requirements. Discussion covers entity/relationship diagrams, relational theory, normalization, integrity constraints, the Structured Query Language (SQL), and physical and logical design. Business case studies and projects include hands-on work using an industry standard RDBMS. Students may receive credit for only one of the following courses: CMIS 320, CMSC 320, or IFSM 410.
6560 7650 11 Mar 2026-05 May 2026 M 6:30P-9:30P Open Dorsey Station (Hybrid)
Faculty: Stricklin, Steve D. Syllabus Course Materials
Note: Dorsey Station: Classroom assignments are subject to change. Please view the electronic board in the hallway for your classroom assignment.
CMSC 325 Game Design and Development (3)
Prerequisite: CMSC 215 (or CMIS 242). A project-driven study of the theory and practice of game design and development. The aim is to build realistic graphical 3D 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.
2358 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Elms, Michael A Syllabus Course Materials
CMSC 325 Game Design and Development (3)
Prerequisite: CMSC 215 (or CMIS 242). A project-driven study of the theory and practice of game design and development. The aim is to build realistic graphical 3D 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.
5768 7380 11 Mar 2026-05 May 2026 Open Online
Faculty: Johnson, Tiffany N Syllabus Course Materials
CMSC 330 Advanced Programming Languages (3)
Prerequisite: CMSC 315 (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.
1799 6380 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Vergamini, Didier Syllabus Course Materials
CMSC 330 Advanced Programming Languages (3)
Prerequisite: CMSC 315 (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.
2336 6381 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Gubanov, Vladimir Syllabus Course Materials
CMSC 330 Advanced Programming Languages (3)
Prerequisite: CMSC 315 (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.
2488 6382 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Starcher, Mark L Syllabus Course Materials
CMSC 330 Advanced Programming Languages (3)
Prerequisite: CMSC 315 (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.
3866 6383 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Gannavarapu, Ramji V Syllabus Course Materials
CMSC 330 Advanced Programming Languages (3)
Prerequisite: CMSC 315 (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.
5769 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Gubanov, Vladimir Syllabus Course Materials
CMSC 330 Advanced Programming Languages (3)
Prerequisite: CMSC 315 (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.
5770 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: Vergamini, Didier Syllabus Course Materials
CMSC 330 Advanced Programming Languages (3)
Prerequisite: CMSC 315 (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.
5771 7382 11 Mar 2026-05 May 2026 Closed Online
Faculty: Minagar, Alireza Syllabus Course Materials
CMSC 330 Advanced Programming Languages (3)
Prerequisite: CMSC 315 (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.
6300 7383 11 Mar 2026-05 May 2026 Open Online
Faculty: Mikulski, George R Syllabus Course Materials
CMSC 335 Object-Oriented and Concurrent Programming (3)
Prerequisite: CMSC 315 (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.
1908 6380 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Mujeye, Douglas Syllabus Course Materials
CMSC 335 Object-Oriented and Concurrent Programming (3)
Prerequisite: CMSC 315 (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.
2363 6381 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Dinsoreanu, Mihaela Syllabus Course Materials
CMSC 335 Object-Oriented and Concurrent Programming (3)
Prerequisite: CMSC 315 (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.
2518 6382 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Schmeelk, Suzanna E Syllabus Course Materials
CMSC 335 Object-Oriented and Concurrent Programming (3)
Prerequisite: CMSC 315 (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.
4039 6383 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Seely, Andrew R Syllabus Course Materials
CMSC 335 Object-Oriented and Concurrent Programming (3)
Prerequisite: CMSC 315 (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.
5772 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Mujeye, Douglas Syllabus Course Materials
CMSC 335 Object-Oriented and Concurrent Programming (3)
Prerequisite: CMSC 315 (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.
5781 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: Dinsoreanu, Mihaela Syllabus Course Materials
CMSC 335 Object-Oriented and Concurrent Programming (3)
Prerequisite: CMSC 315 (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.
5782 7382 11 Mar 2026-05 May 2026 Closed Online
Faculty: Seely, Andrew R Syllabus Course Materials
CMSC 335 Object-Oriented and Concurrent Programming (3)
Prerequisite: CMSC 315 (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.
6273 7383 11 Mar 2026-05 May 2026 Open Online
Faculty: Schmeelk, Suzanna E Syllabus Course Materials
CMSC 335 Object-Oriented and Concurrent Programming (3)
Prerequisite: CMSC 315 (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.
7029 7384 11 Mar 2026-05 May 2026 Open Online
Faculty: Morad, Osama Syllabus Course Materials
CMSC 340 Web Programming (3)
Prerequisite: CMSC 115 (or CMIS 141). A study of how to develop web applications. The objective is to understand and implement networking protocols, system design, and web security. Topics include basic web architecture, core web standards (such as HTTP, HTML, and CSS), client-side scripting with JavaScript, and server-side programming with PHP.
Start date has passed. Please register for the next start date.
3727 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Rajani, Janak R Syllabus Course Materials
CMSC 340 Web Programming (3)
Prerequisite: CMSC 115 (or CMIS 141). A study of how to develop web applications. The objective is to understand and implement networking protocols, system design, and web security. Topics include basic web architecture, core web standards (such as HTTP, HTML, and CSS), client-side scripting with JavaScript, and server-side programming with PHP.
6397 7380 11 Mar 2026-05 May 2026 Open Online
Faculty: Rajani, Janak R Syllabus Course Materials
CMSC 345 Software Engineering Principles and Techniques (3)
(Formerly CMIS 330.) Prerequisite: CMSC 115 (or CMIS 141). A study of software engineering from initial concept through design, development, testing, and maintenance of the product. Discussion covers software development life-cycle models. The goal is to analyze, customize, and document multiple processes to solve information technology problems. Topics include configuration management, quality, validation and verification, security, human factors, and organizational structures. Students may receive credit for only one of the following courses: CMIS 330, CMIS 388A, or CMSC 345.
Start date has passed. Please register for the next start date.
3208 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Shash, Abdulnasir M Syllabus Course Materials
CMSC 345 Software Engineering Principles and Techniques (3)
(Formerly CMIS 330.) Prerequisite: CMSC 115 (or CMIS 141). A study of software engineering from initial concept through design, development, testing, and maintenance of the product. Discussion covers software development life-cycle models. The goal is to analyze, customize, and document multiple processes to solve information technology problems. Topics include configuration management, quality, validation and verification, security, human factors, and organizational structures. Students may receive credit for only one of the following courses: CMIS 330, CMIS 388A, or CMSC 345.
Start date has passed. Please register for the next start date.
3209 6381 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Gorham, Christopher L Syllabus Course Materials
CMSC 345 Software Engineering Principles and Techniques (3)
(Formerly CMIS 330.) Prerequisite: CMSC 115 (or CMIS 141). A study of software engineering from initial concept through design, development, testing, and maintenance of the product. Discussion covers software development life-cycle models. The goal is to analyze, customize, and document multiple processes to solve information technology problems. Topics include configuration management, quality, validation and verification, security, human factors, and organizational structures. Students may receive credit for only one of the following courses: CMIS 330, CMIS 388A, or CMSC 345.
Start date has passed. Please register for the next start date.
3210 6382 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Anyanso, Chukwuma Syllabus Course Materials
CMSC 345 Software Engineering Principles and Techniques (3)
(Formerly CMIS 330.) Prerequisite: CMSC 115 (or CMIS 141). A study of software engineering from initial concept through design, development, testing, and maintenance of the product. Discussion covers software development life-cycle models. The goal is to analyze, customize, and document multiple processes to solve information technology problems. Topics include configuration management, quality, validation and verification, security, human factors, and organizational structures. Students may receive credit for only one of the following courses: CMIS 330, CMIS 388A, or CMSC 345.
Start date has passed. Please register for the next start date.
3329 6383 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Lee, John R Syllabus Course Materials
CMSC 345 Software Engineering Principles and Techniques (3)
(Formerly CMIS 330.) Prerequisite: CMSC 115 (or CMIS 141). A study of software engineering from initial concept through design, development, testing, and maintenance of the product. Discussion covers software development life-cycle models. The goal is to analyze, customize, and document multiple processes to solve information technology problems. Topics include configuration management, quality, validation and verification, security, human factors, and organizational structures. Students may receive credit for only one of the following courses: CMIS 330, CMIS 388A, or CMSC 345.
Start date has passed. Please register for the next start date.
3852 6384 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Raman, Ashok N Syllabus Course Materials
CMSC 345 Software Engineering Principles and Techniques (3)
(Formerly CMIS 330.) Prerequisite: CMSC 115 (or CMIS 141). A study of software engineering from initial concept through design, development, testing, and maintenance of the product. Discussion covers software development life-cycle models. The goal is to analyze, customize, and document multiple processes to solve information technology problems. Topics include configuration management, quality, validation and verification, security, human factors, and organizational structures. Students may receive credit for only one of the following courses: CMIS 330, CMIS 388A, or CMSC 345.
9840 7380 11 Mar 2026-05 May 2026 Open Online
Faculty: Durham, Jeneo Kente Syllabus Course Materials
CMSC 405 Computer Graphics (3)
Prerequisite: CMSC 325 or CMSC 315 (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 2D and 3D objects.
Start date has passed. Please register for the next start date.
2473 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: King, Lauren Beth Syllabus Course Materials
CMSC 405 Computer Graphics (3)
Prerequisite: CMSC 325 or CMSC 315 (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 2D and 3D objects.
5783 7380 11 Mar 2026-05 May 2026 Open Online
Faculty: Syllabus Course Materials
CMSC 412 Operating Systems (3)
Prerequisite: CMSC 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.
1910 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Munoz, Mark Ryan Syllabus Course Materials
CMSC 412 Operating Systems (3)
Prerequisite: CMSC 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.
5784 7380 11 Mar 2026-05 May 2026 Open Online
Faculty: Suciu, Alin D Syllabus Course Materials
CMSC 420 Advanced Relational Database Concepts and Applications (3)
Prerequisite: CMSC 320 (or CMIS 320), IFSM 410, or IFSM 411. A comprehensive study of the features and techniques of relational database management appropriate to the advanced end user, database designer, or database administrator. The goal is to complete hands-on work using an industry-standard enterprise relational database management system. Topics include basic database administration functions, advanced SQL and complex data types, stored procedures, user-defined functions, triggers, and data warehousing. Students may receive credit for only one of the following courses: CMIS 420, CMSC 420, IFSM 420, or IFSM 498I.
6372 7380 11 Mar 2026-05 May 2026 Open Online
Faculty: Guy-Williams, Denton G Syllabus Course Materials
CMSC 425 Mobile App Development (3)
Prerequisite: CMSC 215 or CMIS 242. A study of techniques for designing and developing mobile applications using the Android operating system. Topics include mobile architecture, operating systems, programming languages, user interface design, and security and privacy issues related to mobile apps.
6398 7380 11 Mar 2026-05 May 2026 Open Online
Faculty: Salman, Raied A Syllabus Course Materials
CMSC 427 Artificial Intelligence Foundations (3)
Prerequisite: CMSC 315 (or CMSC 350) or CYOP 300 (or SDEV 300). A study of the theoretical foundations and practical applications of artificial intelligence. The objective is to develop algorithms and systems to demonstrate intelligent behavior. Topics include intelligent agents, searching algorithms, knowledge representation, probability, logic, and learning.
Start date has passed. Please register for the next start date.
2956 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Castillo, David Syllabus Course Materials
CMSC 427 Artificial Intelligence Foundations (3)
Prerequisite: CMSC 315 (or CMSC 350) or CYOP 300 (or SDEV 300). A study of the theoretical foundations and practical applications of artificial intelligence. The objective is to develop algorithms and systems to demonstrate intelligent behavior. Topics include intelligent agents, searching algorithms, knowledge representation, probability, logic, and learning.
6119 7380 11 Mar 2026-05 May 2026 Open Online
Faculty: Castillo, David Syllabus Course Materials
CMSC 430 Compiler Theory and Design (3)
Prerequisite: CMSC 330. 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.
Start date has passed. Please register for the next start date.
2957 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: McDonald, Renee C Syllabus Course Materials
CMSC 430 Compiler Theory and Design (3)
Prerequisite: CMSC 330. 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.
Start date has passed. Please register for the next start date.
2958 6381 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Dulmage, William B Syllabus Course Materials
CMSC 430 Compiler Theory and Design (3)
Prerequisite: CMSC 330. 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.
Start date has passed. Please register for the next start date.
3075 6382 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Williams, Gregory T Syllabus Course Materials
CMSC 430 Compiler Theory and Design (3)
Prerequisite: CMSC 330. 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.
Start date has passed. Please register for the next start date.
3363 6383 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Brown, Matthew L Syllabus Course Materials
CMSC 430 Compiler Theory and Design (3)
Prerequisite: CMSC 330. 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.
5785 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Jarc, Duane J Syllabus Course Materials
CMSC 430 Compiler Theory and Design (3)
Prerequisite: CMSC 330. 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.
5786 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: McDonald, Renee C Syllabus Course Materials
CMSC 430 Compiler Theory and Design (3)
Prerequisite: CMSC 330. 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.
6274 7382 11 Mar 2026-05 May 2026 Closed Online
Faculty: Dulmage, William B Syllabus Course Materials
CMSC 430 Compiler Theory and Design (3)
Prerequisite: CMSC 330. 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.
6896 7383 11 Mar 2026-05 May 2026 Open Online
Faculty: Tudose, Florin Catalin Syllabus Course Materials
CMSC 440 Advanced Programming in Java (3)
(Formerly CMIS 440.) Prerequisites: CMSC 215 (or CMIS 242) and CMSC 320 (or CMIS 320). An exploration of advanced Java programming, using the Java Enterprise edition. The objective is to analyze, design, develop, test, deploy, and document small- to medium-scale web applications. Hands-on projects in Java server pages, servlets, and Java database connectivity are included. Students may receive credit for only one of the following courses: CMIS 440, CMIS 498A, or CMSC 440.
Start date has passed. Please register for the next start date.
3211 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Karmaker, Amitava Syllabus Course Materials
CMSC 451 Design and Analysis of Computer Algorithms (3)
Prerequisites: CMSC 150 and CMSC 315 (or CMIS 350). 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.
1911 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Adams, Candice H Syllabus Course Materials
CMSC 451 Design and Analysis of Computer Algorithms (3)
Prerequisites: CMSC 150 and CMSC 315 (or CMIS 350). 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.
2342 6381 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Jiang, Yuhua Syllabus Course Materials
CMSC 451 Design and Analysis of Computer Algorithms (3)
Prerequisites: CMSC 150 and CMSC 315 (or CMIS 350). 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.
2848 6382 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Smith, Therese M Syllabus Course Materials
CMSC 451 Design and Analysis of Computer Algorithms (3)
Prerequisites: CMSC 150 and CMSC 315 (or CMIS 350). 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.
3845 6383 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Didulo, Dennis Syllabus Course Materials
CMSC 451 Design and Analysis of Computer Algorithms (3)
Prerequisites: CMSC 150 and CMSC 315 (or CMIS 350). 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.
5655 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Jiang, Yuhua Syllabus Course Materials
CMSC 451 Design and Analysis of Computer Algorithms (3)
Prerequisites: CMSC 150 and CMSC 315 (or CMIS 350). 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.
5656 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: Adams, Candice H Syllabus Course Materials
CMSC 451 Design and Analysis of Computer Algorithms (3)
Prerequisites: CMSC 150 and CMSC 315 (or CMIS 350). 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.
6260 7382 11 Mar 2026-05 May 2026 Closed Online
Faculty: Kuchibhotla, Hari N. Syllabus Course Materials
CMSC 451 Design and Analysis of Computer Algorithms (3)
Prerequisites: CMSC 150 and CMSC 315 (or CMIS 350). 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.
6906 7383 11 Mar 2026-05 May 2026 Open Online
Faculty: Didulo, Dennis Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
1919 6380 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Metallo, Lynda M Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
2321 6381 07 Jan 2026-03 Mar 2026 Closed Online
Faculty: Gonzales, Matthew M Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
2721 6382 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Nevarez, Shanna Nicole Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
3728 6383 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Dao, Hung Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
3729 6384 07 Jan 2026-03 Mar 2026 Open Online
Faculty: Sanford, Jeff H Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
5650 7380 11 Mar 2026-05 May 2026 Closed Online
Faculty: Munoz, Mark Ryan Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
5651 7381 11 Mar 2026-05 May 2026 Closed Online
Faculty: Metallo, Lynda M Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
5652 7382 11 Mar 2026-05 May 2026 Closed Online
Faculty: Nevarez, Shanna Nicole Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
5653 7383 11 Mar 2026-05 May 2026 Closed Online
Faculty: Haight, Timothy W Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
5654 7384 11 Mar 2026-05 May 2026 Closed Online
Faculty: Gorham, Christopher L Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
6909 7387 11 Mar 2026-05 May 2026 Closed Online
Faculty: Dao, Hung Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
9786 7388 11 Mar 2026-05 May 2026 Closed Online
Faculty: Huskins, James M Syllabus Course Materials
CMSC 495 Computer Science Capstone (3)
Prerequisite(s): Either CMSC 330 and CMSC 335, CMSC 320 (or CMIS 320) and CMSC 345, 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.
10014 7389 11 Mar 2026-05 May 2026 Open Online
Faculty: Davis, Christopher L Syllabus Course Materials
Top of Page