School of Interactive Computing

Interactive and intelligent computing is an emerging discipline on the frontier of ways computation impacts the external world. The School of Interactive Computing advances computing-mediated interactions by encompassing fields ranging from artificial intelligence and machine learning to graphics and computer vision to interface design and empirical methods. We don't just evaluate technology, we create technology that makes interactions better. Much of the research within the School of Interactive Computing produces new artifacts that embody new capabilities or methods. Examples include:

  • Individuals working with traditional computers
  • Groups of people using ubiquitous computing capabilities throughout various environments
  • Researchers visualizing scientific data
  • Students developing and altering middle school physics simulations
  • Automated intelligent surveillance systems monitoring airport tarmacs
  • Robots delivering pharmaceuticals to patients in hospitals

Whether an advance is in robotics, augmented reality, or ubiquitous computing, it is developed in the context of a prototype. School of Interactive Computing students become proficient in many areas such as mechanical or electrical engineering, and industrial design. The School of Interactive Computing develops practitioners, future innovators and researchers by offering numerous degree programs.

At the undergraduate-level, the School of Interactive Computing is an integral part of the College's BS in Computer Science, and oversees aspects of Computational Media's Bachelor's degree-offered jointly with the School of Literature, Communication and Culture (LMC) and the School of Music. The School of Interactive Computing also administers the interdisciplinary Master's in Human Computer Interaction (HCI) program in which students from the School of Interactive Computing, LMC, and Psychology participate. At the graduate-level the School of Interactive Computing students can pursue Master's and PhD degrees in Computer Science, or a PhD in Human-Centric Computing—the first of its kind in the nation—a Robotics PhD, and others.

CS 1100. Freshman Leap Seminar. 1 Credit Hour.

Small group discussions with first year students are led by one or more faculty members and include a variety of foundational, motivational, and topical subjects for computationalist.

CS 1171. Introductory Computing in MATLAB. 1 Credit Hour.

For students with a solid introductory computing background needing to demonstrate proficiency in the MATLAB language.

CS 1301. Introduction to Computing. 3 Credit Hours.

Introduction to computing principles and programming practices with an emphasis on the design, construction and implementation of problem solutions use of software tools.

CS 1301R. Introduction to Computing for Computer Science Recitation. 0 Credit Hours.

Recitation for CS 1301.

CS 1315. Introduction to Media Computation. 3 Credit Hours.

Introduction to computation (algorithmic thinking, data structures, data transformation and processing, and programming) in a media and communication context. Credit not awarded for both CS 4452 and CS 1315.

CS 1315R. CS 1315 Recitation. 0 Credit Hours.

Recitation for CS 1315.

CS 1331. Introduction to Object Oriented Programming. 3 Credit Hours.

Introduction to techniques and methods of object-oriented programming such an encapsulation, inheritance, and polymorphism. Emphasis on software development and individual programming skills.

CS 1331R. CS 1331 Recitation. 0 Credit Hours.

Recitation for CS 1331.

CS 1332. Data Structures and Algorithms for Applications. 3 Credit Hours.

Computer data structures and algorithms in the context of object-oriented programming. Focus on software development towards applications.

CS 1332R. CS 1332 Recitation. 0 Credit Hours.

Recitation for CS 1332.

CS 1371. Computing for Engineers. 3 Credit Hours.

Foundations of computing with an introduction to design and analysis of algorithms and an introduction to design and construction of programs for engineering problem-solving.

CS 1371R. CS 1371 Recitation. 0 Credit Hours.

Recitation for CS 1371.

CS 1803. Special Topics. 3 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 1XXX. Computer Sci Elective. 1-21 Credit Hours.

CS 2050. Introduction to Discrete Mathematics for Computer Science. 3 Credit Hours.

Proof methods, strategy, correctness of algorithms over discrete structures. Induction and recursion. Complexity and order of growth. Number theoretic principles and algorithms. Counting and computability. Credit not allowed for both CS 2050 and CS 2051.

CS 2050R. CS 2050 Recitation. 0 Credit Hours.

Recitation for CS 2050.

CS 2051. Honors - Induction to Discrete Mathematics for Computer Science. 3 Credit Hours.

Proof methods, strategy, correctness of algorithms over discrete structures. Induction and recursion. Complexity and order of growth. Number theoretic principles and algorithms. Counting and computability. Credit not allowed for both CS 2051 and CS 2050.

CS 2110. Computer Organization and Programming. 4 Credit Hours.

An introduction to basic computer hardware, machine language, assembly language, and C programming.

CS 2200. Computer Systems and Networks. 4 Credit Hours.

A broad exposure to computer system structure and networking including software abstractions in operating systems for orchestrating the usage of the computing resources.

CS 2261. Media Device Architectures. 4 Credit Hours.

Controlling the interface between hardware and software in media devices. Machine-level programming (e.g., in C) to create graphics, generate sound, and support user interaction.

CS 2316. Data Manipulation for Science and Industry. 3 Credit Hours.

Reading, manipulating, and exporting data for engineering, business, and scientific applications. Covers GUI's, File I/O, basic SQL, and web scraping. Emphasis on software development.

CS 2316R. CS 2316 Recitation. 0 Credit Hours.

Recitation for CS 2316.

CS 2340. Objects and Design. 3 Credit Hours.

Object-oriented programming methods for dealing with large programs. Focus on quality processes, effective debugging techniques, and testing to assure a quality product.

CS 2698. Undergraduate Research Assistantship. 1-12 Credit Hours.

Independent research conducted under the guidance of a faculty member.

CS 2699. Undergraduate Research. 1-12 Credit Hours.

Independent research conducted under the guidance of a faculty member.

CS 2701. Startup Lab: Introduction to Technology Ventures. 3 Credit Hours.

Elements of technology venture creation including opportunity identification and validation, ideation, customer discovery, markey analysis, minimum viable product development, business models, intellectual property, and capital raises. Cross-listed with COE 2701.

CS 2740. Foundations of Mathematics and Computing. 3 Credit Hours.

This course introduces the essential mathematical concepts and computational techniques that form the basis of modern computing.

CS 2801. Special Topics. 1 Credit Hour.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 2802. Special Topics. 2 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 2803. Special Topics. 3 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 2XXX. Computer Sci Elective. 1-21 Credit Hours.

CS 3001. Computing, Society, and Professionalism. 3 Credit Hours.

Examines the role and impact of information and communication technology in society, with emphasis on ethical, professional, and public policy issues.

CS 3101. Computer Science Ventures. 3 Credit Hours.

Students will learn how computer-science-based ventures are developed. The course is project-based. Students propose, analylze, pitch, design, implement, package and market web-2.0 and virtual-world-based products and services.

CS 3210. Design of Operating Systems. 3 Credit Hours.

Operating systems concepts, including multi-threading, scheduling, synchronization, communication, and access control. Projects will cover design and implementation of several operating systems components.

CS 3220. Computer Structures: Hardware/Software Codesign of a Processor. 3 Credit Hours.

Principles in pipelined processor design, with emphasis on the need for a close interaction between code generation and architecture.

CS 3235. Introduction to Information Security. 3 Credit Hours.

Terms/concepts for threats; controls; problem definition; comprehensive information security model; security for operating systems, databases, network/distributed systems; administering security.

CS 3237. Human Dimension of Cybersecurity: People, Organizations, Societies. 3 Credit Hours.

This course will illuminate the human dimension of cybersecurity, and explore the attitudes, behaviors and perceptions associated with different stakeholders in cybersecurity.

CS 3240. Languages and Computation. 3 Credit Hours.

