MSACS Course Electives
Electives may be selected from the list below or approved by advisor as part of the plan of study
CSC 533 Computer Graphics (3 credit hours)
Principles of computer graphics. A study of the algorithms used to generate raster and vector graphics.
Prerequisites: CSC 300 or CSC 350.
CSC 547 Artificial Intelligence (3 credit hours)
Introduction to ideas, issues and applications of Artificial Intelligence. Knowledge representation, problem solving, search, inference techniques, theorem proving. Expert systems. Artificial intelligence programming languages.
CSC 586 Data Mining (3 credit hours)
Study of analytic processes which explore data for consistent patterns or systematic relationships, along with the study of methods for preparing data for analysis and validating the results of such analysis. Although the course will focus on the processes, techniques, and algorithms for data mining, it will also give an introduction to the basic techniques in specific areas such as association rule mining, classification, clustering, data warehousing and online analytic processing.
Prerequisite: Math 381.
CSC 712 Data Structures (3 credit hours)
This study of advanced and emerging data structures will include the study of classic advanced data structure. The course will also introduce data structure issues related to emerging application spaces that are exploiting such things as large data sets, unstructured data, etc.
CSC 716 Secure Software Engineering (3 credit hours)
This course introduces both theoretical and practical approaches to securing software engineering processes. Special attention will be paid to requirements elicitation and specification of secure systems, secure software design approaches, secure software development best practices, integration of software components into secure environments and the configuration and execution of software security toolsets. Students will not only be exposed to practical approaches and tools to create and implement secure software, but they will also be exposed to cutting-edge secure software engineering technical research papers. It is expected students have a strong computer science background and are prepared to create, review, audit and exploit software packages.
CSC 744 Software Development Leadership (3 credit hours)
A study of the activities that are needed to lead a modern software development project. Various methodologies, models, and tools will be explored. Students will also be introduced to codes of conduct and ethical situations that may arise during a project. Additional topics will include software quality, development practices, team dynamics, and leadership styles.
CSC 798 Thesis (3 credit hours)
A formal treatise presenting the results of study submitted in partial fulfillment of the requirements for the applicable degree. The process requires extensive and intensive one-on-one interaction between the candidate and professor with more limited interaction between and among the candidate and other members of the committee.
INFA 701 Principles of Information Assurance (3 credit hours)
This course covers key bodies of knowledge and specializations in security, privacy, and compliance associated with enterprise information systems. The course explores defense-in-depth techniques of layering people, process and technology controls to secure the enterprise. Topics include information security law, ethics, security concepts and mechanisms; security technologies; authentication mechanisms; mandatory and discretionary controls; basic cryptography and its applications; digital forensics, biometrics database security, intrusion detection and prevention, anonymity and privacy issues for information systems. Emerging frameworks and tools are explored to complete the student's foundational understanding of information assurance.
INFA 719 Software Security (3 credit hours)
This course addresses principles, techniques, and best practices for developing secure software applications. It emphasizes the security ramifications for different phases of software development processes, including security requirements analysis, secure design, secure implementation, and security testing and verification.
INFA 721 Computer Forensics (3 credit hours)
Identifying, acquiring, preserving, and analyzing electronic evidence from single machines, networks, and internet. It will explore both technical and legal issues of computer forensics investigations. Topics include forensics law and regulation issues, incidence response, open and commercial tools, evidence recovery theory and practice of computer file systems, memory, registry, network logs and communications. Special focus will be given to windows systems and networks.
INFA 723 Cryptography (3 credit hours)
This course covers fundamentals of cryptography and its applications, classical and contemporary ciphers, encryption and decryption and breaking ciphers. Cryptographic applications, protocols, applications of cryptography and automated tools to analyze cryptographic protocols are examined.
INFA 725 Advanced Network Hacking (3 credit hours)
This course is designed to expose students to advanced exploitation techniques. Topics include the use of automated exploitation tools as well as the process of exploitation discovery and development. Vulnerability analysis, debugging, fuzzing, shellcode, and mitigation techniques will be explored. Both Windows and Linux platforms will be covered.
Prerequisite: INFA 534 or CSC 436.
INFA 729 Advanced Web Hacking (3 credit hours)
This course emphasizes offensive attacks that all web-based applications are confronted with. Special attention will be paid to attacks vectors in the operating system, web server, database, and programming language implemented by the web application. Advanced techniques related to filter evasion, session management, database interaction, path traversal, and file inclusion will be emphasized.
Prerequisite: INFA 534 or CSC 434.
INFA 739 Software Quality Assurance (3 credit hours)
This course is intended to acquaint the students with principles, techniques, and best practices of software quality assurance, concentrating on software testing and verification. It will cover functional testing, structural testing, regression testing, test automation, specification-based testing, code review, formal modeling, model-based testing, and model checking.
INFA 751 Wireless Security (3 credit hours)
A technical perspective on maintaining the availability, integrity, and confidentiality of wireless networks. Covers a wide range of technical issues, including wireless communication fundamentals, wireless network configuration, security standards, wireless vulnerabilities, attacks and countermeasures.