CS 10001     COMPUTER LITERACY      3 Credit Hours

Introduction to history, language, procedures, applications, abuses and impact of computers. Hands-on experience with microcomputers. Not open to students with previous experience.

Prerequisite: None.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 other

Grade Mode: Standard Letter

CS 10051     COMPUTER SCIENCE PRINCIPLES (KMCR)      4 Credit Hours

An introductory, broad and hands-on coverage of aspects of computer science, including algorithms, problem solving, operating systems concepts, computer architecture, programming languages and modern applications. Three-credit lecture with one-credit lab.

Prerequisite: None.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 1 lab

Grade Mode: Standard Letter

Attributes: Kent Core Mathematics and Critical Reasoning

CS 10062     PROGRAMMING FOR PROBLEM SOLVING IN SCIENCES      4 Credit Hours

Solving problems in a science frequently requires a knowledge of programming. This course provides an introduction to using programs to solve problems. It is designed for majors and non-majors who have had little or no prior programming experience. The course emphasizes a hands-on, team-based approach to learning programming and problem solving.

Prerequisite: Minimum 55 ALEKS math score or minimum C grade in either MATH 11009 (or MATH 10772) or MATH 11010 (or MATH 10775 or MATH 10675).

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 2 lab

Grade Mode: Standard Letter

CS 13001     COMPUTER SCIENCE I: PROGRAMMING AND PROBLEM SOLVING      4 Credit Hours

Computer science concepts, including algorithm development and problem-solving strategies focused on procedural abstraction. High-level programming concepts, including data types, expressions, program structures, functions, parameter passing, scope, extent, arrays, introduction to recursion and an introduction to object oriented-concepts.

Prerequisite: Minimum 67 ALEKS math score or minimum C grade in one of the following courses MATH 11010 or MATH 10775 or MATH 10675; or one of the following courses MATH 11022 or MATH 12002 or MATH 12011.

Schedule Type: Laboratory, Lecture, Combined Lecture and Lab

Contact Hours: 3 lecture, 3 lab

Grade Mode: Standard Letter

CS 13011     COMPUTER SCIENCE IA: PROCEDURAL PROGRAMMING      2 Credit Hours

Computer science concepts, including algorithm development and problem-solving strategies focused on programming abstractions. High-level programming concepts, including variables, branching, iteration and functions.

Prerequisite: Minimum 67 ALEKS math score or minimum C grade in one of the following courses MATH 11010 or MATH 10775 or MATH 10675; or one of the following courses MATH 11022 or MATH 12002 or MATH 12011.

Schedule Type: Laboratory, Lecture, Combined Lecture and Lab

Contact Hours: 1.5 lecture, 1.5 lab

Grade Mode: Standard Letter

CS 13012     COMPUTER SCIENCE IB: OBJECT ORIENTED PROGRAMMING      2 Credit Hours

Computer science concepts, including algorithm development and problem-solving strategies focused on programming abstractions. High-level programming concepts, including introduction to recursion and an introduction to object oriented-concepts.

Prerequisite: Minimum C grade in CS 13011.

Schedule Type: Combined Lecture and Lab

Contact Hours: 1.5 lecture, 1.5 lab

Grade Mode: Standard Letter

CS 13401     USER LEVEL COMPUTER SECURITY      3 Credit Hours

Introduction to computer and network safety; detection and removal of viruses, detection and defense against spyware and rootkits, firewall description and use, protection mechanisms against computer system hacking, spam, identity theft and phishing, protecting wireless networks, safe computing. Includes many in-lecture tutorials.

Prerequisite: None.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 19995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit)Special topics from all areas of computer science.

Prerequisite: Permission.

Schedule Type: Lecture

Contact Hours: 1-3 lecture

Grade Mode: Standard Letter

CS 20062     ADVANCED PROGRAMMING WITH PYTHON      4 Credit Hours

This course introduces the students to advanced computer programming design, and development with main focus on data structures and abstraction using Python. Students will learn basic object oriented and GUI programming and graph algorithms applications.

Prerequisite: CS 10062.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 2 lab

Grade Mode: Standard Letter

CS 23001     COMPUTER SCIENCE II: DATA STRUCTURES AND ABSTRACTION      4 Credit Hours

Advanced computer programming design, and development with a primary focus on data structures and abstraction using an object oriented programming language.

Prerequisite: Minimum C grade in CS 13001 or CS 13012.

Corequisite: CS 23022.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 2 lab

Grade Mode: Standard Letter

CS 23022     DISCRETE STRUCTURES FOR COMPUTER SCIENCE      3 Credit Hours

(Cross-listed with MATH 23022) Discrete structures for computer scientists with a focus on: mathematical reasoning, combinatorial analysis, discrete structures, algorithmic thinking, applications and modeling. Specific topics include propositional and predicate logic and logical modeling using Boolean algebra and logical gates, information representation using binary system, sets, functions, relations, logical argumentation and proof techniques, recursion and recursive modeling, sequences and summation, arithmetic and geometric progressions, algorithms, iterative vs recursive algorithms, mathematical and structural induction, recursive structures, counting, permutation and combination, binomial expansion, matrices and matrix-operations, graphs and trees and their traversal, probability and Bayes' theorem, finite state machines, their modeling and applications, Regular grammar, basics of number theory, modeling computation and Turing machines, decidability and halting problem.

Prerequisite: Minimum C grade in MATH 11009 or MATH 11010 or MATH 11022, or ALEKS score of 78.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 23301     ROBOTICS AND EMBEDDED SYSTEMS LABORATORY I      1 Credit Hour

This course provides a team based, hands-on introduction to linking and programming robotic and embedded systems. Students in this course work with junior and senior level students on projects building devices that require linking and programming robotic and embedded systems.

Prerequisite: Minimum C grade in CS 13001 or CS 13012.

Schedule Type: Laboratory

Contact Hours: 2 lab

Grade Mode: Standard Letter

CS 23302     ROBOTICS AND EMBEDDED SYSTEMS LABORATORY II      2 Credit Hours

This course is the second computer science course on linking and programming robotic and embedded systems in a team based, hands-on environment. Students in this course work with junior and senior level students on projects building devices that require linking and programming robotic and embedded systems.

Prerequisite: CS 23001 and CS 23301 with a minimum C grade.

Schedule Type: Laboratory

Contact Hours: 4 lab

Grade Mode: Standard Letter

CS 27101     INTRODUCTION TO WEB INTERFACE DESIGN      3 Credit Hours

Introduction to principles for the design and implementation of user-centered website interfaces, website interface evaluation, human computer interaction, effective data organization and manipulation and tools for website creation.

Prerequisite: None.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 29995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit)Special topics from all areas of computer science.

Prerequisite: Permission.

Schedule Type: Lecture

Contact Hours: 1-3 lecture

Grade Mode: Standard Letter

CS 30062     PYTHON FOR DATA SCIENCE      3 Credit Hours

This course will introduce basic topics in the field of data science, including data collection, storage, manipulation, and visualization, as well as the area of machine learning. Specifically, students will learn how to use Python to import, clean, analyze, visualize, and learn data for real-world applications.

Prerequisite: CS 20062 or CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 32301     HUMAN INTERFACE COMPUTING      3 Credit Hours

Foundations of human computer interaction including interaction design. Foundations of graphics and visualization. Basic concepts in security and secure design including cryptography. Introduction to intelligent systems including basic knowledge representation and basic machine learning.

Prerequisite: Minimum C grade in CS 20062 or CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 33006     SOCIAL AND ETHICAL ISSUES IN COMPUTING (WIC)      3 Credit Hours

Social issues, including historical and social context, professional responsibilities, risks and liabilities and intellectual property.

Prerequisite: Minimum C grade in CS 13001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

Attributes: Writing Intensive Course

CS 33007     INTRODUCTION TO DATABASE SYSTEM DESIGN      3 Credit Hours

An introduction to the basic theoretical aspects of database systems, file organization, search methodologies, language design and performance evaluation techniques, initial modeling concepts and their use in hierarchical, network, relational and object-oriented database designs.

Prerequisite: Minimum C grade in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 33011     SPEED PROGRAMMING TECHNIQUES      3 Credit Hours

Discussion and practice of pertinent aspects related to programming under time constraints.

Prerequisite: CS 23001.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 other

Grade Mode: Standard Letter

CS 33092     SPEED PROGRAMMING PRACTICUM (ELR)      2 Credit Hours

(Repeatable for credit) Practice of pertinent aspects from CS 33011.

Prerequisite: CS 33011.

Schedule Type: Practical Experience

Contact Hours: 2 other

Grade Mode: Standard Letter

Attributes: Experiential Learning Requirement

CS 33101     STRUCTURE OF PROGRAMMING LANGUAGES      3 Credit Hours

Introduction to grammar, discrete and data structure concepts, syntax, semantics, abstraction, Advanced Programming Constructs, implementation model for imperative languages, dynamic memory management, type theory, concurrent programming, functional programming, logic programming, object oriented programming, event driven programming.

