Computer Science (CS)

CS 1308. Computer Literacy and the Internet.

A study of the uses of computers and their effects on society. Text processing, spreadsheets, databases, and Web programming. Does not count for computer science credit towards a minor, a BS, or a BA in computer science.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter
TCCN: COSC 1301

CS 1319. Fundamentals of Computer Science.

Provides fundamental knowledge of the six layers of computer science as per the ACM CS0 curriculum. The information, hardware, programming, operating system, applications, and communications layers are presented plus appropriate open computer laboratory exercises. Does not count for computer science credit towards a minor, BS, or BA in computer science.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter
TCCN: COSC 1336

CS 1342. Programming for Scientists and Engineers.

This course is an introduction to computer science and problem solving techniques with applications in engineering and the physical sciences. Topics include an introduction to computer organization, data representation, algorithm development, and computer programming in a high-level language.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 1428. Foundations of Computer Science I.

Introductory course for computer science majors, minors and others desiring technical introduction to computer science. Contains overview of history and structure of the digital computer, including binary data representation. Problem solving, algorithm development, structured programming, good coding style, and control structures of C++ are emphasized. Prerequisite: [MATH 1315 or MATH 1317 or MATH 1319 or MATH 1329 or MATH 2417 or MATH 2471 with a grade of "C" or better] or [ACT Mathematics score of 24 or better] or [SAT Mathematics score of 520 or better] or [SAT Math Section score of 550 or better] or [Accuplacer College Mathematics score of 86 or better] or [Compass College Algebra score of 46 or better] or [Next-Generation Advanced Algebra and Functions Test of 263 or better].

4 Credit Hours. 3 Lecture Contact Hours. 2 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering|Lab Required
Grade Mode: Standard Letter
TCCN: COSC 1437

CS 2308. Foundations of Computer Science II.

The course is an introduction to Abstract Data Types (ADTs) including lists, stacks, and queues. Searching and sorting, pointers and dynamic memory allocation, and simple classes and objects also will be covered. The course is a continuation of CS 1428. Prerequisite: CS 1428 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter
TCCN: COSC 2336

CS 2315. Computer Ethics.

This course is primarily for computer science majors, focusing on the ethical codes of the professional societies, the philosophical bases of ethical decision-making, and the examination of several contemporary case studies. (WI) Prerequisites: CS 1428 and [COMM 1310 or COMM 2338] and [ENG 1310 or ENG 1320 or ENG 1321 or ENG 3303] and [PHIL 1305 or PHIL 1320] all with grades of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering|Writing Intensive
Grade Mode: Standard Letter

CS 2318. Assembly Language.

A course covering assembly language programming, including instruction sets, addressing modes, instruction formats, looping, logic, data representation, subroutines and recursion; and the interface between hardware and software. Prerequisites: CS 2308 and MATH 2358 both with grades of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter
TCCN: COSC 2325

CS 3190. Cooperative Education.

This course provides cooperative education students the opportunity to study particular problems in computer science in an occupational setting. Problems are related to the student's work assignment, culminating in the student's technical report or presentation. A total of 3 hours of cooperative education credit may be applied to the student's major elective. Prerequisite: Minimum 2.25 Overall GPA and instructor approval.

1 Credit Hour. 0 Lecture Contact Hours. 40 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 3290. Advanced Cooperative Education.

This course provides cooperative education students the opportunity to study particular problems in computer science in an occupational setting. Problems are related to the student's work assignment, culminating in the student's technical report or presentation. A total of 3 hours of cooperative education credit may be applied to the student's major elective. Prerequisite: A minimum 2.25 Overall GPA and instructor approval.

2 Credit Hours. 0 Lecture Contact Hours. 40 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 3320. Internet Software Development.

A course providing foundations for the construction and design of static and dynamic Web pages with database applications. This will include server-side and client-side software development. Prerequisite: CS 2308 with a grade of "C" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 3339. Computer Architecture.

This course provides instruction on the use of fundamental hardware components. Topics include arithmetic logic units (ALU), single and multiple cycle datapath and control, Reduced Instruction Set Computer (RISC) vs. Complex Instruction Set Computer (CISC) , pipelining, caches, Input/Output, virtual memory and related performance issues. Prerequisite: CS 2308 and [CS 2318 or EE 3420] both with grades of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 3354. Object-Oriented Design and Programming.

The course covers object-oriented design principles and programming for students with prior programming experience. The topics include inheritance and polymorphism, object-oriented design process, UML diagrams, design patterns, exception handling and multithreading. Students will design and implement programs in Java. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 3358. Data Structures and Algorithms.

