Department of Computer Science
241 Mathematics and Computer Science Building
Kent Campus
330-672-9980
depsec@cs.kent.edu
www.kent.edu/cs
Undergraduate Programs
Minors
- Bioinformatics
- Computer Science
- Computers and Geosciences
- Cybersecurity Foundations
- Game Programming
- Web Programming
Graduate Programs
Department of Computer Science Faculty
- Allouzi, Maha A. (2013), Associate Professor, Ph.D., Kent State University, 2022
- Bansal, Arvind K. (1988), Professor, Ph.D., Case Western Reserve University, 1985
- Bhati, Deepshikha (2017), Lecturer, Uttar Pradesh Tech University, 2016
- Chae, Younghun (2016), Associate Professor, Ph.D., University of Rhode Island, 2017
- DeLozier, Gregory S. (2014), Associate Professor
- Dragan, Feodor F. (2000), Professor, Ph.D., Belarus State University
- Guan, Qiang (2018), Associate Professor, M.S., University of North Texas, 2008
- Guercio, Angela (1999), Associate Professor, Ph.D., Kent State University, 2004
- Hasan, Md Raiful (2023), Assistant Professor
- Jin, Ruoming (2005), Professor, Ph.D., The Ohio State University, 2001
- Khan, Javed I. (1997), Professor , Ph.D., University of Hawaii-Manoa, 1995
- Kim, JungYoon (2019), Assistant Professor, Ph.D., Penn State University, 2014
- Kim, Kwangtaek (2019), Assistant Professor, Ph.D., Purdue University, 2010
- Kim, Jong-Hoon (2017), Assistant Professor
- Lian, Xiang (2016), Associate Professor, Ph.D., Hong Kong University Of Science and Technology, 2009
- Maletic, Jonathan I. (2001), Professor, Ph.D., Wayne State University, 1995
- Nesterenko, Mikhail (1998), Professor, Ph.D., Kansas State University, 1998
- Peyravi, Hassan M. (1985), Professor, Ph.D., University of Oklahoma, 1995
- Reed, William E. (2022), Lecturer, M.S., Carnegie Mellon University, 2015
- Samba, Augustine S. (2001), Professor, Ph.D., University of Liverpool, 1983
- Sharma, Gokarna (2015), Associate Professor, Ph.D., Louisiana State University, 2014
- Xu, Lei (2022), Assistant Professor, Chinese Academy Of Science, 2011
- Zhao, Ye (2006), Professor, Ph.D., State University of New York, Stony Brook, 2006
Computer Science (CS)
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: MATH 11022 or MATH 12002 or MATH 12011; or minimum C grade in one of the following courses: MATH 10675 or MATH 10775 or MATH 11010; or minimum 67 ALEKS math score.
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 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 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 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 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 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 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 work in teams to design and implement a realistic software project similar to projects they would encounter in the workplace.
Prerequisite: CS 33901; and junior standing.
Schedule Type: Laboratory, Lecture, 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 47102 COMPUTER HAPTICS 3 Credit Hours
(Slashed with CS 57102 and CS 77102) This course introduces students to computer haptics which is the study of touch with a focus on computing, developing algorithms and designing new user interfaces, innovatively enhancing existing human-computer systems. This course is organized into modules that include fundamental concept and theory lectures and practical programming assignments, including a term project with real haptic (touch feedback) devices combined with virtual reality display devices.
Prerequisite: CS 23001 with a minimum C grade.
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 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 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 57102 COMPUTER HAPTICS 3 Credit Hours
(Slashed with CS 47102 and CS 77102) This course introduces students to computer haptics which is the study of touch with a focus on computing, developing algorithms and designing new user interfaces, innovatively enhancing existing human-computer systems. This course is organized into modules that include fundamental concept and theory lectures and practical programming assignments, including a term project with real haptic (touch feedback) devices combined with virtual reality display devices.
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 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 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 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 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 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 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 77102 COMPUTER HAPTICS 3 Credit Hours
(Slashed with CS 47102 and CS 57102) This course introduces students to computer haptics which is the study of touch with a focus on computing, developing algorithms and designing new user interfaces, innovatively enhancing existing human-computer systems. This course is organized into modules that include fundamental concept and theory lectures and practical programming assignments, including a term project with real haptic (touch feedback) devices combined with virtual reality display devices.
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