Interpreters as abstract machines and the tools used to construct them, such as scanners and parsers. An introduction to models of computation as embodied by different programming languages. Limits of and relationships between these models.

CS 3251. Computer Networking I. 3 Credit Hours.

Introduction to problems in computer networking, including error recovery, medium access, routing, flow control, and transport. Emphasis on current best practice. Includes programming of networked applications.

CS 3300. Introduction to Software Engineering. 3 Credit Hours.

Team-based project class to introduce and apply software engineering principles and practices.

CS 3311. Part 1 of a 2 semester project design and implementation sequence conjoined with Tech Communications. 1 Credit Hour.

Part 1 of a 2 semester project design and implementation sequence conjoined with Technical Communications. Prepare requirements, design and project plans. Develop a basic prototype of the desired system. Project is completed in CS 3312-Project Implementation. Credit will not be awared for CS 3311 and CS 4911.

CS 3312. Project Implementation. 2 Credit Hours.

The second part of a 2 semester project design and implementation sequence conjoined with Technical Communications. Implement a project designed in CS 3311. Credit will not be awarded for CS 3312 and CS 4911.

CS 3451. Computer Graphics. 3 Credit Hours.

Geometric constuctions; transformations; perception; reflection models; photorealistic; non-photorealistic, and image-based rendering; rendering software and API's; triangle-mesh processing; graphic acceleration; user-interaction, design and animation.

CS 3510. Design and Analysis of Algorithms. 3 Credit Hours.

Basic techniques of design and analysis of efficient algorithms for standard computational problems. NP-Completeness. Credit not allowed for both CS 3510 and CS 3511.

CS 3511. Design and Analysis of Algorithms, Honors. 3 Credit Hours.

Techniques of design and analysis of efficient algorithms for standard computational problems. NP-Completeness Project. Credit not allowed for both CS 3511 and CS 3510.

CS 3600. Introduction to Artificial Intelligence. 3 Credit Hours.

An introduction to artificial intelligence and machine learning. Topics include intelligent system design methodologies, search and problem solving, supervised and reinforced learning.

CS 3630. Introduction to Perception and Robotics. 3 Credit Hours.

Covers fundamental problems and leading solutions for computer and robot perception and action from the point of view of autonomous robot navigation.

CS 3651. Prototyping Intelligent Devices. 4 Credit Hours.

Hands-on course teaching the fundamentals of electronics of electrical and mechanical prototyping.

CS 3743. Analysis of Emerging Technologies. 3 Credit Hours.

Analysis of emerging technologies and their impacts for firm practice, market practice, policy, and society. Credit not allowed for both CS 3743 and MGT 3743 or ME 3743.

CS 3744. Managing Product, Service & Technology Development. 3 Credit Hours.

Analysis of the managerial challenges of the product development process.

CS 3750. Human Computer Interface Design and Evaluation. 3 Credit Hours.

Human computer interface is considered in terms of user-system compatibility. Concepts in human factors and interface design are covered in relation to capabilities of both humans and computers. Crosslisted with PSYC 3750.

CS 3751. Introduction to User Interface Design. 3 Credit Hours.

Describes the characteristics of interaction between humans and computers and demonstrates techniques for the design and evaluation of user interfaces and computational systems.

CS 3790. Introduction to Cognitive Science. 3 Credit Hours.

Multidisciplinary perspectives on cognitive science. Interdisciplinary approaches to issues in cognition, including memory, language, problem solving, learning, perception, and action. Crosslisted with PST, PSYC, and ISYE 3790.

CS 3801. Special Topics. 1 Credit Hour.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 3803. Special Topics. 3 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 3873. Special Topics. 3 Credit Hours.

Special Topics in Computer Science.

CS 3XXX. Computer Sci. 1-21 Credit Hours.

CS 4001. Computing, Society, and Professionalism. 3 Credit Hours.

Examines the role and impact of information and communication technology in society, with emphasis on ethical, professional, and public policy issues. Credit not allowed for both CS 4001 and 4002.

CS 4002. Robots and Society. 3 Credit Hours.

Examines the role and impact of robotics, distributed sensing and actuation, ubiquitous computing and related technology in society, emphasizing ethical, professional and public policy issues. Credit not allowed for both CS 4001 and 4002.

CS 4003. AI, Ethics, and Society. 3 Credit Hours.

This course covers various Artificial Intelligence and bias mitigation techniques that can be used to counterbalance the potential misuse and abuse of learning from data.

CS 4010. Introduction to Computer Law. 3 Credit Hours.

Provides an introduction to copyrights, patents, trade secrets, trademarks, and commercial law pertaining to computer software and hardware.

CS 4057. Business Process Analysis and Design. 3 Credit Hours.

Business processes are the mechanisms by which work is organized and performed. This course covers the analysis of business technology. Credit will not be awarded for both CS 4057 and MGT 4057.

CS 4117. Introduction to Malware Reverse Engineering. 4 Credit Hours.

This course exposes students to an immersive, hands-on experience in the dissection and analysis of the code, structure, and functionality of malicious software.

CS 4210. Advanced Operating Systems. 3 Credit Hours.

Operating system abstractions and their implementations, multi-threading, efficient inter-address communication, high-level synchronization, introduction to multi-processor and distributed operating systems, real-time systems. Credit is not awarded for both CS 4210 and CS 6210.

CS 4220. Programming Embedded Systems. 3 Credit Hours.

Design principles, programming techniques, and case studies of embedded real-time systems. Interface techniques and devices. Representations and reasoning about physical processes.Credit not awarded for both CS 4220 and CS 6235.

CS 4235. Introduction to Information Security. 3 Credit Hours.

Terms/concepts, threats, controls; problem definition; comprehensive information security model; security for operating systems, databases, network/distributed systems; administering security; legal/ethical/policy issues. Credit not allowed for both CS 4235 and CS 6035.

CS 4238. Computer Systems Security. 3 Credit Hours.

Trusted computing base, hardware support for protection and virtualization, authentication, access control and authorization, discretionary and mandatory security policies, secure kernel design, and secure databases. Students cannot receive credit for CS 4238 and CS 6238.

CS 4239. Enterprise Cybersecurity Management. 3 Credit Hours.

The duties and concerns of an enterprise Chief Information Security Officer including strategy, cybersecurity operations, risk management, and governance.

CS 4240. Compilers, Interpreters, and Program Analyzers. 3 Credit Hours.

Study of techniques for the design and implementation of compilers, interpreters, and program analyzers, with consideration of the particular characteristics of widely used programming languages.

CS 4243. Cyber Warfare. 3 Credit Hours.

This course provides students with a framework for understanding cyber warfare from a technological and political standpoint.

CS 4251. Computer Networking II. 3 Credit Hours.

Principles of computer networks, including medium access, ARQ protocols, routing, congestion avoidance, and control. Emphasis on design options and tradeoffs. Includes significant network application programming.

CS 4261. Mobile Applications and Services for Converged Networks. 3 Credit Hours.

This course provides an introduction to mobile applications and services with an emphasis on voice and data service integration in modern commercial networks.

CS 4262. Network Security. 3 Credit Hours.

Fundamental concepts of network information security, including applied cryptography, secure access methods, and vulnerabilities in network protocols and network applications. Students cannot receive credit for CS 4262 and CS 6262.

CS 4263. Psychology of Cybersecurity. 3 Credit Hours.

This course will explore psychological processes relevant to cybersecurity. Students will gain an appreciation for psychological influence factors inherent in the current cyberspace environment.

CS 4265. Technical Introduction to Blockchain and Cryptocurrencies. 3 Credit Hours.

Undergraduate Introduction to Blockchain and cryptocurrencies, building on formal crypto and distributed systems. Cover fundamental and practical aspects. Includes programming projects and a report.