This is a course that covers classic data structures and the analysis of algorithms. Prerequisites: CS 2308 and MATH 2358 both with grades of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 3360. Computing Systems Fundamentals.

This course covers fundamental concepts underlying the design and implementation of computing systems. It introduces students to problems that reoccur in computing systems and the tools and algorithms used to solve them. Topics include performance evaluation, resource management and scheduling, concurrency and synchronization, and communication and networks. Prerequisite: CS 2318 and CS 3358 both with grades of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 3369. Embedded Computer Systems.

This course studies the architecture of embedded systems, micro-controllers, their peripherals, languages, and operating systems and the special techniques required to use them. Prerequisite: CS 2318 or EE 3420 either with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 3378. Theory of Automata.

An introduction to automata theory, computability, and formal languages. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 3393. Software Testing.

This course introduces basic concepts and techniques for testing software and finding bugs. Topics include test design, test process, unit, integration and system testing, manual and automatic techniques for generation of test inputs and validation of test outputs, and coverage criteria. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 3398. Software Engineering.

The study of software design, implementation, and validation techniques through team projects. Structured analysis, programming style, and project documentation are emphasized in large software projects. (WI) Prerequisite: CS 3354 and CS 3358 and [CS 2315 or EE 2400] all with grades of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering|Writing Intensive
Grade Mode: Standard Letter

CS 4100. Computer Science Internship.

Provides on-the-job training supervised by computer scientists in industry internship programs approved by the department.

1 Credit Hour. 0 Lecture Contact Hours. 20 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Credit/No Credit

CS 4298. Undergraduate Research I.

Supervised individual research project in a mentor-student relationship with a computer science faculty member. Cannot be given degree credit until the satisfactory completion of CS 4299. Prerequisites: Minimum 3.00 Major GPA and instructor approval.

2 Credit Hours. 1 Lecture Contact Hour. 2 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Dif Tui- Science & Engineering
Grade Mode: Credit/No Credit

CS 4299. Undergraduate Research II.

Supervised individual research projects in a mentor-student relationship with a computer science faculty member. Prerequisites: CS 4298 with a grade of "C" or better and instructor approval.

2 Credit Hours. 1 Lecture Contact Hour. 2 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4310. Computer Networks.

This course covers the fundamental concepts in the design of computer networks and networking protocols with emphasis on the Internet (TCP/IP) architecture. The covered topics include: protocol layering, media access, internet routing, transport protocols and applications.Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4315. Introduction to Data Mining and Information Retrieval.

This course covers fundamental concepts and techniques in data mining and information retrieval. Data mining topics include classification, cluster analysis and pattern mining. Information retrieval topics include Boolean retrieval, vector space model, and Web search. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4318. Compiler Construction.

This course investigates theoretical and practical issues in the design and construction of modern compilers. Topics covered include lexical and syntactic analysis, syntax-directed translation, type checking, intermediate representation, code generation, and runtime systems. A major portion of the course involves implementing a compiler from scratch for a C-like programming language. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4326. Human Factors of Computer Systems.

Principles and methods in human factors and ergonomics applied to the design and use of computer systems. Prerequisite: CS 3358 with a grade of "C" or better. (WI).

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering|Writing Intensive
Grade Mode: Standard Letter

CS 4328. Operating Systems.

This course covers the principles of operating systems design. The covered topics include: process management, CPU scheduling algorithms, inter-process communication and synchronization, memory management, virtual machines and I/O device management. Prerequisites: CS 3339 and CS 3358 both with grades of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4332. Introduction to Database Systems.

Introduction to database concepts, data models, file structures, query languages, database management systems. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4337. Introduction to Computer Vision.

This course covers fundamental topics of computer vision. Topics include elementary image operations and transformations, template matching, feature extraction, object recognition, classification and tracking, deep learning, camera models and stereo vision, and image searching. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4346. Introduction to Artificial Intelligence.

An introduction to the basic concepts of artificial intelligence; search techniques, knowledge representation, problem solving. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4347. Introduction to Machine Learning.

This course provides systematic introduction to machine learning, covering basic theoretical as well as practical aspects of the use of machine learning methods. Topics include learning theory, learning methods, and recent learning models. Application examples include multimedia information retrieval, text recognition, and computer vision. Prerequisite: CS 3358 and MATH 3305 both with grades of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4350. Unix Systems Programming.

