CAI 6108 Machine Learning Engineering 3 Credits

Grading Scheme: Letter Grade

Covers foundational machine learning concepts with an emphasis on applying these concepts on real-world data through programming exercises and assignments using the relevant industry-standard Python tools, libraries, and frameworks.

Prerequisite: Knowledge of programming fundamentals. Experience with Python is a plus but not required.

Catalog Program Pages Referencing CAI 6108

CAI 6307 Natural Language Processing 3 Credits

Grading Scheme: Letter Grade

Covers concepts in natural language processing ranging from shallow bag-of words to richer representations and formalisms, for applications such as translation, generation, extraction, summarization, and dialogue. Classic and state-of-the-art techniques and remaining challenges are discussed, as well as recent proposals for meeting those challenges (both symbolic and machine learning approaches). Intended for graduate students doing research related to natural language processing.

Prerequisite: Proficiency in programming (Python recommended) & familiarity with introductory machine learning or artificial intelligence is a plus.

Catalog Program Pages Referencing CAI 6307

CAI 6886 Project in Artificial Intelligence Systems 3 Credits

Grading Scheme: Letter Grade

Using concepts learned in prerequisite courses, including AI ethics, machine learning, and the Artificial Intelligence Systems course, students will individually or as a team identify AI systems problems, formulate solutions, and apply AI Systems knowledge in the context of a real-world project. Project requirements include preparing a plan, technical final report, delivering an oral presentation, and creating a software repository.

Prerequisite: (LAW 6930 & EGN 5216) AND (CAP 6615 or EGN 6615) AND (CAP 5416 or EEE 6512 or EEL 5406) AND (CAP 6XXX or EEE 6561 or EEL 5793).

Catalog Program Pages Referencing CAI 6886

CAP 5100 Human-Computer Interaction 3 Credits

Grading Scheme: Letter Grade

Topics related to interaction with technology, including interface design, software tools, 3-D interaction, virtual environments, interaction devices, collaboration, and visualization.

Prerequisite: COP 3530, and any one programming course (COP 2800, COP 3275, or COP 3229).

Catalog Program Pages Referencing CAP 5100

CAP 5108 Research Methods for Human-Centered Computing 3 Credits

Grading Scheme: Letter Grade

Introduces the fundamental methods and techniques to evaluate technologies and collect data from humans, including experimental design, types of variables, types of errors, hypothesis testing, survey design, behavioral and psychophysical methods.

Prerequisite: STA 3032, COT 3100, COP 3530, or equivalent.

Catalog Program Pages Referencing CAP 5108

CAP 5404 Deep Learning for Computer Graphics 3 Credits, Max 6 Credits

Grading Scheme: Letter Grade

Covers fundamental theory and application of popular artificial intelligence (AI) algorithms in computer graphics. Introduces several neural network architectures and the mathematical principles behind them. A semester-long project motivated by research publications teaches technical writing and graphics processing unit (GPU) programming on a GPU cluster. Convolutional neural networks for denoising movies and generative adversarial networks for animation are project examples.

Prerequisite: Proficiency in a programming Language (Python and/or C++ recommended), Data Structures and Algorithms, Linear Algebra, and Calculus.CAP5404

Catalog Program Pages Referencing CAP 5404

CAP 5416 Computer Vision 3 Credits

Grading Scheme: Letter Grade

Introduction to image formation and analysis. Monocular imaging system projections, camera model calibration, and binocular imaging. Low-level vision techniques, segmentation and representation techniques, and high-level vision.

Prerequisite: PrerequisitesMAC 2312 or equivalent, COT 4501 or equivalent and Proficiency in MATLAB or C++ or Java. Course instructor will determine equivalency.

Catalog Program Pages Referencing CAP 5416

CAP 5510 Bioinformatics 3 Credits

Grading Scheme: Letter Grade

Basic concepts of molecular biology and computer science. Sequence comparison and assembly, physical mapping of DNA, phylogenetic trees, genome rearrangements, gene identification, biomolecular cryptology, and molecular structure prediction.

Prerequisite: CIS 3020 or equivalent.

Catalog Program Pages Referencing CAP 5510

CAP 5705 Computer Graphics 3 Credits

Grading Scheme: Letter Grade

Display device characteristics; system considerations, display algorithms. Curve and surface generation. Lighting models and image rendering.

Prerequisite: COP 3530.

Catalog Program Pages Referencing CAP 5705

CAP 5771 Introduction to Data Science 3 Credits

Grading Scheme: Letter Grade