CS 4267. Critical Infrastructures Security and Resilience. 3 Credit Hours.

Critical infrastructures are large cyber-physical networks essential to the well-being of the societies they serve. We study their resilience and security against a range of disruptions.

CS 4271. Cybersecurity of Drones. 3 Credit Hours.

The course covers introductory topics in the security and privacy of cyber-physical systems especially unmanned aerial vehicles (UAVs) or drones. The goal is to expose students to fundamental security primitives specific to cyber-physical systems.

CS 4290. Advanced Computer Organization. 3 Credit Hours.

Topics concerning the hardware design of computer systems. Advanced techniques in high-performance pipelined central processing units. Memory and I/O systems. Parallel processors including shared-memory multiprocessors and cluster computers. Credit is not allowed for both CS 4290 and any of the following courses: CS 6290, ECE 4100, ECE 6100.

CS 4365. Introduction to Enterprise Computing. 3 Credit Hours.

A survey of basic software tools and techniques used in mission-critical systems and applications, combined with in-depth study of fundamental principles underlying enterprise computing. Credit not allowed for both 4365 and CS 6365.

CS 4392. Programming Languages. 3 Credit Hours.

Fundamentals of programming language design and theory. Topics include formal semantics and type systems for imperative, functional, and parallel languages; lambda calculus and its variants; the Curry-Howard Correspondence; techniques for proving language properties and verifying program specifications.

CS 4400. Introduction to Database Systems. 3 Credit Hours.

Comprehensive coverage of mainstream database concepts such as the entity-relationship model, relational databases, query languages, and database design methodology. Includes a project. Credit not allowed for both CS 4400 and CS 6402.

CS 4420. Database System Implementation. 3 Credit Hours.

Study of fundamental software components/algorithms of a database system, including the file manager, query engine, lock manager, and recovery manager. Includes a project component. Credit not allowed for both CS 4420 and CS 6422.

CS 4423. Advanced Database System Implementation. 3 Credit Hours.

Study of advanced topics in implementing a database system, including the query optimizer, concurrency control and recovery protocols. Includes a project component.

CS 4440. Emerging Database Technologies and Applications. 3 Credit Hours.

The course will cover current developments including distributed, object-oriented, temporal-spatial, Web-based, mobile, and active database technologies, and data warehousing and mining applications.

CS 4455. Video Game Design and Programming. 3 Credit Hours.

Techniques for electronic game design and programming, including graphics game engines, motion generation, behavioral control for autonomous characters, interaction structure, social and interface issues of multi-user play, and the business aspects of game development. Credit not allowed for both CS 4455 and CS 6457.

CS 4460. Introduction to Information Visualization. 3 Credit Hours.

Introduction to principles and techniques of information visualization, the presentation of primarily abstract data to help people understand, analyze and make sense of data. Students cannot receive credit for both CS 4460 and CS 6730.

CS 4460R. CS 4460 Recitation. 0 Credit Hours.

This recitation supports the information visualization (CS 4460) course. Sessions will focus on introducing students to technical work with visualization programming languages and grammars important to the course.

CS 4462. Animal-Centered Computing. 3 Credit Hours.

Explores current research, techniques, and methods in computing as applied to animals, both domestic and wild. Covers technology for understanding animal cognition and behavior, animal communication, animal welfare and enrichment, and conservation, as well as ethics of computing for animals.

CS 4464. Computational Journalism. 3 Credit Hours.

A study of computational and technological advancements in journalism with emphasis on technologies for developing new tools and their potential impact on news and information. Credit not allowed for both CS 4464 and CS 6465.

CS 4470. Introduction to User Interface Software. 3 Credit Hours.

Concepts, techniques, structures, and strategies for implementation of interactive software. Credit not awarded for both CS 4470 and CS 6456.

CS 4472. Design of Online Communities. 3 Credit Hours.

Introduction to the design of online communities. Students study an existing community in depth. Credit not allowed for both CS 4472 and CS 6470.

CS 4475. Computational Photography. 3 Credit Hours.

An introductory course on the scientific, technical, perceptual, and aesthetic principles of pictures. Emphasis is on the techniques of image formation, analysis, merging, modification and their use for depiction of reality on a 2D medium of photographs.

CS 4476. Introduction to Computer Vision. 3 Credit Hours.

Introduction to computer vision including fundamentals of image formation, camera imaging geometry, feature detection and matching, stereo, motion estimation and tracking, image classification and scene understanding. Credit will not be awarded for both CS 4476 and CS 4495 or CS 6476.

CS 4488. Procedural Content Generation. 3 Credit Hours.

Students will learn algorithmic techniques for creating geometric models and images that can be used for games, feature films or virtual reality.

CS 4495. Computer Vision. 3 Credit Hours.

An introduction to computer vision and machine perception. An intensive study of the process of generating a symbolic description of the scene by interpretation of images(s).

CS 4496. Computer Animation. 3 Credit Hours.

Motion techniques for computer animation and interactive games (keyframing, procedural methods, motion capture, and simulation) and principles for storytelling, composition, lighting, and interactivity.

CS 4497. Computational Aesthetics. 3 Credit Hours.

Aesthetics plays a key role in society and economy. Students will invent and test beautification algorithms for colors, music, and animations and more.

CS 4510. Automata and Complexity Theory. 3 Credit Hours.

Computational machine models and their language classes. Undecidability. Resource-bounded computations. Central complexity-theoretic concepts such as complexity classes, reducibility and completeness.

CS 4540. Advanced Algorithms. 3 Credit Hours.

Advanced techniques for designing and analyzing efficient algorithms for combinatorial, algebraic, and number theoretic problems. Credit not allowed for both CS 4540 and CS 6505 or CS 4540 and CS 6515.

CS 4590. Principles and Applications of Computer Audio. 3 Credit Hours.

A well-rounded exploration of digital audio and its importance in current research and applications. Exposes students to the principles, technology, and current research of computer audio.

CS 4605. Mobile and Ubiquitous Computing. 3 Credit Hours.

Investigates the infrastructure required to develop mobile and ubiquitous computing applications and establishes major research themes and experimental practices.Credit not awarded for both CS 4605 and CS 7470.

CS 4615. Knowledge-Based Modeling and Design. 3 Credit Hours.

Information-processing theories of modeling and design; topics include design decision-making, problem-solving and learning, and knowledge-based modeling and design.

CS 4625. Intelligent and Interactive Systems. 3 Credit Hours.

Explores how human-computer interaction and machine learning can interact to create personalized information environments. Emphasis on current research efforts from both fields.

CS 4635. Knowledge-Based Artificial Intelligence. 3 Credit Hours.

Structured knowledge representation; knowledge-based methods of reasoning and learning; problem-solving, modeling and design.

CS 4641. Machine Learning. 3 Credit Hours.

Machine learning techniques and applications. Topics include foundational issues; inductive, analytical, numerical, and theoretical approaches; and real-world applications. Credit not awarded for both CS 4641 and CS 7641/CSE 6740/ISYE 6740/ECE 4252.

CS 4644. Deep Learning. 3 Credit Hours.

This course will cover the fundamental underpinnings and practice of deep learning, including neural network architectures, optimization algorithms, and applications to perception and Artificial Intelligence.

CS 4646. Machine Learning for Trading. 3 Credit Hours.

This course introduces students to the real world challenges of implementing machine learning based strategies including the algorithmic steps from information gathering to market orders.Credit not awarded for both CS 4646 and CS 7646.

CS 4649. Robot Intelli Planning. 3 Credit Hours.

We investigate algorithms for robots and complex systems that make intelligent decisions. Emphasis on the theoretical and empirical properties of classical, geometric, stochastic/dynamic planning.