Fundamentals of Unix operating systems, Unix file system and environment, C memory allocation, development tools, processes and signals, threads, device drivers, and programming for security. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4353. Introduction to Graphical User Interfaces.

This course covers abstract and practical foundations of graphical user interface design, evaluation, and implementation. Students will learn the fundamentals of computer graphics and interactive computer/human interfaces. The course includes a survey of usability measures, the major GUI standards, and GUI tools. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4368. Survey of Computer Languages.

A survey of computer languages. Criteria for choosing languages to be covered include history, important development paradigms and environments, and language implementations. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4371. Computer System Security.

Course covers practical aspects of computer system security including managing and producing code for secure systems. Theory, such as cryptography, is introduced as needed. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4372. Introduction to Digital Multimedia.

The course covers concepts, problems and techniques in digital multimedia. Topics include digital representation and data compression of text, speech, audio, natural and synthetic images, and video, as well as multimedia applications, transmission, and standards. In addition, the course introduces perceptual aspects of multimedia signals and sources. Prerequisite: CS 3358 with a grade of "C" of better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4379D. Distributed Ledger Systems and Blockchains: Theory and Applications.

This course covers fundamental concepts underlying the design, implementation, research, and applications of Distributed Ledger Technology (DLT) systems (e.g., blockchains). It introduces implementations, applications, and performance evaluation of DLT systems. Topics include cryptographic encryption, security, anonymity, cryptographic data structures, DLT performance evaluation, DLT applications, and current DLT research. Prerequisite: CS 3358 with grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Dif Tui- Science & Engineering|Topics
Grade Mode: Standard Letter

CS 4379Q. Introduction to Recommender Systems.

This course covers the basic concepts of recommender systems, including personalization algorithms, evaluation tools, and user experiences. We will discuss how recommender systems are deployed in e-commerce sites, social networks, and many other online systems. Additionally, we will review current research in the field. Prerequisite: CS 3358 with a grade of "C" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Dif Tui- Science & Engineering|Topics
Grade Mode: Standard Letter

CS 4379V. Fundamentals of Algorithm Design and Analysis.

This course covers classic algorithms in computer science and their applications, with emphasis on algorithm design, algorithm analysis, and problem formulation. Topics include disjoint sets and union-find algorithms, tree and graph algorithms, sorting algorithms, greedy algorithms, dynamic programming, and string processing algorithms. Prerequisite: CS 3358 with grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Dif Tui- Science & Engineering|Topics
Grade Mode: Standard Letter

CS 4379Y. Introduction to Green Computing.

Reducing energy consumption of mobile devices, cloud computing platforms, and supercomputers is a paramount but daunting problem. This course covers fundamental concepts and techniques in green computing, including a hardware energy efficiency roadmap; energy efficient software design, resource management, and storage solutions; and green data centers and mobile computing. Prerequisites: CS 3339 and CS 3358 both with grades of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Dif Tui- Science & Engineering|Topics
Grade Mode: Standard Letter

CS 4380. Parallel Programming.

This course teaches practical aspects of parallel programming. The covered topics include multi-core processors and shared-memory programming, hardware accelerator programming, and distributed-memory machines and message-passing programming. The students will gain the knowledge and skills needed for developing parallel software by writing programs for a variety of parallel computers. Prerequisite: CS 3339 and CS 3358 both with grades of "C" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4381. Practical Game Development.

This course teaches practical aspects of computer game design and implementation. Topics include graphics game engines, game physics, AI methods applied to games, and software architectures for computer games. Students will gain knowledge and skills needed for game development via team projects. Prerequisite: CS 3398 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4388. Computer Graphics.

This course is a study of the hardware and software used in graphic representation and interpretation of data. Prerequisite: CS 3358 and [MATH 1317 or MATH 2321 or MATH 2417 or MATH 2471 or MATH 2472] both with grades of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 4395. Independent Study in Computer Science.

Open to undergraduate students on an independent basis by arrangement with the faculty member concerned. Prerequisite: Instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Dif Tui- Science & Engineering
Grade Mode: Credit/No Credit

CS 4398. Software Engineering Project.

Students undertake a software development project. They work in teams, developing requirements and designs which they will implement and test. Prerequisite: CS 3398 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter

CS 5100. Advanced Computer Science Internship.

This course provides advanced training supervised by computer scientists in internship programs approved by the department. Course cannot be counted toward any graduate degree, is open only to majors in the Department of Computer Science. May be repeated once. This course does not earn graduate degree credit. Prerequisite: Instructor approval.