Prerequisite: Minimum C grade in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 33192     INTERNSHIP IN COMPUTER SCIENCE (ELR)      1-3 Credit Hours

(Repeatable for credit) Supervised work experience in computer science. Since this work will be outside the department a report and final presentation will be required; a site visit might also be necessary.

Prerequisite: Special approval.

Schedule Type: Practical Experience

Contact Hours: 3-9 other

Grade Mode: Satisfactory/Unsatisfactory-IP

Attributes: Experiential Learning Requirement

CS 33211     OPERATING SYSTEMS      3 Credit Hours

Introduction to operating systems, processes and threads, CPU scheduling, mutual exclusion and synchronization, deadlock, memory management, file systems, security, networking and distributed systems and current topics. systems.

Prerequisite: Minimum C grade in CS 23001.

Pre/corequisite: CS 35101.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 33223     UNIX TOOLS      3 Credit Hours

Course will cover UNIX operating system environment topics that will make the user more productive. Topics will include the user environment, shells, files, the file system, editors, scripting languages, document processing, processes, remote access and documentation.

Prerequisite: CS 13001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 33301     EMBEDDED SYSTEM PROGRAMMING      3 Credit Hours

An embedded system is a combination of computer hardware and software specifically designed for a particular function. Embedded systems have been playing important roles in various application areas such as industrial machines, automobiles, medical equipment, cameras, household appliances, airplanes, vending machines, toys and other uses. Students will learn fundamental concepts of designing and programming embedded computer systems, including requirements specifications, architectural and detailed design, and implementation, focusing on real-time aspects of programming languages, operating system kernels, and hardware architectures.

Prerequisite: Minimum C grade in CS 23001.

Corequisite: CS 35101.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 33302     INTRODUCTION TO INTELLIGENT ROBOTICS      3 Credit Hours

This course introduces students to the basic knowledge of programming of robotic systems, including algorithmic modeling and design, geometric motion planning and robot operating systems, all for making intelligent robots. Computer science is an integral part of robotics as it includes areas such as computer algorithms, computational geometry, artificial intelligence, machine learning and image processing. The material covered in this course consists of a brief description of the intrinsic geometry, kinematics, statics, mechanics and controls of robotic systems and goes deeper into developing algorithms and useful software libraries. In addition, this course introduces practical examples and performance results using them with hands-on experience in a lab setting.

Prerequisite: CS 20062 or CS 23001 with a minimum C grade.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 33901     SOFTWARE ENGINEERING      3 Credit Hours

An introduction to software engineering concepts: life cycle models; modeling languages; requirements analysis; specification; design; testing; validation; project management and maintenance.

Prerequisite: Minimum C grade in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 35101     COMPUTER ORGANIZATION      3 Credit Hours

Computer system organization, including performance measures, instruction sets, computer arithmetic, central processing unit, pipelining, memory hierarchy and parallel processors.

Prerequisite: Minimum C grade in the following courses: CS 10062 or CS 13001; or CS 13011 and CS 13012.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 35201     COMPUTER COMMUNICATION NETWORKS      3 Credit Hours

An introduction to net-centric systems, data communication protocols, network architectures, routing protocols, network management, congestion control, network security, compression techniques, mobile and wireless networks and WWW as an example of a client-server system.

Prerequisite: CS 20062 or CS 23001 with a minimum C grade.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 38101     INTRODUCTION TO GAME PROGRAMMING      3 Credit Hours

Game engine scripting, event driven and data driven programming, game engine data structures, basic game related graphics and AI concepts, a short game development project.

Prerequisite: Minimum C grade in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 39995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit)Special topics from all areas of computer science.

Prerequisite: Permission.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 41038     INTERMEDIATE LOGIC      3 Credit Hours

(Cross-listed with MATH 41038 and MATH 51038 and PHIL 41038 and PHIL 51038) A detailed, systematic study of symbolic logic for philosophy majors, mathematics majors, computer science majors, and anyone else interested in advanced study in logic. The aim of the course is twofold: first, to develop a facility in understanding and using symbolic logic for various purposes, and second, to understand and appreciate symbolic logic as an area of study in itself. Topics include the distinction between syntactic, object-level proofs and semantic, meta-level proofs, the distinction between axiomatic systems and natural deduction systems of object-level proofs, various systems of modal logic, and some non-classical logics.

Prerequisite: Computer Science major or minor; and junior standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 41045     METALOGIC      3 Credit Hours

(Slashed with CS 51045; Cross-listed with MATH 41045 and MATH 51045 and PHIL 41045 and PHIL 51045) A detailed, systematic study of metalogic for philosophy majors, mathematics majors, computer science majors, and anyone else interested in advanced study in logic. Topics include the soundness and completeness of the propositional and predicate calculi, the decidablility of propositional calculus, the undecidability of predicate calculus, Gödel’s incompleteness proof for languages capable of expressing arithmetic, the co-extensionality of the set of general recursive functions, abacus computable functions, and Turing computable functions, and the philosophical motivations for the ChurchTuring Thesis that all computable functions are Turing computable.

Prerequisite: PHIL 41038.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 42201     NUMERICAL COMPUTING I      3 Credit Hours

(Cross-listed with MATH 42201) (Slashed with CS 52201 and MATH 52201) An introduction to numerical methods and software for solving many common scientific computing problems. Linear systems, least-squares data fitting, nonlinear equations and systems and optimization problems.

Prerequisite: Minimum C grade in the following courses: CS 10061 or CS 13001 or (CS 13011 and CS 13012); and MATH 12003 or MATH 12013; and MATH 21001 or MATH 21002 or MATH 32051.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 42202     NUMERICAL COMPUTING II      3 Credit Hours

(Slashed with CS 52202; Cross-listed with MATH 42202 and MATH 52202) A continuation of CS 42201. Topics include interpolation, numerical differentiation and integration, and numerical solution of ordinary differential equations.

Prerequisite: MATH 32044 or MATH 32052; and MATH 42201 or CS 42201.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43006     THEORY OF OBJECT-ORIENTED PROGRAMMING      3 Credit Hours

(Slashed with CS 53006) In depth course on the theory and principles of object-based and object-oriented programming using a language such as C++. The course covers advanced topics in inheritance and interface planning, generic (type independent) programming, factors of polymorphism, structure and organization of class libraries and object oriented design principles.

Prerequisite: CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43016     BIG DATA ANALYTICS      3 Credit Hours

This course will introduce the state-of-art computing platforms with the focus on how to utilize them in processing (managing and analyzing) massive datasets. The course will utilize several key data processing tasks, including simple statistics, data aggregation, join processing, frequent pattern mining, data clustering, information retrieval, pagerank, and massive graph analytics as the case study for large scale data processing.

Prerequisite: CS 23001 with a minimum C grade.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43105     DATA MINING TECHNIQUES      3 Credit Hours

Concepts and techniques of data mining. Data mining is a process of discovering information from a set of large databases. This course takes a database perspective on data mining, covering a set of interesting topics, including association rule mining, clustering, classification, web mining, etc. It covers the basics of some important theoretical foundations for data mining, including linear regression, Bayesian inferences, information theory, and markov chain random walk.

Prerequisite: CS 33007.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43111     STRUCTURE OF COMPILERS      3 Credit Hours

(Slashed with CS 53111) Techniques used to write compilers including lexical analysis, syntax analysis, syntax-directed translation, type checking, run-time environments, and intermediate code generation.

Prerequisite: CS 35101 and 33101.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43118     GRAPH AND SOCIAL NETWORK ANALYSIS      3 Credit Hours

(Slashed with CS 53118 and CS 73118) Catalog Description: This course covers a number of important and useful ideas in graph databases, especially in social networks (e.g. the data model for certain-uncertain graphs), indexing over graphs, and query processing algorithms for graph databases (e.g., single-source path queries, path queries, reachability queries, keyword search queries, subgraph matching, etc.). The influence maximization problems over social networks in real applications are also discussed as well as various queries over the distributed graph database.

Prerequisite: CS 33007.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43202     SYSTEMS ADMINISTRATION      3 Credit Hours

(Slashed with CS 53202) The setting up and day-to-day administration of multiuser multitasking systems, such as the various versions of UNIX, together with the analysis of problems which can arise in these activities.

Prerequisite: CS 33211.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43203     SYSTEMS PROGRAMMING      3 Credit Hours

(Slashed with CS 53203) The setting up and day-to-day administration of multiuser multitasking systems, such as the various versions of UNIX, together with the analysis of problems which can arise in these activities. Implementation and maintenance of system programs, system utilities, command interpreters, editors, file maintenance programs, text processors, interrupt handling, and device drivers.

Prerequisite: CS 33211.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43301     SOFTWARE DEVELOPMENT FOR ROBOTICS      3 Credit Hours