CS 4650. Natural Language Understanding. 3 Credit Hours.

Methodologies for designing systems that comprehend natural language. Topics include lexical analysis, parsing, interpretation of sentences, semantic representation, organization of knowledge, and inference mechanisms. Credit not allowed for both CS 4650 and CS 7650.

CS 4660. Introduction to Educational Technology. 3 Credit Hours.

Introduction to the theory and practice of educational technology. Covers learning theory applicable to educational technology, explains major research findings. Credit not awarded for both CS 4660 and CS 6460.

CS 4665. Educational Technology: Design and Evaluation. 3 Credit Hours.

Intensive project class in which students design, implement, and evaluate a piece of educational technology, applying the theory learned in Introduction to Educational Technology.

CS 4670. Computer-Supported Collaborative Learning. 3 Credit Hours.

Research and practice in computer-supported collaborative learning. Review of existing systems and research, as well as evaluation and design methods.

CS 4675. Internet Computing Systems, Services and Applications. 3 Credit Hours.

Focusing on fundamental issues, concepts, techniques, and technical challenges that are critical for designing and developing Internet systems, services and applications. Credit not allowed for both CS 4675 and CS 6675.

CS 4690. Empirical Methods for User Interface Design and Evaluation. 3 Credit Hours.

Introduction to empirical methods for gathering requirements and evaluating the end-user and usability of software systems.

CS 4698. Undergraduate Research Assistantship. 1-12 Credit Hours.

Independent research conducted under the guidance of a faculty member.

CS 4699. Undergraduate Research. 1-12 Credit Hours.

Independent research conducted under the guidance of a faculty member.

CS 4711. Health Sensing & Interventions. 3 Credit Hours.

Through understanding the principles physiology, medical devices and health technologies, we experiment with and design precision health sensing and feedback hardware and software.

CS 4723. Inter Capstone Design. 3 Credit Hours.

Entrepreneurial Junior Design. Teams comprised of CS, ECE, and ME students will design and build prototypes of their invention ideas and explore market fit.

CS 4725. Information Security Strategies and Policies. 3 Credit Hours.

Information security vulnerabilities and risks; legal, cost, privacy, and technology constraints; derivation of strategies; technical and procedural means of achieving desired results. Credit will not be awarded for both CS 4725 and CS 6725 or MGT 4725 or MGT 6725 or PUBP 4725.

CS 4726. Privacy, Technology, Policy, and Law. 3 Credit Hours.

This course takes a multi-disciplinary approach to privacy, a topic of great interest in the technology, policy, ethics, law, and business realms. Credit will not be awarded for both CS 4726 and MGT 4726 or MGT 6726 or CS 6726.

CS 4731. Game AI. 3 Credit Hours.

Examines the expressive possibilities of artificial intelligence techniques in computer games. Students learn AI programming techniques, and how they strongly interface with game design.

CS 4741. Integrative Management Development-Project Preparation. 3 Credit Hours.

Individual and group-based experiential learning activities to develop integrated human system management skills that prepare students for more successful capstone collaboration and learning. Credit not allowed for both CS 4741 and MGT 4741 or ME 4741.

CS 4742. Integrated Computing and Management Capstone Project. 4 Credit Hours.

Project-based course for students in Computing and Management minor to work in interdisciplinary teams on projects provided by corporate affiliates. Credit not allowed for both CS 4742 and MGT 4742 or ME 4742.

CS 4745. Information and Communication Technologies and Global Development. 3 Credit Hours.

Focus on technology design, adoption, and use as seen through the lens of global development.

CS 4770. Mixed Reality Experience Design. 3 Credit Hours.

Focuses on informal design, integration of media theory, HCI and technology issues. Significant group design projects. Credit not awarded for both CS 4770 and LMC 4733/6340/CS 6770.

CS 4795. GPU Programming for Video Games. 3 Credit Hours.

3-D graphics pipelines. Physically-based rendering. Game engine architectures. GPU architectures. Graphics APIs. Vertex and pixel shader programming. Post-processing effects. Deferred rendering.

CS 4801. Special Topics. 1 Credit Hour.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 4803. Special Topics. 3 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 4816. Special Topics. 6 Credit Hours.

Special Topics.

CS 4854. Special Topics. 4 Credit Hours.

CS 4863. Special Topics. 3 Credit Hours.

Special Topics.

CS 4873. Special Topics. 3 Credit Hours.

CS 4883. Special Topics. 3 Credit Hours.

CS 4893. Special Topics. 3 Credit Hours.

Special Topics for CS (lecture + lab).

CS 4901. Special Problems. 1-21 Credit Hours.

An investigation of significant areas of information in computer science. Guided study and research.

CS 4902. Special Problems. 1-21 Credit Hours.

An investigation of significant areas of information and computer science. Guided study and research.

CS 4903. Special Problems. 1-21 Credit Hours.

An investigation of significant areas of information and computer science. Guided study and research.

CS 4980. Research Capstone Project. 1-21 Credit Hours.

CS 4XXX. Computer Sci Elective. 1-21 Credit Hours.

CS 6035. Introduction to Information Security. 3 Credit Hours.

A broad spectrum of information security: threats, basic cryptography, software vulnerabilities, programming for malice, operating system protections, network security, privacy, data mining, computer crime.

CS 6150. Computing For Good. 3 Credit Hours.

Exploring challenges faced by underserved populations and developing countries from a computing perspective.

CS 6200. Graduate Introduction to Operating Systems. 3 Credit Hours.

This course teaches operating system abstractions, mechanisms, and their implementations, including for concurrency (threads) and synchronization, resource management (CPU, memory, I/O), and distributed services.

CS 6210. Advanced Operating Systems. 3 Credit Hours.

Introduction to graduate-level topics in operating systems using research papers, textbook excerpts, and projects. Provides students thorough comprehension of distributed and parallel computer systems. Credit is not awarded for both CS 4210 and CS 6210.

CS 6211. System Design for Cloud Computing. 3 Credit Hours.

Through in-depth presentations and hands-on projects for each layer of the full stack of cloud technologies, learners acquire the systems design skills for cloud computing.

CS 6220. Big Data Systems and Analytics. 3 Credit Hours.

This course will cover the concepts, techniques, algorithms, and systems of big data systems and data analytics, with strong emphasis on big data processing systems, fundamental models and optimizations for data analytics and machine learning, which are widely deployed in real world big data analytics and applications.

CS 6222. Machine Learning Systems. 3 Credit Hours.

CS 6235. Real-Time System Concepts and Implementation. 3 Credit Hours.

Principles of real-time systems, as occurring in robotics and manufacturing, interactive, and multimedia applications. Reviews and uses real-time operating systems.Credit not awarded for both CS 6235 and CS 4220.

CS 6238. Secure Computer Systems. 3 Credit Hours.

Design principles of secure systems, authentication, access control and authorization, discretionary and mandatory security policies, secure kernel design, and secure databases.

CS 6239. Enterprise Cybersecurity Management. 3 Credit Hours.

The duties and concerns of an enterprise Chief Information Security Officer including strategy, cybersecurity operations, risk management, and governance.

CS 6241. Design and Implementation of Compilers. 3 Credit Hours.

Design and implementation of modern compilers, focusing upon optimization and code generation.

CS 6245. Compiling for Parallelism. 3 Credit Hours.

Design and implementation of compilers for parallel and distributed computers, focusing upon optimization and code generation.

CS 6250. Computer Networks. 3 Credit Hours.

Principles and practice of computer networks, including signaling and framing, error control, medium access, routing, congestion control, end-to-end transport, and network APIs.