1 Credit Hour. 0 Lecture Contact Hours. 1 Lab Contact Hour.
Course Attribute(s): Exclude from 3-peat Processing|Graduate Assistantship|Exclude from Graduate GPA
Grade Mode: Leveling/Assistantships

CS 5199B. Thesis.

This course represents a student’s continuing thesis enrollments. The student continues to enroll in this course until the thesis is submitted for binding.

1 Credit Hour. 1 Lecture Contact Hour. 0 Lab Contact Hours.
Grade Mode: Credit/No Credit

CS 5299B. Thesis.

This course represents a student’s continuing thesis enrollments. The student continues to enroll in this course until the thesis is submitted for binding.

2 Credit Hours. 2 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Credit/No Credit

CS 5300. Professional Development of Graduate Assistants.

This course is designed to develop and enhance the professional and technical skills of graduate teaching and instructional assistants. Topics covered may include, but are not limited to, teaching skills, technical skills, ethical and legal issues, and laboratory management. This course does not earn graduate degree credit.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Graduate Assistantship|Exclude from Graduate GPA
Grade Mode: Leveling/Assistantships

CS 5301. Programming Practicum.

This course provides an intensive review of programming through data structures. Topics include syntax, semantics, problem-solving, and algorithm development. Credit for this course cannot be applied to a graduate degree.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from Graduate GPA|Leveling
Grade Mode: Leveling/Assistantships

CS 5302. Foundations of Data Structures and Algorithm Design.

This course serves as a foundation course for computer science master's degree students who need reinforcement of fundamental concepts covered by CS 3358. This course does not earn graduate degree credit.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from Graduate GPA
Grade Mode: Leveling/Assistantships

CS 5303. Foundations of Computer Architecture.

This foundation course for CS master's degree students who need CS 3339 concept reinforcement covers fundamental hardware components. Topics include ALUs, single and multiple cycle datapath and control, RISC vs. CISC, pipelining, caches, I/O, virtual memory, and related performance issues. It may be repeated once and is non-graduate degree credit. Prerequisite: Instructor Approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Exclude from Graduate GPA
Grade Mode: Leveling/Assistantships

CS 5305. Foundations of Operating Systems.

This course serves as a foundation course for computer science master's students who need reinforcement of fundamental concepts covered by CS 4328. Topics include the principles of operating systems, central processing unit scheduling algorithms, memory management, cooperating sequential processes, and device management. Credit for this course cannot be applied to a graduate degree.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from Graduate GPA
Grade Mode: Leveling/Assistantships

CS 5306. Advanced Operating Systems.

This course provides a study of modern operating systems, including network, distributed, and real-time systems.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5310. Network and Communication Systems.

This course provides a study of network and communication systems. Students will be required to perform verification and implementation of protocols.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5316. Data Mining.

This course covers fundamental concepts and techniques, plus recent developments in data mining and information retrieval. It provides relevant research training and practice opportunities. May not be taken for credit if the student has received credit for CS 4315.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5318. Principles of Programming Languages.

This course focuses on the principles of programming languages. Topics covered include programming paradigms, concepts of programming languages, formal syntax and semantics, and language implementation issues.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5326. Advanced Studies in Human Factors of Computer Science.

This course provides a professional-level presentation of techniques and research findings related to human-computer interactions.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5329. Algorithm Design and Analysis.

This course provides an introduction to algorithm design and analysis, computational complexity, and NP-completeness theory.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5331. Crafting Compilers.

Overview of the internal structure of modern compilers. Research on compilation techniques. Topics include lexical scanning, parsing techniques, static type checking, code generation, dataflow analysis, storage management, and execution environments.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5332. Data Base Theory and Design.

This course covers computer system organization for the management of data. Topics include data models, data model theory, optimization and normalization, integrity constraints, query languages, and intelligent database systems.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5334. Advanced Internet Information Processing.

This course integrates popular scripting and database programming languages to provide advanced information processing for Internet applications that demand database support and sophisticated, application-specific information processing. Prerequisite: CS 5332 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5338. Formal Languages.

This course covers advanced topics in automata theory, grammars, Turing machines, decidability, and algorithmic complexity. A strong background in both data structures and discrete mathematics is required.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5341. Advanced Network Programming.

Study of advanced concepts and programming skills in computer networks such as advanced TCP/IP, API, multicasting and broadcasting, reliable communications, advanced I/O functions and options. Prerequisite: CS 5310 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5343. Wireless Communications and Networks.