Introducing the basics of data science including programming for data analytics, file management, relational databases, classification, clustering and regression. The foundation is laid for big data applications ranging from social networks to medical and business informatics.

Prerequisite: COP 3530 Data Structures and Algorithms or equivalent.

Catalog Program Pages Referencing CAP 5771

CAP 5841 Modeling and Computing with Geometry 3 Credits

Grading Scheme: Letter Grade

Introduction to modeling and shaping curved smooth geometry and computing on the geometry. Topics include curves, surfaces and volumetric representations. The course leverages numerical computing techniques and 3D computer graphics programming. The course combines lecture and seminar elements: towards the end of the course, students give presentations of classic (or by mutual consent recent) literature on Modeling and Computing with Geometry.

Prerequisite: Calculus in several variables, Programming in Matlab or OpenGL.

Catalog Program Pages Referencing CAP 5841

CAP 6137 Malware Reverse Engineering 3 Credits

Grading Scheme: Letter Grade

Introducing the theory and practice of software reverse engineering applied to analysis of malicious software (malware). Students learn techniques of static and dynamic analysis to help identify the behavior of programs presented without documentation or source code and to identify possible remediation and avoidance techniques.

Prerequisite: CDA 3101 ;

Corequisite: COP 5615 or consent of instructor.

Catalog Program Pages Referencing CAP 6137

CAP 6516 Medical Image Analysis 3 Credits

Grading Scheme: Letter Grade

Image formation, reconstruction mathematics (Fourier slice theorem, Abel, Hankel and Radon transforms), PDE-based denoising and segmentation, multidimensional clustering algorithms, iso-surface extraction, basic differential geometry of curves and surfaces, multidimensional splines, active 2D/3D models, image matching/registration with application to multimodal co-registration.

Prerequisite: expertise in image proc./comp. vision, proficiency in C language or MATLAB.

Catalog Program Pages Referencing CAP 6516

CAP 6610 Machine Learning 3 Credits

Grading Scheme: Letter Grade

Concepts in developing computer programs that learn and improve with experience. Emphasis on methods based on probability, statistics, and optimization.

Prerequisite: Mathematics for Intelligent Systems.

Catalog Program Pages Referencing CAP 6610

CAP 6615 Neural Networks for Computing 3 Credits

Grading Scheme: Letter Grade

Neural network models and algorithms. Adaptive behavior, associative learning, competitive dynamics and biological mechanisms. Applications include computer vision, cognitive information processing, control, and signal analysis.

Prerequisite: CAP 5635.

Catalog Program Pages Referencing CAP 6615

CAP 6617 Advanced Machine Learning 3 Credits

Grading Scheme: Letter Grade

Advanced concepts in developing computer programs that learn and improve with experience. Emphasis on methods based on probability, statistics, and optimization.

Prerequisite: CAP 6610.

Catalog Program Pages Referencing CAP 6617

CAP 6701 Advanced Computer Graphics 3 Credits

Grading Scheme: Letter Grade

Curved surface representations, representation and visualization of higher-dimensional fields, advanced rendering, collision detection and collision response, and scene navigation in context of high-level graphics environments.

Prerequisite: CAP 4730 or CAP 5705 or consent of instructor.

Catalog Program Pages Referencing CAP 6701

CAP 6769 Advanced Topics in Data Science 3 Credits

Grading Scheme: Letter Grade

Advanced topics in data science such as relational databases and parallel and distributed processing in the cloud, tree-based classifiers and support vector machines, dimensionality reduction and theories of visualization.

Prerequisite: Graduate standing, CAP 5771

Catalog Program Pages Referencing CAP 6769

CAP 6779 Projects in Data Science 3 Credits

Grading Scheme: Letter Grade

Advanced topics in data science, individual projects in application areas such as vision, natural language processing, computational fluid dynamics, social networks, bioinformatics, etc.

Prerequisite: Graduate standing and CAP 5571.

Catalog Program Pages Referencing CAP 6779

CDA 5155 Computer Architecture Principles 3 Credits

Grading Scheme: Letter Grade

Fundamental design issues of processor and computer architecture, a variety of design approaches for CPU, memory, and system structure.

Prerequisite: CDA 3101, COP 3530, and COP 4600.

Catalog Program Pages Referencing CDA 5155

CDA 5636 Embedded Systems 3 Credits

Grading Scheme: Letter Grade