(Slashed with CS 53301) Robots are being used in multiple places that are not easily accessible for humans to support the lack of available labor, to gain extra precision, and for cost effective manufacturing processes, monitoring, space exploration, precision surgery and artificial limb support for elderly and physically challenged persons. Computer science is an integral part of robotics as it includes areas such as computer algorithms, artificial intelligence, and image processing that are essential aspects of robotics. This first course on robotics will teach the students various motions of rigid robots, mathematics and algorithms related to these motions, motion planning, obstacle avoidance, intelligent path planning including use of various sensors.

Prerequisite: CS 23001 and CS 33301 with a minimum of C grade.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43302     ALGORITHMIC ROBOTICS      3 Credit Hours

(Slashed with CS 53302 and CS 73302) This course provides students theoretical, mathematical, and practical foundations for the design, analysis, and evaluation of algorithms for robots for diverse robotic applications. We will focus on a principled and mathematically sound approach to the design of algorithms for robots rather than ad hoc and hacking development approaches.

Prerequisite: CS 33301 and CS 43301.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43303     INTERNET OF THINGS      3 Credit Hours

(Slashed with CS 53303 and CS 73303) This course will provide a comprehensive an understanding of the Internet of Things by looking into a variety of real-world application scenarios, existing and new technologies and architectures, communication protocols and standardization efforts, societal and behavioral changes, and how to apply these technologies to tackle real-world problems.

Prerequisite: CS 33301 or CS 45231.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43305     ADVANCED DIGITAL DESIGN      3 Credit Hours

(Slashed with CS 53305) This course describes techniques in the design of digital systems. Topics covered include combinational and sequential logic, gate-level minimization, registers and counters, memory and programmable logic, hardware description languages, digital communication including serial and parallel and synchronous and asynchronous methods.

Prerequisite: CS 23001 with a minimum C grade.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43334     HUMAN-ROBOT INTERACTION      3 Credit Hours

(Slashed with CS 53334 and CS 73334) Human-Robot Interaction (HRI) is the study of interactions between humans and robots dedicated to understanding, designing, and evaluating robotic systems for use by and with humans. HRI is a multidisciplinary field that incorporates human-computer interaction, artificial intelligence, robotics, natural language understanding, design, and social sciences. Interaction between humans and robots may take several forms, but are generally categorized by how close in proximity the humans and robots are to each other such as remote, proximate, and hybrid interaction. In the class, students will learn the fundamental technologies and theories in each category, and blend this knowledge with various case studies and lab activities.

Prerequisite: CS 33301 and CS 43301.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43401     SECURE PROGRAMMING      3 Credit Hours

Code vulnerabilities, static code analysis, error handling, secure I/O, race conditions and mediation, handling buffer and integer overflow, handling vulnerabilities in web and database programming, privacy and cryptography, random number generators.

Prerequisite: Minimum C grade in CS 20062 or in CS 23001; and junior standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 44001     COMPUTER SCIENCE III-PROGRAMMING PATTERNS      4 Credit Hours

(Slashed with CS 54001) CS III Programming Patterns extends students' knowledge of object oriented programming, and improves their C++ programming skills. Specifically, it covers procedural and object-based programming, inheritance, polymorphism, popular design patterns, and generic programming.

Prerequisite: CS 23001 with a minimum C grade.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 3 lab

Grade Mode: Standard Letter

CS 44003     MOBILE APPS IN IOS PROGRAMMING      3 Credit Hours

(Slashed with CS 54003) Students are introduced to mobile applications programming in the iOS environment using model, view, controller paradigms. Other topics include swift, programming using on board devices like GPS, cameras, motion detectors, and screen touches.

Prerequisite: CS 23001 with a minimum C grade.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 44004     DRONE PROGRAMMING      3 Credit Hours

Course describes the design, programming and control of autonomous drones. Students will learn how to write apps to compute and control the drone’s trajectories, including collision avoidance and object detection. Topics covered include system software and hardware architectures, use case models, interoperability, trajectory programming, communications protocols. Students will apply this knowledge in the context of programming assignments using drone simulator. Subsequently, students will develop apps to control autonomous drone vehicle.

Prerequisite: Minimum C grade in CS 35201.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 44105     WEB PROGRAMMING I      3 Credit Hours

(Slashed with CS 54105) This course is the first of a two-course sequence on Web Programming covering from basic to advanced topics on Web Programming based on open standards and best practices. Topics covered include the HyperText Markup Language (HTML), specifying look and feel using Cascading Style Sheets (CSS), client side programming in Javascript, server side programming in PHP, and the Hypertext Transfer Protocol (HTTP).

Prerequisite: CS 23001 with a minimum C grade.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 44106     WEB PROGRAMMING II      3 Credit Hours

(Slashed with CS 54106) This course is the second of a two-course sequence on Web Programming covering advanced topics on Web Programming based on open standards and best practices. This is a project course exploring advanced aspects of Web programming. Topics covered include advanced server side programming in PHP; database driven websites; structured query language (SQL) and MySQL; E-commerce; web hosting using Apache, PHP and MySQL; basic and digest authentication; web security, encryption and digital certificates; Extensible Markup Language (XML) for the web, AJAX and web services; scalable vector graphics (SVG); mobile websites.

Prerequisite: CS 44105.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 44201     ARTIFICIAL INTELLIGENCE      3 Credit Hours

(Slashed with CS 54201) Computational intelligence concepts and methods such as modeling real-world problems as state-space search problems; heuristics, local and meta-heuristics search; game playing and adversarial search; constraint-based problem solving and optimization; automated machine learning theory and techniques; Knowledge based systems including logical inference techniques, fuzzy logic and case-based reasoning; probabilistic and uncertainty-based reasoning; ontology and semantic networks, and planning

Prerequisite: CS 23001 and CS 23022.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 44202     MACHINE LEARNING AND DEEP LEARNING      3 Credit Hours

(Slashed with CS 54202) This course provides an overview of some fundamental concepts, techniques and algorithms in machine learning and deep learning, and will give students a basic understanding (ideas and intuitions) of how modern machine learning works. Specifically, there are three main objectives: 1. To help student get familiar with the fundamental mathematical tools (linear algebra, probability theory, statistical inference, numerical optimization, and learning theory) which lays the foundation of machine learning algorithms and techniques; 2. To introduce the core machine learning concepts and topics, such as linear regression, classification, SVM, and neural networks (and its deep variants); in addition, we will utilize the recommendation system for students to learn how real world machine system works; 3. Teach students how to program and use the latest machine learning packages, such as Tensorflow.

Prerequisite: CS 23001 and MATH 21002 and MATH 20011 and MATH 12013.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 44901     SOFTWARE DEVELOPMENT PROJECT (ELR) (WIC)      4 Credit Hours

With the supervision of the instructor, students will work in teams to design and implement a realistic software project similar to projects they would encounter in the workplace.

Prerequisite: CS 23001 with a minimum C grade; and junior standing.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 3 lab

Grade Mode: Standard Letter

Attributes: Experiential Learning Requirement, Writing Intensive Course

CS 44902     SOFTWARE REQUIREMENTS ENGINEERING      3 Credit Hours

(Slashed with CS 54902) Students will learn a systematic approach to requirements elicitation, envisioning, requirements engineering, while leveraging design-based ideation and validation. Topics include software and systems requirements engineering, interface design and modeling, systems architecture, performance engineering, ethics, systems verification and testing.

Prerequisite: CS 33901.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 45102     CENTRAL PROCESSING UNIT (CPU) ARCHITECTURES      3 Credit Hours

(Slashed with CS 55102) This course explores CPU architectures and concepts, focusing mostly on general purpose CPUs. It begins by examining the x86 architecture, the origins of reduced instruction set computers, and how those diverse concepts were reconciled. It looks at superscalar execution, out-of-order execution, branch prediction, and speculative execution, and their use in the Intel Pentium Pro and Pentium II. Finally, it concludes by exploring some contemporary CPU architectures such as embedded processors, graphics processors, and the open-source RISC-V architecture.

Prerequisite: CS 35101; and CS 23001 with a minimum C grade.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 45203     COMPUTER NETWORK SECURITY      3 Credit Hours

(Slashed with CS 55203) Overview of network security including attacks and vulnerabilities and defense measures, secure network design, network and transport layers security, intrusion detection techniques, defense against denial of service attacks, network hardware, software, and applications attacks and their defense, security policies, legal and ethical issues in cyber and computer crimes.

Prerequisite: CS 35201 and; MATH 20011 or MATH 30011.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 45231     INTERNET ENGINEERING      3 Credit Hours

Design fundamentals and working principles of internet systems at the IP layer and above. DNS, inter-domain routing, internet client server programming, application level protocols (HTTP, XML,etc.) web server architecture, browser internet security and multimedia serving.

Prerequisite: CS 23001, 33211 and 35201.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 46101     DESIGN AND ANALYSIS OF ALGORITHMS      3 Credit Hours

(Slashed with CS 56101) Introduction to algorithmic concepts, design and complexity analysis of algorithms and data structures, searching, sorting, graph and string algorithms.

Prerequisite: MATH 12003 or MATH 12013; and minimum C grade in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 47101     COMPUTER GRAPHICS      3 Credit Hours

