Computer Science (COSC)

COSC 5301. Quantitative Foundations of CS. 3 Hours.

This course provides the fundamental quantitative methods needed in the area of computer science (CS). Topics include numbering systems, propositional logic, digital logic, combinatorics, probability and statistics, and automata theory, focusing on their application to computing and information science. This course serves graduate students without an undergraduate degree in a quantitative field by providing necessary stem work. This coure may not be counted toward the requirements for a graduate degree in Computer Information Science, Digital Forensics, or Information Assurance and Security.
Prerequisite: Approval by the graduate advisor.

COSC 5302. Computer Science Core Topics. 3 Hours.

This course provides a solid foundation of Computer Science core concepts, fundamental principles, generalizations, and theories essential to pursuing the CS graduate program. Topics include computer programming, database systems, and computer networks. This course provides stem work for those graduate students whose undergraduate degrees are not in CS and thus have little exposure to core CS topics. This course may not be counted toward the requirements for a graduate degree in Computer Information Science, Digital Forensics, or Information Assurance and Security.
Prerequisite: Approval by the graduate advisor.

COSC 5310. Cryptography & Steganography. 3 Hours.

This course is designed to cover the theoretical and practical aspects of cryptography and steganography including specification, design, and programming. Topics include digital signatures, symmetric and asymmetric (public key) algorithms, hash functions, cryptographic algorithms, cost to break algorithms including key safety, Diffie-Hellmann, RSA, key stores, Secure Socket Layers, Virtual Private Networks (VPN), Certificate Authorities, and important cryptanalysis and stegananalysis strategies.

COSC 5313. Artificial Intelligence. 3 Hours.

A survey of topics in artificial intelligence. Topics include: history of AI, knowledge representation, knowledge acquisition, search techniques, control strategies, and AI languages. Applications include natural language processing, neural nets, and expert systems.

COSC 5318. Database Systems. 3 Hours.

A survey of contemporary topics in database systems. Topics include: relational database theory, database design issues, cryptography, security integrity issues, data recovery, concurrency problems, optimization, distributed database systems, the client/server model, object-oriented databases, stenography, data compression, data warehouse, data mining, logic/knowledge based systems, and other related topics.

COSC 5319. Algorithm Design and Analysis. 3 Hours.

A number of important concepts and algorithms, with emphasis on correctness and efficiency, are reviewed. The advanced treatment of sorting, searching, hashing, and dynamic storage management is provided. Advanced data structures, such as advanced tree structures, graphs, and networks, are introduced. Applications to distributed file structures, database management systems, internet/intranetworks are covered.

COSC 5320. Comp Architecture & Organizatn. 3 Hours.

An introduction into Computer Architecture and Organization. Topics include computer evolution and performance issues, the computer systems including system buses, internal and external memory, input/output, and operating system support, CPU issues including computer arithmetic, instruction sets, addressing modes, RISC and superscalar organization, control unit issues, microprogramming, and parallel organization.

COSC 5321. Parallel Computing. 3 Hours.

This course is a study of large-scale parallel processing systems. The central themes are theoretical models, machine architecture, computer algorithms, and programming languages that model, support, describe and implement parallel processing.
Prerequisite: COSC 5319.

COSC 5322. Real-Time and Embedded Systems. 3 Hours.

This course emphasizes real-time and fault-tolerant computing systems. Topics include interrupt processing, real-time programming and scheduling, fault-tolerant architectures and systems, and robotic programming. Extensive programming will be done.

COSC 5325. Operating System Security. 3 Hours.

This course will provide the rationale and necessity for a full range of security concepts and techniques and how to apply them to multiple operating systems. The course will cover methodologies for the design of operating system security and forensic techniques for operating systems. Also covered will be the identification of best practices in the administration, testing and security for operating systems.

COSC 5326. Networks & Data Communications. 3 Hours.

An introduction to the basic techniques for interconnecting computers and peripherals for decentralized Computer. Network components, digital communications, interconnection architectures, communications protocols for geographic and local area networks and interprocess communications are covered.