Design of efficient and trustworthy embedded and cyber-physical systems consisting of hardware, software, firmware, sensors and actuators. It covers fundamental issues related to modeling and specification, design space exploration, hardware-software partitioning, synthesis and compilation, real-time operating systems, and application-specific optimizations targeting area, power, performance, temperature, energy, and security.

Prerequisite: Computer Organization.

Catalog Program Pages Referencing CDA 5636

CDA 6325C Cyber-physical System Security 3 Credits

Grading Scheme: Letter Grade

Covers foundational concepts of cyber-physical system security. In particular, hardware and software threats and mitigation strategies of integrating sensing and actuation, AI computation, infrastructure control, and networking. Students will analyze research papers, write technical essays, present security research problems, conduct hands-on testing, and learn the challenges of building secure systems.

Prerequisite: Basic proficiency with programming is required (e.g., Python, C++).

CEN 5035 Software Engineering 3 Credits

Grading Scheme: Letter Grade

Topics in projects organization, specification techniques, reliability measurement, documentation.

Prerequisite: COP 3504 and COT 3100.

Catalog Program Pages Referencing CEN 5035

CEN 5726 Natural User Interaction 3 Credits

Grading Scheme: Letter Grade

Introducing design, development, and evaluation of Natural User Interaction (NUI) technologies (e.g., non-keyboard and mouse technologies, such as touchscreen interaction, gesture interaction, speech interaction, etc.). Key concepts include hardware-to-software NUI pipeline and considerations in NUI software development (including existing platforms, toolkits, and APIs used to create NUI software).

Prerequisite: COP 3530(C)

Catalog Program Pages Referencing CEN 5726

CEN 5728 User Experience Design 3 Credits

Grading Scheme: Letter Grade

Introduces methods and tools used in User Experience Design (UXD): the early stages of software design focused on meeting user needs. Key concepts include user research, contextual design, design thinking, ideation, iterative design, prototyping, and design documentation. Software tools used in industry are used in class projects.

Prerequisite: COP 3530 or equivalent.

Catalog Program Pages Referencing CEN 5728

CEN 5735 Human-Centered Input Recognition Algorithms 3 Credits

Grading Scheme: Letter Grade

Human-centered methods for the design and evaluation of intelligent algorithms for recognizing user input in advanced modalities such as gesture, handwriting, speech, and more. Algorithms and modalities vary; students will implement and extend an existing algorithm, evaluating it on user input data students will collect from real people.

Catalog Program Pages Referencing CEN 5735

CEN 6070 Software Testing and Verification 3 Credits

Grading Scheme: Letter Grade

Concepts, principles, and methods for software testing and verification. Topics include human and machine-based testing strategies, formal proofs of correctness, and software reliability.

Prerequisite: CEN 5035.

Catalog Program Pages Referencing CEN 6070

CEN 6075 Software Specification 3 Credits

Grading Scheme: Letter Grade

Concepts, principles, and methods for practical specification. System modeling, requirements exploration, validation and prototyping, and documentation techniques.

Prerequisite: CEN 5035.

Catalog Program Pages Referencing CEN 6075

CIS 5209 Penetration Testing -- Ethical Hacking 3 Credits

Grading Scheme: Letter Grade

Introduction to the principles and techniques associated with the cybersecurity practice known as penetration testing or ethical hacking. The course covers planning, reconnaissance, scanning, exploitation, post-exploitation, and result reporting. The student discovers how system vulnerabilities can be exploited and learns to avoid such problems.

Prerequisite: COP 3530.

Catalog Program Pages Referencing CIS 5209

CIS 5370 Computer and Information Security 3 Credits

Grading Scheme: Letter Grade

Covers systematic threat and risk assessment; programmed threats and controls in hardware, software, and human procedures; security policies, models, and mechanisms; theoretical limitations and practical implementations; certification and accreditation standards; and case study reviews. Coursework includes a significant term project.

Prerequisite: COP 4600 Operating Systems or equivalent

Catalog Program Pages Referencing CIS 5370

CIS 5371 Introduction to Cryptology 3 Credits

Grading Scheme: Letter Grade

Introducing classical and modern cryptography and cryptanalysis, including symmetric and asymmetric (public key) ciphers. It covers cryptographic hash functions, block and stream ciphers, as well as differential and linear cryptanalysis. It reviews BAN logic, applications of cryptography, cryptographic standards and protocols, and analyzes case studies of failed implementations.

Prerequisite: COT 3100 Applications of Discrete Structures or equivalent ;

Corequisite:  COT 5405 Analysis of Algorithms or equivalent

Catalog Program Pages Referencing CIS 5371

CIS 6261 Trustworthy Machine Learning 3 Credits