Study of the fundamental aspects of wireless communications and ireless/mobile networks, introduction of wireless/mobile networking APIs. Prerequisites: CS 3358 with a grade of "B" or better and CS 5310 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5346. Advanced Artificial Intelligence.

This course covers knowledge representation, knowledge engineering, parallel and distributed artificial intelligence (AI), heuristic searches, machine learning and intelligent databases, and implementation of systems in high-level AI languages.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5351. Parallel Processing.

This course provides an introduction to the design and analysis of parallel algorithms, parallel architectures, and computers.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5352. Distributed Computing.

This course provides studies in advanced topics in distributed systems: concurrency control and failure recovery, management of replicated data, distributed consensus and fault tolerance, remote procedure calls, naming, and security.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5369B. Computer Vision.

This course covers the basic and recent topics in computer vision. Topics include classic computer vision features, object tracking and recognition, detection and segmentation, camera models, and image and video retrieval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 5369G. Web Service Engineering.

Advanced concepts and techniques for enabling Web application integration and interaction using Semantic Web and Web services. Concepts and techniques include service discovery ontology (RDF, DAML-S), XML-based interactions standards (ebXML, RossettaNet) and Web Services (WSDL, SOAP, UDDI, BPEL).

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 5369J. Advanced Human Computer Interaction.

This course will cover state of the art human computer interaction topics such as perceptual compression, eye-gaze, and brain computer interfaces with emphasis on the human visual system, eye-tracking, and electroencephalography.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 5369L. Machine Learning and Applications.

Provides broad introduction to machine learning, including learning theory, and recent topics like support vector machines and feature selection. Covers basic ideas, intuition, and understanding behind modern machine learning methods. Discusses applications like face recognition, text recognition, biometrics, bioinformatics, and multimedia retrieval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 5369M. Software Evolution and Maintenance.

Software evolution and maintenance is one of the most important and complex activities in software engineering. Programmers rarely build software from scratch but often modify existing software to fix defects or add new features. This course studies the fundamentals of cutting-edge techniques and tools for software evolution and maintenance.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 5369Q. Recommender Systems.

This course covers various concepts of recommender systems, including personalization algorithms, evaluation tools, and user experiences. Discussion of how recommender systems are deployed in business applications, design of new recommender experiences, and how to conduct and evaluate research in recommender systems. Cannot take for credit if already took CS 4379Q.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 5369Y. Green Computing.

Reducing mobile device, cloud computing platform, and supercomputer energy consumption is a paramount, daunting problem. This course covers state-of-the-art green computing research, including energy-efficient hardware and software design, power-aware resource management and storage solutions, green data centers and mobile computing. Cannot be taken for credit if received CS 4379Y credit.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 5369Z. Distributed Ledger Systems and Blockchains: Theory and Applications.

This course covers fundamental concepts underlying the design, implementation, research, and applications of Distributed Ledger Technology (DLT) systems (e.g., blockchains). It introduces implementations, applications, and performance evaluation of DLT systems. Additionally, through homework projects, the students will be introduced to current research on DLT systems and perform independent study and small-scale research on selected topics. Course topics include cryptography encryption, security, anonymity, cryptographic data structures, DLT performance evaluation, DLT applications, and current DLT research.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 5375. Multimedia Computing.

This course provides a study of the digital representation and processing of the three principal multimedia data types: image, audio, and video. Standards, storage media, and compression techniques for the three data types are covered.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5378. Advanced Computer Security.

This course covers various aspects of producing secure computer information systems that provide guaranteed controlled sharing. Emphasis is on software models and design, including discovery and prevention of computing systems security vulnerabilities. Current systems and methods are examined and critiqued.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5388. Advanced Computer Graphics.

This course covers the algorithms and data structures used in representing and processing visual data.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5389. Graphical User Interfaces.

This course covers both abstract and practical treatments of using graphics to implement interactive computer/human interfaces. It includes a survey of the major GUI standards and tools.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5391. Survey of Software Engineering.

The course covers the software life cycle, emphasizing system analysis and design, including a survey of methodologies based on data flows and objects. The course includes a professional ethics component.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5392. Formal Methods in Software Engineering.

The use of design and specification languages in producing software systems. Emphasis is placed on proving correctness of designs and implementations.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5393. Software Quality.

The latter half of the software life cycle is discussed. Topics include testing, performance evaluation, and software metrics. Appropriate software tools are studied and used.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5394. Advanced Software Engineering Project.

Students produce a software project of significant size in a team environment. All aspects of the software engineering course sequence are integrated and put into practice.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5395. Independent Study in Advanced Computer Science.