CS 6260. Applied Cryptography. 3 Credit Hours.

Cryptographic algorithms, cryptanalysis, symmetric cryptography, public key cryptography, DES, AES, RSA, hash and MAC functions, digital signatures, pseudo-random generators, cryptographic protocols, SSL//TLS, SET. Credit not allowed for both CS 6260 and ECE 6280.

CS 6261. Security Operations and Incident Response. 3 Credit Hours.

The course covers the principles and technologies utilized in and the processes followed in responding to cybersecurity incidents and crises. The course utilizes real-life case studies to develop how these technologies and processes are applied within the cybersecurity industry.

CS 6262. Network Security. 3 Credit Hours.

Design principles of secure network protocols and systems, authentication, integrity, confidentiality, privacy, information hiding, digital watermarking, access control, firewall, intrusion detection, and case studies.

CS 6263. Intro to Cyber-Physical Systems Security. 3 Credit Hours.

This course provides an introduction to security issues relating to various cyber-physical systems including industrial control systems and those considered critical infrastructure systems.

CS 6264. Information Security Lab: System and Network Defenses. 3 Credit Hours.

This course will help students develop both in-depth knowledge and hands-on skills in a number of important cybersecurity areas, including software security, malware and threat analysis, end-point security, network security, web security, mobile security, and machine learning based security analytics.

CS 6265. Information Security Lab: Binary Exploitation. 3 Credit Hours.

This course covers advanced techniques for writing exploits, taught through an intense, hands-on security laboratory, following a cyberspace war game called Capture-The-Flag.

CS 6266. Information Security Practicum. 5 Credit Hours.

Capstone independent study placing each student in a commercial, industrial, academic, or government setting where they must solve real-world security problems.

CS 6267. Critical Infrastructures Security and Resilience. 3 Credit Hours.

Critical infrastructures are large cyber-physical networks essential to the well-being of the societies they serve. We study their resilience and security against a range of disruptions.

CS 6268. Psychology of Cybersecurity. 3 Credit Hours.

This course will explore psychological processes relevant to cybersecurity. Students will gain an appreciation for psychological influence factors inherent in the current cyberspace environment.

CS 6270. Technical Introduction to Blockchain and Cryptocurrencies. 3 Credit Hours.

Graduate Introduction to Blockchain and cryptocurrencies, building on formal crypto and distributed systems. Cover fundamental and practical aspects. Includes programming projects and research presentation. Students may not receive academic credit for both CS 4265 and CS 6270.

CS 6271. Cybersecurity of Drones. 3 Credit Hours.

The course covers introductory topics in the security and privacy of cyber-physical systems especially unmanned aerial vehicles (UAVs) or drones. The goal is to expose students to fundamental security primitives specific to cyber-physical systems.

CS 6290. High-Performance Computer Architecture. 3 Credit Hours.

Topics concerning very high-performance computers including techniques exploiting parallelism in single and multiple processor systems. Credit not allowed for both CS 6290 and any of the following courses: CS 4290, ECE 4100, ECE 6100.

CS 6291. Embedded Software Optimizations. 3 Credit Hours.

First, this course introduces the student to embedded domain-specific processor and instruction set design issues. Next, machine-specific optimizations for performance and for energy consumption are discussed.

CS 6300. Software Development Process. 3 Credit Hours.

The process of developing software systems. Includes development and assessment of processes, their instantiation in actual product development, and techniques ensuring quality of developed products.

CS 6301. Advanced Topics in Software Engineering. 3 Credit Hours.

This project-based course will cover fundamental principles, advanced techniques, and tools for the development of high-quality, industrial-strength software.

CS 6310. Software Architecture and Design. 3 Credit Hours.

Principles and concepts involved in the design and analysis of large software systems.

CS 6340. Advanced Topics in Software Analysis and Testing. 3 Credit Hours.

Fundamental prinicples and advanced techniques for static and dynamic program analysis and software testing. Software reliability, resilience, and trustworthiness.

CS 6365. Introduction to Enterprise Computing. 3 Credit Hours.

Survey of basic software concepts and techniques used in mission-critical systems and applications, combined with in-depth study of fundamental principles underlying enterprise computing. Credit not allowed for both CS 6365 and CS 4365.

CS 6390. Programming Language Design. 3 Credit Hours.

Design, structure, and goals of programming languages. Object-oriented, logic, functional, and traditional languages. Semantic models. Parallel programming languages.

CS 6400. Database Systems Concepts and Design. 3 Credit Hours.

Study of fundamental concepts with regard to relational databases. Topics covered include database design, query processing, concurrency control, and recovery. Credit not given for both CS 6400 and CS 6754.

CS 6402. Databases and Information Security. 3 Credit Hours.

Fundamentals of designing and using databases: conceptual data models to database-specific models, SQL, storage structures. Security-related topics include privacy, access control, backup, recovery, SQL injection. Credit not allowed for both CS 6402 and CS 4400.

CS 6422. Database System Implementation. 3 Credit Hours.

Design and implementation of a database system covering: storage manager, query optimizer, transaction manager, and recovery manager. Study of the advantages of different implementation algorithms. Credit not allowed for both CS 6422 and CS 4420.

CS 6423. Advanced Database System Implementation. 3 Credit Hours.

Study of advanced topics in implementing a database system, including the query optimizer, concurrency control and recovery protocols. Includes a project component.

CS 6435. Digital Health Equity. 3 Credit Hours.

This course introduces individual, interpersonal, and societal influences on health; how these create health disparities, and how digital health technologies can help achieve health equity.

CS 6440. Introduction to Health Informatics. 3 Credit Hours.

A broad review of the US health system and the application of informatics to the clinical practice of medicine, digital imaging, public health and bioinformatics.

CS 6441. Personal Health Informatics. 3 Credit Hours.

This course will cover the design of personal health technologies. Students will apply the taught design issues to a semester-long health application design project.

CS 6451. Introduction to Human-Centered Computing. 3 Credit Hours.

Introduction to the range of issues across the HCC disciplines, including design and research methodologies: cognitive, social, and cultural theories; assessment and evaluation: ethical issues.

CS 6452. Prototyping Interactive Systems. 3 Credit Hours.

Introduction to design, prototyping and implementation of systems for human-centered computing. Focuses on core concepts in computer science and implications for interactive systems.

CS 6454. Qualitative Methods for Design of Human Computer Interaction. 3 Credit Hours.

Qualitative methods for HCI including data collection through interviews, observations and design, analysis using research and industry standards, and methods for communicating findings to industry.

CS 6455. User Interface Design and Evaluation. 3 Credit Hours.

Examines usability in the software development process with an emphasis on usability, requirements, methodology, design, and evaluation.

CS 6456. Principles of User Interface Software. 3 Credit Hours.

Considers the architectural and algorithmic principles behind the implementation of interactive software systems and the tools that support them. Credit not awarded for CS 6456 and CS 4470.

CS 6457. Video Game Design and Programming. 3 Credit Hours.

Techniques for electronic game design and programming, including graphics, game engines, animation, behavioral control for autonomous characters, interaction, social and interface issues of multi-user play. Credit not allowed for both CS 6457 and CS 4455.

CS 6458. Educational Game Design. 3 Credit Hours.

CS 6460. Educational Technology: Conceptual Foundations. 3 Credit Hours.

Introduction to educational technology, with an emphasis on theoretical foundations. Introduces basic philosophies, approaches, and technologies. Analyzes issues surrounding technology's impact on education. Credit not awarded for both CS 4660 and CS 6460.

CS 6461. CS Education Research. 3 Credit Hours.

Introduction to computing education research (CER). History and influential early work. Learning goals for different populations. Design of research studies in CER.

