Please refer to the Schedule Planning Information page for a general idea when these courses are offered. For exact dates, times, locations, fees, and instructors, please refer to the course finder.

Undergraduate Courses

Course Number & Name Mode of Study
Course Number & Name: 625.108 - Calculus I Mode of Study: Online
Course Number & Name: 625.109 - Calculus II Mode of Study: Online
Course Number & Name: 605.201 - Introduction to Programming Using Java Mode of Study: Online, Virtual Live
Course Number & Name: 605.202 - Data Structures Mode of Study: Online, Virtual Live
Course Number & Name: 605.203 - Discrete Mathematics Mode of Study: Online, Onsite, Virtual Live
Course Number & Name: 605.204 - Computer Organization Mode of Study: Online, Virtual Live
Course Number & Name: 605.205 - Molecular Biology for Computer Scientists * Mode of Study: Online
Course Number & Name: 605.207 - Introduction to Programming Using C++ Mode of Study:

Foundation Courses

Students working toward a master's degree in Computer Science are required to take the following three foundation courses before taking any other courses.

Course Number & Name Mode of Study
Course Number & Name: 605.601 - Foundations of Software Engineering Mode of Study: Online, Onsite, Virtual Live
Course Number & Name: 605.611 - Foundations of Computer Architecture Mode of Study:
Course Number & Name: 605.621 - Foundations of Algorithms Mode of Study: Online, Virtual Live

Courses by Focus Area

The focus areas offered represent related groups of courses that are relevant for students with interests in the selected areas. Students are required to choose a focus area to follow and to take at least three courses from the selected focus area, including at least one 700-level course. The focus areas are presented as an aid to students in planning their course selections and are only applicable to students seeking a master’s degree. They do not appear as official designations on a student’s transcript or diploma.

Artificial Intelligence

Course Number & Name Mode of Study
Course Number & Name: 605.613 - Introduction to Robotics Mode of Study: Online, Virtual Live
Course Number & Name: 605.624 - Logic: Systems, Semantics, and Models Mode of Study: Online
Course Number & Name: 605.645 - Artificial Intelligence Mode of Study: Online
Course Number & Name: 605.646 - Natural Language Processing Mode of Study: Online, Onsite
Course Number & Name: 605.647 - Neural Networks Mode of Study: Online, Virtual Live
Course Number & Name: 605.649 - Introduction to Machine Learning Mode of Study: Online, Virtual Live
Course Number & Name: 605.743 - Advanced Artificial Intelligence Mode of Study: Online, Virtual Live
Course Number & Name: 605.745 - Reasoning Under Uncertainty Mode of Study: Online
Course Number & Name: 605.746 - Advanced Machine Learning Mode of Study: Online
Course Number & Name: 605.747 - Evolutionary and Swarm Intelligence Mode of Study: Online
Course Number & Name: 695.637 - Introduction to Assured AI and Autonomy Mode of Study: Online
Course Number & Name: 705.603 - Creating AI-Enabled Systems * Mode of Study: Online
Course Number & Name: 525.670 - Machine Learning for Signal Processing Mode of Study: Online
Course Number & Name: 525.733 - Deep Learning for Computer Vision Mode of Study: Virtual Live
Course Number & Name: 525.786 - Human Robotics Interaction Mode of Study: Onsite

Bioinformatics

Course Number & Name Mode of Study
Course Number & Name: 605.643 - Linked Data and the Semantic Web Mode of Study: Online
Course Number & Name: 605.651 - Principles of Bioinformatics Mode of Study: Online
Course Number & Name: 605.652 - Biological Databases and Database Tools Mode of Study: Online
Course Number & Name: 605.653 - Computational Genomics Mode of Study: Online
Course Number & Name: 605.656 - Computational Drug Discovery,Dev Mode of Study: Online
Course Number & Name: 605.657 - Statistics for Bioinformatics Mode of Study: Online
Course Number & Name: 605.716 - Modeling and Simulation of Complex Systems Mode of Study: Onsite, Virtual Live
Course Number & Name: 605.751 - Algorithms for Structural Bioinformatics Mode of Study: Online
Course Number & Name: 605.755 - Systems Biology Mode of Study: Online
Course Number & Name: 605.759 - Independent Project in Bioinformatics Mode of Study:

Cybersecurity