Open to graduate students on an independent basis by arrangement with the faculty member concerned. Course is not repeatable for credit. Prerequisite: CS 3358 with a grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Credit/No Credit

CS 5396. Advanced Software Engineering Processes and Methods.

The essentials of software engineering processes, methods, and tools for the evolutionary design of complex interactive software are discussed. Overviews of other topics like quality concepts, SEI CMM, information technology, and network technology are covered. Student completes a literature survey of the latest software engineering analysis and design processes, methods, and tools.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5399A. Thesis.

This course represents a student’s initial thesis enrollment. No thesis credit is awarded until the student has completed the thesis in CS 5399B.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Credit/No Credit

CS 5399B. Thesis.

This course represents a student’s continuing thesis enrollment. The student continues to enroll in this course until the thesis is submitted for binding.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Credit/No Credit

CS 5599B. Thesis.

This course represents a student’s continuing thesis enrollments. The student continues to enroll in this course until the thesis is submitted for binding.

5 Credit Hours. 5 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Credit/No Credit

CS 5999B. Thesis.

This course represents a student’s continuing thesis enrollments. The student continues to enroll in this course until the thesis is submitted for binding.

9 Credit Hours. 9 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Credit/No Credit

CS 7100. Graduate Computer Science Internship.

This course provides advanced training supervised by computer scientists in internship programs approved by the department.

1 Credit Hour. 0 Lecture Contact Hours. 1 Lab Contact Hour.
Course Attribute(s): Exclude from 3-peat Processing
Grade Mode: Credit/No Credit

CS 7199. Dissertation.

Original research and writing in computer science is to be accomplished under the direct supervision of the Ph.D. research advisor. While conducting dissertation research and writing, the student must be continuously enrolled each long semester. Graded on a credit (CR), progress (PR), no-credit (F) basis. Repeatable for credit. Prerequisite: Instructor approval.

1 Credit Hour. 1 Lecture Contact Hour. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing
Grade Mode: Credit/No Credit

CS 7299. Dissertation.

Original research and writing in computer science is to be accomplished under the direct supervision of the Ph.D. research advisor. While conducting dissertation research and writing, the student must be continuously enrolled each long semester. Graded on a credit (CR), progress (PR), no-credit (F) basis. Repeatable for credit. Prerequisite: Instructor approval.

2 Credit Hours. 2 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing
Grade Mode: Credit/No Credit

CS 7300. Introduction to Research in Computer Science.

This credit/no credit course is designed to develop research and communication skills for Ph.D. students. Topics covered include research processes, research methods, ethics, conducting literature review, critiquing papers, preparing research proposals, faculty research presentations, and the software tools and platforms available for conducting applied computing research.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Credit/No Credit

CS 7308. Computer Science Studies.

This course provides foundations in computer science for students entering the doctoral program who may need certain background or leveling coursework. The course does not earn graduate degree credit. lt is repeatable with a different emphasis.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Exclude from Graduate GPA|Leveling
Grade Mode: Leveling/Assistantships

CS 7309. Professional Development of Doctoral Assistants.

This course is designed to equip the doctoral students with skills and an understanding of the proper procedures to be effective doctoral instructional and teaching assistants. This course does not earn graduate degree credit.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Graduate Assistantship|Exclude from Graduate GPA
Grade Mode: Leveling/Assistantships

CS 7311. Data-Driven Computational Methods and Infrastructure.

This course covers computational and statistical methods for using large-scale data sets (‘big data’) to answer scientific and business questions. It focuses on framing research questions, understanding how data can answer them, and using modern software tools for scalable data storage, processing, and analysis.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7312. Advanced Data Mining.

This course provides in-depth coverage of advanced data mining and information retrieval principles and techniques. It also offers extensive training and practice opportunities in frontier research directions. Prerequisite: CS 5316 with a grade of "B" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7313. Advanced Machine Learning and Pattern Recognition.

This course provides students advanced theoretical and practical skills to learn, design, implement, and apply machine learning and pattern recognition approaches. The students will gain analytical and problem-solving skills by studying machine learning and pattern recognition techniques and applying them to solve real problems.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7314. Bioinformatics.

This course introduces advanced algorithms for data-intensive computational analysis targeting biological applications such as drug response prediction, gene network analysis, and protein/RNA structure prediction. Main techniques include greedy search, linear regression, clustering, network analysis, expectation maximization, and Hidden Markov models, which are widely applicable beyond biological data. Prerequisite: CS 5329 or CS 5369L either with a grade of "B" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7321. Human Computer Interaction: Concepts, Models, and Methodologies.