CS 6465. Computational Journalism. 3 Credit Hours.

Technology is rapidly affecting how news information is gathered, reported, visualized, aggregated, summarized, distributed, and consumed. This class studies the computational technologies that impact journalism. Credit not allowed for both CS 6455 and CS 4464.

CS 6470. Design of Online Communities. 3 Credit Hours.

Introduction to the design of online communities. Students study an existing community in depth, and then develop a new community design. Credit not allowed for both CS 6470 and CS 4472.

CS 6471. Computational Social Science. 3 Credit Hours.

This graduate seminar focuses on text and network analysis of data with applications to domains such as political science, sociolinguistics, and public health.

CS 6474. Social Computing. 3 Credit Hours.

Design and prototype new social computing systems, as well as analyze social media data.

CS 6475. Computational Photography. 3 Credit Hours.

This class explores the impact of computation on the entire workflow of photography, from how light is captured by a camera, to how the images are processed, enhanced, and improved to generate novel photographs.

CS 6476. Introduction to Computer Vision GR. 3 Credit Hours.

Introduction to computer vision including fundamentals of image formation, camera imaging geometry, feature detection and matching, stereo, motion estimation and tracking, image classification and scene understanding. Credit not awarded for both CS 6476 and CS 4495 or CS 4476.

CS 6491. Foundations of Computer Graphics. 3 Credit Hours.

Mathematical/physical/perceptual principles and modeling/rendering techniques used to create, represent, display, and animate models of 3D shapes and their properties.

CS 6492. Shape Grammars. 3 Credit Hours.

Shape grammars are production systems using shape rewriting rules to perform computations with shapes.

CS 6497. Computational Aesthetics. 3 Credit Hours.

Aesthetics play a key role in society and economy. Students will invent and test beautification algorithms for colors, music, and animations and more.

CS 6515. Introduction to Graduate Algorithms. 3 Credit Hours.

Design and analysis of algorithms on a graduate level, including dynamic programming, divide and conquer, FFT, graph and flow algorithms, RSA, linear programming, and NP-completedness.

CS 6520. Computational Complexity Theory. 3 Credit Hours.

Introduction to resource-bounded computations, central complexity-theoretic concepts such as complexity classes, reducibility, completeness, and intractability.

CS 6550. Design and Analysis of Algorithms. 3 Credit Hours.

Advanced techniques for designing and analyzing efficient algorithms for combinatorial, algebraic, and number-theoretic problems.

CS 6601. Artificial Intelligence. 3 Credit Hours.

Basic concepts and methods of artificial intelligence including both symbolic/conceptual and numerical/probabilistic techniques.

CS 6603. AI, Ethics, and Society. 3 Credit Hours.

This course covers various Artificial Intelligence and bias mitigation techniques that can be used to counterbalance the potential misuse and abuse of learning from data.

CS 6604. Conversational Artificial Intelligence. 3 Credit Hours.

This course will provide students with an in-depth understanding of the current state-of-the-art in Conversational AI with an emphasis on deep learning and NLP.

CS 6641. Personal Health Informatics Personal Health Informatics. 3 Credit Hours.

This course will cover the design of personal health technologies. Students will apply the taught design issues to a semester-long health application design project.

CS 6675. Advanced Internet Computing Systems and Applications. 3 Credit Hours.

Survey of basic Internet computing concepts and techniques used in Internet systems and applications, combined with in-depth study of fundamental principles underlying Internet computing. Credit not allowed for both CS 6675 and CS 4675.

CS 6705. Applications of Artificial Intelligence. 3 Credit Hours.

A study of the principles and practice of artificial intelligence in areas other than computer science, with particular focus on engineering, science, and business applications. Computer science majors cannot receive credit for this course.

CS 6725. Information Security Strategies and Policies. 3 Credit Hours.

Information security vulnerabilities and risks; legal, cost, privacy, and technology constraints; derivation of strategies; technical and procedural means of achieving desired ends. Credit not awarded for both CS 6725 and CS 4725/MGT 4725/6725/PUBP 4725/6725.

CS 6726. Privacy, Technology, Policy, and Law. 3 Credit Hours.

This course takes a multi-disciplinary approach to privacy, a topic of great interest in the technology, policy, ethics, law, and business realms. Credit will not be awarded for both CS 6726 and CS 4726 or MGT 4726 or MGT 6726.

CS 6727. Cyber Security Practicum. 5 Credit Hours.

Capstone independent study project placing each student in a commercial, academic or government setting where he or she identifies a major cyber security problem, and explores and evaluates a solution that addresses it with realistic assumptions about the organizational context. The chose problem must be approved by course instructor. Cross-listed with ECE and PUBP 6727.

CS 6730. Data Visualization: Principles and Applications. 3 Credit Hours.

Introductory course on design principles and applications of data visualization. This course teaches best practices for visualizing datasets from diverse domains intended to help people make sense of data. Students cannot receive credit for both CS 6730 and CS 4460.

CS 6745. Information and Communication Technologies and Global Development. 3 Credit Hours.

Focus on technology design, adoption, and use as seen through the lens of global development.

CS 6747. Advanced Topics in Malware Analysis. 3 Credit Hours.

This course covers advanced approaches for the analysis of malicious software and explores recent research and unsolved problems in software protection and forensics.

CS 6750. Human-Computer Interaction. 3 Credit Hours.

Describes the characteristics of interaction between humans and computers and demonstrates techniques for the evaluation of user-centered systems. Crosslisted with PSYC 6750.

CS 6753. Human-Computer Interaction-Professional Preparation and Practice. 1 Credit Hour.

Preparation for a professional career in HCI. Hands-on workshops in resume and portfolio building, interviewing, public speaking, team work. HCI career choices and trajectories.

CS 6755. Human-Computer Interaction Foundations. 3 Credit Hours.

Describes the theory and practice of designing effective and efficient interactions between people and technology. Students do not receive credit for both CS 6755 and PSYC 6755.

CS 6756. Human-Computer Interaction Applications. 3 Credit Hours.

This course supports MS-HCI students in a semester-long team project that is research-focused and results in portfolio-ready artifacts.

CS 6763. Design of Design Environments. 3 Credit Hours.

Analysis of design processes; analysis of current design tools at both the user interface and functional levels; procedures for developing better design tools. Credit not allowed for both CS 6763 and ID 6763 or COA 6763.

CS 6764. Geometric Modeling. 3 Credit Hours.

Software development course focusing on 3D geometric constructions and modeling; emphasizes solid modeling and its role in design. Crosslisted with COA 6764.

CS 6770. Mixed Reality Experience Design. 3 Credit Hours.

Introduction to the design of Mixed Reality experiences. Focuses on informal design, integration of media theory, HCI and technology issues. Significant group design projects.Credit not awarded for both CS 6770 and CS 4770/LMC 4733/6340.

CS 6795. Introduction to Cognitive Science. 3 Credit Hours.

Multidisciplinary perspectives on cognitive science. Interdisciplinary approaches to issues in cognition, including memory, language, problem solving, learning, perception, and action. Crosslisted with ISYE and PSYC 6795.

CS 6998. HCI Master's Project. 1-9 Credit Hours.

CS 6999. Master's Project. 1-9 Credit Hours.

Final project for students completing a master's degree in the College of Computing. Repeatable for multi-semester projects.

CS 6XXX. Computer Sci Elective. 1-21 Credit Hours.

CS 7000. Master's Thesis. 1-21 Credit Hours.

CS 7001. Overview of Graduate Studies in Computing. 5 Credit Hours.