Display file generation, interactive graphics techniques, display devices, three-dimensional graphics, graphic system design, graphic languages and applications in man-machine communications.

Prerequisite: CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 47201     HUMAN COMPUTER INTERACTION      3 Credit Hours

Approaches the human-computer interaction as an activity of the human whose productivity is increased by the use of the computer as a tool. Examines physiology and psychology considers the structure and operation of the computer and models the interaction between the two.

Prerequisite: CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 47205     INFORMATION SECURITY      3 Credit Hours

(Slashed with CS 57205) An introduction to concepts and methodology useful for information security, as specified by the NSTISSI NO. 4011 standard from the NSA.

Prerequisite: Minimum C grade in CS 20062 or in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 47206     DATA SECURITY AND PRIVACY      3 Credit Hours

(Slashed with CS 57206) The goal of the course is to familiarize the students with basic concepts of security and privacy, their definitions, applications and current advances in research community and industry. This course addresses the security and privacy issues in legacy systems and also studies security and privacy policies and legislations. This course also reviews current research projects in the area of security and privacy.

Prerequisite: Minimum C grade in CS 20062 or in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 47207     DIGITAL FORENSICS      3 Credit Hours

(Slashed with CS 57207) This course addresses the need for digital forensics, best practices for general incidence response, legal aspects of forensics, tools and techniques to perform a full computer forensic investigation.

Prerequisite: Minimum C grade in CS 20062 or in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 47221     INTRODUCTION TO CRYPTOLOGY      3 Credit Hours

This is a course on the modern science of Cryptology; that is, the process of hiding information by converting it, through a reversible process, into something unrecognizable. Of course, only the recipient should be able to reverse the “hiding” or encrypting process. As far as usage in life is concerned, this course will help you to set up cryptosystems in many different environments. This skill is highly employable; from the NSA, to banks, to anybody who needs to encrypt information is looking for people with knowledge in Cryptology.

Prerequisite: Minimum C grade in CS 20062 or in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 48101     GAME ENGINE CONCEPTS      3 Credit Hours

Introduction to 3D game engine design, game memory management, multithreading in games, sprites and bitmap animation level design, path finding, audio-visual effects, AI and physical modeling in games, networked gaming.

Prerequisite: CS 23001 with a minimum C grade.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 48102     GAME DEVELOPMENT PRACTICUM (ELR) (WIC)      4 Credit Hours

With the supervision of the instructor, students will work in teams to design and implement a computer game or 3D interactive learning environment using a game engine in a professional setup.

Prerequisite: CS 33007 and CS 33901 and CS 35201; and CS 48101 or CS 38101; and junior standing.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 2 lab

Grade Mode: Standard Letter

Attributes: Experiential Learning Requirement, Writing Intensive Course

CS 49995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-4 Credit Hours

(Repeatable for credit) (Slashed with CS 59995) Special topics from all areas of computer science.

Prerequisite: Special approval.

Schedule Type: Lecture

Contact Hours: 4 lecture

Grade Mode: Standard Letter

CS 49996     INDIVIDUAL STUDY      1-4 Credit Hours

(Repeatable for credit).

Prerequisite: Special approval.

Schedule Type: Individual Investigation

Contact Hours: 1-4 other

Grade Mode: Standard Letter

CS 49998     RESEARCH (ELR)      1-15 Credit Hours

(Repeatable for credit)

Prerequisite: Special approval.

Schedule Type: Research

Contact Hours: 1-15 other

Grade Mode: Satisfactory/Unsatisfactory-IP

Attributes: Experiential Learning Requirement

CS 49999     CAPSTONE PROJECT (ELR) (WIC)      4 Credit Hours

This course is an integrative experience that brings together all components of the undergraduate computer science curriculum in an applied, hands-on real-world setting.

Prerequisite: CS 33007 and CS 33901 and CS 35201.

Schedule Type: Laboratory, Lecture, Combined Lecture and Lab, Project or Capstone

Contact Hours: 3 lecture, 2 lab

Grade Mode: Standard Letter

Attributes: Experiential Learning Requirement, Writing Intensive Course

CS 51045     METALOGIC      3 Credit Hours

(Slashed with CS 41045; Cross-listed with MATH 41045 and MATH 51045 and PHIL 41045 and PHIL 51045) A detailed, systematic study of metalogic for philosophy majors, mathematics majors, computer science majors, and anyone else interested in advanced study in logic. Topics include the soundness and completeness of the propositional and predicate calculi, the decidablility of propositional calculus, the undecidability of predicate calculus, Gödel’s incompleteness proof for languages capable of expressing arithmetic, the co-extensionality of the set of general recursive functions, abacus computable functions, and Turing computable functions, and the philosophical motivations for the ChurchTuring Thesis that all computable functions are Turing computable

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 52201     NUMERICAL COMPUTING I      3 Credit Hours

(Cross-listed with MATH 52201)(Slashed with CS 42201 and MATH 42201) An introduction to numerical methods and software for solving many common scientific computing problems. Linear systems, least-squares data fitting, nonlinear equations and systems and optimization problems.

Prerequisite: Computer Science major; and graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 52202     NUMERICAL COMPUTING II      3 Credit Hours

(Slashed with CS 42202)(Cross-listed with MATH 42202 and MATH 52202) A continuation of CS 52201. Topics include interpolation numerical differentiation and integration and numerical solution of ordinary differential equations.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53006     THEORY OF OBJECT-ORIENTED PROGRAMMING      3 Credit Hours

(Slashed with CS 43006) In-depth course on the theory and principles of object-based and object-oriented programming using a language such as C ++. The course covers advanced topics in inheritance and interface planning, generic (type independent) programming, factors of polymorphism, structure and organization of class libraries, and object-oriented design principles.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53111     STRUCTURE OF COMPILERS      3 Credit Hours

(Slashed with CS 43111) Techniques used to write compilers including lexical analysis, syntax analysis, syntax directed translation, type checking, run-time environments and intermediate code generation.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53118     GRAPH AND SOCIAL NETWORK ANALYSIS      3 Credit Hours

(Slashed with CS 43118 and CS 73118) This course covers a number of important and useful ideas in graph databases, especially in social networks (e.g. the data model for certain-uncertain graphs), indexing over graphs, and query processing algorithms for graph databases (e.g., single-source path queries, path queries, reachability queries, keyword search queries, subgraph matching, etc.). The influence maximization problems over social networks in real applications are also discussed as well as various queries over the distributed graph databases.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53202     SYSTEMS ADMINISTRATION      3 Credit Hours

(Slashed with CS 43202) The setting up and day-to-day administration of multiuser multitasking systems, such as the various versions of UNIX together with the analysis of problems which can arise in these activities.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53203     SYSTEMS PROGRAMMING      3 Credit Hours

(Slashed with CS 43203) The setting up and day-to-day administration of multiuser multitasking systems, such as the various versions of UNIX, together with the analysis of problems which can arise in these activities. Implementation and maintenance of system programs, system utilities, command interpreters, editors, file maintenance programs, text processors, interrupt handling, and device drivers.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53301     SOFTWARE DEVELOPMENT FOR ROBOTICS      3 Credit Hours

(Slashed with CS 43301) Robots are being used in multiple places that are not easily accessible for humans, to support the lack of available labor, to gain extra precision, and for cost effective manufacturing processes, monitoring, space exploration, precision surgery and artificial limb support for elderly and physically challenged persons. Computer science is an integral part of robotics as it includes areas such as computer algorithms, artificial intelligence, and image processing that are essential aspects of robotics. This first course on robotics will teach the students various motions of rigid robots, mathematics and algorithms related to these motions, motion planning, obstacle avoidance, intelligent path planning including use of various sensors.

Prerequisite: Graduate standing.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53302     ALGORITHMIC ROBOTICS      3 Credit Hours

(Slashed with CS 43302 and CS 73302) This course provides students theoretical, mathematical, and practical foundations for the design, analysis, and evaluation of algorithms for robots for diverse robotic applications. We will focus on a principled and mathematically sound approach to the design of algorithms for robots rather than ad hoc and hacking development approaches.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53303     INTERNET OF THINGS      3 Credit Hours

(Slashed with CS 43303 and CS 73303) This course will provide a comprehensive understanding of the Internet of Things by looking into a variety of real-world application scenarios, existing and new technologies and architectures, communication protocols and standardization efforts, societal and behavioral changes, and how to apply these technologies to tackle real-world problems.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53305     ADVANCED DIGITAL DESIGN      3 Credit Hours

(Slashed with CS 43305) This course describes techniques in the design of digital systems. Topics covered include combinational and sequential logic, gate-level minimization, registers and counters, memory and programmable logic, hardware description languages, digital communication including serial and parallel and synchronous and asynchronous methods.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53334     HUMAN-ROBOT INTERACTION      3 Credit Hours