Course Number & Name Mode of Study
Course Number & Name: 605.636 - Autonomic Computing Mode of Study: Onsite, Virtual Live
Course Number & Name: 605.609 - DevOps and Secure Software Development Mode of Study: Online
Course Number & Name: 605.731 - Survey of Cloud Computing Security Mode of Study: Online
Course Number & Name: 635.673 - Protecting Critical Infrastructure Against Cyber Attacks Mode of Study: Online
Course Number & Name: 695.601 - Foundations of Information Assurance Mode of Study: Online, Onsite, Virtual Live
Course Number & Name: 695.611 - Embedded Computer Systems-Vulnerabilities, Intrusions, and Protection Mechanisms Mode of Study: Online
Course Number & Name: 695.612 - Operating Systems Security Mode of Study: Onsite, Virtual Live
Course Number & Name: 695.615 - Cyber Physical Systems Security Mode of Study: Online
Course Number & Name: 695.622 - Web Security Mode of Study: Online
Course Number & Name: 695.641 - Cryptology Mode of Study: Online
Course Number & Name: 695.642 - Intrusion Detection Mode of Study: Online
Course Number & Name: 695.643 - Introduction to Ethical Hacking Mode of Study: Online
Course Number & Name: 695.711 - Java Security Mode of Study: Online
Course Number & Name: 695.721 - Network Security Mode of Study: Online, Onsite, Virtual Live
Course Number & Name: 695.723 - Advanced Web Security Mode of Study: Online
Course Number & Name: 695.742 - Digital Forensics Technologies and Techniques Mode of Study: Online, Virtual Live
Course Number & Name: 695.744 - Reverse Engineering and Vulnerability Analysis Mode of Study: Online

Data Communications and Networking

Course Number & Name Mode of Study
Course Number & Name: 605.671 - Principles of Data Communications Networks Mode of Study: Online, Onsite
Course Number & Name: 605.674 - Network Programming Mode of Study: Online
Course Number & Name: 605.675 - Protocol Design Mode of Study: Online
Course Number & Name: 605.677 - Internetworking with TCP/IP I Mode of Study: Online
Course Number & Name: 605.771 - Wired and Wireless Local and Metropolitan Area Networks Mode of Study: Online
Course Number & Name: 605.776 - Fourth Generation Wireless Communications: WiMAX and LTE Mode of Study: Onsite, Virtual Live
Course Number & Name: 605.777 - Internetworking with TCP/IP II Mode of Study: Online
Course Number & Name: 605.779 - Network Design and Performance Analysis Mode of Study: Online
Course Number & Name: 525.678 - Next Generation Mobile Networks and Security with 5G Mode of Study: Virtual Live
Course Number & Name: 525.768 - Wireless Networks Mode of Study: Onsite

Data Science and Cloud Computing

Course Number & Name Mode of Study
Course Number & Name: 605.631 - Statistical Methods for Computer Science Mode of Study: Online
Course Number & Name: 605.632 - Graph Analytics Mode of Study: Online
Course Number & Name: 605.633 - Social Media Analytics Mode of Study: Online
Course Number & Name: 605.634 - Crowdsourcing and Human Computation Mode of Study: Online
Course Number & Name: 605.635 - Cloud Computing Mode of Study: Online
Course Number & Name: 605.649 - Introduction to Machine Learning Mode of Study: Online, Virtual Live
Course Number & Name: 605.662 - Data Visualization Mode of Study: Online
Course Number & Name: 605.724 - Applied Game Theory Mode of Study: Online
Course Number & Name: 605.731 - Survey of Cloud Computing Security Mode of Study: Online
Course Number & Name: 605.741 - Large-Scale Database Systems Mode of Study: Online
Course Number & Name: 605.744 - Information Retrieval Mode of Study: Online
Course Number & Name: 605.746 - Advanced Machine Learning Mode of Study: Online
Course Number & Name: 605.788 - Big Data Processing Using Hadoop Mode of Study: Online
Course Number & Name: 625.734 - Queuing Theory with Applications to Computer Science Mode of Study: Onsite, Virtual Live
Course Number & Name: 625.741 - Game Theory Mode of Study: Online
Course Number & Name: 685.648 - Data Science * Mode of Study: Online

Database Systems and Knowledge Management