Research tools including computer systems, as well as fundamental problem-solving skills, are introduced. Lectures on current computing research are presented and projects are required. Credit not allowed in a program of study for a graduate degree.

CS 7210. Distributed Computing. 3 Credit Hours.

Fundamental concepts in distributed systems, including global states, logical clocks, and failure models. Distributed algorithms and their implementations using advanced distributed programming systems.

CS 7240. Modern Internet Research Methods. 3 Credit Hours.

A research course on techniques, platforms and datasets related to Internet freedom and security, familiarizing the students with the research cycle and delivering their results through an academic paper and presentation.

CS 7260. Internetworking Architectures and Protocols. 3 Credit Hours.

Detailed discussion of the problems and solution techniques that arise in internetworking. Topics include routing, addressing, quality of service, and security.

CS 7263. Advanced Topics in Network Security and Measurement. 3 Credit Hours.

Exploration of advanced network security and empirical topics and methodologies. Goals: broader understanding of empirical considerations, ability to apply such methodologies to one’s own research.

CS 7280. Network Science: Methods and Applications. 3 Credit Hours.

Characteristics of real networks in nature and technology, network measurement methods, network analysis, evolving networks, dynamic network processes, co-evolution of structure and function.

CS 7290. Advanced Topics in Microarchitecture and organization of high-performance processors.. 3 Credit Hours.

Low-level organization and hardware algorithms for the implementation of modern high-performance microprocessors including concept designs and real-world case studies.

CS 7292. Reliability and Security in Computer Architecture. 3 Credit Hours.

Hardware support for process isolation, virtualization, debugging, and protection from side-channel attacks. Faults and failures, error tolerance, error rate budgeting, lifetime realiability of devices.

CS 7295. GPU Hardware and Software. 3 Credit Hours.

The course explores GPU software and hardware, covering GPU programming, optimizations, GPU architecture, compiler techniques, and performance analysis.

CS 7400. Introduction to Quantum Computing. 3 Credit Hours.

Provide background on quantum computing and equip students with the skills to write code and optimize quantum programs on real quantum computers.

CS 7450. Information Visualization. 3 Credit Hours.

Study of computer visualization principles, techniques, and tools used for explaining and understanding symbolic, structured, and/or hierarchical information. Includes data and software visualization.

CS 7451. Human-Centered Data Analysis. 3 Credit Hours.

This course covers the role of people in data science and visual data analysis, including cognitive processes, bias, perception, and decision-making theories and frameworks.

CS 7455. Issues in Human-Centered Computing. 3 Credit Hours.

In-depth focus on theoretical, methodological, conceptual, and technical issues across the HCC disciplines associated with humans (cognitive, biological, socio-cultural); design; ethics; and analysis and evaluation.

CS 7462. Animal-Centered Computing. 3 Credit Hours.

Explores current research, techniques, and methods in computing as applied to animals, both domestic and wild. Covers technology for understanding animal cognition and behavior, animal communication, animal welfare and enrichment, and conservation, as well as ethics of computing for animals.

CS 7465. Educational Technology: Design and Evaluation. 3 Credit Hours.

Intensive project class in which students design, implement, and evaluate a piece of educational technology, applying the theory learned in Educational Technology: Conceptual Foundations.

CS 7470. Mobile and Ubiquitous Computing. 3 Credit Hours.

Investigates the infrastructure required to develop mobile and ubiquitous computing applications and establishes major research themes and experimental practices. Credit not awarded for both CS 7470 and CS 4605.

CS 7476. Advanced Computer Vision. 3 Credit Hours.

Advanced topics in computer vision, which includes a deep dive into both the theoretical foundations of computer vision to the practical issues of building real systems that use computer vision. Credit will not be awarded for CS 7476 and CS 7495.

CS 7490. Advanced Image Synthesis. 3 Credit Hours.

Advanced techniques in realistic image synthesis based on the physics of light. Anti-aliasing, textures, surface reflectance, distribution ray tracing, volume rendering, radiosity, and image-based rendering.

CS 7492. Simulation of Biological Systems. 3 Credit Hours.

Study different computer simulation methods for use in investigating biological systems, including bio-molecules, cells and full organisms.

CS 7496. Computer Animation. 3 Credit Hours.

Motion techniques for computer animation and interactive games (keyframing, procedural methods, motion capture, and simulation) and principles for storytelling, composition, lighting, and interactivity.

CS 7497. Virtual Environments. 3 Credit Hours.

An introduction to virtual reality and virtual environments. Issues covered will include VR technology, software design, 3D human-computer interaction, and applications for VR.

CS 7499. 3D Reconstruction and Mapping in Computer Vision, Robotics, and Augmented Reality. 3 Credit Hours.

In this course we study the principles and algorithms underlying 3D Reconstruction and Mapping in Computer Vision, Robotics, and Augmented Reality.

CS 7510. Graph Algorithms. 3 Credit Hours.

Algorithms for graph problems such as maximum flow, matching, network reliability, minimum cuts, covering, coloring, planarity, shortest paths, and connectivity. Crosslisted with MATH 7510 and ISYE 7510.

CS 7520. Approximation Algorithms. 3 Credit Hours.

Approximation algorithms for NP-hard optimization problems, design and analysis techniques for such algorithms. Credit not allowed for both CS 7520 and CS 4520.

CS 7525. Algorithmic Game Theory and Economics. 3 Credit Hours.

Algorithmic aspects of game theory covering topics at the intersection of computer science, economics, and game theory with applications to domains such as internet.

CS 7530. Randomized Algorithms. 3 Credit Hours.

Techniques for designing and analyzing randomized algorithms, derandomization techniques. Credit not allowed for both CS 7530 and CS 4530.

CS 7535. Markov Chain Monte Carlo Algorithms. 3 Credit Hours.

This course studies Markov Chain Monte Carlo algorithms, widely-used in a variety of scientific fields, focusing on mathematical techniques for analyzing their convergence rates.

CS 7540. Spectral Algorithms and Representations. 3 Credit Hours.

Spectral methods mathematics and algorithmic insights driving applications with large data sets in domains such as web-search, information-retrieval, and medical diagnosis and prediction.

CS 7545. Theoretical Foundations of Machine Learning. 3 Credit Hours.

This course provides a basic arsenal of powerful mathematical tools for the analysis of learning algorithms, focusing on both statistical and computational aspects.

CS 7560. Theoretical Foundations of Cryptography. 3 Credit Hours.

One-way functions, pseudorandomness, public-key and identity-based cryptography, commitment and zero knowledge.

CS 7616. Pattern Recognition. 3 Credit Hours.

This course provides an introduction to the theory and practice of pattern recognition. It emphasizes unifying concepts and the analysis of real-world datasets.

CS 7626. Introduction to Behavioral Imaging. 3 Credit Hours.

An introduction to the use of sensor data and machine learning methods to measure and model human behavior objectively and automatically for health applications.

CS 7630. Autonomous Robotics. 3 Credit Hours.

The principles and practice of autonomous robotics including behavior-based design and architectures, adaptive learning and team behavior, and the role of perception within robotic systems.

CS 7631. Autonomous Multi-Robot Systems. 3 Credit Hours.

In-depth examination of the current research on multi-robot systems. Students develop and critically analyze a multi-robot system.

CS 7632. Game Artificial Intelligence. 3 Credit Hours.

An exploration of how artificial intelligence is used in modern digital computer games. Credit will not be awarded for CS 7632 and CS 4731, CS 7632 and LCC 4731 or CS 7632 and LMC 4731.

CS 7633. Human-Robot Interaction. 3 Credit Hours.

Survey of the state of the art in HRI research, introduction to statistical methods for HRI research, research project studio.