(Slashed with CS 43334 and CS 73334) Human-Robot Interaction (HRI) is the study of interactions between humans and robots dedicated to understanding, designing, and evaluating robotic systems for use by and with humans. HRI is a multidisciplinary field that incorporates human-computer interaction, artificial intelligence, robotics, natural language understanding, design, and social sciences. Interaction between humans and robots may take several forms, but are generally categorized by how close in proximity the humans and robots are to each other such as remote, proximate, and hybrid interaction. In the class, students will learn the fundamental technologies and theories in each category, and blend this knowledge with various case studies and lab activities.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53401     SECURE PROGRAMMING      3 Credit Hours

Code vulnerabilities, static code analysis, error handling, secure I/O, race conditions and mediation, handling buffer and integer overflow, handling vulnerabilities in web and database programming, privacy and cryptography, random number generators.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 54001     COMPUTER SCIENCE III - PROGRAMMING PATTERNS      4 Credit Hours

(Slashed with CS 44001) Extends students' knowledge of object oriented programming, and improves their C++ programming skills. Specifically, it covers procedural and object-based programming, inheritance, polymorphism, popular design patterns, and generic programming.

Prerequisite: Graduate standing.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 3 lab

Grade Mode: Standard Letter

CS 54003     MOBILE APPS IN IOS PROGRAMMING      3 Credit Hours

Students are introduced to mobile applications programming in the iOS environment using model, view, controller paradigms. Other topics include swift, programming using on board devices like GPS, cameras, motion detectors, and screen touches.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 54105     WEB PROGRAMMING I      3 Credit Hours

(Slashed with CS 44105) This course is the first of a two-course sequence on Web Programming covering from basic to advanced topics on Web Programming based on open standards and best practices. Topics covered include the HyperText Markup Language (HTML), specifying look and feel using Cascading Style Sheets (CSS), client side programming in Javascript, server side programming in PHP, and the Hypertext Transfer Protocol (HTTP).

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 54106     WEB PROGRAMMING II      3 Credit Hours

(Slashed with CS 44106) This course is the second of a two-course sequence on Web Programming covering advanced topics on Web Programming based on open standards and practices. This is a project course exploring advanced aspects of Web programming. Topics covered include advanced server side programming in PHP; database driven websites; structured query language (SQL) and MySQL; E-commerce; web hosting using Apache, PHP MySQL; basic and digest authentication; web security, encryption and digital certificates; Markup Language (XML) for the web, AJAX and web services; scalable vector graphics (SVG); websites.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 54201     ARTIFICIAL INTELLIGENCE      3 Credit Hours

(Slashed with CS 44201) Computational intelligence concepts and methods such as modeling real-world problems as state-space search problems; heuristics and meta-heuristics search; game playing and adversarial search; constraint-based optimization and search; automated machine learning such as clustering, neural networks, regression analysis, decision trees, Markov models and HMM; Deep neural networks and its application in speech and image understanding; logical inference techniques, fuzzy systems, case-based reasoning and uncertainty based reasoning; Knowledge-based systems; planning techniques and systems

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 54202     MACHINE LEARNING AND DEEP LEARNING      3 Credit Hours

(Slashed with CS 44202) This course provides an overview of some fundamental concepts, techniques and algorithms in machine learning and deep learning, and will give students a basic understanding (ideas and intuitions) of how modern machine learning works. Specifically, there are three main objectives: 1. To help student get familiar with the fundamental mathematical tools (linear algebra, probability theory, statistical inference, numerical optimization, and learning theory) which lays the foundation of machine learning algorithms and techniques; 2. To introduce the core machine learning concepts and topics, such as linear regression, classification, SVM, and neural networks (and its deep variants); in addition, we will utilize the recommendation system for students to learn how real world machine system works; 3. Teach students how to program and use the latest machine learning packages, such as Tensorflow.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 54902     SOFTWARE REQUIREMENTS ENGINEERING      3 Credit Hours

(Slashed with CS 44902) Students will learn a systematic approach to requirements elicitation, envisioning, requirements engineering, while leveraging design-based ideation and validation. Topics include software and systems requirements engineering, interface design and modeling, systems architecture, performance engineering, ethics, systems verification and testing.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 55102     CENTRAL PROCESSING UNIT (CPU) ARCHITECTURES      3 Credit Hours

(Slashed with CS 45102) This course explores CPU architectures and concepts, focusing mostly on general purpose CPUs. It begins by examining the x86 architecture, the origins of reduced instruction set computers, and how those diverse concepts were reconciled. It looks at superscalar execution, out-of-order execution, branch prediction, and speculative execution, and their use in the Intel Pentium Pro and Pentium II. Finally, it concludes by exploring some contemporary CPU architectures such as embedded processors, graphics processors, and the open-source RISC-V architecture.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 55201     COMPUTER COMMUNICATION NETWORKS      3 Credit Hours

An introduction to net-centric systems, data communication protocols, network architectures, routing protocols, network management, congestion control, network security, compression techniques, mobile and wireless networks, and WWW as an example of a client server system.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 55203     COMPUTER NETWORK SECURITY      3 Credit Hours

(Slashed with CS 45203) Overview of network security including attacks and vulnerabilities and defense measures, secure network design, network and transport layers security, intrusion detection techniques, defense against denial of service attacks, network hardware, software, and applications attacks and their defense, security policies, legal and ethical issues in cyber and computer crimes.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 55231     INTERNET ENGINEERING      3 Credit Hours

(Slashed with CS 45231) Design fundamentals and working principles of internet systems at the IP layer and above. DNS, inter-domain routing, internet client server programming, application level protocols (HTTP, XML,etc.) Web server architecture, browser, internet security, and multimedia serving.

Prerequisite: CS 23001 and CS 55201; and graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 56101     DESIGN AND ANALYSIS OF ALGORITHMS      3 Credit Hours

(Slashed with CS 46101) Introduction to algorithmic concepts, design and complexity analysis of algorithms and data structures, searching, sorting, graph and string algorithms.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 57101     COMPUTER GRAPHICS      3 Credit Hours

(Slashed with CS 47101) Display file generation, interactive graphics techniques, display devices, three-dimensional graphics, graphic system design, graphic languages and applications in man-machine communications.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 57201     HUMAN COMPUTER INTERACTION      3 Credit Hours

(Slashed with CS 47201) Approaches the human-computer interaction as an activity of the human whose productivity is increased by the use of the computer as a tool. Examines physiology and psychology considers the structure and operation of the computer and models the interaction between the two.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 57205     INFORMATION SECURITY      3 Credit Hours

(Slashed with CS 47205) An introduction to concepts and methodology useful for information security, as specified by the NSTISSI NO. 4011 standard from the NSA.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 57206     DATA SECURITY AND PRIVACY      3 Credit Hours

(Slashed with CS 47206) The goal of the course is to familiarize the students with basic concepts of security and privacy, their definitions, applications and current advances in research community and industry. This course addresses the security and privacy issues in legacy systems and also studies security and privacy policies and legislations. This course also reviews current research projects in the area of security and privacy.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 57207     DIGITAL FORENSICS      3 Credit Hours

(Slashed with CS 47207) This course addresses the need for digital forensics, best practices for general incidence response, legal aspects of forensics, tools and techniques to perform a full computer forensic investigation.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 57221     INTRODUCTION TO CRYPTOLOGY      3 Credit Hours

(Slashed with CS 47221) This is a course on the modern science of Cryptology; that is, the process of hiding information by converting it, through a reversible process, into something unrecognizable. Of course, only the recipient should be able to reverse the “hiding” or encrypting process. As far as usage in life is concerned, this course will help you to set up cryptosystems in many different environments. This skill is highly employable; from the NSA, to banks, to anybody who needs to encrypt information is looking for people with knowledge in Cryptology.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 59893     VARIABLE TITLE WORKSHOP IN COMPUTER SCIENCE      1-6 Credit Hours

(Repeatable for credit) Studies in special topics in computer science.

Prerequisite: Graduate standing; and special approval.

Schedule Type: Workshop

Contact Hours: 1-6 other

Grade Mode: Satisfactory/Unsatisfactory

CS 59995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit) (Slashed with CS 49995) Various special courses will be announced in the schedule of classes under this title.

Prerequisite: Graduate standing; and special approval.

Schedule Type: Lecture

Contact Hours: 1-3 lecture

Grade Mode: Standard Letter

CS 60093     VARIABLE TITLE WORKSHOP IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit)Studies of special topics in computer science. Not acceptable for credit toward a graduate degree in computer science without approval of the student's adviser.

Prerequisite: Graduate standing; and special approval.

Schedule Type: Workshop

Contact Hours: 1-3 other

Grade Mode: Satisfactory/Unsatisfactory

CS 60094     COLLEGE TEACHING OF COMPUTER SCIENCE      1 Credit Hour

(Repeatable for credit) (Slashed with CS 70094) Techniques and problems of college teaching of computer science. Student presentation of computer science papers will be included.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 1 lecture

Grade Mode: Standard Letter-S/U

CS 61002     ALGORITHMS AND PROGRAMMING I      4 Credit Hours

