The University of Colorado Boulder Computer Science graduate program is one of the top ranked programs in the U.S. News & World Report Best Graduate Schools issue among public universities. Students receive a strong education and conduct groundbreaking tier-one research. We have 60+ faculty members conducting fundamental and applied research in artificial intelligence, complex systems,  robotics, computational biology, human centered computing, numerical & scientific computing, programming languages, software engineering, systems and networking, verification and theory of computing.

The department has also been awarded funds for national centers like the Pervasive Personalized Intelligence IUCRC, ASPIRE, NSF AI Institute for Students-AI Teaming.

Boulder is also home to research and development operations for many large companies and four federal research labs: the National Center for Atmospheric Research, the National Institute for Standards and Technology, the National Oceanic and Atmospheric Administration and the National Renewable Energy Laboratory.

Recent doctoral and master’s graduates accepted employment at companies including, but not limited to, the following: Microsoft, Apple, Google, Facebook, Twitter, Cisco, Raytheon, HP, NASA, Amazon, Sandia National Laboratories, Northrop Grumman and Seagate. Many of our graduating PhD students also enter careers in academia.

For more information, visit the Computer Science website.

Faculty

While many faculty teach both undergraduate and graduate students, some instruct students at the undergraduate level only. For more information, contact the faculty member's home department.

Ahmed, Nisar R.
Associate Professor; PhD, Cornell University

Alistar, Mirela
Assistant Professor; PhD, Technical University of Denmark

Anderson, Kenneth M.
Chair, Professor; PhD, University of California, Irvine

Ashraf, Asa
Associate Teaching Professor; MS, South Dakota State University

Banic, Amy
Visiting Associate Professor

Black, John
Associate Professor; PhD, University of California, Davis

Bortz, David Matthew
Associate Professor; PhD, North Carolina State University

Bradley, Elizabeth
Professor; PhD, Massachusetts Institute of Technology

Brown, Jed
Associate Chair, Associate Professor; DSc, ETH Zürich (Switzerland)

Brubaker, Jed Richards
Assistant Professor; PhD, University of California, Irvine

Burke, Robin D.
Professor; PhD, Northwestern University

Cai, Xiao-Chuan
Professor Emeritus; PhD, New York University

Chang, Bor-Yuh Evan
Associate Professor; PhD, University of California, Berkeley

Chen, Lijun
Associate Professor; PhD, California Institute of Technology

Clauset, Aaron
Professor; PhD, University of New Mexico

Colunga, Eliana
Associate Professor; PhD, Indiana University Bloomington

Correll, Nikolaus J.
Associate Professor; PhD, Ecole Polytech Federale de Lausanne (Switzerland)

Cox, Murray William
Associate Teaching Professor; PhD, Texas A&M University

Curry, James H.
Professor; PhD, University of California, Berkeley

D'Mello, Sidney
Professor; PhD, University of Memphis

Devendorf, Laura
Assistant Professor; PhD, University of California, Berkeley

Do, Ellen Yi-Luen
Professor; PhD, Georgia Institute of Technology

Dowell, Robin D.
Associate Professor; DSc, Washington University

Fiesler, Casey Lynn
Associate Professor; PhD, Georgia Institute of Technology

Fleming, Ioana
Senior Instructor; PhD, Johns Hopkins University

Frew, Eric W.
Professor; PhD, Stanford University

Frongillo, Rafael M.
Assistant Professor; PhD, University of California, Berkeley

Gifford, Kevin K.
Research Professor; PhD, University of Colorado Boulder

Grochow, Joshua A.
Assistant Professor; PhD, University of Chicago

Gross, Mark D.
Professor; PhD, Massachusetts Institute of Technology

Grunwald, Dirk C.
Faculty Director, Professor; PhD, University of Illinois at Urbana–Champaign

Gurari Danna
Assistant Professor; PhD, Boston University

Ha, Sangtae
Associate Professor; PhD, North Carolina State University

Han, Richard
Professor; PhD, University of California, Berkeley

Hauser, Thomas
Associate Professor Adjunct; PhD, Technische Universität München (Germany)

Hayes, Bradley H.
Assistant Professor; PhD, Yale University

Heckman, Christoffer
Assistant Professor; PhD, Cornell University

Herzfeld, Ute C.
Research Professor; PhD, Johannes Gutenberg-Universität Mainz (Germany)

Hoenigman, Rhonda
Associate Dean, Associate Teaching Professor; PhD, University of Colorado Boulder

Hunter, Lawrence
Professor; PhD, Yale University

Izraelevitz, Joe
Assistant Professor; PhD, University of Rochester

Jansen, Kenneth E.
Professor; PhD, Stanford University

Jessup, Elizabeth R.
Professor Emeritus; PhD, Yale University

Kane, Shaun Kevin
Associate Professor; PhD, University of Washington

Karimzadeh, Morteza
Assistant Professor; PhD, Pennsylvania State University

Keegan, Brian
Assistant Professor; PhD, Northwestern University

Keller, Eric Robert
Associate Professor; PhD, Princeton University

King, Roger A.
Professor Emeritus

Kissler, Stephen
Assistant Professor; PhD, University of Cambridge

Knox, David Allen
Assistant Teaching Professor; PhD, University of Colorado Health Sciences Center

Lahijanian, Morteza Mehdi
Assistant Professor; PhD, Boston University

Larremore, Daniel B.
Assistant Professor; PhD, University of Colorado Boulder

Layer, Ryan M.
Assistant Professor; PhD, University of Virginia

Lehman, Tamara
Assistant Professor; PhD, Duke University

Leithinger, Daniel
Assistant Professor; PhD, Massachusetts Institute of Technology

Lewis, Clayton H.
Professor Emeritus; PhD, University of Michigan Ann Arbor

Lladser, Manuel E.
Associate Professor; PhD, The Ohio State University

Lv, Qin
Professor, Associate Chair; PhD, Princeton University

MacCurdy, Robert B.
Assistant Professor; PhD, Cornell University

Martin, James H.
Professor; PhD, University of California, Berkeley

Mishra, Shivakant
Professor; PhD, University of Arizona

Monteleoni, Claire Elizabeth
Associate Professor; PhD, Massachusetts Institute of Technology

Morrison, Rebecca E.
Assistant Professor; PhD, University of Texas Austin

Mozer, Michael C.
Research Professor; PhD, University of California, San Diego

Naidu, Supriya
Assistant Teaching Professor; MS, University of Colorado Boulder

Nath Sreesha
Assistant Teaching Professor, Associate Chair; MS, University of Colorado Boulder

Onyejekwe, Osita Eluemuno
Assistant Teaching Professor; PhD, Florida Institute of Technology

Oscamou, Maribeth B.
Associate Teaching Professor; MS, University of Colorado Boulder

Pacheco, Maria
Assistant Professor; PhD, Purdue University

Palen, Leysia A.
Distinguished Professor, Associate Chair; PhD, University of California, Irvine

Palmer, Martha
Research Professor; PhD, University of Edinburgh (Scotland)

Paradise, Alan
Assistant Teaching Professor; MS, Washington University in St. Louis

Peleg, Orit
Assistant Professor; PhD, ETH Zürich (Switzerland)

Perigo, Levi
Scholar in Residence; PhD, Nova Southeastern University

Phillips, Caleb Timothy
Assistant Professor Adjunct

Quigley, David Philp
Assistant Teaching Professor; PhD, University of Colorado Boulder

Reckwerdt, Eric
Assistant Teaching Professor; PhD, University of Hawaii Manoa

Reed, David P.
Scholar in Residence; PhD, Carnegie Mellon University

Repenning, Alexander
Professor Adjunct; PhD, University of Colorado Boulder

Rivera, Michael
Assistant Professor; PhD, Carnegie Mellon University

Roncone, Alessandro
Assistant Professor; PhD, Istituto Italiano di Tecnologia (Italy)

Roque, Ricarose
Assistant Professor; PhD, Massachusetts Institute of Technology

Rozenberg, Grzegorz
Professor Adjoint

Rozner, Eric John
Assistant Professor; PhD, University of Texas at Austin

Sankaranarayanan, Sriram
Professor, Associate Chair; PhD, Stanford University

Santos, Jose R.
Associate Teaching Professor; MS, University of Colorado Boulder

Schnabel, Robert B.
Professor, Faculty Director; PhD, Cornell University

Schreüder, Willem A.
Associate Professor Adjunct; PhD, University of Stellenbosch

Stade, Elisabeth Cote
Associate Teaching Professor, Associate Faculty Director; MA, University of Colorado Boulder

Sumner, Tamara
Professor; PhD, University of Colorado Boulder

Thrall, Lloyd Gregory
Associate Faculty Director; MA, University of London (England)

Trivedi, Ashutosh
Assistant Professor; PhD, University of Warwick (UK)

Truong, Le Hoang
Teaching Assistant Professor; MS, Korea Advanced Institute of Science and Technology

Tufo, Henry
Professor; PhD, Brown University

Vernerey, Divya E.
Teaching Associate Professor; PhD, Northwestern University

Voida, Amy Kathryn Mitchell
Associate Professor; PhD, Georgia Institute of Technology

Voida, Stephen A.
Associate Professor; PhD, Georgia Institute of Technology

Vu, Tam Ngoc
Associate Professor; PhD, Rutgers University

Ward, Wayne Hinson
Research Professor; PhD, University of Colorado Boulder

Windyga, Piotr
Scholar in Residence; PhD, University of Rennes

Wustrow, Eric A.
Assistant Professor; BE, University of Michigan Ann Arbor

WU, DI
Teaching Assistant Professor; PhD, City University of New York