This course provides an introduction to Human Computer Interaction (HCI) research, methods, and topics, including fundamentals of user interface and experimental design, usability, evaluation methods, software toolkits for interactive applications, graphics, visualization, mobile design, collaborative and social computing, biological factors, and human computation.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7322. Human Factors and Ergonomics.

This course combines knowledge in the fields of intelligent user interfaces, human factors, ergonomics, and environmental psychology. Topics include HCI principles, human information processing, anthropometry, principles of eye tracking and their effects on human factors research, as well as operations of biometrics systems and human factors influencing those systems.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7323. Image Processing and Computer Vision.

Image Processing and Computer Vision are research areas with a variety of modern applications ranging from the analysis of images and videos to real-time processing of image streams coming from self-driving vehicles and robotic agents. This course will prepare students with advanced state of the art knowledge in those fields. Prerequisite: CS 5329 with a grade of "B" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7324. HCI Paradigms for Animation, Visualization, and Virtual/Augmented Reality.

This course introduces advanced methods for enhancing user experience and presents effective HCI models via computer graphics, imaging, animation, simulation, visualization, augmented reality, and immersive virtual reality. Additionally, the course presents related science and engineering foundations as well as graphic design, cognitive science, and perceptual psychology theories and models. Prerequisite: CS 5329 with a grade of "B" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7331. High-Performance Computing.

This course covers the advanced design, analysis, and optimization of high-performance applications. Topics include high-performance computer architectures, including accelerators and systems-on-chip, performance modeling and benchmarking, data and control dependence analysis, data locality estimation, memory hierarchy management, techniques for exposing parallelism, and code transformations. Different workloads are studied. Prerequisite: CS 5329 with a grade of "B" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7332. Advanced Parallel Computing.

This course covers advanced design of parallel algorithms, performance modeling, parallel hardware, language support for parallel programming, and programming models for shared- and distributed-memory systems ranging from handheld multicore devices to large-scale clusters and accelerators. The students will gain applied knowledge and skills by developing parallel software for multiple platforms. Prerequisite: CS 5351 with a grade of "B" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7333. Advanced Green Computing.

This course covers hardware and software techniques to improve the energy-efficiency of computing systems. Topics include best practices in building energy-efficient data centers and mobile devices, current trends in reducing the energy consumption of processors and storage components, energy-aware resource management, software optimizations, and hands-on experience on power-measurable systems. Prerequisite: CS 5351 and CS 5369Y both with grades of "B" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7341. Cyberspace Security.

This course presents recent advances in methodologies, models, systems and applications of cyberspace security research. Topics include in-depth coverage of the state-of-the-art security technologies and research issues on information security, software security, network security, secure system design, secure programming, applied cryptography, vulnerability, and threats. Prerequisite: CS 5378 with a grade of "B" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7342. Advanced Computer Networking.

This course covers recent research ideas, methodologies and approaches in networking research. The course focuses on the development of protocols and the analysis of related algorithms. Topics include new network architectures, cloud computing, software defined networking, wireless systems, social networks, and security and privacy. Prerequisite: CS 5310 or CS 5343 either with a grade of "B" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7343. Mobile Networks and Computing.

This course provides an in-depth study of wireless mobile communication networks, wireless network measurements and modeling, channel assignments and coverage, wireless network protocols, mobile data management, wireless security, and various wireless network applications including ad hoc, sensor networks, delay-tolerant networks, and mobile social networks. Prerequisite: CS 5310 or CS 5343 either with a grade of "B" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7351. Advanced Software Engineering.

Software engineering is the application of scientific methods to software development and maintenance. This course provides an in-depth study of advanced concepts and techniques of automatic software generation and analysis. Topics include software process programming, symbolic execution, model checking, property generation and checking, and runtime verification of complex software systems. Prerequisite: Instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 7387. Research in Computer Science.

This course covers up-to-date research topics in computer science under the direction of a supervising professor. The course can be taken up to four times, each time with a different emphasis. Prerequisite: Instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing
Grade Mode: Credit/No Credit

CS 7389A. Service Computing.

This course introduces concepts and principles for enabling the development of software as a service based on Service-Oriented Architecture (SOA), methodology of SOA systems development, the main technologies used in achieving SOA, and state of the art techniques and advances in emerging cloud and edge (Internet of Things) services. Prerequisite: CS 5329 with a grade of "B" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 7389B. Advanced Software Evolution.