This course is designed for graduate students with a little knowledge of the undergraduate computer science curriculum. It is suitable for students with a background in engineering, physics, biology, geography, etc. This course is designed to introduce students to how to map scientific problems in their own field of study into the computational framework. The primary purpose of this course is to help students become skillful in making the computer do what they want it to do. This course provides students with hands-on tools to develop computational methods for data modeling and analysis using Python packages such as Numpy and Matplotlib. This course may not be used to fulfill degree requirements in the the Computer Science - M.S. or Computer Science - Ph.D. programs.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 4 lecture

Grade Mode: Standard Letter

CS 61003     ALGORITHMS AND PROGRAMMING II      4 Credit Hours

Further exploration into the tools used in computer science. The course provides an introduction to algorithmic concepts. It covers design and complexity analysis of algorithms and data structures, searching, sorting, graph and string algorithms. This course may not be used to fulfill degree requirements in the Computer Science - M.S. or Computer Science - Ph.D. programs.

Prerequisite: CS 61002; and graduate standing.

Schedule Type: Lecture

Contact Hours: 4 lecture

Grade Mode: Standard Letter

CS 61004     OPERATING SYSTEMS AND ARCHITECTURE      4 Credit Hours

The fundamentals of computer operating systems and architecture design required for a Masters of Arts degree in computer science are presented. This course may not be counted towards the Masters of Science or the Doctoral programs in Computer Science.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 4 lecture

Grade Mode: Standard Letter

CS 61092     PRACTICUM IN CS FOR INFORMATION ARCHITECTURE AND KNOWLEDGE MANAGEMENT      1-5 Credit Hours

(Repeatable for credit)This course is an alternative to IAKM 60198 for students interested in pursuing a CS thesis. Credit for IAKM 60198 or any other project course is not allowed.

Prerequisite: Graduate standing.

Schedule Type: Practical Experience

Contact Hours: 1-5 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 61199     THESIS I FOR INFORMATION ARCHITECTURE AND KNOWLEDGE MANAGEMENT      2-6 Credit Hours

Thesis students must register for a minimum of 6 hours. No credit for CS students.

Prerequisite: Graduate standing.

Schedule Type: Masters Thesis

Contact Hours: 2-6 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 61299     THESIS II FOR INFORMATION ARCHITECTURE AND KNOWLEDGE MANAGEMENT STUDENTS      2 Credit Hours

Thesis students must continue registration each semester until all degree requirements are met.

Prerequisite: CS 61199.

Schedule Type: Masters Thesis

Contact Hours: 2 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 62263     NUMERICAL SOLUTION OF LARGE SPARSE LINEAR SYSTEMS      3 Credit Hours

(Slashed with CS 72263) (Cross-listed with MATH 62263 and MATH 72263) Construction and analysis of iterative methods for large systems of linear algebraic equations. Jacobi, Gauss-Seidel, SOR. Polynomial acceleration methods, conjugate gradients. Multi-grid methods.

Prerequisite: MATH 51021 and CS 52202; and graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 62264     NUMERICAL SOLUTION OF NONLINEAR SYSTEMS      3 Credit Hours

(Slashed with CS 72264) (Cross-listed MATH 62264 and MATH 72264) Construction and analysis of numerical methods for systems of non linear algebraic equations and optimization problems. Numerical implementation and software.

Prerequisite: MATH 52041 and CS 52202; and graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63005     ADVANCED DATABASE SYSTEMS DESIGN      3 Credit Hours

(Slashed with CS 73005) Introduction to a variety of advanced database topics and on-going trends in modern database systems. The course includes advanced issues of object-oriented database, XML, advanced client server architecture and distributed database techniques.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63015     DATA MINING TECHNIQUES      3 Credit Hours

(Slashed with CS 73015) Concepts and techniques of data mining. Data mining is a process of discovering information from a set of large databases. This course takes a database perspective on data mining.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63016     BIG DATA ANALYTICS      3 Credit Hours

(Slashed with CS 73016) Introduces computing platforms with focus on how to use them in processing, managing and analyzing massive datasets. Utilizes several key data processing tasks, including simple statistics, data aggregation, join processing, frequent pattern mining, data clustering, information retrieval, pagerank and massive graph analytics as the case study for large scale data processing.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63017     BIG DATA MANAGEMENT      3 Credit Hours

This course will cover a series of important Big-Data-related problems and their solutions. Specifically, we will introduce the characteristics and challenges of the Big Data, state-of-the-art computing paradigm sand platforms (e.g., MapReduce), big data programming tools (e.g., Hadoop and MongoDB), big data extraction and integration, big data storage, scalable indexing for big data, big graph processing, big data stream techniques and algorithms, big probabilistic data management, big data privacy, big data visualizations, and big data applications (e.g., spatial, finance, multimedia, medical, health, and social data).

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63018     PROBABILISTIC DATA MANAGEMENT      3 Credit Hours

(Slashed with CS 73018) This course addresses the fundamental concepts and techniques for probabilistic data management in the area of databases. Probabilistic data are pervasive in many real-world applications, such as sensor networks, GPS system, location-based services, mobile computing, multimedia databases, data extraction and integration, trajectory data analysis, semantic web, privacy preserving, and so on. This class also covers major research topics such as probabilistic or uncertain data models, probabilistic queries, probabilistic query answering techniques, and data quality issues in databases.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63100     COMPUTATIONAL HEALTH INFORMATICS      3 Credit Hours

(Slashed with CS 73100) The course describes computational techniques and software tools for managing and transmitting health related information and automated analysis of medical and biosignal data.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63201     ADVANCED OPERATING SYSTEMS      3 Credit Hours

(Slashed with CS 73201) Introduction to distributed systems, interprocess communication, distributed mutual exclusion, synchronization and deadlock, distributed process management and distributed file systems.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63301     PARALLEL AND DISTRIBUTED COMPUTING      3 Credit Hours

(Slashed with CS 73301) Overview of parallel and distributed computing; structuring parallel and distributed programs; parallel programming using SIMD, SPMD, MIMD and associative computing; parallel and distributed architecture using existing machines as case studies.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63304     CLUSTER COMPUTING      3 Credit Hours

(Slashed with CS 73304) This course will investigate clusters of computers as a computing platform, hardware and software trade-offs for clusters and application performance and programming of clusters.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63305     MULTICORE COMPUTING      3 Credit Hours

(Slashed with CS 73305) Starting about 2005, hardware architects began putting more than one processing core on a single chip, leading to the recent rapid advancements in multicore processor architectures. This shift has changed almost everything ranging from memory hierarchy and consistency to programming those architectures. The goal of this course is to study multicore processor architectures from the perspective of hardware, software and algorithm design, the challenges, and the technologies that are relevant to those architectures.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63306     EMBEDDED COMPUTING      3 Credit Hours

(Slashed with CS 73306) Computational issues structuring programs for processors embedded in other devices, such as those found in automobiles and biological and chemical sample processing devices.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63901     SOFTWARE ENGINEERING METHODOLOGIES      3 Credit Hours

(Slashed with CS 73901) Software process models; modeling languages; software process improvement; requirement analysis and elicitation; advanced systems and architectural design; estimation; verification and validation; reuse; and metrics.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63902     SOFTWARE EVOLUTION      3 Credit Hours

(Slashed with CS 73902) Methods and techniques supporting later lifecycle activities, including software testing and maintenance, reuse and reverse engineering.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 64201     ADVANCED ARTIFICIAL INTELLIGENCE      3 Credit Hours

(Slashed with CS 74201) Advanced topics in AI such as Nature inspired meta-heuristics and their applications in real-world optimization problems; Bayesian networks and probabilistic reasoning over time with applications; Utility theory and decision networks and their applications; game theory and multi-agent systems and their applications; Advanced learning theory such as statistical learning, reinforced learning, probabilistic learning, deep convolution neural network, recurrent neural network, Long Short-term Memory (LSTM), transfer learning, federated learning, transformers, and their application to vision and speech understanding; introduction to object recognition, scene analysis and object tracking; introduction to speech understanding; Context-based discourse and conversation analysis; multi-modal emotion recognition.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 64301     PATTERN RECOGNITION PRINCIPLES      3 Credit Hours

(Slashed with CS 74301) Introduction to mathematical pattern recognition, feature selection, distribution-free classification, statistical classification, nonsupervised learning, sequential learning and application.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 64401     IMAGE PROCESSING      3 Credit Hours

(Slashed with CS 74401) This course covers digital processing of digital imagery. Digitization of TV imagery, noise removal, image enhancement, edge and texture detection, object recognition and scene analysis.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 64402     MULTIMEDIA SYSTEMS AND BIOMETRICS      3 Credit Hours

(Slashed with CS 74402) This course discusses computational techniques for the fusion of multimedia data recorded by sensors for human-identification using automated analysis of biometric signals.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 65101     ADVANCED COMPUTER ARCHITECTURE      3 Credit Hours

(Slashed with CS 75101) System performance measures, processor implementation, pipelining, system interconnection, memory hierarchy interrupts, stack architecture, vector and multiprocessors.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 65202     ADVANCED COMMUNICATION NETWORKS      3 Credit Hours