Yeh, Tom
Associate Professor; PhD, Massachusetts Institute of Technology

Yuan, Lei
Assistant Professor; PhD, Northwestern University

Zagrodzki, Maciej
Assistant Teaching Professor; MSc, Colorado School of Mines

Courses

Show only these courses...

CSCI 5000 (1) Introduction to the Computer Science Research-Based MS Program

Instructs new research-based MS students in Computer Science how to become an effective member in terms of research, teaching, and presentation, and potentially advancing to the PhD program. Makes students aware of formal requirements, educational objectives, and research themes. Provides evaluative criteria and guidelines for all objectives to be achieved.

Requisites: Restricted to Computer Science (CSCI) MS students only.
Additional Information: Departmental Category: General Computer Science

CSCI 5010 (3) Fundamentals of Data Communication

Combining conceptual knowledge about data communications and core Internet technologies with hands-on labs that reinforce the conceptual knowledge, this course provides students with the ability to create innovative technology solutions in their discipline. Learning how the Internet works and being able to evaluate and operate an Internet network is a valuable skill; students in this course will have a competitive advantage in this foundational field.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5010
Requisites: Restricted to Computer Science Network Engineering MS Majors.

CSCI 5020 (3) Fundamentals of Network Programming

This course provides an immersion into the foundation theories of network programming and software development for emerging technologies. Students will gain direct experience with real-world programming lab experiments and demonstrations that will relate to the prolific increase of cross-discipline programming.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5020
Requisites: Restricted to Computer Science Network Engineering MS Majors.

CSCI 5030 (3) Fundamentals of System Administration and Virtualization

Introduces the basic use and administration of Unix and Linux systems. Topics include booting and system management, scripting, storage and logical volume management, filesystem configuration, account management and password security, process control, software installation, event logging and system auditing. Students will also develop familiarity with virtualization platforms such as VirtualBox and VMware to implement and test their system configurations.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5030
Requisites: Restricted to Computer Science Network Engineering MS Majors.

CSCI 5040 (3) Professional Masters Project 1

First class in a two semester cycle. Focuses on applied best practice in all facets of software engineering in industry and the application of those practices. Students are part of a development team involved in a two-semester project. Each student has a specific role on the project, and all will be responsible for some level of actual software development. The first semester focuses on design, requirements, and prototyping and is based on common waterfall project practices with gate reviews and project artifacts. Testing, soft skills for teamwork, project management, and other supporting aspects will be driven throughout the semester. The outcome of the two-semester cycle is a final project delivery of a software product for an institutional or industrial partner and/or for entry into software development competitions.

Requisites: Restricted to graduate student Computer Sciences (CSEN) students only.

CSCI 5050 (3) Professional Masters Project 2

Second class in a two-semester cycle. Focuses on applied best practice in all facets of software engineering in industry and the application of those practices. Students are part of a development team involved in a two-semester project. Each student has a specific role on the project, and all will be responsible for some level of actual software development. The second semester focuses on development, code construction, and delivery, using agile-based project management for development. Students work in both Scrum and Kanban agile project cycles. Testing, soft skills for teamwork, project management, and other supporting aspects will be driven throughout the semester. The outcome of the two-semester cycle is a final project delivery of a software product for an institutional or industrial partner and/or for entry into software development competitions.

Requisites: Requires prerequisite course of CSCI 5040 (minimum grade of B). Restricted to CSEN graduate students only.

CSCI 5100 (1) Computer Science Colloquium

Learn about innovative research and teaching in computer science by attending talks and discussions by leading researchers and educators. Learn professional presentation skills and etiquette of participating in scientific research presentations. Students can attend during any term even if they are not enrolled

Repeatable: Repeatable for up to 2.00 total credit hours.
Requisites: Restricted to Computer Science (CSCI) MS students only.

CSCI 5113 (3) Linux System Administration

Introduces Linux system administration and related topics. Includes hardware and software installation, storage management, configuration of user accounts and system services, development of automation and monitoring tools, and the provisioning of common network services. This laboratory focused course will provide significant exposure to the network security concerns of Internet connected hosts. Students will build a network of Linux servers from the ground up, using provided computing resources, and must maintain and secure these servers themselves. Previously offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5113 and CSCI 4113
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 3753 (minimum grade B).

CSCI 5114 (3) Practical Algorithmic Complexity

When coming across an algorithmic problem, how do we think about how hard it is? Beyond just how much time or memory it takes, computational complexity offers a plethora of concepts for understanding this fundamental question. This leads to the appropriate choice of algorithm for the job, the development of new algorithms, and understanding the role of algorithmic complexity in natural settings such as biology and physics.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4114
Requisites: Restricted to graduate students only.

CSCI 5135 (3) Computer-Aided Verification

Covers two-level and multilevel minimization, optimization via expert systems, algebraic and Boolean decomposition, layout methodologies, state assignment, encoding and minimization, silicon compilation.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5139
Requisites: Restricted to graduate students only.
Recommended: Prerequisites ECEN 2703 and general proficiency in discrete mathematics and programming.
Additional Information: Departmental Category: Programming Languages

CSCI 5140 (2) CLASIC Capstone

In this capstone to the Computational Linguistics, Analytics, Search and Informatics (CLASIC) professional master¿s program, we will review each student¿s internship project and prepare presentations and technical reports based on those internships. Students will present their work on the annual Industry Day or at an Advisory Board meeting to industry representatives. They will also submit a paper to a relevant conference or workshop. Previously offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: LING 5140
Requisites: Restricted to students in the Computational Linguistics, Analytics, Search and Informatics (CLSI) program only.
Recommended: It is recommended that this course be taken after the CLASIC internship has been completed.

CSCI 5160 (3) Introduction to Enterprise Networks

Provides direct experience with networking functions and equipment through experiments and demonstrations. Students learn the fundamental principles and techniques of voice and data switching and routing within an enterprise environment. Procedures require the use of actual commercial equipment (including Cisco, Juniper, and Arista) plus network services and observation using packet analyzers. Weekly experiments and exams are designed to reflect real-world networking scenarios and require an additional hours of lab work. Most lab exercises involve activities which require physical access to the hardware and cannot be done remotely. Students are expected to spend 6 hours per week in the lab. In addition to the lab time, students should also anticipate up to 6 additional hours of time for homework, reading, lab preparation and studying for exams. Recommended restriction: students are expected to know the OSI Model, principles of Ethernet Switching, IP Addressing and operation of protocols such as ARP, DHCP, DN

Requisites: Restricted to graduate students only.

CSCI 5170 (3) IP Routing Protocols and Policies

Explores practical usage and conceptual underpinnings of link state and distance vector routing protocols. The course further explores a holistic view of how the Internet works from a technical routing aspect as well as policy and economics. The course is supplemented with frequent labs to fully explore the specific workings of the routing protocols RIP, OSPF, and BGP and the relationships between them in practical lab based routing scenarios.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5010 or CYBR 5010 or CSCI 4273 or CSCI 5273 or ECEN 5273.

CSCI 5180 (3) Network Management and Automation

Teaching both technical and soft skills, this course incorporates best practices and the key theories behind them such as understanding common services needed for network functionality, maintenance, and troubleshooting. The goal of this course is to equip students with the valuable skills and tools they need to hit the ground running in most network management, operation, automation, and DevOps roles within a company. By the end of the course, students will be competent in the technologies, services, and tools used to manage and automate complex networks.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite background in Linux system administration, Python programming and computer network engineering/data communications.

CSCI 5190 (3) Voice Over IP: Voice Network Design and Implementation

Provides an in-depth immersion into the foundational theories and technologies of Voice Over IP (VoIP). This course supplements these theories with direct experience through real-world, hands-on lab experiments and demonstrations. The fundamentals of voice technologies, services, and tools used in industry to design, deploy and troubleshoot VoIP networks will be explored in detail, providing the student with a competitive advantage in the job market.

Requisites: Requires prerequisite course of CSCI 5170 or CSCI 5160 or CSCI 5180 (minimum grade B). Restricted to graduate students.

CSCI 5200 (3) Introduction to Wireless Systems

Overviews the distinctive characteristics of the wireless communications medium. Topics covered include: Analog signals, Antennas and Propagation, Digital Signals, Sampling, Quadrature Signals, Digital Modulation, SNR and SINR Concepts, Channel Models, Channel Statistics, and Link Budgets. The course includes an introduction to MIMO and beam-forming as implemented in modern communication systems. Software Defined Radio (SDR) is introduced to facilitate student hands-on learning of radio operation. Previously offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5200 and CSCI 4200
Recommended: Prerequisites CYBR 5010 and CYBR 5012.

CSCI 5220 (3) Wireless Local Area Networks

Emphasis on the IEEE P802.11 family of WLAN standards. Students learn the legacy versions of the standard (802.11DS/b), the current generation of WLAN systems (802.11a/g/n/ac), and will to analyze and critique upcoming versions (802.11ax/ba), and gain insight into proposals for new research in WLAN. Exposure to the interoperability and certification process for WLAN by the Wi-Fi Alliance, study the newest Wi-Fi Certified¿ programs, and will learn how to model and analyze WLAN traffic using industry standard tools.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5220 and ECEN 5122
Requisites: Requires prerequisite course of CYBR 5010 or CSCI 5010 or CSCI 5273 (minimum grade B).
Recommended: Prerequisite CYBR 5200 or CSCI 5200.

CSCI 5229 (3) Computer Graphics

Studies design, analysis and implementation of computer graphics techniques. Topics include interactive techniques, 3D viewing and models, clipping, transformations, projection, removal of hidden surfaces, lighting, textures and shadows. Knowledge of basic linear algebra is required.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4229
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Graphics

