Programs Offered
Master's Degrees
- Computer Science - Master of Science (MS)
- Computer Science - Master of Science (MS) Online
- Computer Science - Professional Master of Science (MSCPS)
- Network Engineering - Master of Science (MSNE)
Doctoral Degree
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
Wu, Di
Teaching Assistant Professor; PhD, City University of New York
Wustrow, Eric A.
Assistant Professor; BE, University of Michigan Ann Arbor
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
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 Computer Sciences Professional Masters (CSEN-MSCPS) graduate 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-MSCPS 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 5122 (3) Neural Networks and Deep Learning for Data Science
Explores neural networks and their application to real-world data science and AI problems. Covers neural network theory, algorithms, programming, and applications across various data formats.
Recommended: Prerequisites Python programming, college algebra, and differential, integral, and multivariate calculus.
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 5202 (3) Introduction to Robotics
Introduction to Robotics prepares graduate students in the Robotics graduate program to be equipped with fundamental methods and tools in the field. This involves both a theoretical and a practical component, which are offered in a lecture and laboratory format.
Equivalent - Duplicate Degree Credit Not Granted: ROBO 5000
Requisites: Restricted to graduate students only.
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 and ROBO 5302
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 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 (or ECEN 2360).
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 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.
Equivalent - Duplicate Degree Credit Not Granted: CSCI 4576
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation
CSCI 5580 (3) Designing for Defense 2
This course allows teams to continue their D4D journey from semester 1 guiding
Requisites: Requires prerequisite course of ASEN 5550 or CSCI 5550 or CYBR 5550 (minimum grade B). Restricted to graduate students only.
Grading Basis: Letter Grade
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 5612 (3) Machine Learning for Data Science
Explores the data science lifecycle with a focus on machine learning. Topics include data preparation, unsupervised and supervised analyses, ensemble methods, results illustration, and data communication. Unsupervised methods include clustering, association rule mining, and dimensionality reduction. Supervised models include regression, tree-based models, Bayesian models, and support vector machines. Recommended restrictions: This course is specific to Data Science students and the MS-DS degree program, this course would not be suitable for CSCI majors to meet CS degree requirements.
Recommended: Prerequisites probability, statistics, multivariate calculus, and linear algebra.
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 and Causal Modeling in Computer Science
Introduces a set of modeling techniques that have become a mainstay of modern artificial intelligence and machine learning research. These techniques combine graphical models, Bayesian analysis, and multivariate statistics for probabilistic and causal inference and for interpreting the statistical structure of large data sets. Applications include healthcare, economics, marketing, social sciences, and more.
Requisites: Restricted to graduate students only.
Recommended: Prerequisite undergraduate course in probability and statistics.
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 5840 (3) Advanced Network Automation
Combining lectures, lab experiments, and demonstrations, students in this course will develop advanced skills and knowledge in network automation technologies, services, and tools. They will learn to analyze, evaluate, and apply historical and future services needed for network functionality, maintenance, and troubleshooting. The course will cover a range of topics, from technical to soft skills, including best practices and key theories.
Requisites: Requires prerequisite course of CSCI 5180 (minimum grade B). Restricted to Network Engineering students only.
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 5897 (3) Computational and Mathematical Modeling of Infectious Diseases
Explores the ways we model infectious diseases using math and computing, from the dynamic spread of infectious diseases between humans, to a pathogen's growth within the body. Learning goals include (i) gaining a mastery of both classic and modern infectious disease models (ii) learning about a variety of infectious diseases, and (iii) engaging with the ethics of infectious disease modeling. Requires beginner or advanced-beginner skill in Python or R. Prob/Stats: APPM3570/CHEN3010/CSCI3022/CVEN3227/EBIO4410/ECEN3810/ECON3818/IPHY3280/MATH3510/4510/4520/MCDB3450/MCEN3047/PSYC2111/STAT2600/3100/4000/4520, Calc 1, Beginner or Advanced Beginner skill in Python or R , Calc 2.
Equivalent - Duplicate Degree Credit Not Granted: CSCI 4897
Recommended: Prerequisites Data structures (CSCI 2270) or equivalents: ASTR 2600, CSCI 2275, INFO 2201, PHYS 2600, as well as APPM 3650.
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 6166 (3) Validation and Uncertainty Quantification for Computational Models
Assesses the reliability of computational models, which are used to describe physical and engineering systems in nearly every aspect of our lives, from an airplane wing interacting with turbulent air to the human heart pumping blood. But for various reasons model results might not be reliable. This course formulates and analyzes representations of uncertainty and validation tests for computational models.
Recommended: Prerequisites probability, linear algebra, calculus.
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 6254 (3) Advanced Data Structures
Learn about data structures beyond trees, heaps, and hashtables that are covered in introductory classes on algorithms and data structures. Key topics will include hashtables and their applications, amortized analysis and data structures using amortization, important balanced tree data structures including B-trees, treaps and skip lists, mergeable heaps: binomial and Fibonacci heaps, persistent data structures, tries, suffix tries, suffix automata and spatial data structures.
Requisites: Requires prerequisite course of CSCI 5454 (minimum grade B).
Recommended: Prerequisite CSCI 5434.
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 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 or CSCI 5220.
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
Requisites: Restricted to graduate students only.
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 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 5580 (3) Designing for Defense 2
This course allows teams to continue their D4D journey from semester 1 guiding students in launching a business entity that will deploy agile development tools to refine and enhance their first semester MVP, seek funding for that development work, deliver a functioning solution to their sponsor, and extract real value for the members of the business unit.
Equivalent - Duplicate Degree Credit Not Granted: ASEN 5580 and CSCI 5580
Requisites: Requires prerequisite course of ASEN 5550 or CSCI 5550 or CYBR 5550 (minimum grade B). Restricted to graduate students only.
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 5830 (1-6) Special Topics
Current topics in technology, cybersecurity and policy.
Repeatable: Repeatable for up to 18.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
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.