This topics course provides an in-depth study of state-of-the-art software evolution techniques and tools based on the current research literature. Software evolution has become increasingly important in software development. Software systems often evolve to fix defects, to improve performance, or to adapt to various other requirements. Prerequisite: Instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 7389C. Real-time Systems.

This course is to study issues related to the design and analysis of systems with real-time constraints. The problem of ensuring such constraints is ultimately a scheduling problem, so much attention is devoted to such problems. This course aims to provide a solid foundation for conducting research in real-time systems or related areas. Prerequisite: Instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 7389D. Scalable Systems for Supercomputing.

This course will teach basic aspects of building a scalable high performance computing (HPC) system. Specifically, it will focus on the design principles for scaling parallel communication and I/O operations for accessing HPC storage using a message-passing programming model. The course will use two large-scale systems—checkpointing for resilience and a parallel file system for storage as use cases to demonstrate how these principles are used in practice. Students will develop components of a scalable system and use software tools to measure and analyze their performance. Prerequisite: CS 4328 and CS 4310 both with grades of "D" or better or instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 7389E. Network Analysis.

This course provides in-depth coverage of the fundamentals and research frontiers of network analysis. The main topics include mathematical models and computational algorithms for analyzing the structure of complex networks and predicting dynamic processes on networks. Other topics include machine learning and data mining on graphs.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 7389F. Secure Cyber-Physical Systems: Cryptography and Machine Learning.

This course is designed to introduce students to the fundamentals of cryptography and machine learning and how they can be used to ensure security and privacy in cyber-physical systems (CPS). Topics will include an overview of cyber-physical systems, cryptographic techniques, machine learning algorithms, and security threats and attacks on CPS. The course will also cover privacy-preserving machine learning techniques and design principles for secure CPS. Students who successfully complete this course will be well-versed in cryptography and machine learning approaches for cybersecurity in CPS and be able to use these techniques to address practical real-world issues. Prerequisite: CS 3354 and CS 3358 both with a grade of "D" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 7389G. Human-Centered Data Science.

This course is to study the process of deriving insights from data in order to make optimal decisions. Human-Centered Data Science addresses various data science problems with attention to improve the quality of decisions by incorporating human experts in the learning process, e.g., interactive Machine Learning and eXplainable Artificial Intelligence. Prerequisite: CS 3358 with grade of "C" or better.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 7389H. Human-Centric Deep Learning.

This course provides an in-depth exploration of deep learning, emphasizing multi-layer neural networks and their applications. Students will explore core topics like convolutional, recurrent, and graph neural networks, along with optimization algorithms and generative models. The curriculum uniquely integrates multimedia processing, Human-Computer Interaction (HCI), and "human in the loop" approaches, demonstrating how deep learning can be applied to image, video, and audio analysis, as well as to create user-centric and interactive systems. Practical aspects, including data preprocessing, model evaluation, and framework implementation, will also be covered, equipping students with the skills to apply deep learning techniques in a human-centered context.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter

CS 7399. Dissertation.

Original research and writing in computer science is to be accomplished under the direct supervision of the Ph.D. research advisor. While conducting dissertation research and writing, the student must be continuously enrolled each long semester. Graded on a credit (CR), progress (PR), no–credit (F) basis. Repeatable for credit. Prerequisite: Instructor approval.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing
Grade Mode: Credit/No Credit

CS 7599. Dissertation.

Original research and writing in computer science is to be accomplished under the direct supervision of the Ph.D. research advisor. While conducting dissertation research and writing, the student must be continuously enrolled each long semester. Graded on a credit (CR), progress (PR), no–credit (F) basis. Repeatable for credit. Prerequisite: Instructor approval.

5 Credit Hours. 5 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing
Grade Mode: Credit/No Credit

CS 7699. Dissertation.

Original research and writing in computer science is to be accomplished under the direct supervision of the Ph.D. research advisor. While conducting dissertation research and writing, the student must be continuously enrolled each long semester. Graded on a credit (CR), progress (PR), no–credit (F) basis. Repeatable for credit. Prerequisite: Instructor approval.

6 Credit Hours. 6 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing
Grade Mode: Credit/No Credit

CS 7999. Dissertation.

Original research and writing in computer science is to be accomplished under the direct supervision of the Ph.D. research advisor. While conducting dissertation research and writing, the student must be continuously enrolled each long semester. Graded on a credit (CR), progress (PR), no–credit (F) basis. Repeatable for credit. Prerequisite: Instructor approval.

9 Credit Hours. 9 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from 3-peat Processing
Grade Mode: Credit/No Credit