CSCI 5230 (3) Wireless Systems Lab

This Wireless Solutions Architecture course is designed to examine the core concepts of wireless architecture, design and implementation. The course will focus on architecting solutions unlicensed technology, specifically enterprise Wi-Fi networks. Students will learn how to design, implement, troubleshoot and operate enterprise wireless networks.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5230
Requisites: Requires prerequisite course of CSCI 5200 or CYBR 5200 (minimum grade B).

CSCI 5239 (3) Advanced Computer Graphics

Studies design, analysis and implementation of advanced computer graphics techniques. Topics include shaders, using the GPU for high performance computing, graphics programming on embedded devices such as mobile phones; advanced graphics techniques such as ray tracing.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4239
Requisites: Requires prerequisite course of CSCI 5229 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Graphics

CSCI 5240 (3) Introduction to Blockchain

Examines an emerging technology known as blockchain. Blockchain refers to the distributed and decentralized database technology behind popular cryptocurrencies such as Bitcoin and Ethereum. However, it can be used to record and transfer any digital asset, not just currency. This course explores the fundamentals of blockchain technology and its application from three key perspectives: policy and governance, technology, and application. Students gain an understanding of key concepts and how to apply them in the industry. Previously offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5240 and CSCI 4240
Requisites: Restricted to graduate students only.

CSCI 5253 (3) Datacenter Scale Computing - Methods, Systems and Techniques

Covers the primary problem solving strategies, methods and tools needed for data-intensive programs using large collections of computers typically called "warehouse scale" or "data-center scale" computers. Examines methods and algorithms for processing data-intensive applications, methods for deploying and managing large collections of computers in an on-demand infrastructure and issues of large-scale computer system design.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4253 and CSPB 4253 and ECEN 5253
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5273.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5254 (3) Convex Optimization and Its Applications

Discuss basic convex analysis (convex sets, functions and optimization problems), optimization theory (linear, quadratic, semidefinite and geometric programming; optimality conditions and duality theory), some optimization algorithms (descent methods and interior-point methods), basic applications (in signal processing, control, communications, networks, statistics, machine learning, circuit design and mechanical engineering, etc.), and some advanced topics (distributed decomposition, exact convex relaxation, parsimonious recovery).

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Theory of Computation

CSCI 5260 (3) Datacenter Networks

Covers design and configuration principles required to build highly scalable and highly redundant network solutions used by datacenters. Class makes use of commercial grade equipment to build network toplogies and services. Students will work in teams to build a virtualized cluster, load balance application traffic between multiple server blades, assure high availability in Ethernet and IP layers, and able to prioritize important services using QoS. This lab-based course requires an average of 6 hours per week where the students are physically present in the CU Network Engineering Lab. Most lab exercises involve activities which require physical access to the hardware and cannot be done remotely. In addition to the lab time, students should also anticipate up to 6 additional hours of time for homework, reading, lab preparation and studying for exams.

Requisites: Requires prerequisite course of CSCI 5160 (minimum grade B). Restricted to graduate students.

CSCI 5264 (3) Decision Making under Uncertainty

Covers algorithms for optimal sequential decision making in the presence of uncertainty. Mathematical formalisms include the Markov decision process (MDP), partially observable Markov decision process (POMDP), and Games. Solution techniques include exact dynamic programming, Monte Carlo tree search, deep reinforcement learning, and alpha vector value approximation for POMDPs. Assignments require programming in a high level language (Julia as of 2023). Previously offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: ASEN 5264
Grading Basis: Letter Grade

CSCI 5270 (3) IP Network Design

Focuses on the design and implementation of network solutions according to the needs of a client. The course helps students develop skills to be a consultant and walks them through the complete life cycle of network project development as a member of a professional services team. Implement fundamentals of IP Routing Protocols and apply them directly to design based networking problems. Design scenarios will incorporate physical and logical design, financial analysis, and laboratory configuration.

Requisites: Requires prerequisite course of CSCI 5170 or CSCI 5160 (minimum grade B). Restricted to graduate students.
Recommended: Prerequisite strong familiarity with network protocol operation and implementation.

CSCI 5273 (3) Network Systems

Focuses on design and implementation of network programs and systems, including topics in network protocols, architectures, client-server computing, software-driven networking, and other contemporary network hardware-software system design and programming techniques. Familiarity with C and Unix is required.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5273
Requisites: Restricted to graduate students only.
Recommended: Prerequisites CSCI 4273 and CSCI 4573.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5280 (3) Software-Defined Networking

Provides an in-depth immersion into the foundational theories and technologies of Software-Defined Networking (SDN), Network Functions Virtualization (NFV), and emerging technologies for computer networks. Supplements the theoretical knowledge learned through direct experience with real-world lab experiments and demonstrations. This knowledge will give students an advantage in the job market for this in-demand, constantly changing subject.

Requisites: Requires prerequisite course of CSCI 5180 (minimum grade B). Restricted to graduate students.

CSCI 5302 (3) Advanced Robotics

Exposes students to current research topics in the field of robotics and provides hands-on experience in solving a grand challenge program.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4302
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 3302 or instructor consent required.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5303 (1) Cybersecurity Club Companion Course

Gives students hands-on experience applying practical security skills and adversarial thinking to real-world problems. Students will work in small teams on internal challenges, lab development, open source contributions, and will represent the university in larger teams for external challenges at the national and global level, such as those hosted by Collegiate Cyber Defense Competition (CCDC), Wicked6, DOE CyberForce, etc. Students will be expected to participate in both internal and external challenges, attend meetings, and present short presentations to the group when appropriate. Previously offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5303 and CSCI 4303
Repeatable: Repeatable for up to 3.00 total credit hours.
Recommended: Prerequisites CSCI 5403 or CSCI 3403.

CSCI 5313 (3) Concurrent Programming

Introduces the theory and practice of multicore programming. The first part of the course presents foundations of concurrent programming: mutual exclusion, wait-free and lock-free synchronization, spin locks, monitors, memory consistency models. The second part presents a sequence of concurrent data structures and techniques used in their implementations (coarse-grained, fine-grained, optimistic and lock-free synchronization).

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5313 and ECEN 4313 and CSCI 4313
Requisites: Requires prerequisite courses of CSCI 2270 and ECEN 2360 or CSCI 2400 (minimum grade C). Restricted to graduate students only.
Recommended: Prerequisite ECEN 3593.

CSCI 5314 (3) Dynamic Models in Biology

Surveys computational and mathematical modeling to illuminate biological processes. Students work together to learn to build and analyze models using a variety of numerical tools, tackle meaningful biological problems, and communicate effectively across disciplines. Specific topics: Langevin dynamics of protein folding, agent-based models, finite difference models of organismal growth, stochastic and deterministic cellular automata game of life, models of behavior.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4314
Requisites: Restricted to graduate students only.
Recommended: Prerequisite comfort with mathematics and/or programming experience, and more advanced understanding (upper undergraduate level) of any relevant discipline.
Additional Information: Departmental Category: Theory of Computation

CSCI 5322 (3) Algorithmic Human-Robot Interaction

Creating autonomous systems that interact with humans requires the synthesis of insights from a variety of disciplines. This course aims to provide students with the algorithms, models, and frameworks that form the building blocks required for developing intelligent autonomous systems that perform useful tasks while interacting with, coordinating with, co-existing with, or otherwise assisting humans. Previously offered as a special topics course.

Requisites: Restricted to graduate students only.

CSCI 5340 (3) Startup Essentials: Entrepreneurial Projects in Computing

Provides students with the tools to be successful technical co-founders of their own startups. Explores the initial stages of founding a startup, including team formation, idea validation, pivoting and pitching, while employing an iterative methodology. Student teams will develop a minimum viable product, pitch their final startup concept and be evaluated on product/market fit. CS coding concepts relevant for startups, including potentially cloud programming, mobile programming and agile software engineering, will be taught. Does not satisfy breadth requirement.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4348
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: General Computer Science

CSCI 5350 (3) Entrepreneurial Projects II

Follows CSCI 5340. In the second semester of this entrepreneurial project capstone, student teams will seek to find market traction for a high-fidelity Minimum Viable Product (MVP), software and/or hardware, that they will develop as part of their startup project. Teams will further learn to incorporate principles of marketing, business finance and legal issues into the business model for their startup concept. Does not satisfy breadth requirement.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4358
Requisites: Requires a prerequisite course of CSCI 5340 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: General Computer Science

CSCI 5352 (3) Network Analysis and Modeling

Examines modern techniques for analyzing and modeling the structure and dynamics of complex networks. Focuses on statistical algorithms and methods, and emphasizes model interpretability and understanding the processes that generate real data. Applications are drawn from computational biology and computational social science. No biological or social science training is required.

Requisites: Restricted to graduate students only.
Recommended: Prerequisites CSCI 3104 and APPM 3570.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5360 (3) Internet Service Provider Networks

This course presents advanced networking design and implementation techniques through experiments with network measurement equipment, switches, router, and management interfaces. The course primarily focuses on Service Provider Transport technologies for capacity, scalability and fault tolerance. Students learn the essential network architectures of last mile and long haul network solutions used for public and private network traffic transport; implementation of SLAs, load balancing, first hop redundancy, and MPLS transport and L2/L3 VPN solutions. This course requires an average of 6 hours per week in the lab. Most lab exercises involve activities which require physical access to the hardware and cannot be done remotely. In addition to the lab time, students should also anticipate up to 6 additional hours of time for homework, reading, lab preparation and studying for exams.