COSC 5327. Operating Systems. 3 Hours.

A comprehensive study of computer operating systems. Topics include: computer architecture, concurrent processes, multi-threaded systems, scheduling, memory management, I/O management, file systems, networking and the client/server model, distributed systems, and computer security.

COSC 5330. Malware. 3 Hours.

COSC 5332. Computer Graphics. 3 Hours.

A study of modern Computer Graphics programming techniques. Topics include: representations, transformations, and analysis of 2-dimensional and 3-dimensional objects; techniques for hidden surface/edge removal, illumination and shading, volume rendering, animation, and image data compression; and practical experience in graphics software libraries and applications.

COSC 5335. Database Security. 3 Hours.

Database security has an immense impact on the design of today’s electronic information systems. This course will provide an overview of database security concepts and techniques and discuss new directions of database security in the context of a connected commercial world. This course provides the information needed to develop, deploy and maintain a secure database solution. It exposes the pitfalls of database design, their means of identification and the methods of exploiting vulnerabilities.

COSC 5340. Special Topics. 3 Hours.

Topics and courses are selected to suit individual needs of students. The course may be repeated for additional credit.
Prerequisite: Approval by the graduate advisor.

COSC 6049. Thesis. 1-3 Hours.

COSC 6312. Multimedia Forensics. 3 Hours.

This course examines the theory and practice of multimedia security and forensics. Topics include image processing, JPEG compression, audio compression (MP3, Advanced Audio Coding, and VOIP), MPEG compression, multimedia source identification, biometrics, steganography, steganalysis, multimedia forgery detection, and pattern recognition techniques for multimedia analysis, multimedia forensics software, and advances in multimedia forensics.
Prerequisite: Approval by the graduate advisor.

COSC 6313. Neural Networks. 3 Hours.

An introduction into Neural Networks. Topics include discussion of variety of standard neural networks, with architecture, training algorithm, and applications; and development of neural network expert systems.

COSC 6314. Data Mining/Knowldge Discovery. 3 Hours.

An introduction into Data Mining and Knowledge Discovery. Topics include discussion of variety of mining techniques. Mining of complex data such as multimedia database, text database, and world-wide-web will be introduced. The applications and trends in data mining will also be discussed.
Prerequisite: COSC 5318.

COSC 6315. Machine Learning. 3 Hours.

This course provides the principles, design, and implementation of a broad range of machine learning algorithms. Topics include computational learning theory, machine learning algorithms, and algorithm assessment techniques. Both a computational aspect (how to compute the answer) and a statistical aspect (how to ensure that future predictions are accurate) of each machine learning algorithm are discussed.
Prerequisite: COSC 5319.

COSC 6318. Language and Compiler Design. 3 Hours.

A comprehensive study of computer programming languages. Topics include: language design principles, formal grammars, procedural operating environment, language standardization, and language support for parallel and distributed programming. Language paradigms to be discussed will include procedural programming, logical programming, functional programming, and object-oriented programming.

COSC 6319. Software Engineering. 3 Hours.

This course emphasizes strategies, techniques, and methodologies that deal with the complexity in developing large-scale information systems. Methods for Software engineering methodologies, conventional as well as object-oriented, are discussed. Software measurement and management are discussed. Formal mechanisms for system specification, software development, and project management are introduced.
Prerequisite: Approval by the graduate advisor.

COSC 6347. Programming Practicum. 3 Hours.

The practicum provides the student an opportunity to develop their programming and analytical skills by applying concepts and techniques learned in organized classes to real world projects under the supervision of faculty and/or supervisory Computer professionals. Prerequisite: Eighteen hours of Computer and Information Science graduate level coursework. Student must register for this course every semester the practicum is in progress but only three hours of practicum will apply to the student’s degree plan.
Prerequisite: Student must register for this course every semester the practicum is in progress but only three hours of practicum will apply to the student's degree plan.

COSC 6348. Thesis. 3 Hours.