Computer Science (CS)

Courses

CS 525  Current Topics in Cybersecurity  3 Credits (3,0)

As the field of cybersecurity is rapidly changing, this course aims at studying the most recent, often still developing, issues in the field. The course content highly dependent on current trends at the time of offering.

CS 527  System Exploitation and Penetration Testing  3 Credits (3,0)

This course explores common vulnerabilities and how an adversary can exploit vulnerabilities to disrupt the integrity of a system. The course covers the common attack techniques that can be used for penetration testing but also can help understand how to avoid common exploits that creep into systems during design and implement phases.

CS 528  Multi-Agent Systems  3 Credits (3,0)

The advanced artificial intelligence topic of multi-agent systems. Agent-based paradigm, communications, interaction protocols, and architectures followed by distributed problem solving, distributed search algorithms, distributed decision making, distributed learning, distributed control algorithms, and swarming.

CS 529  Computer Security  3 Credits (3,0)

Security issues pertinent to computer-based infrastructure and the information-driven nature of contemporary enterprises. Threats, assumptions, assurance, confidentiality, integrity, availability, access control matrix and policies, security models, requirements imposed by policies, protection models, covert channels, formal methods for security, designing and evaluating systems, intrusion detection, auditing, and other contemporary issues.

CS 532  Software Security Assessment  3 Credits (3,0)

This course explores the assessment of software security not just for developing new systems but also for legacy systems. The topics covered include software vulnerability fundamentals, auditing and black box testing, design, implementation, and operational vulnerabilities, design and operational review, attack surface; insecure defaults; access control; secure channels, application review process, code-auditing strategies, software vulnerabilities, assessing memory corruption, synchronization and state, vulnerabilities in practice, documentation of findings.

CS 538  Applied Cryptography  3 Credits (3,0)

This course explores concepts of cryptography for enhancing security properties of systems that are being designed, implemented, and maintained. Common cryptanalysis techniques and tools are covered.

CS 540  Database and Information Retrieval  3 Credits (3,0)

A comprehensive exploration of various database management systems (DBMS), emphasizing relational, non-SQL, and graph databases. Practical application to deploy DBMS using cloud computing and containerization. Web scraping techniques employing multiple libraries. Hands-on experimentation with cloud environments.

CS 555  Artificial Intelligence  3 Credits (3,0)

Fundamental topics of artificial intelligences (AI) and machine learning (ML). Application of AI/ML to real-world problems. Search-based problem solving, genetic algorithms, evolutionary strategies, classification and regression models, support vector machines, decision trees, ensemble methods, neural networks, and deep learning. Final project to implement AI/ML for realistic problems.

CS 599  Special Topics in Computer Science  1-6 Credit

Individual independent or directed studies of selected topics.

CS 600  Advanced Algorithms  3 Credits (3,0)

In-depth study of advanced algorithms. Exploration of algorithms; data structures; complex problem-solving techniques; algorithmic thinking. Investigation of classical optimization problems and research trends in algorithmic design.

CS 602  Big Data Analytics for Cybersecurity  3 Credits (3,0)

Introduction to advances in big data analytics techniques for assessing, predicting, and enhancing cybersecurity, including applications, tools, and infrastructures at the level of individual systems, as well as statistical and computational methods for securing computational infrastructure for data science. Students learn to achieve a truly secure cyberspace by leveraging data science to analyze and detect cyberthreats and identify vulnerabilities, and employ big data analytics to provide more accurate, timely, and actionable decisions for cybersecurity.
Prerequisites: DS 540

CS 690  Graduate Research Project  3 Credits (3,0)

A master-level research project conducted under the supervision of the students advisor. Individual effort focuses on an advanced topic in computer science or cybersecurity engineering, which may be theoretical or practical. Research goals, plan, and deliverables require approval by the faculty advisor and the program coordinator.

CS 699  Special Topics in Computer Science  1-6 Credit

Individual independent or directed studies of selected topics.

CS 700  Graduate Thesis  1-9 Credit

A master-level research project in Cybersecurity Engineering conducted under the supervision of the students advisor and thesis committee. Submission of a final report, approved by the thesis committee, and an oral defense of the research work are required for thesis credits to be earned.

CS 800  Dissertation  1-6 Credit

A Ph.D. grade research project under the supervision of the students advisor and thesis committee. Submission of a final report, approved by the dissertation committee, and an oral defense of the research work are required for dissertation credits to be earned.