Requisites: Requires prerequisite course of CSCI 5160 (minimum grade B). Restricted to graduate students.
Recommended: Prerequisite CSCI 5170.

CSCI 5380 (3) Network Virtualization and Orchestration

Provides an advanced, in-depth immersion into the theories and technologies of Software-Defined Networking (SDN), Network Functions Virtualization (NFV), network virtualization/orchestration, and emerging technologies for computer networks. Expands on the real-world lab experiments and theoretical demonstrations learned from the course pre-requisite. The knowledge and critical thinking skills learned from this course will arm students with an advantage in the job market for this in-demand, constantly changing subject.

Requisites: Requires prerequisite of CSCI 5280 (minimum grade B). Restricted to graduate students.

CSCI 5402 (3) Research Methods in Human-Robot Interaction

Introduces students to the field of human-robot interaction (HRI). Covers HRI theory, principles, methodologies, and applications with links to robotics, artificial intelligence, human factors, human-computer interaction, design, cognitive psychology, education and other domains. Coursework includes readings from state-of-the-art in HRI research, team exercises and problem-solving sessions, and implementation and evaluation of a human-robot interaction systems for specific applications.

Equivalent - Duplicate Degree Credit Not Granted: ATLS 5402
Requisites: Restricted to graduate students only.

CSCI 5403 (3) Cybersecurity

Introduces core concepts in cybersecurity including confidentiality, integrity, authentication, risk management, and adversarial thinking. The concepts will be applied to both traditional information technology (IT) systems and cyber physical systems (CPS). At the conclusion of the course, students should have a solid foundation in cybersecurity and hands-on experience.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5300
Requisites: Restricted to graduate students only.

CSCI 5413 (3) Computer Security and Ethical Hacking

Teaches basic exploit design and development through hands-on experimentation and testing. Uses a controlled environment to give students a "playground" in which to test penetration skills that are normally not allowed on live networks.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4413
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5417 (3) Information Retrieval Systems

Addresses practical issues in the design, implementation and analysis of modern information retrieval systems. The major focus is on Web-based applications including ad hoc retrieval, classification, and clustering. Introduces the use of open source retrieval systems, standard evaluation metrics and gold-standard evaluation collections.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Database Systems

CSCI 5423 (3) Biologically-inspired Multi-Agent Systems

Explores the principles and emergent properties of collective dynamics through computational modeling and theory. Focuses on multi-agent systems using insights from biology, like the self-assemblage of cells and insect colony behavior. Topics include designing swarm intelligence, networked agents, cellular computing and self-assembly, optimization, synchronization, and evolutionary computation. Uses cross-discipline research developments to practice applied techniques. Biology background is not required.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 2270 and basic knowledge of programming.

CSCI 5434 (3) Probability for Computer Science

This course will introduce computer science students to topics in probability and statistics that will be useful in other computer science courses. Basic concepts in probability will be taught from an algorithmic and computational point of view, with examples drawn from computer science.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite courses of APPM 1360 or MATH 2300 and CSCI 2824 or MATH 2001 or ECEN 2703 (all minimum grade B).

CSCI 5444 (3) Introduction to Theory of Computation

Reviews regular expressions and finite automata. Studies Turing machines and equivalent models of computation, the Chomsky hierarchy, context-free grammars, push-down automata, and computability.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Theory of Computation

CSCI 5446 (3) Chaotic Dynamics

Explores chaotic dynamics theoretically and through computer simulations. Covers the standard computational and analytical tools used in nonlinear dynamics and concludes with an overview of leading-edge chaos research. Topics include time and phase-space dynamics, surfaces of section, bifurcation diagrams, fractal dimension and Lyapunov exponents.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4446 and ECEN 4423 and ECEN 5423
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation

CSCI 5448 (3) Object-Oriented Analysis and Design

An applied analysis and design class addressing the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design and modeling notations. Students apply the techniques in analysis and design projects.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4448
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Software Engineering

CSCI 5454 (3) Design and Analysis of Algorithms

Techniques for algorithm design, analysis of correctness and efficiency; divide and conquer, dynamic programming, probabilistic methods, advanced data structures, graph algorithms, etc. Lower bounds, NP-completeness, intractability.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 2270 or equivalent.
Additional Information: Departmental Category: Theory of Computation

CSCI 5502 (3) Data Mining

Introduces basic data mining concepts and techniques for discovering interesting patterns hidden in large-scale data sets, focusing on issues relating to effectiveness and efficiency. Topics covered include data preprocessing, data warehouse, association, classification, clustering, and mining specific data types such as time-series, social networks, multimedia, and Web data.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4502
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5514 (3) Algorithms for Whole Genome Sequence Analysis

Explore the algorithms that have been developed to assemble and analyze genome sequencing data. Genome sequencing produces vast and complex data that are intractable without efficient algorithms. This course covers the core data structures and algorithms which form the basis for research in topics ranging from evolution to the cause and treatment of many diseases, including cancer. Topics include string matching, indexing, compression, and succinct data structures. No prior knowledge of biology, DNA, or genetics is required.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite basic understanding of complexity analysis, core algorithms (for example, sort) and data structures (for example, graphs).

CSCI 5523 (3) Modern Offense and Defense in Cybersecurity

Introduce students to the modern techniques used in cyber-attacks and defenses. Topics covered: Stack canary, ASLR, SMEP/SMAP, CFI, Program Misusing, ROP, JOP, ret2lib, off-by-one, unsafe-unlink, UAF, ptmalloc, t-cache, Race condition, Kernel Exploitation.

Requisites: Restricted to graduate students only.
Recommended: Prerequisites CSCI 2400, ECEN 4133.

CSCI 5525 (3) Compiler Construction

Introduces the principles and techniques for compiling high-level programming languages to assembly code. Topics include parsing, instruction selection, register allocation, and compiling high-level features such as polymorphism, first-class functions, and objects. Students build a complete compiler for a simple language.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4555 and ECEN 4553 and ECEN 5523
Requisites: Restricted to graduate students only.
Recommended: Prerequisites CSCI 3155 and CSCI 2400 or ECEN 3350.
Additional Information: Departmental Category: Programming Languages

CSCI 5535 (3) Fundamental Concepts of Programming Languages

Considers concepts common to a variety of programming languages--how they are described (both formally and informally) and how they are implemented. Provides a firm basis for comprehending new languages and gives insight into the relationship between languages and machines.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5533
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 3155 or instructor consent required.
Additional Information: Departmental Category: Programming Languages

CSCI 5548 (3) Software Engineering of Standalone Programs

Applies engineering principles to phases of software product development, project planning, requirements definition, design, implementation, validation and maintenance. Emphasizes practical methods for communicating and verifying definitions and designs: prototyping, inspections and modeling. Includes relation to RTS and object-oriented programming.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5543
Requisites: Restricted to graduate students only.
Recommended: Prerequisites CSCI 1300 and CSCI 2270 or instructor consent required.
Additional Information: Departmental Category: Software Engineering

CSCI 5550 (3) Designing for Defense 1

Designing for Defense/Hacking for Defense is a national service program running at leading research universities across the country. Interdisciplinary teams¿chosen by competitive selection¿work on real-world national security challenges, in close contact with national security agencies. Teams employ the Lean Launchpad entrepreneurship methodology to develop engineering and business concepts to solve real-world challenges for special operations forces, the intelligence community, and other government agencies. Winning teams are eligible for real-world capital investment. The first semester of a two-course sequence. Students take this course, ASEN/CSCI/CYBR 5550, and ASEN/CSCI/CYBR 5580 contiguously as the sequence spans the academic year.

Equivalent - Duplicate Degree Credit Not Granted: ASEN 5550 and CYBR 5550
Requisites: Restricted to graduate students only.
Grading Basis: Letter Grade

CSCI 5573 (3) Advanced Operating Systems

