Computer Science (CS) : Kent State University Catalog 2023-2024
Computer Science (CS) : Kent State University Catalog 2023-2024
1
COMPUTER SCIENCE (CS) CS 13011 COMPUTER SCIENCE IA: PROCEDURAL PROGRAMMING
2 Credit Hours
Computer science concepts, including algorithm development and
CS 10001 COMPUTER LITERACY 3 Credit Hours problem-solving strategies focused on programming abstractions. High-
Introduction to history, language, procedures, applications, abuses and level programming concepts, including variables, branching, iteration and
impact of computers. Hands-on experience with microcomputers. Not functions.
open to students with previous experience. Prerequisite: Minimum 67 ALEKS math score or minimum C grade in one
Prerequisite: None. of the following courses MATH 11010 or MATH 10775 or MATH 10675;
Schedule Type: Combined Lecture and Lab or one of the following courses MATH 11022 or MATH 12002 or
Contact Hours: 3 other MATH 12011.
Grade Mode: Standard Letter Schedule Type: Laboratory, Lecture, Combined Lecture and Lab
CS 10051 COMPUTER SCIENCE PRINCIPLES (KMCR) 4 Credit Hours Contact Hours: 1.5 lecture, 1.5 lab
An introductory, broad and hands-on coverage of aspects of computer Grade Mode: Standard Letter
science, including algorithms, problem solving, operating systems CS 13012 COMPUTER SCIENCE IB: OBJECT ORIENTED
concepts, computer architecture, programming languages and modern PROGRAMMING 2 Credit Hours
applications. Three-credit lecture with one-credit lab. Computer science concepts, including algorithm development and
Prerequisite: None. problem-solving strategies focused on programming abstractions. High-
Schedule Type: Combined Lecture and Lab level programming concepts, including introduction to recursion and an
Contact Hours: 3 lecture, 1 lab introduction to object oriented-concepts.
Grade Mode: Standard Letter Prerequisite: Minimum C grade in CS 13011.
Attributes: Kent Core Mathematics and Critical Reasoning Schedule Type: Combined Lecture and Lab
CS 10062 PROGRAMMING FOR PROBLEM SOLVING IN SCIENCES 4 Contact Hours: 1.5 lecture, 1.5 lab
Credit Hours Grade Mode: Standard Letter
Solving problems in a science frequently requires a knowledge of CS 13401 USER LEVEL COMPUTER SECURITY 3 Credit Hours
programming. This course provides an introduction to using programs Introduction to computer and network safety; detection and removal of
to solve problems. It is designed for majors and non-majors who have viruses, detection and defense against spyware and rootkits, firewall
had little or no prior programming experience. The course emphasizes a description and use, protection mechanisms against computer system
hands-on, team-based approach to learning programming and problem hacking, spam, identity theft and phishing, protecting wireless networks,
solving. safe computing. Includes many in-lecture tutorials.
Prerequisite: Minimum 55 ALEKS math score or minimum C grade in Prerequisite: None.
either MATH 11009 (or MATH 10772) or MATH 11010 (or MATH 10775 or Schedule Type: Lecture
MATH 10675). Contact Hours: 3 lecture
Schedule Type: Combined Lecture and Lab Grade Mode: Standard Letter
Contact Hours: 3 lecture, 2 lab
CS 19995 SPECIAL TOPICS IN COMPUTER SCIENCE 1-3 Credit
Grade Mode: Standard Letter
Hours
CS 13001 COMPUTER SCIENCE I: PROGRAMMING AND PROBLEM (Repeatable for credit)Special topics from all areas of computer science.
SOLVING 4 Credit Hours Prerequisite: Permission.
Computer science concepts, including algorithm development and Schedule Type: Lecture
problem-solving strategies focused on procedural abstraction. High- Contact Hours: 1-3 lecture
level programming concepts, including data types, expressions, Grade Mode: Standard Letter
program structures, functions, parameter passing, scope, extent, arrays,
CS 20062 ADVANCED PROGRAMMING WITH PYTHON 4 Credit
introduction to recursion and an introduction to object oriented-concepts.
Hours
Prerequisite: Minimum 67 ALEKS math score or minimum C grade in one
This course introduces the students to advanced computer programming
of the following courses MATH 11010 or MATH 10775 or MATH 10675;
design, and development with main focus on data structures and
or one of the following courses MATH 11022 or MATH 12002 or
abstraction using Python. Students will learn basic object oriented and
MATH 12011.
GUI programming and graph algorithms applications.
Schedule Type: Laboratory, Lecture, Combined Lecture and Lab
Prerequisite: CS 10062.
Contact Hours: 3 lecture, 3 lab
Schedule Type: Combined Lecture and Lab
Grade Mode: Standard Letter
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 CS 30062 PYTHON FOR DATA SCIENCE 3 Credit Hours
Credit Hours This course will introduce basic topics in the field of data science,
(Cross-listed with MATH 23022) Discrete structures for computer including data collection, storage, manipulation, and visualization, as well
scientists with a focus on: mathematical reasoning, combinatorial as the area of machine learning. Specifically, students will learn how to
analysis, discrete structures, algorithmic thinking, applications and use Python to import, clean, analyze, visualize, and learn data for real-
modeling. Specific topics include propositional and predicate logic and world applications.
logical modeling using Boolean algebra and logical gates, information Prerequisite: CS 20062 or CS 23001.
representation using binary system, sets, functions, relations, logical Schedule Type: Lecture
argumentation and proof techniques, recursion and recursive modeling, Contact Hours: 3 lecture
sequences and summation, arithmetic and geometric progressions, Grade Mode: Standard Letter
algorithms, iterative vs recursive algorithms, mathematical and structural CS 32301 HUMAN INTERFACE COMPUTING 3 Credit Hours
induction, recursive structures, counting, permutation and combination, Foundations of human computer interaction including interaction design.
binomial expansion, matrices and matrix-operations, graphs and trees Foundations of graphics and visualization. Basic concepts in security and
and their traversal, probability and Bayes' theorem, finite state machines, secure design including cryptography. Introduction to intelligent systems
their modeling and applications, Regular grammar, basics of number including basic knowledge representation and basic machine learning.
theory, modeling computation and Turing machines, decidability and Prerequisite: Minimum C grade in CS 20062 or CS 23001.
halting problem. Schedule Type: Lecture
Prerequisite: Minimum C grade in MATH 11009 or MATH 11010 or Contact Hours: 3 lecture
MATH 11022, or ALEKS score of 78. Grade Mode: Standard Letter
Schedule Type: Lecture
Contact Hours: 3 lecture CS 33006 SOCIAL AND ETHICAL ISSUES IN COMPUTING (WIC) 3
Grade Mode: Standard Letter Credit Hours
Social issues, including historical and social context, professional
CS 23301 ROBOTICS AND EMBEDDED SYSTEMS LABORATORY I 1 responsibilities, risks and liabilities and intellectual property.
Credit Hour Prerequisite: Minimum C grade in CS 13001.
This course provides a team based, hands-on introduction to linking and Schedule Type: Lecture
programming robotic and embedded systems. Students in this course Contact Hours: 3 lecture
work with junior and senior level students on projects building devices Grade Mode: Standard Letter
that require linking and programming robotic and embedded systems. Attributes: Writing Intensive Course
Prerequisite: Minimum C grade in CS 13001 or CS 13012.
Schedule Type: Laboratory CS 33007 INTRODUCTION TO DATABASE SYSTEM DESIGN 3 Credit
Contact Hours: 2 lab Hours
Grade Mode: Standard Letter An introduction to the basic theoretical aspects of database systems, file
organization, search methodologies, language design and performance
CS 23302 ROBOTICS AND EMBEDDED SYSTEMS LABORATORY II 2 evaluation techniques, initial modeling concepts and their use in
Credit Hours hierarchical, network, relational and object-oriented database designs.
This course is the second computer science course on linking and Prerequisite: Minimum C grade in CS 23001.
programming robotic and embedded systems in a team based, hands- Schedule Type: Lecture
on environment. Students in this course work with junior and senior Contact Hours: 3 lecture
level students on projects building devices that require linking and Grade Mode: Standard Letter
programming robotic and embedded systems.
Prerequisite: CS 23001 and CS 23301 with a minimum C grade. CS 33011 SPEED PROGRAMMING TECHNIQUES 3 Credit Hours
Schedule Type: Laboratory Discussion and practice of pertinent aspects related to programming
Contact Hours: 4 lab under time constraints.
Grade Mode: Standard Letter Prerequisite: CS 23001.
Schedule Type: Combined Lecture and Lab
CS 27101 INTRODUCTION TO WEB INTERFACE DESIGN 3 Credit Contact Hours: 3 other
Hours Grade Mode: Standard Letter
Introduction to principles for the design and implementation of user-
centered website interfaces, website interface evaluation, human CS 33092 SPEED PROGRAMMING PRACTICUM (ELR) 2 Credit Hours
computer interaction, effective data organization and manipulation and (Repeatable for credit) Practice of pertinent aspects from CS 33011.
tools for website creation. Prerequisite: CS 33011.
Prerequisite: None. Schedule Type: Practical Experience
Schedule Type: Lecture Contact Hours: 2 other
Contact Hours: 3 lecture Grade Mode: Standard Letter
Grade Mode: Standard Letter Attributes: Experiential Learning Requirement
CS 33101 STRUCTURE OF PROGRAMMING LANGUAGES 3 Credit CS 33302 INTRODUCTION TO INTELLIGENT ROBOTICS 3 Credit
Hours Hours
Introduction to grammar, discrete and data structure concepts, This course introduces students to the basic knowledge of programming
syntax, semantics, abstraction, Advanced Programming Constructs, of robotic systems, including algorithmic modeling and design, geometric
implementation model for imperative languages, dynamic memory motion planning and robot operating systems, all for making intelligent
management, type theory, concurrent programming, functional robots. Computer science is an integral part of robotics as it includes
programming, logic programming, object oriented programming, event areas such as computer algorithms, computational geometry, artificial
driven programming. intelligence, machine learning and image processing. The material
Prerequisite: Minimum C grade in CS 23001. covered in this course consists of a brief description of the intrinsic
Schedule Type: Lecture geometry, kinematics, statics, mechanics and controls of robotic systems
Contact Hours: 3 lecture and goes deeper into developing algorithms and useful software libraries.
Grade Mode: Standard Letter In addition, this course introduces practical examples and performance
results using them with hands-on experience in a lab setting.
CS 33192 INTERNSHIP IN COMPUTER SCIENCE (ELR) 1-3 Credit
Prerequisite: CS 20062 or CS 23001 with a minimum C grade.
Hours
Schedule Type: Lecture
(Repeatable for credit) Supervised work experience in computer science.
Contact Hours: 3 lecture
Since this work will be outside the department a report and final
Grade Mode: Standard Letter
presentation will be required; a site visit might also be necessary.
Prerequisite: Special approval. CS 33901 SOFTWARE ENGINEERING 3 Credit Hours
Schedule Type: Practical Experience An introduction to software engineering concepts: life cycle models;
Contact Hours: 3-9 other modeling languages; requirements analysis; specification; design;
Grade Mode: Satisfactory/Unsatisfactory-IP testing; validation; project management and maintenance.
Attributes: Experiential Learning Requirement Prerequisite: Minimum C grade in CS 23001.
Schedule Type: Lecture
CS 33211 OPERATING SYSTEMS 3 Credit Hours
Contact Hours: 3 lecture
Introduction to operating systems, processes and threads, CPU
Grade Mode: Standard Letter
scheduling, mutual exclusion and synchronization, deadlock, memory
management, file systems, security, networking and distributed systems CS 35101 COMPUTER ORGANIZATION 3 Credit Hours
and current topics. systems. Computer system organization, including performance measures,
Prerequisite: Minimum C grade in CS 23001. instruction sets, computer arithmetic, central processing unit, pipelining,
Pre/corequisite: CS 35101. memory hierarchy and parallel processors.
Schedule Type: Lecture Prerequisite: Minimum C grade in the following courses: CS 10062 or
Contact Hours: 3 lecture CS 13001; or CS 13011 and CS 13012.
Grade Mode: Standard Letter Schedule Type: Lecture
Contact Hours: 3 lecture
CS 33223 UNIX TOOLS 3 Credit Hours
Grade Mode: Standard Letter
Course will cover UNIX operating system environment topics that will
make the user more productive. Topics will include the user environment, CS 35201 COMPUTER COMMUNICATION NETWORKS 3 Credit
shells, files, the file system, editors, scripting languages, document Hours
processing, processes, remote access and documentation. An introduction to net-centric systems, data communication protocols,
Prerequisite: CS 13001. network architectures, routing protocols, network management,
Schedule Type: Lecture congestion control, network security, compression techniques, mobile
Contact Hours: 3 lecture and wireless networks and WWW as an example of a client-server
Grade Mode: Standard Letter system.
Prerequisite: CS 20062 or CS 23001 with a minimum C grade.
CS 33301 EMBEDDED SYSTEM PROGRAMMING 3 Credit Hours
Schedule Type: Lecture
An embedded system is a combination of computer hardware and
Contact Hours: 3 lecture
software specifically designed for a particular function. Embedded
Grade Mode: Standard Letter
systems have been playing important roles in various application areas
such as industrial machines, automobiles, medical equipment, cameras, CS 38101 INTRODUCTION TO GAME PROGRAMMING 3 Credit Hours
household appliances, airplanes, vending machines, toys and other uses. Game engine scripting, event driven and data driven programming, game
Students will learn fundamental concepts of designing and programming engine data structures, basic game related graphics and AI concepts, a
embedded computer systems, including requirements specifications, short game development project.
architectural and detailed design, and implementation, focusing on real- Prerequisite: Minimum C grade in CS 23001.
time aspects of programming languages, operating system kernels, and Schedule Type: Lecture
hardware architectures. Contact Hours: 3 lecture
Prerequisite: Minimum C grade in CS 23001. Grade Mode: Standard Letter
Corequisite: CS 35101. CS 39995 SPECIAL TOPICS IN COMPUTER SCIENCE 1-3 Credit
Schedule Type: Lecture Hours
Contact Hours: 3 lecture (Repeatable for credit)Special topics from all areas of computer science.
Grade Mode: Standard Letter Prerequisite: Permission.
Schedule Type: Lecture
Contact Hours: 3 lecture
Grade Mode: Standard Letter
CS 41038 INTERMEDIATE LOGIC 3 Credit Hours CS 43006 THEORY OF OBJECT-ORIENTED PROGRAMMING 3 Credit
(Cross-listed with MATH 41038 and MATH 51038 and PHIL 41038 and Hours
PHIL 51038) A detailed, systematic study of symbolic logic for philosophy (Slashed with CS 53006) In depth course on the theory and principles
majors, mathematics majors, computer science majors, and anyone else of object-based and object-oriented programming using a language
interested in advanced study in logic. The aim of the course is twofold: such as C++. The course covers advanced topics in inheritance and
first, to develop a facility in understanding and using symbolic logic for interface planning, generic (type independent) programming, factors of
various purposes, and second, to understand and appreciate symbolic polymorphism, structure and organization of class libraries and object
logic as an area of study in itself. Topics include the distinction between oriented design principles.
syntactic, object-level proofs and semantic, meta-level proofs, the Prerequisite: CS 23001.
distinction between axiomatic systems and natural deduction systems Schedule Type: Lecture
of object-level proofs, various systems of modal logic, and some non- Contact Hours: 3 lecture
classical logics. Grade Mode: Standard Letter
Prerequisite: Computer Science major or minor; and junior standing. CS 43016 BIG DATA ANALYTICS 3 Credit Hours
Schedule Type: Lecture This course will introduce the state-of-art computing platforms with the
Contact Hours: 3 lecture focus on how to utilize them in processing (managing and analyzing)
Grade Mode: Standard Letter massive datasets. The course will utilize several key data processing
CS 41045 METALOGIC 3 Credit Hours tasks, including simple statistics, data aggregation, join processing,
(Slashed with CS 51045; Cross-listed with MATH 41045 and MATH 51045 frequent pattern mining, data clustering, information retrieval, pagerank,
and PHIL 41045 and PHIL 51045) A detailed, systematic study of and massive graph analytics as the case study for large scale data
metalogic for philosophy majors, mathematics majors, computer processing.
science majors, and anyone else interested in advanced study in logic. Prerequisite: CS 23001 with a minimum C grade.
Topics include the soundness and completeness of the propositional Schedule Type: Lecture
and predicate calculi, the decidablility of propositional calculus, the Contact Hours: 3 lecture
undecidability of predicate calculus, Gödel’s incompleteness proof for Grade Mode: Standard Letter
languages capable of expressing arithmetic, the co-extensionality of CS 43105 DATA MINING TECHNIQUES 3 Credit Hours
the set of general recursive functions, abacus computable functions, Concepts and techniques of data mining. Data mining is a process of
and Turing computable functions, and the philosophical motivations discovering information from a set of large databases. This course takes
for the ChurchTuring Thesis that all computable functions are Turing a database perspective on data mining, covering a set of interesting
computable. topics, including association rule mining, clustering, classification,
Prerequisite: PHIL 41038. web mining, etc. It covers the basics of some important theoretical
Schedule Type: Lecture foundations for data mining, including linear regression, Bayesian
Contact Hours: 3 lecture inferences, information theory, and markov chain random walk.
Grade Mode: Standard Letter Prerequisite: CS 33007.
CS 42201 NUMERICAL COMPUTING I 3 Credit Hours Schedule Type: Lecture
(Cross-listed with MATH 42201) (Slashed with CS 52201 and Contact Hours: 3 lecture
MATH 52201) An introduction to numerical methods and software Grade Mode: Standard Letter
for solving many common scientific computing problems. Linear CS 43111 STRUCTURE OF COMPILERS 3 Credit Hours
systems, least-squares data fitting, nonlinear equations and systems and (Slashed with CS 53111) Techniques used to write compilers including
optimization problems. lexical analysis, syntax analysis, syntax-directed translation, type
Prerequisite: Minimum C grade in the following courses: CS 10061 checking, run-time environments, and intermediate code generation.
or CS 13001 or (CS 13011 and CS 13012); and MATH 12003 or Prerequisite: CS 35101 and 33101.
MATH 12013; and MATH 21001 or MATH 21002 or MATH 32051. Schedule Type: Lecture
Schedule Type: Lecture Contact Hours: 3 lecture
Contact Hours: 3 lecture Grade Mode: Standard Letter
Grade Mode: Standard Letter
CS 43118 GRAPH AND SOCIAL NETWORK ANALYSIS 3 Credit Hours
CS 42202 NUMERICAL COMPUTING II 3 Credit Hours (Slashed with CS 53118 and CS 73118) Catalog Description: This course
(Slashed with CS 52202; Cross-listed with MATH 42202 and covers a number of important and useful ideas in graph databases,
MATH 52202) A continuation of CS 42201. Topics include interpolation, especially in social networks (e.g. the data model for certain-uncertain
numerical differentiation and integration, and numerical solution of graphs), indexing over graphs, and query processing algorithms for graph
ordinary differential equations. databases (e.g., single-source path queries, path queries, reachability
Prerequisite: MATH 32044 or MATH 32052; and MATH 42201 or queries, keyword search queries, subgraph matching, etc.). The influence
CS 42201. maximization problems over social networks in real applications are also
Schedule Type: Lecture discussed as well as various queries over the distributed graph database.
Contact Hours: 3 lecture Prerequisite: CS 33007.
Grade Mode: Standard Letter Schedule Type: Lecture
Contact Hours: 3 lecture
Grade Mode: Standard Letter
CS 43202 SYSTEMS ADMINISTRATION 3 Credit Hours CS 43305 ADVANCED DIGITAL DESIGN 3 Credit Hours
(Slashed with CS 53202) The setting up and day-to-day administration (Slashed with CS 53305) This course describes techniques in the
of multiuser multitasking systems, such as the various versions of UNIX, design of digital systems. Topics covered include combinational and
together with the analysis of problems which can arise in these activities. sequential logic, gate-level minimization, registers and counters, memory
Prerequisite: CS 33211. and programmable logic, hardware description languages, digital
Schedule Type: Lecture communication including serial and parallel and synchronous and
Contact Hours: 3 lecture asynchronous methods.
Grade Mode: Standard Letter Prerequisite: CS 23001 with a minimum C grade.
Schedule Type: Lecture
CS 43203 SYSTEMS PROGRAMMING 3 Credit Hours
Contact Hours: 3 lecture
(Slashed with CS 53203) The setting up and day-to-day administration
Grade Mode: Standard Letter
of multiuser multitasking systems, such as the various versions of
UNIX, together with the analysis of problems which can arise in these CS 43334 HUMAN-ROBOT INTERACTION 3 Credit Hours
activities. Implementation and maintenance of system programs, system (Slashed with CS 53334 and CS 73334) Human-Robot Interaction (HRI)
utilities, command interpreters, editors, file maintenance programs, text is the study of interactions between humans and robots dedicated to
processors, interrupt handling, and device drivers. understanding, designing, and evaluating robotic systems for use by and
Prerequisite: CS 33211. with humans. HRI is a multidisciplinary field that incorporates human-
Schedule Type: Lecture computer interaction, artificial intelligence, robotics, natural language
Contact Hours: 3 lecture understanding, design, and social sciences. Interaction between humans
Grade Mode: Standard Letter 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
CS 43301 SOFTWARE DEVELOPMENT FOR ROBOTICS 3 Credit
remote, proximate, and hybrid interaction. In the class, students will learn
Hours
the fundamental technologies and theories in each category, and blend
(Slashed with CS 53301) Robots are being used in multiple places that
this knowledge with various case studies and lab activities.
are not easily accessible for humans to support the lack of available
Prerequisite: CS 33301 and CS 43301.
labor, to gain extra precision, and for cost effective manufacturing
Schedule Type: Lecture
processes, monitoring, space exploration, precision surgery and artificial
Contact Hours: 3 lecture
limb support for elderly and physically challenged persons. Computer
Grade Mode: Standard Letter
science is an integral part of robotics as it includes areas such as
computer algorithms, artificial intelligence, and image processing that are CS 43401 SECURE PROGRAMMING 3 Credit Hours
essential aspects of robotics. This first course on robotics will teach the Code vulnerabilities, static code analysis, error handling, secure I/O,
students various motions of rigid robots, mathematics and algorithms race conditions and mediation, handling buffer and integer overflow,
related to these motions, motion planning, obstacle avoidance, intelligent handling vulnerabilities in web and database programming, privacy and
path planning including use of various sensors. cryptography, random number generators.
Prerequisite: CS 23001 and CS 33301 with a minimum of C grade. Prerequisite: Minimum C grade in CS 20062 or in CS 23001; and junior
Schedule Type: Combined Lecture and Lab standing.
Contact Hours: 3 lecture Schedule Type: Lecture
Grade Mode: Standard Letter 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 CS 44001 COMPUTER SCIENCE III-PROGRAMMING PATTERNS 4
theoretical, mathematical, and practical foundations for the design, Credit Hours
analysis, and evaluation of algorithms for robots for diverse robotic (Slashed with CS 54001) CS III Programming Patterns extends students'
applications. We will focus on a principled and mathematically sound knowledge of object oriented programming, and improves their C++
approach to the design of algorithms for robots rather than ad hoc and programming skills. Specifically, it covers procedural and object-based
hacking development approaches. programming, inheritance, polymorphism, popular design patterns, and
Prerequisite: CS 33301 and CS 43301. generic programming.
Schedule Type: Lecture Prerequisite: CS 23001 with a minimum C grade.
Contact Hours: 3 lecture Schedule Type: Combined Lecture and Lab
Grade Mode: Standard Letter Contact Hours: 3 lecture, 3 lab
Grade Mode: Standard Letter
CS 43303 INTERNET OF THINGS 3 Credit Hours
(Slashed with CS 53303 and CS 73303) This course will provide CS 44003 MOBILE APPS IN IOS PROGRAMMING 3 Credit Hours
a comprehensive an understanding of the Internet of Things by (Slashed with CS 54003) Students are introduced to mobile applications
looking into a variety of real-world application scenarios, existing and programming in the iOS environment using model, view, controller
new technologies and architectures, communication protocols and paradigms. Other topics include swift, programming using on board
standardization efforts, societal and behavioral changes, and how to devices like GPS, cameras, motion detectors, and screen touches.
apply these technologies to tackle real-world problems. Prerequisite: CS 23001 with a minimum C grade.
Prerequisite: CS 33301 or CS 45231. Schedule Type: Lecture
Schedule Type: Lecture Contact Hours: 3 lecture
Contact Hours: 3 lecture Grade Mode: Standard Letter
Grade Mode: Standard Letter
CS 44004 DRONE PROGRAMMING 3 Credit Hours CS 44202 MACHINE LEARNING AND DEEP LEARNING 3 Credit Hours
Course describes the design, programming and control of autonomous (Slashed with CS 54202) This course provides an overview of some
drones. Students will learn how to write apps to compute and control fundamental concepts, techniques and algorithms in machine learning
the drone’s trajectories, including collision avoidance and object and deep learning, and will give students a basic understanding (ideas
detection. Topics covered include system software and hardware and intuitions) of how modern machine learning works. Specifically,
architectures, use case models, interoperability, trajectory programming, there are three main objectives: 1. To help student get familiar with
communications protocols. Students will apply this knowledge in the fundamental mathematical tools (linear algebra, probability theory,
the context of programming assignments using drone simulator. statistical inference, numerical optimization, and learning theory) which
Subsequently, students will develop apps to control autonomous drone lays the foundation of machine learning algorithms and techniques;
vehicle. 2. To introduce the core machine learning concepts and topics, such
Prerequisite: Minimum C grade in CS 35201. as linear regression, classification, SVM, and neural networks (and its
Schedule Type: Lecture deep variants); in addition, we will utilize the recommendation system
Contact Hours: 3 lecture for students to learn how real world machine system works; 3. Teach
Grade Mode: Standard Letter students how to program and use the latest machine learning packages,
such as Tensorflow.
CS 44105 WEB PROGRAMMING I 3 Credit Hours
Prerequisite: CS 23001 and MATH 21002 and MATH 20011 and
(Slashed with CS 54105) This course is the first of a two-course sequence
MATH 12013.
on Web Programming covering from basic to advanced topics on Web
Schedule Type: Lecture
Programming based on open standards and best practices. Topics
Contact Hours: 3 lecture
covered include the HyperText Markup Language (HTML), specifying look
Grade Mode: Standard Letter
and feel using Cascading Style Sheets (CSS), client side programming in
Javascript, server side programming in PHP, and the Hypertext Transfer CS 44901 SOFTWARE DEVELOPMENT PROJECT (ELR) (WIC) 4
Protocol (HTTP). Credit Hours
Prerequisite: CS 23001 with a minimum C grade. With the supervision of the instructor, students will work in teams to
Schedule Type: Lecture design and implement a realistic software project similar to projects they
Contact Hours: 3 lecture would encounter in the workplace.
Grade Mode: Standard Letter Prerequisite: CS 23001 with a minimum C grade; and junior standing.
Schedule Type: Combined Lecture and Lab
CS 44106 WEB PROGRAMMING II 3 Credit Hours
Contact Hours: 3 lecture, 3 lab
(Slashed with CS 54106) This course is the second of a two-course
Grade Mode: Standard Letter
sequence on Web Programming covering advanced topics on Web
Attributes: Experiential Learning Requirement, Writing Intensive Course
Programming based on open standards and best practices. This is
a project course exploring advanced aspects of Web programming. CS 44902 SOFTWARE REQUIREMENTS ENGINEERING 3 Credit
Topics covered include advanced server side programming in PHP; Hours
database driven websites; structured query language (SQL) and MySQL; (Slashed with CS 54902) Students will learn a systematic approach
E-commerce; web hosting using Apache, PHP and MySQL; basic and to requirements elicitation, envisioning, requirements engineering,
digest authentication; web security, encryption and digital certificates; while leveraging design-based ideation and validation. Topics include
Extensible Markup Language (XML) for the web, AJAX and web services; software and systems requirements engineering, interface design
scalable vector graphics (SVG); mobile websites. and modeling, systems architecture, performance engineering, ethics,
Prerequisite: CS 44105. systems verification and testing.
Schedule Type: Lecture Prerequisite: CS 33901.
Contact Hours: 3 lecture Schedule Type: Lecture
Grade Mode: Standard Letter Contact Hours: 3 lecture
Grade Mode: Standard Letter
CS 44201 ARTIFICIAL INTELLIGENCE 3 Credit Hours
(Slashed with CS 54201) Computational intelligence concepts and CS 45102 CENTRAL PROCESSING UNIT (CPU) ARCHITECTURES 3
methods such as modeling real-world problems as state-space search Credit Hours
problems; heuristics, local and meta-heuristics search; game playing and (Slashed with CS 55102) This course explores CPU architectures and
adversarial search; constraint-based problem solving and optimization; concepts, focusing mostly on general purpose CPUs. It begins by
automated machine learning theory and techniques; Knowledge based examining the x86 architecture, the origins of reduced instruction set
systems including logical inference techniques, fuzzy logic and case- computers, and how those diverse concepts were reconciled. It looks
based reasoning; probabilistic and uncertainty-based reasoning; ontology at superscalar execution, out-of-order execution, branch prediction,
and semantic networks, and planning and speculative execution, and their use in the Intel Pentium Pro and
Prerequisite: CS 23001 and CS 23022. Pentium II. Finally, it concludes by exploring some contemporary CPU
Schedule Type: Lecture architectures such as embedded processors, graphics processors, and
Contact Hours: 3 lecture the open-source RISC-V architecture.
Grade Mode: Standard Letter 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 CS 47206 DATA SECURITY AND PRIVACY 3 Credit Hours
(Slashed with CS 55203) Overview of network security including attacks (Slashed with CS 57206) The goal of the course is to familiarize the
and vulnerabilities and defense measures, secure network design, students with basic concepts of security and privacy, their definitions,
network and transport layers security, intrusion detection techniques, applications and current advances in research community and industry.
defense against denial of service attacks, network hardware, software, This course addresses the security and privacy issues in legacy systems
and applications attacks and their defense, security policies, legal and and also studies security and privacy policies and legislations. This
ethical issues in cyber and computer crimes. course also reviews current research projects in the area of security and
Prerequisite: CS 35201 and; MATH 20011 or MATH 30011. privacy.
Schedule Type: Lecture Prerequisite: Minimum C grade in CS 20062 or in CS 23001.
Contact Hours: 3 lecture Schedule Type: Lecture
Grade Mode: Standard Letter Contact Hours: 3 lecture
Grade Mode: Standard Letter
CS 45231 INTERNET ENGINEERING 3 Credit Hours
Design fundamentals and working principles of internet systems at CS 47207 DIGITAL FORENSICS 3 Credit Hours
the IP layer and above. DNS, inter-domain routing, internet client server (Slashed with CS 57207) This course addresses the need for digital
programming, application level protocols (HTTP, XML,etc.) web server forensics, best practices for general incidence response, legal aspects
architecture, browser internet security and multimedia serving. of forensics, tools and techniques to perform a full computer forensic
Prerequisite: CS 23001, 33211 and 35201. investigation.
Schedule Type: Lecture Prerequisite: Minimum C grade in CS 20062 or in CS 23001.
Contact Hours: 3 lecture Schedule Type: Lecture
Grade Mode: Standard Letter 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 CS 47221 INTRODUCTION TO CRYPTOLOGY 3 Credit Hours
complexity analysis of algorithms and data structures, searching, sorting, This is a course on the modern science of Cryptology; that is, the process
graph and string algorithms. of hiding information by converting it, through a reversible process, into
Prerequisite: MATH 12003 or MATH 12013; and minimum C grade in something unrecognizable. Of course, only the recipient should be able
CS 23001. to reverse the “hiding” or encrypting process. As far as usage in life is
Schedule Type: Lecture concerned, this course will help you to set up cryptosystems in many
Contact Hours: 3 lecture different environments. This skill is highly employable; from the NSA, to
Grade Mode: Standard Letter banks, to anybody who needs to encrypt information is looking for people
with knowledge in Cryptology.
CS 47101 COMPUTER GRAPHICS 3 Credit Hours
Prerequisite: Minimum C grade in CS 20062 or in CS 23001.
Display file generation, interactive graphics techniques, display devices,
Schedule Type: Lecture
three-dimensional graphics, graphic system design, graphic languages
Contact Hours: 3 lecture
and applications in man-machine communications.
Grade Mode: Standard Letter
Prerequisite: CS 23001.
Schedule Type: Lecture CS 48101 GAME ENGINE CONCEPTS 3 Credit Hours
Contact Hours: 3 lecture Introduction to 3D game engine design, game memory management,
Grade Mode: Standard Letter multithreading in games, sprites and bitmap animation level design,
path finding, audio-visual effects, AI and physical modeling in games,
CS 47201 HUMAN COMPUTER INTERACTION 3 Credit Hours
Approaches the human-computer interaction as an activity of the human networked gaming.
Prerequisite: CS 23001 with a minimum C grade.
whose productivity is increased by the use of the computer as a tool.
Schedule Type: Lecture
Examines physiology and psychology considers the structure and
Contact Hours: 3 lecture
operation of the computer and models the interaction between the two.
Grade Mode: Standard Letter
Prerequisite: CS 23001.
Schedule Type: Lecture CS 48102 GAME DEVELOPMENT PRACTICUM (ELR) (WIC) 4 Credit
Contact Hours: 3 lecture Hours
Grade Mode: Standard Letter With the supervision of the instructor, students will work in teams to
design and implement a computer game or 3D interactive learning
CS 47205 INFORMATION SECURITY 3 Credit Hours
environment using a game engine in a professional setup.
(Slashed with CS 57205) An introduction to concepts and methodology
Prerequisite: CS 33007 and CS 33901 and CS 35201; and CS 48101 or
useful for information security, as specified by the NSTISSI NO. 4011
CS 38101; and junior standing.
standard from the NSA.
Schedule Type: Combined Lecture and Lab
Prerequisite: Minimum C grade in CS 20062 or in CS 23001.
Contact Hours: 3 lecture, 2 lab
Schedule Type: Lecture
Grade Mode: Standard Letter
Contact Hours: 3 lecture
Attributes: Experiential Learning Requirement, Writing Intensive Course
Grade Mode: Standard Letter
CS 49995 SPECIAL TOPICS IN COMPUTER SCIENCE 1-4 Credit CS 52202 NUMERICAL COMPUTING II 3 Credit Hours
Hours (Slashed with CS 42202)(Cross-listed with MATH 42202 and
(Repeatable for credit) (Slashed with CS 59995) Special topics from all MATH 52202) A continuation of CS 52201. Topics include interpolation
areas of computer science. numerical differentiation and integration and numerical solution of
Prerequisite: Special approval. ordinary differential equations.
Schedule Type: Lecture Prerequisite: Graduate standing.
Contact Hours: 4 lecture Schedule Type: Lecture
Grade Mode: Standard Letter Contact Hours: 3 lecture
Grade Mode: Standard Letter
CS 49996 INDIVIDUAL STUDY 1-4 Credit Hours
(Repeatable for credit). CS 53006 THEORY OF OBJECT-ORIENTED PROGRAMMING 3 Credit
Prerequisite: Special approval. Hours
Schedule Type: Individual Investigation (Slashed with CS 43006) In-depth course on the theory and principles
Contact Hours: 1-4 other of object-based and object-oriented programming using a language
Grade Mode: Standard Letter such as C ++. The course covers advanced topics in inheritance and
interface planning, generic (type independent) programming, factors of
CS 49998 RESEARCH (ELR) 1-15 Credit Hours
polymorphism, structure and organization of class libraries, and object-
(Repeatable for credit)
oriented design principles.
Prerequisite: Special approval.
Prerequisite: Graduate standing.
Schedule Type: Research
Schedule Type: Lecture
Contact Hours: 1-15 other
Contact Hours: 3 lecture
Grade Mode: Satisfactory/Unsatisfactory-IP
Grade Mode: Standard Letter
Attributes: Experiential Learning Requirement
CS 53111 STRUCTURE OF COMPILERS 3 Credit Hours
CS 49999 CAPSTONE PROJECT (ELR) (WIC) 4 Credit Hours
(Slashed with CS 43111) Techniques used to write compilers including
This course is an integrative experience that brings together all
lexical analysis, syntax analysis, syntax directed translation, type
components of the undergraduate computer science curriculum in an
checking, run-time environments and intermediate code generation.
applied, hands-on real-world setting.
Prerequisite: Graduate standing.
Prerequisite: CS 33007 and CS 33901 and CS 35201.
Schedule Type: Lecture
Schedule Type: Laboratory, Lecture, Combined Lecture and Lab, Project or
Contact Hours: 3 lecture
Capstone
Grade Mode: Standard Letter
Contact Hours: 3 lecture, 2 lab
Grade Mode: Standard Letter CS 53118 GRAPH AND SOCIAL NETWORK ANALYSIS 3 Credit Hours
Attributes: Experiential Learning Requirement, Writing Intensive Course (Slashed with CS 43118 and CS 73118) This course covers a number
of important and useful ideas in graph databases, especially in social
CS 51045 METALOGIC 3 Credit Hours
networks (e.g. the data model for certain-uncertain graphs), indexing
(Slashed with CS 41045; Cross-listed with MATH 41045 and MATH 51045
over graphs, and query processing algorithms for graph databases (e.g.,
and PHIL 41045 and PHIL 51045) A detailed, systematic study of
single-source path queries, path queries, reachability queries, keyword
metalogic for philosophy majors, mathematics majors, computer
search queries, subgraph matching, etc.). The influence maximization
science majors, and anyone else interested in advanced study in logic.
problems over social networks in real applications are also discussed as
Topics include the soundness and completeness of the propositional
well as various queries over the distributed graph databases.
and predicate calculi, the decidablility of propositional calculus, the
undecidability of predicate calculus, Gödel’s incompleteness proof for Prerequisite: Graduate standing.
Schedule Type: Lecture
languages capable of expressing arithmetic, the co-extensionality of
Contact Hours: 3 lecture
the set of general recursive functions, abacus computable functions,
Grade Mode: Standard Letter
and Turing computable functions, and the philosophical motivations
for the ChurchTuring Thesis that all computable functions are Turing CS 53202 SYSTEMS ADMINISTRATION 3 Credit Hours
computable (Slashed with CS 43202) The setting up and day-to-day administration
Prerequisite: Graduate standing. of multiuser multitasking systems, such as the various versions of UNIX
Schedule Type: Lecture together with the analysis of problems which can arise in these activities.
Contact Hours: 3 lecture Prerequisite: Graduate standing.
Grade Mode: Standard Letter Schedule Type: Lecture
Contact Hours: 3 lecture
CS 52201 NUMERICAL COMPUTING I 3 Credit Hours
Grade Mode: Standard Letter
(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 53203 SYSTEMS PROGRAMMING 3 Credit Hours CS 53305 ADVANCED DIGITAL DESIGN 3 Credit Hours
(Slashed with CS 43203) The setting up and day-to-day administration (Slashed with CS 43305) This course describes techniques in the
of multiuser multitasking systems, such as the various versions of design of digital systems. Topics covered include combinational and
UNIX, together with the analysis of problems which can arise in these sequential logic, gate-level minimization, registers and counters, memory
activities. Implementation and maintenance of system programs, system and programmable logic, hardware description languages, digital
utilities, command interpreters, editors, file maintenance programs, text communication including serial and parallel and synchronous and
processors, interrupt handling, and device drivers. asynchronous methods.
Prerequisite: Graduate standing. Prerequisite: Graduate standing.
Schedule Type: Lecture Schedule Type: Lecture
Contact Hours: 3 lecture Contact Hours: 3 lecture
Grade Mode: Standard Letter Grade Mode: Standard Letter
CS 53301 SOFTWARE DEVELOPMENT FOR ROBOTICS 3 Credit CS 53334 HUMAN-ROBOT INTERACTION 3 Credit Hours
Hours (Slashed with CS 43334 and CS 73334) Human-Robot Interaction (HRI)
(Slashed with CS 43301) Robots are being used in multiple places that is the study of interactions between humans and robots dedicated to
are not easily accessible for humans, to support the lack of available understanding, designing, and evaluating robotic systems for use by and
labor, to gain extra precision, and for cost effective manufacturing with humans. HRI is a multidisciplinary field that incorporates human-
processes, monitoring, space exploration, precision surgery and artificial computer interaction, artificial intelligence, robotics, natural language
limb support for elderly and physically challenged persons. Computer understanding, design, and social sciences. Interaction between humans
science is an integral part of robotics as it includes areas such as and robots may take several forms, but are generally categorized by
computer algorithms, artificial intelligence, and image processing that are how close in proximity the humans and robots are to each other such as
essential aspects of robotics. This first course on robotics will teach the remote, proximate, and hybrid interaction. In the class, students will learn
students various motions of rigid robots, mathematics and algorithms the fundamental technologies and theories in each category, and blend
related to these motions, motion planning, obstacle avoidance, intelligent this knowledge with various case studies and lab activities.
path planning including use of various sensors. Prerequisite: Graduate standing.
Prerequisite: Graduate standing. Schedule Type: Lecture
Schedule Type: Combined Lecture and Lab Contact Hours: 3 lecture
Contact Hours: 3 lecture Grade Mode: Standard Letter
Grade Mode: Standard Letter CS 53401 SECURE PROGRAMMING 3 Credit Hours
CS 53302 ALGORITHMIC ROBOTICS 3 Credit Hours Code vulnerabilities, static code analysis, error handling, secure I/O,
(Slashed with CS 43302 and CS 73302) This course provides students race conditions and mediation, handling buffer and integer overflow,
theoretical, mathematical, and practical foundations for the design, handling vulnerabilities in web and database programming, privacy and
analysis, and evaluation of algorithms for robots for diverse robotic cryptography, random number generators.
applications. We will focus on a principled and mathematically sound Prerequisite: Graduate standing.
approach to the design of algorithms for robots rather than ad hoc and Schedule Type: Lecture
hacking development approaches. Contact Hours: 3 lecture
Prerequisite: Graduate standing. Grade Mode: Standard Letter
Schedule Type: Lecture CS 54001 COMPUTER SCIENCE III - PROGRAMMING PATTERNS 4
Contact Hours: 3 lecture Credit Hours
Grade Mode: Standard Letter (Slashed with CS 44001) Extends students' knowledge of object oriented
CS 53303 INTERNET OF THINGS 3 Credit Hours programming, and improves their C++ programming skills. Specifically,
(Slashed with CS 43303 and CS 73303) This course will provide a it covers procedural and object-based programming, inheritance,
comprehensive understanding of the Internet of Things by looking into a polymorphism, popular design patterns, and generic programming.
variety of real-world application scenarios, existing and new technologies Prerequisite: Graduate standing.
and architectures, communication protocols and standardization efforts, Schedule Type: Combined Lecture and Lab
societal and behavioral changes, and how to apply these technologies to Contact Hours: 3 lecture, 3 lab
tackle real-world problems. Grade Mode: Standard Letter
Prerequisite: Graduate standing. CS 54003 MOBILE APPS IN IOS PROGRAMMING 3 Credit Hours
Schedule Type: Lecture Students are introduced to mobile applications programming in the
Contact Hours: 3 lecture iOS environment using model, view, controller paradigms. Other topics
Grade Mode: Standard Letter 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 CS 54902 SOFTWARE REQUIREMENTS ENGINEERING 3 Credit
(Slashed with CS 44105) This course is the first of a two-course sequence Hours
on Web Programming covering from basic to advanced topics on Web (Slashed with CS 44902) Students will learn a systematic approach
Programming based on open standards and best practices. Topics to requirements elicitation, envisioning, requirements engineering,
covered include the HyperText Markup Language (HTML), specifying look while leveraging design-based ideation and validation. Topics include
and feel using Cascading Style Sheets (CSS), client side programming in software and systems requirements engineering, interface design
Javascript, server side programming in PHP, and the Hypertext Transfer and modeling, systems architecture, performance engineering, ethics,
Protocol (HTTP). systems verification and testing.
Prerequisite: Graduate standing. Prerequisite: Graduate standing.
Schedule Type: Lecture Schedule Type: Lecture
Contact Hours: 3 lecture Contact Hours: 3 lecture
Grade Mode: Standard Letter Grade Mode: Standard Letter
CS 54106 WEB PROGRAMMING II 3 Credit Hours CS 55102 CENTRAL PROCESSING UNIT (CPU) ARCHITECTURES 3
(Slashed with CS 44106) This course is the second of a two-course Credit Hours
sequence on Web Programming covering advanced topics on Web (Slashed with CS 45102) This course explores CPU architectures and
Programming based on open standards and practices. This is a project concepts, focusing mostly on general purpose CPUs. It begins by
course exploring advanced aspects of Web programming. Topics covered examining the x86 architecture, the origins of reduced instruction set
include advanced server side programming in PHP; database driven computers, and how those diverse concepts were reconciled. It looks
websites; structured query language (SQL) and MySQL; E-commerce; at superscalar execution, out-of-order execution, branch prediction,
web hosting using Apache, PHP MySQL; basic and digest authentication; and speculative execution, and their use in the Intel Pentium Pro and
web security, encryption and digital certificates; Markup Language (XML) Pentium II. Finally, it concludes by exploring some contemporary CPU
for the web, AJAX and web services; scalable vector graphics (SVG); architectures such as embedded processors, graphics processors, and
websites. the open-source RISC-V architecture.
Prerequisite: Graduate standing. Prerequisite: Graduate standing.
Schedule Type: Lecture Schedule Type: Lecture
Contact Hours: 3 lecture Contact Hours: 3 lecture
Grade Mode: Standard Letter Grade Mode: Standard Letter
CS 54201 ARTIFICIAL INTELLIGENCE 3 Credit Hours CS 55201 COMPUTER COMMUNICATION NETWORKS 3 Credit
(Slashed with CS 44201) Computational intelligence concepts and Hours
methods such as modeling real-world problems as state-space search An introduction to net-centric systems, data communication protocols,
problems; heuristics and meta-heuristics search; game playing and network architectures, routing protocols, network management,
adversarial search; constraint-based optimization and search; automated congestion control, network security, compression techniques, mobile
machine learning such as clustering, neural networks, regression and wireless networks, and WWW as an example of a client server
analysis, decision trees, Markov models and HMM; Deep neural networks system.
and its application in speech and image understanding; logical inference Prerequisite: Graduate standing.
techniques, fuzzy systems, case-based reasoning and uncertainty based Schedule Type: Lecture
reasoning; Knowledge-based systems; planning techniques and systems Contact Hours: 3 lecture
Prerequisite: Graduate standing. Grade Mode: Standard Letter
Schedule Type: Lecture CS 55203 COMPUTER NETWORK SECURITY 3 Credit Hours
Contact Hours: 3 lecture (Slashed with CS 45203) Overview of network security including attacks
Grade Mode: Standard Letter and vulnerabilities and defense measures, secure network design,
CS 54202 MACHINE LEARNING AND DEEP LEARNING 3 Credit Hours network and transport layers security, intrusion detection techniques,
(Slashed with CS 44202) This course provides an overview of some defense against denial of service attacks, network hardware, software,
fundamental concepts, techniques and algorithms in machine learning and applications attacks and their defense, security policies, legal and
and deep learning, and will give students a basic understanding (ideas ethical issues in cyber and computer crimes.
and intuitions) of how modern machine learning works. Specifically, Prerequisite: Graduate standing.
there are three main objectives: 1. To help student get familiar with Schedule Type: Lecture
the fundamental mathematical tools (linear algebra, probability theory, Contact Hours: 3 lecture
statistical inference, numerical optimization, and learning theory) which Grade Mode: Standard Letter
lays the foundation of machine learning algorithms and techniques; CS 55231 INTERNET ENGINEERING 3 Credit Hours
2. To introduce the core machine learning concepts and topics, such (Slashed with CS 45231) Design fundamentals and working principles
as linear regression, classification, SVM, and neural networks (and its of internet systems at the IP layer and above. DNS, inter-domain routing,
deep variants); in addition, we will utilize the recommendation system internet client server programming, application level protocols (HTTP,
for students to learn how real world machine system works; 3. Teach XML,etc.) Web server architecture, browser, internet security, and
students how to program and use the latest machine learning packages, multimedia serving.
such as Tensorflow. Prerequisite: CS 23001 and CS 55201; and graduate standing.
Prerequisite: Graduate standing. Schedule Type: Lecture
Schedule Type: Lecture Contact Hours: 3 lecture
Contact Hours: 3 lecture Grade Mode: Standard Letter
Grade Mode: Standard Letter
CS 56101 DESIGN AND ANALYSIS OF ALGORITHMS 3 Credit Hours CS 57221 INTRODUCTION TO CRYPTOLOGY 3 Credit Hours
(Slashed with CS 46101) Introduction to algorithmic concepts, design and (Slashed with CS 47221) This is a course on the modern science of
complexity analysis of algorithms and data structures, searching, sorting, Cryptology; that is, the process of hiding information by converting it,
graph and string algorithms. through a reversible process, into something unrecognizable. Of course,
Prerequisite: Graduate standing. only the recipient should be able to reverse the “hiding” or encrypting
Schedule Type: Lecture process. As far as usage in life is concerned, this course will help you to
Contact Hours: 3 lecture set up cryptosystems in many different environments. This skill is highly
Grade Mode: Standard Letter employable; from the NSA, to banks, to anybody who needs to encrypt
information is looking for people with knowledge in Cryptology.
CS 57101 COMPUTER GRAPHICS 3 Credit Hours
Prerequisite: Graduate standing.
(Slashed with CS 47101) Display file generation, interactive graphics
Schedule Type: Lecture
techniques, display devices, three-dimensional graphics, graphic
Contact Hours: 3 lecture
system design, graphic languages and applications in man-machine
Grade Mode: Standard Letter
communications.
Prerequisite: Graduate standing. CS 59893 VARIABLE TITLE WORKSHOP IN COMPUTER SCIENCE 1-6
Schedule Type: Lecture Credit Hours
Contact Hours: 3 lecture (Repeatable for credit) Studies in special topics in computer science.
Grade Mode: Standard Letter Prerequisite: Graduate standing; and special approval.
Schedule Type: Workshop
CS 57201 HUMAN COMPUTER INTERACTION 3 Credit Hours
Contact Hours: 1-6 other
(Slashed with CS 47201) Approaches the human-computer interaction
Grade Mode: Satisfactory/Unsatisfactory
as an activity of the human whose productivity is increased by the use of
the computer as a tool. Examines physiology and psychology considers CS 59995 SPECIAL TOPICS IN COMPUTER SCIENCE 1-3 Credit
the structure and operation of the computer and models the interaction Hours
between the two. (Repeatable for credit) (Slashed with CS 49995) Various special courses
Prerequisite: Graduate standing. will be announced in the schedule of classes under this title.
Schedule Type: Lecture Prerequisite: Graduate standing; and special approval.
Contact Hours: 3 lecture Schedule Type: Lecture
Grade Mode: Standard Letter Contact Hours: 1-3 lecture
Grade Mode: Standard Letter
CS 57205 INFORMATION SECURITY 3 Credit Hours
(Slashed with CS 47205) An introduction to concepts and methodology CS 60093 VARIABLE TITLE WORKSHOP IN COMPUTER SCIENCE 1-3
useful for information security, as specified by the NSTISSI NO. 4011 Credit Hours
standard from the NSA. (Repeatable for credit)Studies of special topics in computer science.
Prerequisite: Graduate standing. Not acceptable for credit toward a graduate degree in computer science
Schedule Type: Lecture without approval of the student's adviser.
Contact Hours: 3 lecture Prerequisite: Graduate standing; and special approval.
Grade Mode: Standard Letter Schedule Type: Workshop
Contact Hours: 1-3 other
CS 57206 DATA SECURITY AND PRIVACY 3 Credit Hours
Grade Mode: Satisfactory/Unsatisfactory
(Slashed with CS 47206) The goal of the course is to familiarize the
students with basic concepts of security and privacy, their definitions, CS 60094 COLLEGE TEACHING OF COMPUTER SCIENCE 1 Credit
applications and current advances in research community and industry. Hour
This course addresses the security and privacy issues in legacy systems (Repeatable for credit) (Slashed with CS 70094) Techniques and
and also studies security and privacy policies and legislations. This problems of college teaching of computer science. Student presentation
course also reviews current research projects in the area of security and of computer science papers will be included.
privacy. Prerequisite: Graduate standing.
Prerequisite: Graduate standing. Schedule Type: Lecture
Schedule Type: Lecture Contact Hours: 1 lecture
Contact Hours: 3 lecture Grade Mode: Standard Letter-S/U
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 61002 ALGORITHMS AND PROGRAMMING I 4 Credit Hours CS 61299 THESIS II FOR INFORMATION ARCHITECTURE AND
This course is designed for graduate students with a little knowledge KNOWLEDGE MANAGEMENT STUDENTS 2 Credit Hours
of the undergraduate computer science curriculum. It is suitable for Thesis students must continue registration each semester until all degree
students with a background in engineering, physics, biology, geography, requirements are met.
etc. This course is designed to introduce students to how to map Prerequisite: CS 61199.
scientific problems in their own field of study into the computational Schedule Type: Masters Thesis
framework. The primary purpose of this course is to help students Contact Hours: 2 other
become skillful in making the computer do what they want it to do. This Grade Mode: Satisfactory/Unsatisfactory-IP
course provides students with hands-on tools to develop computational CS 62263 NUMERICAL SOLUTION OF LARGE SPARSE LINEAR
methods for data modeling and analysis using Python packages such SYSTEMS 3 Credit Hours
as Numpy and Matplotlib. This course may not be used to fulfill degree (Slashed with CS 72263) (Cross-listed with MATH 62263 and
requirements in the the Computer Science - M.S. or Computer Science - MATH 72263) Construction and analysis of iterative methods for large
Ph.D. programs. systems of linear algebraic equations. Jacobi, Gauss-Seidel, SOR.
Prerequisite: Graduate standing. Polynomial acceleration methods, conjugate gradients. Multi-grid
Schedule Type: Lecture methods.
Contact Hours: 4 lecture Prerequisite: MATH 51021 and CS 52202; and graduate standing.
Grade Mode: Standard Letter Schedule Type: Lecture
CS 61003 ALGORITHMS AND PROGRAMMING II 4 Credit Hours Contact Hours: 3 lecture
Further exploration into the tools used in computer science. The course Grade Mode: Standard Letter
provides an introduction to algorithmic concepts. It covers design and CS 62264 NUMERICAL SOLUTION OF NONLINEAR SYSTEMS 3
complexity analysis of algorithms and data structures, searching, sorting, Credit Hours
graph and string algorithms. This course may not be used to fulfill degree (Slashed with CS 72264) (Cross-listed MATH 62264 and MATH 72264)
requirements in the Computer Science - M.S. or Computer Science - Ph.D. Construction and analysis of numerical methods for systems of non
programs. linear algebraic equations and optimization problems. Numerical
Prerequisite: CS 61002; and graduate standing. implementation and software.
Schedule Type: Lecture Prerequisite: MATH 52041 and CS 52202; and graduate standing.
Contact Hours: 4 lecture Schedule Type: Lecture
Grade Mode: Standard Letter Contact Hours: 3 lecture
CS 61004 OPERATING SYSTEMS AND ARCHITECTURE 4 Credit Grade Mode: Standard Letter
Hours CS 63005 ADVANCED DATABASE SYSTEMS DESIGN 3 Credit Hours
The fundamentals of computer operating systems and architecture (Slashed with CS 73005) Introduction to a variety of advanced database
design required for a Masters of Arts degree in computer science are topics and on-going trends in modern database systems. The course
presented. This course may not be counted towards the Masters of includes advanced issues of object-oriented database, XML, advanced
Science or the Doctoral programs in Computer Science. client server architecture and distributed database techniques.
Prerequisite: Graduate standing. Prerequisite: Graduate standing.
Schedule Type: Lecture Schedule Type: Lecture
Contact Hours: 4 lecture Contact Hours: 3 lecture
Grade Mode: Standard Letter Grade Mode: Standard Letter
CS 61092 PRACTICUM IN CS FOR INFORMATION ARCHITECTURE AND CS 63015 DATA MINING TECHNIQUES 3 Credit Hours
KNOWLEDGE MANAGEMENT 1-5 Credit Hours (Slashed with CS 73015) Concepts and techniques of data mining.
(Repeatable for credit)This course is an alternative to IAKM 60198 for Data mining is a process of discovering information from a set of large
students interested in pursuing a CS thesis. Credit for IAKM 60198 or any databases. This course takes a database perspective on data mining.
other project course is not allowed. Prerequisite: Graduate standing.
Prerequisite: Graduate standing. Schedule Type: Lecture
Schedule Type: Practical Experience Contact Hours: 3 lecture
Contact Hours: 1-5 other Grade Mode: Standard Letter
Grade Mode: Satisfactory/Unsatisfactory-IP
CS 63016 BIG DATA ANALYTICS 3 Credit Hours
CS 61199 THESIS I FOR INFORMATION ARCHITECTURE AND (Slashed with CS 73016) Introduces computing platforms with focus
KNOWLEDGE MANAGEMENT 2-6 Credit Hours on how to use them in processing, managing and analyzing massive
Thesis students must register for a minimum of 6 hours. No credit for CS datasets. Utilizes several key data processing tasks, including simple
students. statistics, data aggregation, join processing, frequent pattern mining,
Prerequisite: Graduate standing. data clustering, information retrieval, pagerank and massive graph
Schedule Type: Masters Thesis analytics as the case study for large scale data processing.
Contact Hours: 2-6 other Prerequisite: Graduate standing.
Grade Mode: Satisfactory/Unsatisfactory-IP Schedule Type: Lecture
Contact Hours: 3 lecture
Grade Mode: Standard Letter
CS 63017 BIG DATA MANAGEMENT 3 Credit Hours CS 63304 CLUSTER COMPUTING 3 Credit Hours
This course will cover a series of important Big-Data-related problems (Slashed with CS 73304) This course will investigate clusters of
and their solutions. Specifically, we will introduce the characteristics and computers as a computing platform, hardware and software trade-offs for
challenges of the Big Data, state-of-the-art computing paradigm sand clusters and application performance and programming of clusters.
platforms (e.g., MapReduce), big data programming tools (e.g., Hadoop Prerequisite: Graduate standing.
and MongoDB), big data extraction and integration, big data storage, Schedule Type: Lecture
scalable indexing for big data, big graph processing, big data stream Contact Hours: 3 lecture
techniques and algorithms, big probabilistic data management, big data Grade Mode: Standard Letter
privacy, big data visualizations, and big data applications (e.g., spatial, CS 63305 MULTICORE COMPUTING 3 Credit Hours
finance, multimedia, medical, health, and social data). (Slashed with CS 73305) Starting about 2005, hardware architects began
Prerequisite: Graduate standing. putting more than one processing core on a single chip, leading to the
Schedule Type: Lecture recent rapid advancements in multicore processor architectures. This
Contact Hours: 3 lecture shift has changed almost everything ranging from memory hierarchy
Grade Mode: Standard Letter and consistency to programming those architectures. The goal of this
CS 63018 PROBABILISTIC DATA MANAGEMENT 3 Credit Hours course is to study multicore processor architectures from the perspective
(Slashed with CS 73018) This course addresses the fundamental of hardware, software and algorithm design, the challenges, and the
concepts and techniques for probabilistic data management in the technologies that are relevant to those architectures.
area of databases. Probabilistic data are pervasive in many real-world Prerequisite: Graduate standing.
applications, such as sensor networks, GPS system, location-based Schedule Type: Lecture
services, mobile computing, multimedia databases, data extraction and Contact Hours: 3 lecture
integration, trajectory data analysis, semantic web, privacy preserving, Grade Mode: Standard Letter
and so on. This class also covers major research topics such as CS 63306 EMBEDDED COMPUTING 3 Credit Hours
probabilistic or uncertain data models, probabilistic queries, probabilistic (Slashed with CS 73306) Computational issues structuring programs
query answering techniques, and data quality issues in databases. for processors embedded in other devices, such as those found in
Prerequisite: Graduate standing. automobiles and biological and chemical sample processing devices.
Schedule Type: Lecture Prerequisite: Graduate standing.
Contact Hours: 3 lecture Schedule Type: Lecture
Grade Mode: Standard Letter Contact Hours: 3 lecture
CS 63100 COMPUTATIONAL HEALTH INFORMATICS 3 Credit Hours Grade Mode: Standard Letter
(Slashed with CS 73100) The course describes computational techniques CS 63901 SOFTWARE ENGINEERING METHODOLOGIES 3 Credit
and software tools for managing and transmitting health related Hours
information and automated analysis of medical and biosignal data. (Slashed with CS 73901) Software process models; modeling languages;
Prerequisite: Graduate standing. software process improvement; requirement analysis and elicitation;
Schedule Type: Lecture advanced systems and architectural design; estimation; verification and
Contact Hours: 3 lecture validation; reuse; and metrics.
Grade Mode: Standard Letter Prerequisite: Graduate standing.
CS 63201 ADVANCED OPERATING SYSTEMS 3 Credit Hours Schedule Type: Lecture
(Slashed with CS 73201) Introduction to distributed systems, Contact Hours: 3 lecture
interprocess communication, distributed mutual exclusion, Grade Mode: Standard Letter
synchronization and deadlock, distributed process management and CS 63902 SOFTWARE EVOLUTION 3 Credit Hours
distributed file systems. (Slashed with CS 73902) Methods and techniques supporting later
Prerequisite: Graduate standing. lifecycle activities, including software testing and maintenance, reuse and
Schedule Type: Lecture reverse engineering.
Contact Hours: 3 lecture Prerequisite: Graduate standing.
Grade Mode: Standard Letter Schedule Type: Lecture
CS 63301 PARALLEL AND DISTRIBUTED COMPUTING 3 Credit Hours Contact Hours: 3 lecture
(Slashed with CS 73301) Overview of parallel and distributed computing; Grade Mode: Standard Letter
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 64201 ADVANCED ARTIFICIAL INTELLIGENCE 3 Credit Hours CS 65203 WIRELESS AND MOBILE COMMUNICATION NETWORKS 3
(Slashed with CS 74201) Advanced topics in AI such as Nature inspired Credit Hours
meta-heuristics and their applications in real-world optimization (Slashed with CS 75203) Examines how wireless systems work and how
problems; Bayesian networks and probabilistic reasoning over time with mobile systems are supported by the underlying network infrastructure.
applications; Utility theory and decision networks and their applications; Course covers the architecture and the interactions among different
game theory and multi-agent systems and their applications; Advanced functional units in wireless and mobile systems.
learning theory such as statistical learning, reinforced learning, Prerequisite: Graduate standing.
probabilistic learning, deep convolution neural network, recurrent neural Schedule Type: Lecture
network, Long Short-term Memory (LSTM), transfer learning, federated Contact Hours: 3 lecture
learning, transformers, and their application to vision and speech Grade Mode: Standard Letter
understanding; introduction to object recognition, scene analysis and CS 65301 SYSTEM MODELING AND PERFORMANCE EVALUATION 3
object tracking; introduction to speech understanding; Context-based Credit Hours
discourse and conversation analysis; multi-modal emotion recognition. (Slashed with CS 75301) Provides a detailed study of queuing, network
Prerequisite: Graduate standing. models and their application to operating systems, computer time
Schedule Type: Lecture sharing and multi access systems.
Contact Hours: 3 lecture Prerequisite: Graduate standing.
Grade Mode: Standard Letter Schedule Type: Lecture
CS 64301 PATTERN RECOGNITION PRINCIPLES 3 Credit Hours Contact Hours: 3 lecture
(Slashed with CS 74301) Introduction to mathematical pattern Grade Mode: Standard Letter
recognition, feature selection, distribution-free classification, statistical CS 66101 ADVANCED TOPICS IN ALGORITHMS 3 Credit Hours
classification, nonsupervised learning, sequential learning and (Slashed with CS 76101) Advanced algorithms, fast fourier transforms,
application. algorithms on trees and graphs, rational and polynomial arithmetic, gcd,
Prerequisite: Graduate standing. factoring, numerical and symbolic computational algorithms, Risch
Schedule Type: Lecture integration algorithm, pattern matching.
Contact Hours: 3 lecture Prerequisite: Graduate standing.
Grade Mode: Standard Letter Schedule Type: Lecture
CS 64401 IMAGE PROCESSING 3 Credit Hours Contact Hours: 3 lecture
(Slashed with CS 74401) This course covers digital processing of digital Grade Mode: Standard Letter
imagery. Digitization of TV imagery, noise removal, image enhancement, CS 66105 PARALLEL AND DISTRIBUTED ALGORITHMS 3 Credit
edge and texture detection, object recognition and scene analysis. Hours
Prerequisite: Graduate standing. (Slashed with CS 76105) Introduces and evaluates important models of
Schedule Type: Lecture parallel (synchronous and asynchronous) and distributed computation,
Contact Hours: 3 lecture using basic searching, sorting, graph, matrix, numerical computing and
Grade Mode: Standard Letter computational geometry algorithms.
CS 64402 MULTIMEDIA SYSTEMS AND BIOMETRICS 3 Credit Hours Prerequisite: Graduate standing.
(Slashed with CS 74402) This course discusses computational Schedule Type: Lecture
techniques for the fusion of multimedia data recorded by sensors for Contact Hours: 3 lecture
human-identification using automated analysis of biometric signals. Grade Mode: Standard Letter
Prerequisite: Graduate standing. CS 66110 COMPUTATIONAL GEOMETRY 3 Credit Hours
Schedule Type: Lecture (Slashed with CS 76110) Geometric structures are the underlying model
Contact Hours: 3 lecture of several important applications, including robotics, graphics, CAD/
Grade Mode: Standard Letter CAM, VLSI layout, wireless networks and information visualization.
CS 65101 ADVANCED COMPUTER ARCHITECTURE 3 Credit Hours Computational geometry studies algorithms for geometric problems.
(Slashed with CS 75101) System performance measures, processor Prerequisite: Graduate Standing
implementation, pipelining, system interconnection, memory hierarchy Schedule Type: Lecture
interrupts, stack architecture, vector and multiprocessors. Contact Hours: 3 lecture
Prerequisite: Graduate standing. Grade Mode: Standard Letter
Schedule Type: Lecture CS 67101 ADVANCED COMPUTER GRAPHICS 3 Credit Hours
Contact Hours: 3 lecture (Slashed with CS 77101) In-depth study of active research topics in
Grade Mode: Standard Letter computer graphics. Topics include volume rendering, image-based
CS 65202 ADVANCED COMMUNICATION NETWORKS 3 Credit Hours rendering and modeling, graphics architectures, virtual reality, modeling in
(Slashed with CS 75202) This course covers central problems that computer graphics, non-photorealistic rendering, computer animation and
confront network designers in high-speed networking such as real-time computer games.
traffic, congestion control, quality of service (QoS), performance analysis, Prerequisite: Graduate standing.
traffic management and internet routing. Schedule Type: Lecture
Prerequisite: Graduate standing. Contact Hours: 3 lecture
Schedule Type: Lecture Grade Mode: Standard Letter
Contact Hours: 3 lecture
Grade Mode: Standard Letter
CS 67301 SCIENTIFIC VISUALIZATION 3 Credit Hours CS 69199 THESIS I 2-6 Credit Hours
(Slashed with CS 77301) Discusses the visualization of scientific, Thesis student must register for total of 6 hours, 2 to 6 hours in a single
engineering and medical data sets. Introduces mechanisms to acquire semester distributed over several semesters if desired.
sampled or computed data and points out methods to transform these Prerequisite: Graduate standing.
data into the visual system. Schedule Type: Masters Thesis
Prerequisite: Graduate standing. Contact Hours: 2-6 other
Schedule Type: Lecture Grade Mode: Satisfactory/Unsatisfactory-IP
Contact Hours: 3 lecture CS 69299 THESIS II 2 Credit Hours
Grade Mode: Standard Letter Thesis students must continue registration each semester until all degree
CS 67302 INFORMATION VISUALIZATION 3 Credit Hours requirements are met.
(Slashed with CS 77302) Information visualization is the science that Prerequisite: CS 69199; and graduate standing.
unveils the underlying structure of data sets using visual representations Schedule Type: Masters Thesis
that utilize the powerful processing capabilities of the human visual Contact Hours: 2 other
perceptual system. In this class, we will study algorithms and systems for Grade Mode: Satisfactory/Unsatisfactory-IP
visually exploring, understanding, and analyzing large, complex data sets. CS 69995 SPECIAL TOPICS IN COMPUTER SCIENCE 1-3 Credit
Information visualization focuses on abstract data such as symbolic, Hours
tabular, networked, hierarchical, or textual information sources. The (Repeatable for credit) (Slashed with CS 79995) Special topics in
objectives of the course are to learn the principles involved in information computer science.
visualization and a variety of existing techniques and systems. The Prerequisite: Graduate standing.
students will also gain backgrounds and skills that will aid the design of Schedule Type: Lecture
new, innovative visualizations in realistic applications. Contact Hours: 1-3 lecture
Prerequisite: Graduate standing. Grade Mode: Standard Letter
Schedule Type: Lecture
Contact Hours: 3 lecture CS 70094 COLLEGE TEACHING OF COMPUTER SCIENCE 1 Credit
Grade Mode: Standard Letter Hour
(Repeatable for credit) (Slashed with CS 60094) Techniques and
CS 69098 RESEARCH 1-5 Credit Hours problems of college teaching of computer science. Student presentation
(Repeatable for credit) Research or individual investigation. Credits are of computer science papers will be included.
applied toward degree requirements with approval if grade of "S" is given. Prerequisite: Doctoral standing.
Prerequisite: Graduate standing. Schedule Type: Lecture
Schedule Type: Research Contact Hours: 1 lecture
Contact Hours: 1-5 other Grade Mode: Standard Letter-S/U
Grade Mode: Satisfactory/Unsatisfactory-IP
CS 72263 NUMERICAL SOLUTION OF LARGE SPARSE LINEAR
CS 69099 CAPSTONE PROJECT 3,6 Credit Hours SYSTEMS 3 Credit Hours
The course is an integrative experience that brings together all (Slashed with CS 62263) (Cross-listed with MATH 62263 and
components of the Masters nonthesis graduate program in an applied, MATH 72263) Construction and analysis of iterative methods for large
hands-on real-world setting. systems of linear algebraic equations. Jacobi, Gauss-Seidel, SOR.
Prerequisite: Graduate standing; and special approval. Polynomial acceleration methods, conjugate gradients. Multi-grid
Schedule Type: Project or Capstone methods.
Contact Hours: 3-6 other Prerequisite: MATH 51021 and CS 52202; and graduate standing.
Grade Mode: Standard Letter-IP Schedule Type: Lecture
CS 69191 MASTER'S SEMINAR 1-2 Credit Hours Contact Hours: 3 lecture
(Repeatable for credit) Seminar for masters students to present and Grade Mode: Standard Letter
discuss computer science related research and academics. Masters CS 72264 NUMERICAL SOLUTION OF NONLINEAR SYSTEMS 3
students are required to take at least 2 credit hours for completion of Credit Hours
degree and make at least one presentation of project work or research. (Slashed with CS 62264) (Cross-listed with MATH 62264 and
Only two credits count towards the masters degree. MATH 72264) Construction and analysis of numerical methods for
Prerequisite: Computer Science major within the Master of Arts or Master systems of non linear algebraic equations and optimization problems.
of Science degree. Numerical implementation and software.
Schedule Type: Seminar Prerequisite: MATH 52041 and CS 52202; and doctoral standing.
Contact Hours: 1-2 other Schedule Type: Lecture
Grade Mode: Satisfactory/Unsatisfactory-IP Contact Hours: 3 lecture
CS 69192 GRADUATE INTERNSHIP 1-3 Credit Hours Grade Mode: Standard Letter
(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 73005 ADVANCED DATABASE SYSTEMS DESIGN 3 Credit Hours CS 73100 COMPUTATIONAL HEALTH INFORMATICS 3 Credit Hours
(Slashed with CS 63005) Introduction to a variety of advanced database (Slashed with CS 63100) The course describes computational techniques
topics and on-going trends in modern database systems. The course and software tools for managing and transmitting health related
includes advanced issues of object-oriented database, XML, advanced information and automated analysis of medical and biosignal data.
client server architecture and distributed database techniques. Prerequisite: Doctoral standing.
Prerequisite: Doctoral standing. Schedule Type: Lecture
Schedule Type: Lecture Contact Hours: 3 lecture
Contact Hours: 3 lecture Grade Mode: Standard Letter
Grade Mode: Standard Letter CS 73118 GRAPH SOCIAL NETWK ANALYSIS 3 Credit Hours
CS 73015 DATA MINING TECHNIQUES 3 Credit Hours (Slashed with CS 43118 and CS 53118) This course covers a number
(Slashed with CS 63015) Concepts and techniques of data mining. of important and useful ideas in graph databases, especially in social
Data mining is a process of discovering information from a set of large networks (e.g. the data model for certain-uncertain graphs), indexing
databases. This course takes a database perspective on data mining. over graphs, and query processing algorithms for graph databases (e.g.,
Prerequisite: Doctoral standing. single-source path queries, path queries, reachability queries, keyword
Schedule Type: Lecture search queries, subgraph matching, etc.). The influence maximization
Contact Hours: 3 lecture problems over social networks in real applications are also discussed as
Grade Mode: Standard Letter well as various queries over the distributed graph database.
Prerequisite: Doctoral standing.
CS 73016 BIG DATA ANALYTICS 3 Credit Hours
Schedule Type: Lecture
Introduces computing platforms with the focus on how to utilize them in
Contact Hours: 3 lecture
processing, managing and analyzing massive datasets. The course will
Grade Mode: Standard Letter
utilize several key data processing tasks, including simple statistics, data
aggrefation, join processing, frequent pattern mining, data clustering, CS 73201 ADVANCED OPERATING SYSTEMS 3 Credit Hours
information retrieval, pagerank, and massive graph analytics as the case (Slashed with CS 63201) Introduction to distributed systems,
study for large scale data processing. interprocess communication, distributed mutual exclusion,
Prerequisite: Doctoral standing. synchronization and deadlock, distributed process management and
Schedule Type: Lecture distributed file systems.
Contact Hours: 3 lecture Prerequisite: Doctoral standing.
Grade Mode: Standard Letter Schedule Type: Lecture
Contact Hours: 3 lecture
CS 73017 BIG DATA MANAGEMENT 3 Credit Hours
Grade Mode: Standard Letter
This course will cover a series of important Big-Data-related problems
and their solutions. Specifically, we will introduce the characteristics and CS 73301 PARALLEL AND DISTRIBUTED COMPUTING 3 Credit Hours
challenges of the Big Data, state-of-the-art computing paradigm sand (Slashed with CS 63301) Overview of parallel and distributed computing;
platforms (e.g., MapReduce), big data programming tools (e.g., Hadoop structuring parallel and distributed programs; parallel programming using
and MongoDB), big data extraction and integration, big data storage, simd spmd mimd and,associative computing parallel and distributed
scalable indexing for big data, big graph processing, big data stream architecture using existing machines as case studies.
techniques and algorithms, big probabilistic data management, big data Prerequisite: Doctoral standing.
privacy, big data visualizations, and big data applications (e.g., spatial, Schedule Type: Lecture
finance, multimedia, medical, health, and social data). Contact Hours: 3 lecture
Prerequisite: Doctoral standing. Grade Mode: Standard Letter
Schedule Type: Lecture CS 73302 ALGORITHMIC ROBOTICS 3 Credit Hours
Contact Hours: 3 lecture (Slashed with CS 43302 and CS 53302) This course provides students
Grade Mode: Standard Letter theoretical, mathematical, and practical foundations for the design,
CS 73018 PROBABILISTIC DATA MANAGEMENT 3 Credit Hours analysis, and evaluation of algorithms for robots for diverse robotic
(Slashed with CS 63018) This course addresses the fundamental applications. We will focus on a principled and mathematically sound
concepts and techniques for probabilistic data management in the approach to the design of algorithms for robots rather than ad hoc and
area of databases. Probabilistic data are pervasive in many real-world hacking development approaches.
applications, such as sensor networks, GPS system, location-based Prerequisite: Doctoral standing.
services, mobile computing, multimedia databases, data extraction Schedule Type: Lecture
and integration, trajectory data analysis, semantic web, and privacy Contact Hours: 3 lecture
preserving. This class also covers major research topics such as Grade Mode: Standard Letter
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 73303 INTERNET OF THINGS 3 Credit Hours CS 73901 SOFTWARE ENGINEERING METHODOLOGIES 3 Credit
(Slashed with CS 43303 and CS 53303) This course will provide a Hours
comprehensive understanding of the Internet of Things by looking into a (Slashed with CS 63901) Software process models; modeling languages;
variety of real-world application scenarios, existing and new technologies software process improvement; requirement analysis and elicitation;
and architectures, communication protocols and standardization efforts, advanced systems and architectural design; estimation; verification and
societal and behavioral changes, and how to apply these technologies to validation reuse; and metrics.
tackle real-world problems. Prerequisite: Doctoral standing.
Prerequisite: Doctoral standing. Schedule Type: Lecture
Schedule Type: Lecture Contact Hours: 3 lecture
Contact Hours: 3 lecture Grade Mode: Standard Letter
Grade Mode: Standard Letter CS 73902 SOFTWARE EVOLUTION 3 Credit Hours
CS 73304 CLUSTER COMPUTING 3 Credit Hours (Slashed with CS 63902) Methods and techniques supporting later
(Slashed with CS 63304) This course will investigate clusters of lifecycle activities, including software testing and maintenance reuse and
computers as a computing platform, hardware and software tradeoffs for reverse engineering.
clusters and application performance and programming of clusters. Prerequisite: Doctoral standing.
Prerequisite: Doctoral standing. Schedule Type: Lecture
Schedule Type: Lecture Contact Hours: 3 lecture
Contact Hours: 3 lecture Grade Mode: Standard Letter
Grade Mode: Standard Letter CS 74201 ADVANCED ARTIFICIAL INTELLIGENCE 3 Credit Hours
CS 73305 MULTICORE COMPUTING 3 Credit Hours (Slashed with CS 64201) Advanced topics in AI such as Nature inspired
(Slashed with CS 63305) Starting about 2005, hardware architects began meta-heuristics and their applications in real-world optimization
putting more than one processing core on a single chip, leading to the problems; Bayesian networks and probabilistic reasoning over time with
recent rapid advancements in multicore processor architectures. This applications; Utility theory and decision networks and their applications;
shift has changed almost everything ranging from memory hierarchy game theory and multi-agent systems and their applications; Advanced
and consistency to programming those architectures. The goal of this learning theory such as statistical learning, reinforced learning,
course is to study multicore processor architectures from the perspective probabilistic learning, deep convolution neural network, recurrent neural
of hardware, software, and algorithm design, the challenges, and the network, Long Short-term Memory (LSTM), transfer learning, federated
technologies that are relevant to those architectures. learning, transformers, and their application to vision and speech
Prerequisite: Doctoral standing. understanding; introduction to object recognition, scene analysis and
Schedule Type: Lecture object tracking; introduction to speech understanding; Context-based
Contact Hours: 3 lecture discourse and conversation analysis; multi-modal emotion recognition.
Grade Mode: Standard Letter Prerequisite: Doctoral standing.
Schedule Type: Lecture
CS 73306 EMBEDDED COMPUTING 3 Credit Hours
Contact Hours: 3 lecture
(Slashed with CS 63306) Computational issues structuring programs
Grade Mode: Standard Letter
for processors embedded in other devices such as those found in
automobiles and biological chemical sample processing devices. CS 74301 PATTERN RECOGNITION PRINCIPLES 3 Credit Hours
Prerequisite: Doctoral standing. (Slashed with CS 64301) Introduction to mathematical pattern
Schedule Type: Lecture recognition, feature selection, distribution-free classification, statistical
Contact Hours: 3 lecture classification, nonsupervised learning, sequential learning and
Grade Mode: Standard Letter application.
Prerequisite: Doctoral standing.
CS 73334 HUMAN-ROBOT INTERACTION 3 Credit Hours
Schedule Type: Lecture
(Slashed with CS 43334 and CS 53334) Human-Robot Interaction (HRI)
Contact Hours: 3 lecture
is the study of interactions between humans and robots dedicated to
Grade Mode: Standard Letter
understanding, designing, and evaluating robotic systems for use by and
with humans. HRI is a multidisciplinary field that incorporates human- CS 74401 IMAGE PROCESSING 3 Credit Hours
computer interaction, artificial intelligence, robotics, natural language (Slashed with CS 64401) This course covers digital processing of digital
understanding, design, and social sciences. Interaction between humans imagery. Digitization of TV imagery, noise removal, image enhancement,
and robots may take several forms, but are generally categorized by edge and texture detection, object recognition and scene analysis.
how close in proximity the humans and robots are to each other such as Prerequisite: Doctoral standing.
remote, proximate, and hybrid interaction. In the class, students will learn Schedule Type: Lecture
the fundamental technologies and theories in each category, and blend Contact Hours: 3 lecture
this knowledge with various case studies and lab activities. Grade Mode: Standard Letter
Prerequisite: Doctoral standing. CS 74402 MULTIMEDIA SYSTEMS AND BIOMETRICS 3 Credit Hours
Schedule Type: Lecture (Slashed with CS 64402) This course discusses computational
Contact Hours: 3 lecture techniques for fusion of multimedia data collected by sensors for human-
Grade Mode: Standard Letter 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 CS 76110 COMPUTATIONAL GEOMETRY 3 Credit Hours
(Slashed with CS 65101) System performance measures, processor (Slashed with CS 66110) Geometric structures are the underlying model
implementation, pipelining, system interconnection, memory hierarchy of several important applications, including robotics, graphics, CAD/
interrupts, stack architecture, vector and multiprocessors. CAM, VLSI layout, wireless networks and information visualization.
Prerequisite: Doctoral standing. Computational geometry studies algorithms for geometric problems.
Schedule Type: Lecture Prerequisite: Doctoral Standing.
Contact Hours: 3 lecture Schedule Type: Lecture
Grade Mode: Standard Letter 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 CS 77101 ADVANCED COMPUTER GRAPHICS 3 Credit Hours
confront network designers in high-speed networking such as real-time (Slashed with CS 67101) In-depth study of active research topics in
traffic, congestion control, quality of service (QoS), performance analysis, computer graphics. Topics include volume rendering, image-based
traffic management and internet routing. rendering and modeling, graphics architectures, virtual reality, modeling in
Prerequisite: Doctoral standing. computer graphics, non-photorealistic rendering, computer animation and
Schedule Type: Lecture computer games.
Contact Hours: 3 lecture Prerequisite: Doctoral standing.
Grade Mode: Standard Letter Schedule Type: Lecture
Contact Hours: 3 lecture
CS 75203 WIRELESS AND MOBILE COMMUNICATION NETWORKS 3
Grade Mode: Standard Letter
Credit Hours
(Slashed with CS 65203) Examines how wireless systems work and how CS 77301 SCIENTIFIC VISUALIZATION 3 Credit Hours
mobile systems are supported by the underlying network infrastructure. (Slashed with CS 67301) Discusses the visualization of scientific,
Course covers the architecture and the interactions among different engineering and medical data sets. Introduces mechanisms to acquire
functional units in wireless and mobile systems. sampled or computed data and points out methods to transform these
Prerequisite: Doctoral standing. data into the visual system.
Schedule Type: Lecture Prerequisite: Doctoral standing.
Contact Hours: 3 lecture Schedule Type: Lecture
Grade Mode: Standard Letter Contact Hours: 3 lecture
Grade Mode: Standard Letter
CS 75301 SYSTEM MODELING AND PERFORMANCE EVALUATION 3
Credit Hours CS 77302 INFORMATION VISUALIZATION 3 Credit Hours
(Slashed with CS 65301) Provides a detailed study of queuing, network (Slashed with CS 67302) Information visualization is the science that
models and their application to operating systems, computer time unveils the underlying structure of data sets using visual representations
sharing and multi-access systems. that utilize the powerful processing capabilities of the human visual
Prerequisite: Doctoral standing. perceptual system. In this class, we will study algorithms and systems for
Schedule Type: Lecture visually exploring, understanding, and analyzing large, complex data sets.
Contact Hours: 3 lecture Information visualization focuses on abstract data such as symbolic,
Grade Mode: Standard Letter tabular, networked, hierarchical, or textual information sources. The
objectives of the course are to learn the principles involved in information
CS 76101 ADVANCED TOPICS IN ALGORITHMS 3 Credit Hours
visualization and a variety of existing techniques and systems. The
(Slashed with CS 66101) Advanced algorithms, fast Fourier transforms,
algorithms on trees and graphs, rational and polynomial arithmetic, students will also gain backgrounds and skills that will aid the design of
new, innovative visualizations in realistic applications.
GCD, factoring, numerical and symbolic computational algorithms,
Prerequisite: Doctoral standing.
Rischintegration algorithm, pattern matching.
Schedule Type: Lecture
Prerequisite: Doctoral standing.
Contact Hours: 3 lecture
Schedule Type: Lecture
Grade Mode: Standard Letter
Contact Hours: 3 lecture
Grade Mode: Standard Letter CS 79995 SPECIAL TOPICS IN COMPUTER SCIENCE 1-3 Credit
Hours
CS 76105 PARALLEL AND DISTRIBUTED ALGORITHMS 3 Credit
(Repeatable for credit) (Slashed with CS 69995) Special topics in
Hours
computer science.
(Slashed with CS 66105) Introduces and evaluates important models of
Prerequisite: Graduate standing.
parallel (synchronous and asynchronous) and distributed computation,
Schedule Type: Lecture
using basic searching, sorting, graph, matrix, numerical computing and
Contact Hours: 1-3 lecture
computational geometry algorithms.
Grade Mode: Standard Letter
Prerequisite: Doctoral standing.
Schedule Type: Lecture CS 89098 RESEARCH 1-15 Credit Hours
Contact Hours: 3 lecture (Repeatable for credit) Research or individual investigation for doctoral
Grade Mode: Standard Letter 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