CS 7634. AI Storytelling in Virtual Worlds. 3 Credit Hours.

An exploration of how artificial intelligence can enable us to use stories in virtual worlds for the purpose of entertaining, educatintg, and training human users.

CS 7636. Computational Perception. 3 Credit Hours.

Study of statistical and algorithmic methods for sensing people using video and audio. Topics include face detection and recognition, figure tracking, and audio-visual sensing.

CS 7637. Knowledge-Based AI. 3 Credit Hours.

Structured knowledge representation; knowledge-based methods of reasoning and learning; problem-solving, modeling and design.

CS 7638. Artificial Intelligence Techniques for Robotics. 3 Credit Hours.

AI techniques with applications to autonomous vehicles. Extensive programming exercises. Topics include probabilistic inference, Kalman/particle filters, planning/search algorithms, PID control, SLAM.

CS 7639. Cyber Physical Design and Analysis. 3 Credit Hours.

Cyber Physical Systems (CPS), including examples. Design methods. Formalisms: Different equations, finite-state machines. Analysis. Formal methods. Design processes, Model-Based Systems Engineering, Reference documents and regulations.

CS 7641. Machine Learning. 3 Credit Hours.

Machine learning techniques and applications. Topics include foundational issues; inductive, analytical, numerical, and theoretical approaches; and real-world applications. Credit not awarded for both CS 7641 and CS 4641/CSE 6740/ISYE 6740.

CS 7642. Reinforcement Learning and Decision Making. 3 Credit Hours.

Efficient algorithms for multiagent planning, and approaches to learning near-optimal decisions using possibly partially observable Markov decision processes; stochastic and repeated games; and reinforcement learning.

CS 7643. Deep Learning. 3 Credit Hours.

This course will cover theory and practice of deep learning, including neural network and structured models, optimization algorithms, and applications to perception and Artificial Intelligence.

CS 7644. Machine Learning for Robotics. 3 Credit Hours.

Overview of a portfolio of machine learning techniques useful for robotic application: from regression to deep learning, applied on simulated real-time mobile robotic applications.

CS 7646. Machine Learning for Trading. 3 Credit Hours.

Introduces machine learning based trading strategies. Topics: Information processing, probabilistic analysis, portfolio construction, generation of market orders, KNN, random forests. Credit not awarded for both CS 4646 and CS 7646.

CS 7647. Machine Learning with Limited Supervision. 3 Credit Hours.

Explore advanced techniques in learning from visual data with limited human supervision through study of recently published research papers and completing a semester-long research project.

CS 7648. Interactive Robot Learning. 3 Credit Hours.

This course combines lectures in CS (Machine and Reinforcement Learning) and CogSci with a research seminar to enable students to develop learning from demonstration systems.

CS 7649. Robot Intelligence: Planning. 3 Credit Hours.

We investigate algorithms for robots and complex systems that make intelligent decisions. Emphasis on the theoretical and empirical properties of classical, geometric, stochastic/dynamic planning.

CS 7650. Natural Language. 3 Credit Hours.

Topics include lexical analysis, parsing, interpretation of sentences, semantic representation, organization of knowledge, inference mechanisms. Newer approaches combining statistical language processing and information retrieval techniques. Credit not allowed for both CS 7650 and CS 4650.

CS 7651. Human and Machine Learning. 3 Credit Hours.

Explores the gap between empirical research on human learning and models from machine learning. Covers symbolic, statistical, semantic space, neural network, unsupervised, and other approaches.

CS 7652. Large Language Models. 3 Credit Hours.

This course aims to explore cutting-edge research topics surrounding pre-trained language models, covering their technical foundations, pre-training and post-training techniques, efficiency, fine-tuning and adaptation, etc.

CS 7695. Philosophy of Cognition. 3 Credit Hours.

Examines problems in the foundations of cognition in relation to current issues in cognitive sciences. Topics include meaning, mental imagery, consciousness, and mind/body problem.

CS 7711. Health Sensing & Interventions. 3 Credit Hours.

Through understanding the principles physiology, medical devices and health technologies, we experiment with and design precision health sensing and feedback hardware and software.

CS 7741. Robotics Professional Preparation. 1 Credit Hour.

Preparation for a professional career in Robotics. Local & visiting speakers. Program introduction. Technical resume preparation. GT Robotics labs & resources.

CS 7742. Robotics Professional Preparation 2. 1 Credit Hour.

Preparation for a professional career in Robotics. Local & visiting speakers. Selecting and applying for Internship. Developing capstone project proposal. Public speaking practice and preparation.

CS 7743. Robotics Professional Preparation 3. 1 Credit Hour.

Preparation for a professional career in Robotics. Local & visiting speakers. Interview preparation & career search. Technical report writing and presentation.

CS 7750. Mathematical Foundations of Machine Learning. 3 Credit Hours.

Provides the mathematical background for two of the pillars of modern data science: linear algebra and applied probability.

CS 7751. Probabilistic Graphical Models in Machine Learning. 3 Credit Hours.

The course provides an introduction to theory and practice of graphical models in machine learning. It covers three main aspects; representation, probabilistic inference, and learning.

CS 7785. Introduction to Robotics Research. 3 Credit Hours.

Familiarizes students with the core areas of robotics; mechanics, control, perception, AI, and autonomy. Provides an introduction to the mathematical tools required in robotics research.

CS 7790. Cognitive Modeling. 4 Credit Hours.

A hands-on course covering a range of cognitive modeling methodologies. It explores the analysis, development, construction, and evaluation of models of cognitive processing. Crosslisted with ISYE and PSYC 7790.

CS 7999. Preparation for Doctoral Qualifying Exams. 1-21 Credit Hours.

Consent of the College required.

CS 8001. Seminar. 1 Credit Hour.

Group discussion of advanced topics in information and computer science. May not be used by computer science majors for degree credit.

CS 8740. Robotics Internship. 1-21 Credit Hours.

Graduate Internship at a partner company, GTRI or a GT Robotics lab.

CS 8741. Robotics Capstone Project. 3 Credit Hours.

Teams or individuals apply the knowledge and skills acquired throughout the MS program to a faculty supervised robotics project.

CS 8750. Robotics Research Foundation I. 3 Credit Hours.

Multidisciplinary research course supervised by two robotics faculty from different schools participating in the robotics Ph.D. program.

CS 8751. Robotics Research Foundation II. 3 Credit Hours.

Continuation of AE 8751 (Robotics Research Foundation I).

CS 8795. Colloquium in Cognitive Sciences. 1 Credit Hour.

Reading of research papers by leading cognitive scientists, attendance at their colloquia and meeting with them to discuss research. Crosslisted with ISYE and PSYC 8795.

CS 8801. Special Topics. 1 Credit Hour.

Special topics of current interest. Treatment of new developments in various areas of computing.

CS 8803. Special Topics. 3 Credit Hours.

Special topics of current interest. Treatment of new developments in various areas of computing.

CS 8813. Special Topics. 3 Credit Hours.

CS 8816. Special Topics. 6 Credit Hours.

CS 8902. Special Problems. 1-21 Credit Hours.

Small-group or individual investigation of advanced topics in computing. Guided study and research.

CS 8903. Special Problems. 1-21 Credit Hours.

Small-group or individual investigation of advanced topics in computing. Guided study and research.

CS 8997. Teaching Assistantship. 1-9 Credit Hours.

For graduate students holding graduate teaching assistantships.

CS 8998. Research Assistantship. 1-6 Credit Hours.

For graduate students holding graduate research assistantships.

CS 8999. Doctoral Thesis Preparation. 1-21 Credit Hours.

CS 9000. Doctoral Thesis. 1-21 Credit Hours.