Course Number & Name Mode of Study
Course Number & Name: 605.624 - Logic: Systems, Semantics, and Models Mode of Study: Online
Course Number & Name: 605.641 - Principles of Database Systems Mode of Study: Online
Course Number & Name: 605.643 - Linked Data and the Semantic Web Mode of Study: Online
Course Number & Name: 605.644 - XML Design Paradigms Mode of Study: Online
Course Number & Name: 605.645 - Artificial Intelligence Mode of Study: Online
Course Number & Name: 605.646 - Natural Language Processing Mode of Study: Online, Onsite
Course Number & Name: 605.647 - Neural Networks Mode of Study: Online, Virtual Live
Course Number & Name: 605.741 - Large-Scale Database Systems Mode of Study: Online
Course Number & Name: 605.742 - Deep Neural Networks Mode of Study: Online
Course Number & Name: 605.744 - Information Retrieval Mode of Study: Online
Course Number & Name: 605.745 - Reasoning Under Uncertainty Mode of Study: Online
Course Number & Name: 685.648 - Data Science * Mode of Study: Online
Course Number & Name: 525.733 - Deep Learning for Computer Vision Mode of Study: Virtual Live

Enterprise and Web Computing

Course Number & Name Mode of Study
Course Number & Name: 605.681 - Principles of Enterprise Web Development Mode of Study: Online, Virtual Live
Course Number & Name: 605.682 - Web Application Development with Java Mode of Study: Online
Course Number & Name: 605.683 - Java Enterprise Development: Processes, Tools and Infrastructure Mode of Study: Online
Course Number & Name: 605.686 - Mobile Application Development for the Android Platform Mode of Study: Online, Virtual Live
Course Number & Name: 605.687 - Mobile Application Development for the iOS Platform Mode of Study: Online
Course Number & Name: 605.691 - Entrepreneurship for Computer Scientists Mode of Study: Onsite
Course Number & Name: 605.768 - Advanced Game Design and Development Engines Mode of Study: Virtual Live
Course Number & Name: 605.784 - Enterprise Computing with Java Mode of Study: Online, Virtual Live
Course Number & Name: 605.786 - Enterprise System Design and Implementation Mode of Study: Online
Course Number & Name: 605.787 - Front End Web App Development Mode of Study: Online
Course Number & Name: 605.788 - Big Data Processing Using Hadoop Mode of Study: Online
Course Number & Name: 605.789 - Service API Design and Development Mode of Study: Online
Course Number & Name: 635.683 - E-Business: Models, Architecture, Technologies, and Infrastructure Mode of Study: Online, Virtual Live

Human-computer Interaction and Visualization

Course Number & Name Mode of Study
Course Number & Name: 605.634 - Crowdsourcing and Human Computation Mode of Study: Online
Course Number & Name: 605.661 - Computer Vision Mode of Study: Online
Course Number & Name: 605.662 - Data Visualization Mode of Study: Online
Course Number & Name: 605.667 - Computer Graphics Mode of Study: Online
Course Number & Name: 605.668 - Computer Gaming Engines Mode of Study: Virtual Live
Course Number & Name: 605.767 - Applied Computer Graphics Mode of Study: Onsite
Course Number & Name: 605.768 - Advanced Game Design and Development Engines Mode of Study: Virtual Live
Course Number & Name: 635.661 - Principles of Human Computer Interaction Mode of Study:

Research

Course Number & Name Mode of Study
Course Number & Name: 605.646 - Natural Language Processing Mode of Study: Online, Onsite
Course Number & Name: 605.728 - Quantum Computation Mode of Study: Online
Course Number & Name: 605.745 - Reasoning Under Uncertainty Mode of Study: Online
Course Number & Name: 605.746 - Advanced Machine Learning Mode of Study: Online
Course Number & Name: 605.747 - Evolutionary and Swarm Intelligence Mode of Study: Online
Course Number & Name: 605.795 - Capstone Project in Computer Science Mode of Study:
Course Number & Name: 605.801 - Independent Study in Computer Science I Mode of Study:
Course Number & Name: 605.802 - Independent Study in Computer Science II Mode of Study:
Course Number & Name: 615.781 - Quantum Information Processing Mode of Study: Online
Course Number & Name: 635.673 - Protecting Critical Infrastructure Against Cyber Attacks Mode of Study: Online
Course Number & Name: 695.722 - Covert Channels Mode of Study: Online

Software Engineering