(Slashed with CS 75202) This course covers central problems that confront network designers in high-speed networking such as real-time traffic, congestion control, quality of service (QoS), performance analysis, traffic management and internet routing.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 65203     WIRELESS AND MOBILE COMMUNICATION NETWORKS      3 Credit Hours

(Slashed with CS 75203) Examines how wireless systems work and how mobile systems are supported by the underlying network infrastructure. Course covers the architecture and the interactions among different functional units in wireless and mobile systems.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 65301     SYSTEM MODELING AND PERFORMANCE EVALUATION      3 Credit Hours

(Slashed with CS 75301) Provides a detailed study of queuing, network models and their application to operating systems, computer time sharing and multi access systems.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 66101     ADVANCED TOPICS IN ALGORITHMS      3 Credit Hours

(Slashed with CS 76101) Advanced algorithms, fast fourier transforms, algorithms on trees and graphs, rational and polynomial arithmetic, gcd, factoring, numerical and symbolic computational algorithms, Risch integration algorithm, pattern matching.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 66105     PARALLEL AND DISTRIBUTED ALGORITHMS      3 Credit Hours

(Slashed with CS 76105) Introduces and evaluates important models of parallel (synchronous and asynchronous) and distributed computation, using basic searching, sorting, graph, matrix, numerical computing and computational geometry algorithms.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 66110     COMPUTATIONAL GEOMETRY      3 Credit Hours

(Slashed with CS 76110) Geometric structures are the underlying model of several important applications, including robotics, graphics, CAD/CAM, VLSI layout, wireless networks and information visualization. Computational geometry studies algorithms for geometric problems. Prerequisite: Graduate Standing

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 67101     ADVANCED COMPUTER GRAPHICS      3 Credit Hours

(Slashed with CS 77101) In-depth study of active research topics in computer graphics. Topics include volume rendering, image-based rendering and modeling, graphics architectures, virtual reality, modeling in computer graphics, non-photorealistic rendering, computer animation and computer games.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 67301     SCIENTIFIC VISUALIZATION      3 Credit Hours

(Slashed with CS 77301) Discusses the visualization of scientific, engineering and medical data sets. Introduces mechanisms to acquire sampled or computed data and points out methods to transform these data into the visual system.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 67302     INFORMATION VISUALIZATION      3 Credit Hours

(Slashed with CS 77302) Information visualization is the science that unveils the underlying structure of data sets using visual representations that utilize the powerful processing capabilities of the human visual perceptual system. In this class, we will study algorithms and systems for visually exploring, understanding, and analyzing large, complex data sets. Information visualization focuses on abstract data such as symbolic, tabular, networked, hierarchical, or textual information sources. The objectives of the course are to learn the principles involved in information visualization and a variety of existing techniques and systems. The students will also gain backgrounds and skills that will aid the design of new, innovative visualizations in realistic applications.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 69098     RESEARCH      1-5 Credit Hours

(Repeatable for credit) Research or individual investigation. Credits are applied toward degree requirements with approval if grade of "S" is given.

Prerequisite: Graduate standing.

Schedule Type: Research

Contact Hours: 1-5 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 69099     CAPSTONE PROJECT      3,6 Credit Hours

The course is an integrative experience that brings together all components of the Masters nonthesis graduate program in an applied, hands-on real-world setting.

Prerequisite: Graduate standing; and special approval.

Schedule Type: Project or Capstone

Contact Hours: 3-6 other

Grade Mode: Standard Letter-IP

CS 69191     MASTER'S SEMINAR      1-2 Credit Hours

(Repeatable for credit) Seminar for masters students to present and discuss computer science related research and academics. Masters students are required to take at least 2 credit hours for completion of degree and make at least one presentation of project work or research. Only two credits count towards the masters degree.

Prerequisite: Computer Science major within the Master of Arts or Master of Science degree.

Schedule Type: Seminar

Contact Hours: 1-2 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 69192     GRADUATE INTERNSHIP      1-3 Credit Hours

(Repeatable for credit) Supervised experience in the chosen graduate program. Since this work will be outside the department, a report and a final presentation will be required.

Prerequisite: Graduate standing; and special approval.

Schedule Type: Practical Experience

Contact Hours: 3-9 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 69199     THESIS I      2-6 Credit Hours

Thesis student must register for total of 6 hours, 2 to 6 hours in a single semester distributed over several semesters if desired.

Prerequisite: Graduate standing.

Schedule Type: Masters Thesis

Contact Hours: 2-6 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 69299     THESIS II      2 Credit Hours

Thesis students must continue registration each semester until all degree requirements are met.

Prerequisite: CS 69199; and graduate standing.

Schedule Type: Masters Thesis

Contact Hours: 2 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 69995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit) (Slashed with CS 79995) Special topics in computer science.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 1-3 lecture

Grade Mode: Standard Letter

CS 70094     COLLEGE TEACHING OF COMPUTER SCIENCE      1 Credit Hour

(Repeatable for credit) (Slashed with CS 60094) Techniques and problems of college teaching of computer science. Student presentation of computer science papers will be included.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 1 lecture

Grade Mode: Standard Letter-S/U

CS 72263     NUMERICAL SOLUTION OF LARGE SPARSE LINEAR SYSTEMS      3 Credit Hours

(Slashed with CS 62263) (Cross-listed with MATH 62263 and MATH 72263) Construction and analysis of iterative methods for large systems of linear algebraic equations. Jacobi, Gauss-Seidel, SOR. Polynomial acceleration methods, conjugate gradients. Multi-grid methods.

Prerequisite: MATH 51021 and CS 52202; and graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 72264     NUMERICAL SOLUTION OF NONLINEAR SYSTEMS      3 Credit Hours

(Slashed with CS 62264) (Cross-listed with MATH 62264 and MATH 72264) Construction and analysis of numerical methods for systems of non linear algebraic equations and optimization problems. Numerical implementation and software.

Prerequisite: MATH 52041 and CS 52202; and doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73005     ADVANCED DATABASE SYSTEMS DESIGN      3 Credit Hours

(Slashed with CS 63005) Introduction to a variety of advanced database topics and on-going trends in modern database systems. The course includes advanced issues of object-oriented database, XML, advanced client server architecture and distributed database techniques.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73015     DATA MINING TECHNIQUES      3 Credit Hours

(Slashed with CS 63015) Concepts and techniques of data mining. Data mining is a process of discovering information from a set of large databases. This course takes a database perspective on data mining.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73016     BIG DATA ANALYTICS      3 Credit Hours

Introduces computing platforms with the focus on how to utilize them in processing, managing and analyzing massive datasets. The course will utilize several key data processing tasks, including simple statistics, data aggrefation, join processing, frequent pattern mining, data clustering, information retrieval, pagerank, and massive graph analytics as the case study for large scale data processing.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73017     BIG DATA MANAGEMENT      3 Credit Hours

This course will cover a series of important Big-Data-related problems and their solutions. Specifically, we will introduce the characteristics and challenges of the Big Data, state-of-the-art computing paradigm sand platforms (e.g., MapReduce), big data programming tools (e.g., Hadoop and MongoDB), big data extraction and integration, big data storage, scalable indexing for big data, big graph processing, big data stream techniques and algorithms, big probabilistic data management, big data privacy, big data visualizations, and big data applications (e.g., spatial, finance, multimedia, medical, health, and social data).

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73018     PROBABILISTIC DATA MANAGEMENT      3 Credit Hours

(Slashed with CS 63018) This course addresses the fundamental concepts and techniques for probabilistic data management in the area of databases. Probabilistic data are pervasive in many real-world applications, such as sensor networks, GPS system, location-based services, mobile computing, multimedia databases, data extraction and integration, trajectory data analysis, semantic web, and privacy preserving. This class also covers major research topics such as probabilistic or uncertain data models, probabilistic queries, probabilistic query answering techniques, and data quality issues in databases.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73100     COMPUTATIONAL HEALTH INFORMATICS      3 Credit Hours

(Slashed with CS 63100) The course describes computational techniques and software tools for managing and transmitting health related information and automated analysis of medical and biosignal data.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73118     GRAPH SOCIAL NETWK ANALYSIS      3 Credit Hours

(Slashed with CS 43118 and CS 53118) This course covers a number of important and useful ideas in graph databases, especially in social networks (e.g. the data model for certain-uncertain graphs), indexing over graphs, and query processing algorithms for graph databases (e.g., single-source path queries, path queries, reachability queries, keyword search queries, subgraph matching, etc.). The influence maximization problems over social networks in real applications are also discussed as well as various queries over the distributed graph database.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73201     ADVANCED OPERATING SYSTEMS      3 Credit Hours

(Slashed with CS 63201) Introduction to distributed systems, interprocess communication, distributed mutual exclusion, synchronization and deadlock, distributed process management and distributed file systems.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73301     PARALLEL AND DISTRIBUTED COMPUTING      3 Credit Hours

(Slashed with CS 63301) Overview of parallel and distributed computing; structuring parallel and distributed programs; parallel programming using simd spmd mimd and,associative computing parallel and distributed architecture using existing machines as case studies.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73302     ALGORITHMIC ROBOTICS      3 Credit Hours