Grading Scheme: Letter Grade

Explores research at the intersection of machine learning and security and privacy. Topics include: adversarial machine learning; differential privacy; membership inference; fairness transparency; explainable/interpretable machine learning; deepfakes and disinformation.

Prerequisite: Knowledge of programming fundamentals, familiarity with machine learning and Python is a plus.

Catalog Program Pages Referencing CIS 6261

CIS 6307 Internet Data Streaming 3 Credits

Grading Scheme: Letter Grade

Fundamental concepts, data structures and algorithms about extracting information from packet streams on the Internet in real time, with applications in network security, traffic engineering, e-commerce, and big data analytics

Prerequisite: Data Structures and Algorithms.

Catalog Program Pages Referencing CIS 6307

CIS 6905 Individual Study 1-3 Credits, Max 6 Credits

Grading Scheme: Letter Grade

Individual Study

Prerequisite: consent of faculty member supervising the study.

Catalog Program Pages Referencing CIS 6905

CIS 6910 Supervised Research 1-5 Credits, Max 5 Credits

Grading Scheme: S/U

Supervised Research

Prerequisite: graduate status in CIS.

Catalog Program Pages Referencing CIS 6910

CIS 6930 Special Topics in CIS 3 Credits, Max 9 Credits

Grading Scheme: Letter Grade

Special Topics in CIS

Prerequisite: vary depending on topics.

Catalog Program Pages Referencing CIS 6930

CIS 6935 Graduate Seminar 1-12 Credits, Max 12 Credits

Grading Scheme: S/U

Presentations by visiting researchers, faculty members, and graduate students.

Catalog Program Pages Referencing CIS 6935

CIS 6940 Supervised Teaching 3 Credits, Max 5 Credits

Grading Scheme: S/U

A supervised teaching experience.

Catalog Program Pages Referencing CIS 6940

CIS 6971 Research for Master's Thesis 1-15 Credits

Grading Scheme: S/U

Research for Master's Thesis

Catalog Program Pages Referencing CIS 6971

CIS 7979 Advanced Research 1-12 Credits

Grading Scheme: S/U

Research for doctoral students before admission to candidacy. Designed for students with a master's degree in the field of study or for students who have been accepted for a doctoral program. Not appropriate for students who have been admitted to candidacy.

Catalog Program Pages Referencing CIS 7979

CIS 7980 Research for Doctoral Dissertation 1-15 Credits

Grading Scheme: S/U

Research for Doctoral Dissertation

Catalog Program Pages Referencing CIS 7980

CNT 5106C Computer Networks 3 Credits

Grading Scheme: Letter Grade

Design, implementation, and internals of networks. Routing, congestion control, internetworking, TCP/IP, optimization, and proxy services.

CNT 5410 Computer and Network Security 3 Credits

Grading Scheme: Letter Grade

Issues, analysis, and solutions. Viruses, worms, logic bombs, network attacks, covert channels, steganography, cryptology, authentication, digital signatures, electronic commerce.

Prerequisite: COP 3530, COT 5405. ;

Corequisite: COP 4600.

Catalog Program Pages Referencing CNT 5410

CNT 5517 Mobile Computing 3 Credits

Grading Scheme: Letter Grade

Emerging topics of wireless and mobile computing and networking including mobile computing models, mobile-IP, adhoc networks, Bluetooth, and 802.11b. Mobile database access and mobile transactions in context of emerging field of M-commerce.

Prerequisite: CNT 4007C.

Catalog Program Pages Referencing CNT 5517

CNT 6107 Advanced Computer Networks 3 Credits

Grading Scheme: Letter Grade

Computer network architecture, including topologies, media, switching, routing, congestion control, protocols, and case studies.

Prerequisite: COP 5615 , COP 5536 , and CNT 5106C

Catalog Program Pages Referencing CNT 6107

CNT 6530 Mobile Networking 3 Credits

Grading Scheme: Letter Grade

Concepts of emerging mobile networks architecture, systematic analysis of effects of mobility on network performance, synthetic and data-driven mobility modeling and simulation, behavior analysis in mobile networks, mobile service and application structure, development, implementation, and evaluation. Topics include architecture, geographic routing and query resolution in ad hoc networks, sensor networks, Internet of Things, and vehicular networks.

Prerequisite: COP 3502c or COP 3503c.

Catalog Program Pages Referencing CNT 6530

CNT 6885 Distributed Multimedia Systems 3 Credits

Grading Scheme: Letter Grade