Intended to create a foundation for operating systems research or advanced professional practice. Examines the design and implementation of a number of research and commercial operating systems and their components, system organization and structure, threads, communication and synchronization, virtual memory, distribution, file systems, security and authentication, availability and Internet services.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5573
Requisites: Requires prerequisite course of CSCI 2400 and CSCI 3753 (all minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5576 (4) High-Performance Scientific Computing

Introduces computing systems, software and methods used to solve large-scale problems in science and engineering. Students use high-performance workstations and a supercomputer. First course in a two-semester sequence.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4576
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation

CSCI 5593 (3) Advanced Computer Architecture

Provides a broad-scope treatment of important concepts in the design and implementation of high-performance computer systems. Discusses important issues in the pipelining of a processor, out-of-order instruction issue and superscalar designs, design of cache memory systems and architectural features required for multicore processor designs. Also studies current and historically important computer architectures, including hardware security concepts.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5593 and ECEN 4693
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 4593 or instructor consent required.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5606 (3) Principles of Numerical Computation

Highlights computer arithmetic, solution of linear systems, least-squares approximations, nonlinear algebraic equations, interpolation, and quadrature.

Requisites: Restricted to graduate students only.
Recommended: Prerequisites CSCI 3656 and three semesters of calculus or equivalent.
Additional Information: Departmental Category: Numerical Computation

CSCI 5616 (3) Introduction to Virtual Reality

Introduces students to the field of virtual reality (VR). Covers the historical development of virtual reality technologies and virtual reality as a research field, the mathematics of 3D coordinate systems, fundamental principles, algorithms, and design patterns in developing interactive virtual environments, the perceptual science behind mixed reality technologies, and libraries and tools for creating VR experiences. Previously offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4616, ATLS 4616, ATLS 5616
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 2270 or CSCI 2275 (minimum grade B).

CSCI 5620 (3) Advanced Wireless Lab

Provides a comprehensive, hands-on set of laboratory exercises for the teaching and demonstration of key technical skills required to understand, build, test, and analyze both analog and digital wireless communications concepts. In conjunction with lecture-based content to provide a solid foundation in digital communication theory, SDR-based laboratory exercises enable the synthesis of several fundamental concepts utilizing the latest, modern communications systems technologies.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5620
Requisites: Requires prerequisite course of CSCI 5200 or CYBR 5200 (minimum grade B).
Recommended: Prerequisites CSCI 5630 or CYBR 5630 and CSCI 5220 or CYBR 5220.

CSCI 5622 (3) Machine Learning

Trains students to build computer systems that learn from experience. Includes the three main subfields: supervised learning, reinforcement learning and unsupervised learning. Emphasizes practical and theoretical understanding of the most widely used algorithms (neural networks, decision trees, support vector machines, Q-learning). Covers connections to data mining and statistical modeling. A strong foundation in probability, statistics, multivariate calculus, and linear algebra is highly recommended.

Requisites: Prereqs:(APPM 3310 or CSCI 2820 or MATH 2130 or 2135 or 3130 or 3135) OR (APPM 3570 or 4570 or CHEN 3010 or CSCI 3022 or CVEN 3227 or ECEN 3810 or ECON 3818 or MATH 3510 or 4510 or MCEN 3047 or STAT 3100 or 4000 or 4520) (min grade B) Grad students only
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5630 (3) Wireless and Cellular Systems

Studies technologies and architectures employed in modern cellular wireless systems. Major topics include radio propagation, multiple access techniques, analog and digital cellular telephony, and personal communications systems. Presents the necessary tools to understand the wireless industry, its technical details, and its business drivers. Topics include modeling, spectrum, weather, multipath, Doppler effect, and shadowing and covers important aspects of multiple access technologies such as CDMA and OFDMA. introduces modern radio standards including LTE.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5630
Requisites: Requires prerequisite course of CSCI 5200 or CYBR 5200 (minimum grade B).

CSCI 5636 (3) Numerical Solution of Partial Differential Equations

Focuses on discretization techniques such as finite difference, finite element and finite volume methods, and parallel solution algorithms such as Krylov subspace methods, domain decomposition and multilevel methods.

Requisites: Restricted to graduate students only.
Recommended: Prerequisites (CSCI 2820 or APPM 2360 or APPM 3310 or MATH 2130 or MATH 2135 or MATH 3130 or MATH 3135) AND (CSCI 3656 or APPM 4650 or MATH 4650 or MCEN 3030 or PHYS 2600) (all minimum grade B).
Additional Information: Departmental Category: Numerical Computation

CSCI 5646 (3) Numerical Linear Algebra

Offers direct and iterative solutions of linear systems. Also covers eigen value and eigenvector calculations, error analysis, and reduction by orthogonal transformation. A sound knowledge of basic linear algebra, experience with numerical computation, and programming experience is required.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation

CSCI 5654 (3) Linear Programming

Presents algorithms, simplex and modifications. Examines theory-duality and complementary slackness. Involves network flow algorithms. Introduces integer programming.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite linear algebra.
Additional Information: Departmental Category: Theory of Computation

CSCI 5673 (3) Distributed Systems

Examines systems that span multiple autonomous computers. Topics include system structuring techniques, scalability, heterogeneity, fault tolerance, load sharing, distributed file and information systems, naming, directory services, resource discovery, resource and network management, security, privacy, ethics and social issues.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5673
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5573 or a course in computer networks.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5676 (3) Numerical Optimization

Focuses on computational methods for solution of unconstrained and some constrained optimization problems, nonlinear least-squares problems and systems of nonlinear equations. Formerly CSCI 6676.

Recommended: Prerequisite (CSCI 2820 or APPM 2360 or APPM 3310 or MATH 2130 or MATH 2135 or MATH 3130 or MATH 3135) AND (CSCI 3022 or CSCI 3656 or APPM 4650 or MATH 4650 or MCEN 3030 or PHYS 2600) (all minimum grade B), and restricted to grad students.
Additional Information: Departmental Category: Numerical Computation

CSCI 5714 (3) Formal Languages

Explores context-free languages: pumping lemma and variants, closure properties, and decision properties. Involves parsing algorithms, including general and special languages, e.g., LR. Additional topics chosen by instructor.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5444 or instructor consent required.
Additional Information: Departmental Category: Theory of Computation

CSCI 5722 (3) Computer Vision

Explores algorithms that can extract information about the world from images or sequences of images. Topics covered include: imaging models and camera calibration, early vision (filters, edges, texture, stereo, optical flow), mid-level vision (segmentation, tracking), vision-based control and object recognition.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4722
Requisites: Restricted to graduate students only.
Recommended: Prerequisite probability, multivariate calculus and linear algebra.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5753 (3) Computer Performance Modeling

Presents a broad range of system measurement and modeling techniques, emphasizing applications to computer systems. Topics include system measurement, work load characterization and analysis of data; design of experiments; simulation; and queuing theory and queuing network models.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4753 and ECEN 4753 and ECEN 5753
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5802 (1) Data Science Team Companion Course

Gives students hands-on experience applying data science techniques and machine learning algorithms to real-world problems. Students work in small teams on internal challenges, many of which will be sponsored by local companies and organizations and will represent the university in larger teams for external challenges at the national and global level, such as those hosted by Kaggle. Students will be expected to participate in both internal and external challenges, attend meetings and present short presentations to the group when appropriate. Instructor consent required.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4802
Repeatable: Repeatable for up to 3.00 total credit hours.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5809 (3) Computer Animation

Develops a firm understanding of the general principles of computer animation. Lectures cover the creation of models, materials, textures, surfaces, and lighting. Path and key frame animation, particle dynamics, and rendering are introduced. Students are assigned a number of animation tutorials to carry out.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4809 and ATLS 4809 and ATLS 5809
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Graphics

CSCI 5817 (3) Database Systems

Provides an advanced treatment of basic database concepts.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 3753.
Additional Information: Departmental Category: Database Systems

CSCI 5822 (3) Probabilistic Models of Human and Machine Learning

Introduces the basic concepts of probabilistic models: directed, undirected, and factor graphs, and the computations we can do with them. Probabilistic modeling¿at the intersection of graph theory and probability¿is a powerful area of mathematics and computer science with countless applications. In this class, we learn how to leverage known probabilistic structures to make sense of large data, and how to learn unknown structure. Topics include the fundamentals of Bayesian statistics; expressiveness of graphical models; conditioning, marginalization, and triangulation; basics of information theory; sampling methods, filtering, and variational inference; and predictive models.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5828 (3) Foundations of Software Engineering

Provides an introduction to software engineering concepts and techniques. Topics include the history of software engineering, fundamental software engineering principles and theory, software life cycles, software testing, and the design and implementation of concurrent and large-scale software systems.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Software Engineering

CSCI 5832 (3) Natural Language Processing

Explores the field of natural language processing as it is concerned with the theoretical and practical issues that arise in getting computers to perform useful and interesting tasks with natural language. Covers the problems of understanding complex language phenomena and building practical programs.

Equivalent - Duplicate Degree Credit Not Granted: LING 5832
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5839 (3) User-Centered Design and Development 1

Develops the skills and practices necessary to apply user-centered approaches to software requirements analysis, and the design and evaluation of computer applications.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Graphics

CSCI 5849 (3) Input, Interaction, and Accessibility

Explores input and interaction techniques, with an emphasis on universal design and alternative interfaces. Students will explore traditional input methods such as keyboard and mouse input, and alternative techniques such as voice and eye gaze. Students will conduct performance evaluations of existing techniques, and prototype new interaction methods. Students will design technologies to support people with varying abilities and disabilities.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4849
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 3002 or CSCI 5839 (minimum grade B).

CSCI 5854 (3) Theoretical Foundations of Autonomous Systems

Covers techniques for modeling, design and verification of autonomous systems and application domains including automotive systems, robotics and medical devices. Modeling topics include timed systems, differential equations, switched systems, hybrid dynamical systems. Verification topics: reachability and stability verification. Temporal specifications. Synthesis of controllers. Applications: automotive systems, medical devices.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Theory of Computation

CSCI 5880 (3) Interactive Machine Learning for Customizable and Expressive Interfaces

Introduces students to techniques for applying machine learning in the development of customizable human-computer interfaces. Students will learn to process a wide variety of input data (e.g. video and accelerometer streams), using different machine learning algorithms to detect semantically meaningful events that can afford the construction of new interactive systems. They will complete substantial projections within the domains of assistive or creative technologies. Does not fulfill Breadth Requirement for CSEN graduate students.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4889, ATLS 4889 and ATLS 5880
Requisites: Restricted to graduate students only.
Grading Basis: Letter Grade
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5900 (1-6) Master's Level Independent Study

Provides opportunities for independent study at the master's level.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to Computer Science (CSEN) graduate students or Computer Science Concurrent Degree majors only.
Additional Information: Departmental Category: General Computer Science

CSCI 5919 (3) HCC Survey and Synthesis: Foundations and Trajectories

Examines the interdisciplinary field of human-centered computing through a comprehensive content and historical survey. Considers new trajectories of inquiry and how the field merges with others. Social computing, is emphasized as a central topic. Students across disciplines will find the course foundational for understanding human-centered technology matters, including computer scientists, information scientists, social scientists, and business and media arts students.

Equivalent - Duplicate Degree Credit Not Granted: INFO 5919
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Graphics

CSCI 5922 (3) Neural Networks and Deep Learning

Introduces modern approaches to machine learning using neural networks. Neural nets, popular in the early 1990s, have undergone a resurgence due to significant advances in computing power and the availability of very large data sets. Now rechristened 'deep learning', the field has produced state-of-the-art results in a range of artificial intelligence problems, including vision, speech and natural language processing.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5929 (3) HCC Survey and Synthesis: New Disciplinary Directions

Studies recent advances in human-computer interaction through critical analysis of influential papers and self-guided research. Examines new paradigms in input, output, and visualization for technology design and interaction. Considers innovative methods to assess various population design and technological needs. Studies in computer-related fields, social science, business, media arts and communications benefit learning about human-centered computing research.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5919.
Additional Information: Departmental Category: Graphics

CSCI 6000 (1) Introduction to the Computer Science PhD Program

Instructs new Ph.D students in Computer Science how to obtain a Ph.D and how to become an effective member of the computer science research community. Makes students aware of formal requirements, educational objectives, and research themes. Provides evaluative criteria and guidelines for all objectives to be achieved.

Requisites: Restricted to Computer Science (CSCI) PhD. students only.
Additional Information: Departmental Category: General Computer Science

CSCI 6100 (1) Computer Science Colloquium

Learn about innovative research and teaching in computer science by attending talks and discussions by leading researchers and educators. Learn professional presentation skills and etiquette of participating in scientific research presentations. Not repeatable for credit. Students can attend during any term even if they are not enrolled.

Requisites: Restricted to Computer Science (CSCI) PhD. students only.

CSCI 6114 (3) Computational Complexity Theory

Covers standard complexity classes including: time-bounded, space-bounded, nondeterministic, randomized, quantum, parallel, counting, and nonuniform classes. Covers standard relationships between these complexity classes, as well as landmark results in complexity theory. Additional topics may be covered depending on time and interest.

Requisites: Requires prerequisite course of CSCI 5454 (minimum grade B). Restricted to graduate students only.
Recommended: Corequisite CSCI 5444.

CSCI 6118 (3) Software Engineering for Scientists

Learn the core principles of software engineering and design to make scientific software more robust and reproducible. This class targets quantitative scientists with programming skills (in any language) who want to use software in their research. We will cover the version control, testing, benchmarking, data structures, algorithms, and pipelines. This course opens computing to a variety of student disciplines, and is an advanced course in computing geared toward STEM. Instructor approval required for CS majors and CS minors. Previously offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4118
Requisites: Restricted to graduate students. Restricted to Non-Computer Science students only.
Recommended: Prerequisites ASEN 1320 or CSCI 1200 or CSCI 1300 or CSCI 2275 or ECEN 1310 or INFO 1201, knowledge of a programming language, preferably Python, and upper division STEM course recommended.

CSCI 6200 (1) Computer Science PhD Career Development

Learn how to make the most of your CS PhD by understanding and preparing for a career as a computer science research in academia, industry, and government. Students need to take this class once they complete Preliminary Exam and before their proposal defense.

Requisites: Requires prerequisite course of CSCI 6000 (minimum grade B). Restricted to Computer Science (CSCI) MS and PhD students only.

CSCI 6214 (3) Randomized Algorithms

Randomization is a powerful tool to design and analyze algorithms, and one that has played, and continues to play, a key role in the theory of algorithms and complexity. This course will give a technical foundation in common probabilistic tools to design and analyze algorithms, and use this foundation to cover several important randomized algorithms.

Requisites: Requires prerequisite course of CSCI 5454 (minimum grade B). Restricted to graduate students only.

CSCI 6268 (3) Foundations of Computer and Network Security

Studies methods to protect information, and the ability to process and move information, from theft, misuse, tampering, destruction and unauthorized access. Introduces foundational topics of computer and network security, including security models, cryptography and authentication protocols.

Equivalent - Duplicate Degree Credit Not Granted: TLEN 5550
Requisites: Requires prerequisite course of CSCI 5273 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Software Engineering

CSCI 6302 (3) Speech Recognition and Synthesis

Introduction to automatic speech recognition and understanding, conversational agents, dialogue systems, and speech synthesis/text-to-speech. Topics include the noisy channel model, Hidden Markov Models, A* and Viterbi decoding, language modeling (N-grams, entropy), concatenative synthesis, text normalization, dialogue and conversation modeling.

Requisites: Restricted to graduate students only.
Recommended: Prerequisites CSCI 5832 or LING 5200 or instructor consent required.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 6314 (3) Algorithmic Economics

This course will survey the frontier of algorithmic economics: the study of incentives and strategic behavior through a computational lens. It will show how microeconomic theory applies to the design of algorithms, and conversely, how algorithmic thinking applies to economics. Other topics may include game theory, mechanism design / auction theory, forecasting mechanisms, and voting / social choice theory.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5454.

CSCI 6402 (3) Issues and Methods in Cognitive Science

Interdisciplinary introduction to cognitive science, examining ideas from cognitive psychology, philosophy, education, and linguistics via computational modeling and psychological experimentation. Includes philosophy of mind; learning; categorization; vision and mental imagery; consciousness; problem solving; decision making, and game-theory; language processing; connectionism. No background in Computer Science will be presumed.

Equivalent - Duplicate Degree Credit Not Granted: EDUC 6504 and LING 6200 and PHIL 6310 and PSYC 6200 and SLHS 6402
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 6454 (3) Advanced Algorithms

Topics include matching and network flows, matroids, computational geometry, parallel computation (PRAM, hypercube, mesh). Also includes Vlsi, database theory, distributed computation, cryptography, robotics, scheduling, probabilistic algorithms, approximation algorithms, average case, and amortized analysis, time permitting.

Requisites: Requires prerequisite course of CSCI 5454 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Theory of Computation

CSCI 6502 (3) Big Data Analytics: Systems, Algorithms, and Applications

This course studies state-of-the-art practice and research on efficient and effective systems and algorithms design for managing and exploring massive amounts of digital data in various application domains. The course takes an integrated approach that studies all three aspects of big data analytics: systems, algorithms, and applications. Specifically, this course covers big data systems for MapReduce, NoSQL, stream processing, deep learning, mobile/wearable/IoT sensing, as well as practical use of indexing, sketching, recommendation, graph, and deep learning algorithms. Domain-specific data management and analysis, such as those in online social networks, scientific discovery, business intelligence, health informatics, urban computing, are also covered.

Requisites: Restricted to graduate students only.

CSCI 6622 (3) Advanced Machine Learning

Covers advanced theoretical and practical topics in machine learning and latest developments in the field. Students conduct original research, either applied or theoretical, and present their results.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5622 or instructor consent required.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 6644 (1) Theory of Computing Reading Group

Exposition of key results in major areas of Theory of Computing presented by graduate students. The topics are selected every semester by voting. Examples of topics from previous semesters include: Hardness of Approximation and PCPs, Unique Games Conjecture, and Optimal Inapproximability Results for Max Cut. Previously offered as a special topics course.

Repeatable: Repeatable for up to 3.00 total credit hours.
Requisites: Restricted to graduate students only.
Recommended: Prerequisites Graduate-level courses in Algorithms and Complexity Theory.

CSCI 6686 (3) Numerical Methods for Constrained Optimization

Covers computational methods for constrained optimization. Topics include basic theory, methods for quadratic programming, active set strategies for linear constraints, and penalty and successive quadratic programming methods for nonlinearly constrained problems.

Requisites: Requires prerequisite course of CSCI 5606 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation

CSCI 6800 (1-6) Master of Engineering Project

Students seeking the master of engineering degree must complete a creative investigation project, including a written report, supervised by a member of the graduate faculty. Department enforced prerequisite: completion of 21 hours towards the ME degree.

Repeatable: Repeatable for up to 12.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate student Computer Sciences (CSEN) students only.
Additional Information: Departmental Category: General Computer Science

CSCI 6810 (1) Seminar in Computational Biology

Provides an overview of current research topics in computational biology and health informatics, with a focus on research conducted on campus. Each week students will attend an on-campus seminar or a presentation by an on-campus research group. Prepares students to participate in a research project.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4810
Additional Information: Departmental Category: General Computer Science

CSCI 6930 (1-3) Professional Internship

This class provides a structure for CS graduate students to receive academic credit for internships with industry partners that have an academic component to them suitable for graduate-level work. Participation in the program will consist of an internship agreement between a student and an industry partner who will employ the student in a role that supports the academic goals of the internship. Instructor participation will include facilitation of mid-term and final assessments of student performance as well as support for any academic-related issues that may arise during the internship period. May be taken during any term following initial enrollment and participation in CS graduate programs.

Requisites: Restricted to graduate students only.

CSCI 6940 (1) Master's Candidate for Degree

Registration intended for students preparing for a thesis defense, final examination, culminating activity, or completion of degree.

Requisites: Restricted to Computer Science (CSEN) graduate students or Computer Science Concurrent Degree majors only.
Additional Information: Departmental Category: General Computer Science

CSCI 6950 (1-6) Master's Thesis

Requisites: Restricted to Computer Science (CSEN) graduate students or Computer Science Concurrent Degree majors only.
Additional Information: Departmental Category: General Computer Science

CSCI 7000 (1-4) Current Topics in Computer Science

Covers research topics of current interest in computer science that do not fall into a standard subarea.

Repeatable: Repeatable for up to 18.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: General Computer Science

CSCI 7123 (3) Topics in Operating Systems

Topics selected by instructor. Possible topics are system design, measurement and evaluation, simulation, mathematical modeling, and parallelism.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Requires prerequisite course of CSCI 5573 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 7135 (1-3) Topics in Programming Languages

Topics selected by instructor. Possible topics are syntax, semantics, metacompilers, compiler design, and translator writing systems. Department consent required.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Programming Languages

CSCI 7143 (3) Topics in Computer Systems

Topics selected by instructor. Possible topics are online systems, multiprocessing, microprogramming, architecture, data communications, and computing networks. Department consent required.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 7154 (3) Topics in Theory of Computation

Selected topics of current interest in theory of computation.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Requires prerequisite course of CSCI 5454 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Theory of Computation

CSCI 7176 (3) Topics in Numerical Computation

Topics selected by instructor. Possible topics are numerical linear algebra, solution of differential equations, nonlinear algebra and optimization, data fitting, linear and nonlinear programming, and solution of large problems. Department consent required.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation

CSCI 7222 (3) Topics in Nonsymbolic Artificial Intelligence

Topics vary from year to year. Possible topics include human and machine vision, signal and speech processing, artificial life, mathematical foundations of connectionism, and computational learning theory.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5622 or instructor consent required.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 7412 (2) Cognitive Science Research Practicum

Independent, interdisciplinary research project in cognitive science for advanced graduate students pursuing a joint PhD in an approved core discipline and cognitive science. Research projects integrate at least two areas within the cognitive sciences: psychology, computer science, linguistics, education, philosophy. Students need commitments from two mentors for their project.

Equivalent - Duplicate Degree Credit Not Granted: EDUC 6506 and LING 7415 and PHIL 7415 and PSYC 7415 and SLHS 7418
Requisites: Requires a prerequisite course of CSCI 6402 or EDUC 6504 or LING 6200 or PHIL 6310 or PSYC 6200 (minimum grade B). Restricted to graduate students only.
Recommended: Prerequisite EDUC 6505.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 7422 (2) Cognitive Science Research Practicum 2

Independent, interdisciplinary research project in cognitive science for advanced graduate students pursuing a joint Ph.D in an approved core discipline and cognitive science. Research projects integrate at least two areas within the cognitive sciences: psychology, computer science, linguistics, education, philosophy. Students need commitments from two mentors for their project.

Equivalent - Duplicate Degree Credit Not Granted: EDUC 6516 and LING 7425 and PHIL 7425 and PSYC 7425 and SLHS 7428
Requisites: Requires a prerequisite course of LING 7415 or PSYC 7415 or CSCI 7412 or EDUC 6506 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 7565 (3) Computational Phonology and Morphology

Surveys of the main approaches and central questions related to computational modeling and learning of morphology and phonology. We consider questions related to learnability of phonology/morphology, machine learning implementations, and linguist-driven grammar modeling.

Equivalent - Duplicate Degree Credit Not Granted: LING 7565

CSCI 7717 (3) Topics in Database Systems

Studies topics such as distributed databases, database interfaces, data models, database theory, and performance measurement in depth.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Requires prerequisite course of CSCI 5817 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Database Systems

CSCI 7772 (1) Topics in Cognitive Science

Reading of interdisciplinary innovative theories and methodologies of cognitive science. Students participate in the ICS Distinguished Speakers series that hosts internationally recognized cognitive scientists who share and discuss their current research. Session discussions include analysis of leading edge and controversial new approaches in cognitive science.

Equivalent - Duplicate Degree Credit Not Granted: EDUC 7775 and LING 7775 and PHIL 7810 and PSYC 7775 and SLHS 7775
Repeatable: Repeatable for up to 4.00 total credit hours.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 7818 (3) Topics in Software Engineering

Studies selected topics of current interest in software engineering. Department consent required.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Software Engineering

CSCI 7900 (1-6) Doctoral Level Independent Study

For doctoral students.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: General Computer Science

CSCI 8990 (1-10) Doctoral Dissertation

Investigates some specialized field of computer science. Approved and supervised by faculty members.

Repeatable: Repeatable for up to 30.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: General Computer Science

CYBR 5000 (3) Seminar in Technology, Cybersecurity and Policy

Introduces students to major topics and research at the interface of technology, cybersecurity, and policy by providing a weekly series of guest lectures with questions and discussion. These lectures will be followed by related readings, class discussions, and group work, which show the relationship of cybersecurity and new technology to policy.

CYBR 5010 (3) Fundamentals of Data Communication

Combining conceptual knowledge about data communications and core Internet technologies with hands-on labs that reinforce the conceptual knowledge, this course provides students with the ability to create innovative technology solutions in their discipline. Learning how the Internet works and being able to evaluate and operate an Internet network is a valuable skill; students in this course will have a competitive advantage in this foundational field.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5010
Requisites: Restricted to Technology, Cybersecurity and Policy MS Majors and Business Analytics MS Majors.

CYBR 5020 (3) Fundamentals of Network Programming

This course provides an immersion into the foundation theories of network programming and software development for emerging technologies. Students will gain direct experience with real-world programming lab experiments and demonstrations that will relate to the prolific increase of cross-discipline programming.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5020
Requisites: Restricted to Technology, Cybersecurity and Policy MS Majors.

CYBR 5030 (3) Fundamentals of System Administration and Virtualization

Introduces the basic use and administration of Unix and Linux systems. Topics include booting and system management, scripting, storage and logical volume management, filesystem configuration, account management and password security, process control, software installation, event logging and system auditing. Students will also develop familiarity with virtualization platforms such as VirtualBox and VMware to implement and test their system configurations.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5030
Requisites: Restricted to Technology, Cybersecurity and Policy MS Majors.

CYBR 5113 (3) Linux System Administration

Introduces Linux system administration and related topics. Includes hardware and software installation, storage management, configuration of user accounts and system services, development of automation and monitoring tools, and the provisioning of common network services. This laboratory focused course will provide significant exposure to the network security concerns of Internet connected hosts. Students will build a network of Linux servers from the ground up, using provided computing resources, and must maintain and secure these servers themselves. Previously offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5113 and CSCI 4113
Requisites: Restricted to Technology, Cybersecurity and Policy (CYBR) graduate students only.
Recommended: Prerequisite CSCI 3753 (minimum grade B).

CYBR 5200 (3) Introduction to Wireless Systems

Overviews the distinctive characteristics of the wireless communications medium. Topics covered include: Analog signals, Antennas and Propagation, Digital Signals, Sampling, Quadrature Signals, Digital Modulation, SNR and SINR Concepts, Channel Models, Channel Statistics, and Link Budgets. The course includes an introduction to MIMO and beam-forming as implemented in modern communication systems. Software Defined Radio (SDR) is introduced to facilitate student hands-on learning of radio operation. Previously offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5200 and CSCI 4200
Recommended: Prerequisites CYBR 5010 and CYBR 5012.

CYBR 5220 (3) Wireless Local Area Networks

Emphasis on the IEEE P802.11 family of WLAN standards. Students learn the legacy versions of the standard (802.11DS/b), the current generation of WLAN systems (802.11a/g/n/ac), and will to analyze and critique upcoming versions (802.11ax/ba), and gain insight into proposals for new research in WLAN. Exposure to the interoperability and certification process for WLAN by the Wi-Fi Alliance, study the newest Wi-Fi Certified¿ programs, and will learn how to model and analyze WLAN traffic using industry standard tools.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5220 and ECEN 5122
Requisites: Requires prerequisite course of CYBR 5010 or CSCI 5010 or CSCI 5273 (minimum grade B).
Recommended: Prerequisite CYBR 5200.

CYBR 5230 (3) Wireless Systems Lab

This Wireless Solutions Architecture course is designed to examine the core concepts of wireless architecture, design and implementation. The course will focus on architecting solutions unlicensed technology, specifically enterprise Wi-Fi networks. Students will learn how to design, implement, troubleshoot and operate enterprise wireless networks.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5230
Requisites: Requires prerequisite course of CYBR 5200 (minimum grade B).
Recommended: Prerequisite CYBR 5010.

CYBR 5240 (3) Introduction to Blockchain

Examines an emerging technology known as blockchain. Blockchain refers to the distributed and decentralized database technology behind popular cryptocurrencies such as Bitcoin and Ethereum. However, it can be used to record and transfer any digital asset, not just currency. This course explores the fundamentals of blockchain technology and its application from three key perspectives: policy and governance, technology, and application. Students gain an understanding of key concepts and how to apply them in the industry. Previously offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5240 and CSCI 4240
Requisites: Restricted to graduate students only.

CYBR 5250 (2-4) Technology Law and Policy Clinic

Features technology law advocacy before administrative, legislative and judicial bodies in the public interest. Formerly TLEN 5250. Instructor consent required.

Equivalent - Duplicate Degree Credit Not Granted: LAWS 7809
Requisites: Restricted to CYBR/TLEN graduate students.
Grading Basis: Letter Grade

CYBR 5260 (3) Seminar: Law and Economics of the Information Age

Examines basic regulatory and legal challenges of our information economy and digital age. Emphasizes the "networked" information industries, the proper role of "unbundling" policies to advance competition and how intellectual property and antitrust rules should be developed. Formerly TLEN 5260.

Equivalent - Duplicate Degree Credit Not Granted: LAWS 8341
Requisites: Restricted to CYBR/TLEN graduate students.

CYBR 5300 (3) Cybersecurity

Introduces core concepts in cybersecurity including confidentiality, integrity, authentication, risk management, and adversarial thinking. The concepts will be applied to both traditional information technology (IT) systems and cyber physical systems (CPS). The course provides a cyber security foundation that will allow practitioners in other fields apply to understand cyber security trade-offs and will also provide interested students with a basis further study in cyber security. At the conclusion of the course, students should have a solid foundation in cybersecurity and hands-on experience.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5403
Recommended: for graduate students only.

CYBR 5303 (1) Cybersecurity Club Companion Course

Gives students hands-on experience applying practical security skills and adversarial thinking to real-world problems. Students will work in small teams on internal challenges, lab development, open source contributions, and will represent the university in larger teams for external challenges at the national and global level, such as those hosted by Collegiate Cyber Defense Competition (CCDC), Wicked6, DOE CyberForce, etc. Students will be expected to participate in both internal and external challenges, attend meetings, and present short presentations to the group when appropriate. Previously offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5303 and CSCI 4303
Repeatable: Repeatable for up to 3.00 total credit hours.
Recommended: Prerequisites CYBR 5300 or CSCI 5403 or CSCI 3403.

CYBR 5310 (3) Immersive Cyber Defense

Immersive Cybersecurity Defense assumes familiarity with core cybersecurity concepts and applies them within a hands-on virtual environment. Students practice offensive skills such as password cracking and exploit development to understand vulnerabilities and then focus on defensive tactics to reduce cyber risk and respond to cyber-attacks. At the conclusion of the course, students will understand how to protect systems against a wide range of threats and have experience using real-world tools to implement these defenses. Previously offered as a special topics course.

Recommended: Familiarity with core cybersecurity concepts such as those covered in CYBR 5300 is recommended but not required, and students are expected to have an understanding of Windows, Linux and Networking fundamentals.
Grading Basis: Letter Grade

CYBR 5320 (3) Cybersecurity Network Analytics

This Cybersecurity Network Analytics course takes a hands-on approach to detecting malicious activity within network traffic. The course will first introduce methodologies for analyzing cyber data. This knowledge will then be used practically, as the students will be given the chance to test out approaches on real traffic. At the conclusion, students will have both a theoretical understanding of cyber algorithms and their use in a real-world setting.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 4320
Requisites: Requires prerequisite courses CYBR 5300 or CSCI 3403 or CSCI 5403 or MSBX 5480 (minimum grade B).
Recommended: Requisite C++ and Linux/Unix experience and knowledge of computer networking.

CYBR 5330 (3) Digital Forensics

Learn how to identify, collect, examine, analyze, and present digital evidence and the legal challenges associated with conducting digital forensics investigations. Explore various file system types and structures. Learn how to recovery and extract potential evidence from deleted files and directories. Learn how to capture and profile data residing in live memory. Analyze running processes and recover memory artifacts. Learn about various methods data can be hidden on a computing devices, storage media, and within covert communications channels.

Recommended: Prerequisites CYBR 5300 or CSCI 3403 or CSCI 5403.

CYBR 5340 (3) VOIP Network Design

Focuses on VoIP network design and optimization. The emphasis is on the convergence of VoIP, PSTN and cell phone networks and signaling. Topics include voice processing as well as IP and SS7 signaling. In addition there will be a review of ISDN, DSL, Sonet, ATM, SIP and MPLS. There will be a case problem for sizing a VoIP network using silence suppression. Formerly TLEN 5340.

Requisites: Requires corequisite of CYBR 5001. Restricted to CYBR or BUSN graduate students.

CYBR 5350 (3) Security Auditing and Penetration Testing

This course is an introduction to the principles and techniques associated with security auditing and penetration testing. Topics covered include; planning, reconnaissance, scanning, enumeration, exploitation, post-exploitation, and reporting. Students discover how system vulnerabilities can be exploited. Students will develop an understanding of current cybersecurity issues and how user, administrator, and programmer errors can result in security breaches.

Recommended: Prerequisites CYBR 5300 or CSCI 3403 or CSCI 5403.

CYBR 5400 (3) Principles of Internet Policy

Engages in the critical strategic analysis and debate of controversial public policy issues raised by the Internet. Learn how to develop well-reasoned positions on the regulations applied to new Internet-based technologies and business models based on interdisciplinary frameworks that characterize the significant intersection of technology, economics, business, and public policy. Policy topics covered include Broadband as a Universal Service, Net Neutrality, Spectrum Management, Online Privacy, and Cybersecurity.

CYBR 5410 (3) Telecommunications Law and Policy

Examines laws governing telecommunications industries, including federal and state regulation and international aspects. Includes telephone, cable, satellite, cellular and other wireless systems and the Internet. Formerly TLEN 5240.

Equivalent - Duplicate Degree Credit Not Granted: LAWS 7241
Repeatable: Repeatable for up to 6.00 total credit hours.
Requisites: Restricted to CYBR or BUSN graduate Students

CYBR 5420 (3) Spectrum Management and Policy

Studies how spectrum policy is developed and implemented. A general framework is developed for understanding telecommunications law and regulatory objectives. Specifically analyzes international and domestic dimensions of spectrum policy. Considers how economics, administrative processes and innovative technologies affects management of the spectrum. Formerly TLEN 5230.

Requisites: Restricted to graduate students only.

CYBR 5505 (3) Leading Oneself

Provides working engineers a background in leadership concepts and methods and enables students to develop practical leadership skills through numerous in-class exercises and experimentation based assignments. Topics include authentic leadership, motivating self and others, cultivating emotional intelligence, personal mastery, creating accountability, conflict resolution, leading change and organizational culture. Required for all Engineering Management degree students.

Requisites: Restricted to Leeds School of Business or College of Engineering graduate students only.

CYBR 5510 (3) Technology: Commercial Strategy and Operations

Working in groups of 2 to 4, students will leverage their technical skills to learn and apply commercial/business skills via the consideration of a hypothetical competitive technically-oriented business, including its strategy, long-term financial outlook, and operating platform. Upon successful course completion, students should expect to feel confident when speaking with (and ultimately moving into roles of) management and leadership, regarding all critical aspects of business, especially the creation of equity value through scale at pace, aligning interests of all key stakeholders. Open to undergraduates with instructor consent.

Requisites: Restricted to graduate students only.

CYBR 5550 (3) Designing for Defense 1

Designing for Defense/Hacking for Defense is a national service program running at leading research universities across the country. Interdisciplinary teams¿chosen by competitive selection¿work on real-world national security challenges, in close contact with national security agencies. Teams employ the Lean Launchpad entrepreneurship methodology to develop engineering and business concepts to solve real-world challenges for special operations forces, the intelligence community, and other government agencies. Winning teams are eligible for real-world capital investment. The first semester of a two-course sequence. Students take this course, ASEN/CSCI/CYBR 5550, and ASEN/CSCI/CYBR 5580 contiguously as the sequence spans the academic year.

Equivalent - Duplicate Degree Credit Not Granted: ASEN 5550 and CSCI 5550
Grading Basis: Letter Grade

CYBR 5620 (3) Advanced Wireless Lab

Provides a comprehensive, hands-on set of laboratory exercises for the teaching and demonstration of key technical skills required to understand, build, test, and analyze both analog and digital wireless communications concepts. In conjunction with lecture-based content to provide a solid foundation in digital communication theory, SDR-based laboratory exercises enable the synthesis of several fundamental concepts utilizing the latest, modern communications systems technologies.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5620
Requisites: Requires prerequisite course of CSCI 5200 or CYBR 5200 (minimum grade B).
Recommended: Prerequisites CYBR 5630 or CSCI 5630 and CYBR 5220 or CSCI 5220.

CYBR 5630 (3) Wireless and Cellular Systems

Studies technologies and architectures employed in modern cellular wireless systems. Major topics include radio propagation, multiple access techniques, analog and digital cellular telephony, and personal communications systems. Presents the necessary tools to understand the wireless industry, its technical details, and its business drivers. Topics include modeling, spectrum, weather, multipath, Doppler effect, and shadowing and covers important aspects of multiple access technologies such as CDMA and OFDMA. introduces modern radio standards including LTE.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5630
Requisites: Requires prerequisite course of CSCI 5200 or CYBR 5200 (minimum grade B).

CYBR 5700 (3) Graduate Projects I

This two-semester sequence includes CYBR 5700 Graduate Projects I and CYBR 5710 Graduate Projects II. Teaches students how to engineer a complex, inter/multidisciplinary design and implementation problem in a group environment.

Requisites: Restricted to Technology, Cybersecurity and Policy MS students.

CYBR 5710 (3) Graduate Projects II

This two-semester sequence includes CYBR 5700 Graduate Projects I and CYBR 5710 Graduate Projects II. Teaches students how to engineer a complex, inter/multidisciplinary design and implementation problem in a group environment. Formerly CYBR 6700.

Requisites: Restricted to Technology, Cybersecurity and Policy MS students. Requires prerequisite course of CYBR 5700 (minimum grade B-).

CYBR 5830 (1-6) Special Topics

Current topics in Telecommunications. Formerly TLEN 5830.

Repeatable: Repeatable for up to 18.00 total credit hours. Allows multiple enrollment in term.

CYBR 5910 (1-6) Independent Study

Special projects agreed upon by student and instructor. Department consent required. Formerly TLEN 5920.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to CYBR/TLEN graduate students.

CYBR 6940 (1) Master's Candidate for Degree

This course is for TCP Master's students who are approved candidates to receive their degree.

Requisites: Restricted to CYBR/TLEN graduate students.

CYBR 6950 (1-6) Master's Thesis

Original and independent research conducted by a graduate student under the supervision of a faculty advisor. Formerly TLEN 6950.

Requisites: Restricted to CYBR/TLEN graduate students.

CYBR 8990 (1-10) Doctoral Dissertation

Investigates specialized topic or field in the area of telecommunications. Approved and supervised by faculty members. Formerly TLEN 8990.

Requisites: Restricted to CYBR/TLEN PhD students.