(Slashed with CS 43302 and CS 53302) This course provides students theoretical, mathematical, and practical foundations for the design, analysis, and evaluation of algorithms for robots for diverse robotic applications. We will focus on a principled and mathematically sound approach to the design of algorithms for robots rather than ad hoc and hacking development approaches.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73303     INTERNET OF THINGS      3 Credit Hours

(Slashed with CS 43303 and CS 53303) This course will provide a comprehensive understanding of the Internet of Things by looking into a variety of real-world application scenarios, existing and new technologies and architectures, communication protocols and standardization efforts, societal and behavioral changes, and how to apply these technologies to tackle real-world problems.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73304     CLUSTER COMPUTING      3 Credit Hours

(Slashed with CS 63304) This course will investigate clusters of computers as a computing platform, hardware and software tradeoffs for clusters and application performance and programming of clusters.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73305     MULTICORE COMPUTING      3 Credit Hours

(Slashed with CS 63305) Starting about 2005, hardware architects began putting more than one processing core on a single chip, leading to the recent rapid advancements in multicore processor architectures. This shift has changed almost everything ranging from memory hierarchy and consistency to programming those architectures. The goal of this course is to study multicore processor architectures from the perspective of hardware, software, and algorithm design, the challenges, and the technologies that are relevant to those architectures.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73306     EMBEDDED COMPUTING      3 Credit Hours

(Slashed with CS 63306) Computational issues structuring programs for processors embedded in other devices such as those found in automobiles and biological chemical sample processing devices.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73334     HUMAN-ROBOT INTERACTION      3 Credit Hours

(Slashed with CS 43334 and CS 53334) Human-Robot Interaction (HRI) is the study of interactions between humans and robots dedicated to understanding, designing, and evaluating robotic systems for use by and with humans. HRI is a multidisciplinary field that incorporates human-computer interaction, artificial intelligence, robotics, natural language understanding, design, and social sciences. Interaction between humans and robots may take several forms, but are generally categorized by how close in proximity the humans and robots are to each other such as remote, proximate, and hybrid interaction. In the class, students will learn the fundamental technologies and theories in each category, and blend this knowledge with various case studies and lab activities.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73901     SOFTWARE ENGINEERING METHODOLOGIES      3 Credit Hours

(Slashed with CS 63901) Software process models; modeling languages; software process improvement; requirement analysis and elicitation; advanced systems and architectural design; estimation; verification and validation reuse; and metrics.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73902     SOFTWARE EVOLUTION      3 Credit Hours

(Slashed with CS 63902) Methods and techniques supporting later lifecycle activities, including software testing and maintenance reuse and reverse engineering.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 74201     ADVANCED ARTIFICIAL INTELLIGENCE      3 Credit Hours

(Slashed with CS 64201) Advanced topics in AI such as Nature inspired meta-heuristics and their applications in real-world optimization problems; Bayesian networks and probabilistic reasoning over time with applications; Utility theory and decision networks and their applications; game theory and multi-agent systems and their applications; Advanced learning theory such as statistical learning, reinforced learning, probabilistic learning, deep convolution neural network, recurrent neural network, Long Short-term Memory (LSTM), transfer learning, federated learning, transformers, and their application to vision and speech understanding; introduction to object recognition, scene analysis and object tracking; introduction to speech understanding; Context-based discourse and conversation analysis; multi-modal emotion recognition.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 74301     PATTERN RECOGNITION PRINCIPLES      3 Credit Hours

(Slashed with CS 64301) Introduction to mathematical pattern recognition, feature selection, distribution-free classification, statistical classification, nonsupervised learning, sequential learning and application.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 74401     IMAGE PROCESSING      3 Credit Hours

(Slashed with CS 64401) This course covers digital processing of digital imagery. Digitization of TV imagery, noise removal, image enhancement, edge and texture detection, object recognition and scene analysis.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 74402     MULTIMEDIA SYSTEMS AND BIOMETRICS      3 Credit Hours

(Slashed with CS 64402) This course discusses computational techniques for fusion of multimedia data collected by sensors for human-identification using automated analysis of biometric signals.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 75101     ADVANCED COMPUTER ARCHITECTURE      3 Credit Hours

(Slashed with CS 65101) System performance measures, processor implementation, pipelining, system interconnection, memory hierarchy interrupts, stack architecture, vector and multiprocessors.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 75202     ADVANCED COMMUNICATION NETWORKS      3 Credit Hours

(Slashed with CS 65202) This course covers central problems that confront network designers in high-speed networking such as real-time traffic, congestion control, quality of service (QoS), performance analysis, traffic management and internet routing.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 75203     WIRELESS AND MOBILE COMMUNICATION NETWORKS      3 Credit Hours

(Slashed with CS 65203) Examines how wireless systems work and how mobile systems are supported by the underlying network infrastructure. Course covers the architecture and the interactions among different functional units in wireless and mobile systems.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 75301     SYSTEM MODELING AND PERFORMANCE EVALUATION      3 Credit Hours

(Slashed with CS 65301) Provides a detailed study of queuing, network models and their application to operating systems, computer time sharing and multi-access systems.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 76101     ADVANCED TOPICS IN ALGORITHMS      3 Credit Hours

(Slashed with CS 66101) Advanced algorithms, fast Fourier transforms, algorithms on trees and graphs, rational and polynomial arithmetic, GCD, factoring, numerical and symbolic computational algorithms, Rischintegration algorithm, pattern matching.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 76105     PARALLEL AND DISTRIBUTED ALGORITHMS      3 Credit Hours

(Slashed with CS 66105) Introduces and evaluates important models of parallel (synchronous and asynchronous) and distributed computation, using basic searching, sorting, graph, matrix, numerical computing and computational geometry algorithms.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 76110     COMPUTATIONAL GEOMETRY      3 Credit Hours

(Slashed with CS 66110) Geometric structures are the underlying model of several important applications, including robotics, graphics, CAD/CAM, VLSI layout, wireless networks and information visualization. Computational geometry studies algorithms for geometric problems.

Prerequisite: Doctoral Standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 77101     ADVANCED COMPUTER GRAPHICS      3 Credit Hours

(Slashed with CS 67101) In-depth study of active research topics in computer graphics. Topics include volume rendering, image-based rendering and modeling, graphics architectures, virtual reality, modeling in computer graphics, non-photorealistic rendering, computer animation and computer games.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 77301     SCIENTIFIC VISUALIZATION      3 Credit Hours

(Slashed with CS 67301) Discusses the visualization of scientific, engineering and medical data sets. Introduces mechanisms to acquire sampled or computed data and points out methods to transform these data into the visual system.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 77302     INFORMATION VISUALIZATION      3 Credit Hours

(Slashed with CS 67302) Information visualization is the science that unveils the underlying structure of data sets using visual representations that utilize the powerful processing capabilities of the human visual perceptual system. In this class, we will study algorithms and systems for visually exploring, understanding, and analyzing large, complex data sets. Information visualization focuses on abstract data such as symbolic, tabular, networked, hierarchical, or textual information sources. The objectives of the course are to learn the principles involved in information visualization and a variety of existing techniques and systems. The students will also gain backgrounds and skills that will aid the design of new, innovative visualizations in realistic applications.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 79995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit) (Slashed with CS 69995) Special topics in computer science.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 1-3 lecture

Grade Mode: Standard Letter

CS 89098     RESEARCH      1-15 Credit Hours

(Repeatable for credit) Research or individual investigation for doctoral students who have not yet passed their candidacy examinations.

Prerequisite: Doctoral standing.

Schedule Type: Research

Contact Hours: 1-15 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 89191     DOCTORAL SEMINAR      1-2 Credit Hours

(Repeatable for credit) Seminar for doctoral students to present and discuss computer science related research and academics. Doctoral students are required to take at least 3 credit hours for completion of degree and make at least two presentations of project work or research. Only two credits count towards the doctoral degree.

Prerequisite: Computer Science major within the Doctor of Philosophy degree.

Schedule Type: Seminar

Contact Hours: 1-2 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 89199     DISSERTATION I      15 Credit Hours

(Repeatable for credit)Doctoral dissertation, for which registration in at least two semesters is required, first of which will be semester in which dissertation work is begun and continuing until the completion of 30 hours.

Prerequisite: Doctoral standing; and special approval.

Schedule Type: Dissertation

Contact Hours: 15 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 89299     DISSERTATION II      15 Credit Hours

(Repeatable for credit)Continuing registration required for doctoral students who have completed the initial 30 hours of dissertation and continuing until all degree requirements are met.

Prerequisite: CS 89199; and doctoral standing.

Schedule Type: Dissertation

Contact Hours: 15 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 89991     RESEARCH SEMINAR IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit)Research seminar on current research in computer science.

Prerequisite: Doctoral standing; and special approval.

Schedule Type: Seminar

Contact Hours: 1-3 other

Grade Mode: Standard Letter