Design issues; survey of recent advances, including compression, networking, and operating system issues.

Catalog Program Pages Referencing CNT 6885

COP 5536 Advanced Data Structures 3 Credits

Grading Scheme: Letter Grade

Development of efficient data structures used to obtain more efficient solutions to classical problems, such as those based on graph theoretical models, as well as problems that arise in application areas of contemporary interest.

Prerequisite: COP 3530.

Catalog Program Pages Referencing COP 5536

COP 5556 Programming Language Principles 3 Credits

Grading Scheme: Letter Grade

History of programming languages, formal models for specifying languages, design goals, run-time structures, and implementation techniques, along with survey of principal programming language paradigms.

Catalog Program Pages Referencing COP 5556

COP 5615 Distributed Operating System Principles 3 Credits

Grading Scheme: Letter Grade

Concepts and techniques for efficient management of computer system resources.

Prerequisite: COP 4600.

Catalog Program Pages Referencing COP 5615

COP 5618 Concurrent Programming 3 Credits

Grading Scheme: Letter Grade

Overview of principles and programming techniques. Reasoning about concurrency, synchronization, program structuring, multi-threaded server applications.

Prerequisite: COP 3100, 3530.

Catalog Program Pages Referencing COP 5618

COP 5725 Database Management Systems 3 Credits

Grading Scheme: Letter Grade

Introduction to systems and procedures for managing large computerized databases.

Prerequisite: COP 3530, 4600, or equivalent.

Catalog Program Pages Referencing COP 5725

COP 6726 Database System Implementation 3 Credits

Grading Scheme: Letter Grade

DBMS architecture, query processing and optimization, transaction processing, index structures, parallel query processing, object-oriented and object-relational databases, and related topics.

Prerequisite: COP 4600 and 4720 or COP 5725.

Catalog Program Pages Referencing COP 6726

COT 5405 Analysis of Algorithms 3 Credits

Grading Scheme: Letter Grade

Introduction and illustration of basic techniques for designing efficient algorithms and analyzing algorithm complexity.

Prerequisite: COP 3530.

Catalog Program Pages Referencing COT 5405

COT 5442 Approximation Algorithms 3 Credits

Grading Scheme: Letter Grade

Fundamentals of algorithmic paradigms, analysis, techniques, and software. Topics include greedy methods, randomized algorithms, lP-rounding, approximability, covering, packing, clustering, and network problems.

Prerequisite: COP 3530 or COT 5405

Catalog Program Pages Referencing COT 5442

COT 5520 Computational Geometry 3 Credits

Grading Scheme: Letter Grade

Design, analysis, and implementation of algorithms and date structures to solve geometric problems. Applications in graphics, robotics, computational biology, data mining, and scientific computing. Convex hulls, Voronoi diagrams, triangulations, arrangements, and range searching.

Prerequisite: COP 3530.

Catalog Program Pages Referencing COT 5520

COT 5615 Mathematics for Intelligent Systems 3 Credits

Grading Scheme: Letter Grade

Mathematical methods commonly used to develop algorithms for computer systems that exhibit intelligent behavior.

Prerequisite: MAC 2313, Multivariate Calculus; MAS 3114 or MAS 4105, Linear Algebra; STA 4321, Mathematical Statistics.

Catalog Program Pages Referencing COT 5615

COT 6315 Formal Languages and Computation Theory 3 Credits

Grading Scheme: Letter Grade

Introduction to theoretical computer science including formal languages, automata theory, Turing machines, and computability.

Prerequisite: COP 3530 and familiarity with discrete mathematics and data structures.

Catalog Program Pages Referencing COT 6315

EGN 5949 Practicum/Internship/Cooperative Work Experience 1-6 Credits, Max 6 Credits

Grading Scheme: S/U

Practical cooperative engineering work under approved industrial and faculty supervision.

Prerequisite: graduate student.

Catalog Program Pages Referencing EGN 5949

EGN 6913 Engineering Graduate Research 0-3 Credits, Max 12 Credits

Grading Scheme: S/U

Course will provide the student with supervised research in a laboratory setting.

Catalog Program Pages Referencing EGN 6913

IDC 5715 Virtual Reality for the Social Good 3 Credits

Grading Scheme: Letter Grade

A multidisciplinary approach to solving pressing social problems by blending social science practices with innovative technology. Students will explore effective messaging perspectives, virtual social spaces, and virtual reality technologies to create a compelling story for a social good issue. This class is for all students, regardless of major/prior experience.

Catalog Program Pages Referencing IDC 5715