Course Number & Name Mode of Study
Course Number & Name: 605.601 - Foundations of Software Engineering Mode of Study: Online, Onsite, Virtual Live
Course Number & Name: 605.603 - Object-Oriented and Functional Programming in Kotlin Mode of Study: Virtual Live
Course Number & Name: 605.604 - Object-Oriented Programming with C++ Mode of Study: Online, Virtual Live
Course Number & Name: 605.606 - Programming with Domain-Specific Languages Mode of Study: Onsite
Course Number & Name: 605.607 - Agile Software Development Methods Mode of Study: Online
Course Number & Name: 605.608 - Software Project Management Mode of Study: Online
Course Number & Name: 605.609 - DevOps and Secure Software Development Mode of Study: Online
Course Number & Name: 605.629 - Programming Languages Mode of Study: Online, Virtual Live
Course Number & Name: 605.701 - Software Systems Engineering Mode of Study: Online, Onsite
Course Number & Name: 605.702 - Cloud-native Architecture and Microservices Mode of Study: Virtual Live
Course Number & Name: 605.704 - Object-Oriented Analysis and Design Mode of Study: Online
Course Number & Name: 605.705 - Software Safety Mode of Study: Online
Course Number & Name: 605.707 - Software Patterns Mode of Study: Online, Onsite, Virtual Live
Course Number & Name: 605.708 - Tools and Techniques of Software Project Management Mode of Study: Virtual Live

Systems

Course Number & Name Mode of Study
Course Number & Name: 605.611 - Foundations of Computer Architecture Mode of Study:
Course Number & Name: 605.612 - Operating Systems Mode of Study: Online
Course Number & Name: 605.613 - Introduction to Robotics Mode of Study: Online, Virtual Live
Course Number & Name: 605.614 - System Development in the UNIX Environment Mode of Study: Online, Onsite
Course Number & Name: 605.615 - Compiler Design with LLVM Mode of Study: Virtual Live
Course Number & Name: 605.616 - Multiprocessor Architecture & Programming Mode of Study: Online
Course Number & Name: 605.617 - Introduction to GPU Programming Mode of Study: Online
Course Number & Name: 605.618 - Introduction to High Performance Computing Mode of Study: Virtual Live
Course Number & Name: 605.715 - Software Development for Real-Time Embedded Systems Mode of Study: Online
Course Number & Name: 605.716 - Modeling and Simulation of Complex Systems Mode of Study: Onsite, Virtual Live

Theory

Course Number & Name Mode of Study
Course Number & Name: 605.620 - Algorithms for Bioinformatics Mode of Study: Online
Course Number & Name: 605.621 - Foundations of Algorithms Mode of Study: Online, Virtual Live
Course Number & Name: 605.622 - Computational Signal Processing Mode of Study: Onsite, Virtual Live
Course Number & Name: 605.624 - Logic: Systems, Semantics, and Models Mode of Study: Online
Course Number & Name: 605.626 - Image Processing Mode of Study: Online
Course Number & Name: 605.629 - Programming Languages Mode of Study: Online, Virtual Live
Course Number & Name: 605.630 - Theory of Computation Mode of Study: Online
Course Number & Name: 605.721 - Design and Analysis of Algorithms Mode of Study: Onsite
Course Number & Name: 605.724 - Applied Game Theory Mode of Study: Online
Course Number & Name: 605.727 - Computational Geometry Mode of Study: Virtual Live
Course Number & Name: 605.728 - Quantum Computation Mode of Study: Online
Course Number & Name: 605.729 - Formal Methods Mode of Study: Virtual Live
Course Number & Name: 625.617 - Intro to Enumerative Combinatorics Mode of Study: Online
Course Number & Name: 625.687 - Applied Topology Mode of Study: Onsite, Virtual Live
Course Number & Name: 625.690 - Computational Complexity and Approximation Mode of Study: Online
Course Number & Name: 625.692 - Probabilistic Graphical Models Mode of Study: Online
Course Number & Name: 625.734 - Queuing Theory with Applications to Computer Science Mode of Study: Onsite, Virtual Live
Course Number & Name: 625.741 - Game Theory Mode of Study: Online

Independent Study and Capstone Project

Course Number & Name Mode of Study
Course Number & Name: 605.795 - Capstone Project in Computer Science Mode of Study:
Course Number & Name: 605.801 - Independent Study in Computer Science I Mode of Study:
Course Number & Name: 605.802 - Independent Study in Computer Science II Mode of Study:

COURSES BY CONCENTRATION

Communications and Networking Concentration Prerequisite

Course Number & Name Mode of Study
Course Number & Name: 525.202 - Signals and Systems Mode of Study: Online

Communications and Networking Concentration Electives

Select seven; no more than three courses may come from electrical and computer engineering 525.XXX

Course Number & Name Mode of Study
Course Number & Name: 605.671 - Principles of Data Communications Networks Mode of Study: Online, Onsite
Course Number & Name: 605.674 - Network Programming Mode of Study: Online
Course Number & Name: 605.675 - Protocol Design Mode of Study: Online
Course Number & Name: 605.677 - Internetworking with TCP/IP I Mode of Study: Online
Course Number & Name: 605.771 - Wired and Wireless Local and Metropolitan Area Networks Mode of Study: Online
Course Number & Name: 605.776 - Fourth Generation Wireless Communications: WiMAX and LTE Mode of Study: Onsite, Virtual Live
Course Number & Name: 605.777 - Internetworking with TCP/IP II Mode of Study: Online
Course Number & Name: 695.601 - Foundations of Information Assurance Mode of Study: Online, Onsite, Virtual Live
Course Number & Name: 695.622 - Web Security Mode of Study: Online
Course Number & Name: 695.721 - Network Security Mode of Study: Online, Onsite, Virtual Live
Course Number & Name: 525.608 - Next Generation Telecommunications Mode of Study: Onsite, Virtual Live
Course Number & Name: 525.614 - Probability & Stochastic Processes for Engineers Mode of Study: Online, Virtual Live
Course Number & Name: 525.616 - Communication Systems Engineering Mode of Study: Online, Virtual Live
Course Number & Name: 525.618 - Antenna Systems Mode of Study: Online
Course Number & Name: 525.620 - Electromagnetic Transmission Systems Mode of Study: Virtual Live
Course Number & Name: 525.638 - Introduction to Modern Wireless and Optical Communication Systems Mode of Study: Online
Course Number & Name: 525.640 - Satellite Communications Systems Mode of Study: Online
Course Number & Name: 525.641 - Computer and Data Communication Networks I Mode of Study: Virtual Live
Course Number & Name: 525.678 - Next Generation Mobile Networks and Security with 5G Mode of Study: Virtual Live
Course Number & Name: 525.707 - Error Control Coding Mode of Study: Virtual Live
Course Number & Name: 525.708 - Iterative Methods in Communications Systems Mode of Study: Virtual Live
Course Number & Name: 525.722 - Wireless and Mobile Cellular Communications Mode of Study: Online
Course Number & Name: 525.735 - MIMO Wireless Communications Mode of Study: Online
Course Number & Name: 525.738 - Advanced Antenna Systems Mode of Study: Online
Course Number & Name: 525.747 - Speech Processing Mode of Study: Onsite, Virtual Live
Course Number & Name: 525.751 - Software Radio for Wireless Communications Mode of Study: Online
Course Number & Name: 525.754 - Wireless Communication Circuits Mode of Study: Onsite
Course Number & Name: 525.759 - Image Compression, Packet Video, and Video Processing Mode of Study: Online
Course Number & Name: 525.761 - Wireless and Wireline Network Integration Mode of Study: Virtual Live
Course Number & Name: 525.768 - Wireless Networks Mode of Study: Onsite
Course Number & Name: 525.771 - Propagation of Radio Waves in the Atmosphere Mode of Study: Onsite, Virtual Live
Course Number & Name: 525.772 - Fiber-Optic Communication Systems Mode of Study: Virtual Live
Course Number & Name: 525.776 - Information Theory Mode of Study: Online
Course Number & Name: 525.783 - Spread Spectrum Communications Mode of Study: Online
Course Number & Name: 525.789 - Advanced Satellite Communications Mode of Study: Virtual Live
Course Number & Name: 525.791 - Microwave Measurement Theory and Techniques Mode of Study: Onsite, Virtual Live
Course Number & Name: 525.793 - Advanced Communication Systems Mode of Study: Online

Apply Today

Complement your knowledge with principles that can be applied to almost every discipline of science, engineering, industry, and technology—from defense technology and business to public policy and biomedicine.