Teaching

CMSC 2713: Introduction to System, Scripting, and Security


This course introduces the basic knowledge of systems, scripting, and security. Students will learn and practice hands-on techniques regarding how to operate a system with powerful command-line tools and script languages in a command-line interface for efficiency, flexibility, and automation. It includes the Linux operating system, software package management systems, shells, script languages, editors, version control software, debuggers, profilers, and data verification and backup tools. Also, students will learn the essential concepts, components, and terminologies used in information technology, software, and system security.

Prerequisites: CMSC 1513, Beginning Programming

Topics

For any inquiries, please contact .

[HOME] [BACK]

CMSC 2833: Computer Organization and Architecture I


This course introduces data representation in computer systems, combinational and sequential digital logic circuits, machine organization, memory, instruction processing, and assembly language.

Prerequisites: CMSC 1613, Programming I

For any inquiries, please contact .

[HOME] [BACK]

CMSC 3833: Computer Organization and Architecture II


The study of computer organization will be a continuation of Computer Organization I. It will include memory system architecture, interfacing and communication of computer elements, functional organization, multiprocessing, alternate architectures, and performance enhancements.

Prerequisites: CMSC 2833 – Computer Organization I, CMSC 2613 – Programming II (Suggested)

For any inquiries, please contact .

[HOME] [BACK]

(Upcoming) CMSC 4XXX: Incident and Vulnerability Analysis


This course introduces the core knowledge and skillsets for incident response, digital/system forensic analysis, and vulnerability analysis. Students will learn hands-on techniques to investigate the attack vectors and evidence of security incidents so that the systems can be recovered and protected from further attacks. Also, students will get familiar with various vulnerability types such as CVE and CWE, cyber kill chain, threat intelligence, indicators of compromise (IOC), and the basics of penetration testing to discover vulnerabilities in system environments.

Prerequisites: CMSC 2713: Introduction to System, Scripting, and Security

For any inquiries, please contact .

[HOME] [BACK]

(Upcoming) SE 4XXX: Software and System Security


This course introduces the core techniques and hands-on experiences in software and system security. Students will learn what vulnerable and secure coding patterns are, code smells, and vulnerability types such as CWE (common weakness enumeration). Based on that, they will practice secure coding and discover various vulnerabilities from real-world code. Furthermore, they will learn multiple system layers that a computer system is composed of. Students will learn how these layers interact with each other and what types of security issues exist. We will study and experiment with vulnerabilities in software libraries, low-level system libraries, and operating system kernels so that students can make and operate secure systems.

Prerequisites: CMSC 2713: Introduction to System, Scripting, and Security

For any inquiries, please contact .

[HOME] [BACK]

CMSC 4930: Industrial Control System Security


This course is a research course to investigate cyber security issues in industrial control systems.

For any inquiries, please contact .

[HOME] [BACK]

CMSC 1513: Beginning Programming


This course includes an introduction to programming concepts, problem identification, and problem-solving techniques by using JAVA. Programming assignments will be given so the student can demonstrate mastery of the language and the problem-solving techniques used.

Prerequisites: High school algebra

For any inquiries, please contact .

[HOME] [BACK]