- Current Courses
- Graduate Course Descriptions
- Undergraduate Prerequisite Courses
- Special Topics Courses
Graduate Course Descriptions
CAP 5100 Human-Computer Interaction (3)
- Prereq: COP 3530, and any one programming course (CGS 2414, CGS 3460 or CGS 3464).
- Topics related to interaction with technology, including interface design, software tools, 3-D interaction, virtual environments, interaction devices, collaboration, and visualization.
CAP 5108 Research Methods for Human-centered Computing (3)
- Prereq: STA 3032 (Statistics), COP 3530 (Data Structures and Algorithms), or equivalent.
- This class introduces the fundamental methods and techniques to collect data from humans for building and evaluating technologies, including experimental design, types of variables, types of errors, hypothesis testing, survey design, behavioral and psychophysical methods.
CAP 5416 Computer Vision (3)
- Prereq: MAC 2312 or Equivalent, COT 4501 or equivalent and Proficiency in MATLAB or C++ or Java. Course instructor will determine Equivalency.
- 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.
CAP 5510 Bioinformatics (3)
- Prereq: COP 3504 or equivalent.
- 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.
CAP 5515 Computational Molecular Biology (3)
- Prereq: None
- Algorithms related to molecular biology. Sequence comparisons, pattern matching, pattern extraction, graph techniques in phylogeny construction, secondary structure prediction, multiple sequence alignment, contig search, DNA computing, computational learning theory, and genetic algorithms.
CAP 5635 Artificial Intelligence Concepts (3)
- Prereq: COP 3530
- Heuristic search, game theory, knowledge representation, logic, machine learning, AI languages and tools. Applications such as planning, natural language understanding, expert systems, and computer vision.
CAP 5705 Computer Graphics (3)
- Prereq: COP 3530
- Display device characteristics; system considerations, display algorithms. Curve and surface generation. Lighting models and image rendering.
CAP 5805 Computer Simulation Concepts (3)
- Prereq: COP 3530
- Introduction to concepts in a continuous and discrete simulation. Emphasis on fundamental concepts and methodology, using practical examples from a wide variety of disciplines.
CAP 6402 Aesthetic Computing (3)
- Prereq: COP 5705, CAP 5805
- Principles of artistically motivated, personalized representations of formal model structures in computing and mathematics.
CAP 6516 Medical Image Analysis (3)
- Prereq: None
- 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.
CAP 6610 Machine Learning (3)
- Prereq: COT 5615
- Review of attempts, within the artificial intelligence community, to construct computer programs that learn. Statistical pattern recognition with its applications to such areas as optical character recognition. Inductive learning, automated discovery.
CAP 6615 Neural Networks for Computing (3)
- Prereq: CAP 5635
- 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.
CAP 6617 Advanced Machine Learning (3)
- Prereq: CAP 6610
- Advanced concepts in developing computer programs that learn and improve with experience. Emphasis on methods based on probability, statistics, and optimization.
CAP 6685 Expert Systems (3)
- Prereq: CAP 5635
- Production systems, meta-knowledge, heuristic discovery, in-depth examination of several expert systems including TEIRESIAS, AM, DENDRAL, MYCIN, IRIS, CASNET, INTERNIST, BACON, PROSPECTOR.
CAP 6701 Advanced Computer Graphics (3)
- Prereq: CAP 4730 or CAP 5705 or consent of instructor
- 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.
CDA 5155 Computer Architecture Principles (3)
- Prereq: CDA 3101, COP 3530, and COP 4600
- Fundamental design issues of processor and computer architecture, a variety of design approaches for CPU, memory, and system structure.
CDA 5636 Embedded Systems (3)
- Prereq: CDA 3101 and knowledge of programming and data structures
- Design and verification of low-cost, high-performance, low-power, and reliable embedded systems. The course covers all aspects related to embedded systems design including modeling, specification, exploration, estimation, optimization, synthesis, and verification of both software and hardware (analog as well as digital components) in embedded systems.
CDA 6156 High-Performance Computer Architecture (3)
- Prereq: CDA 5155, COP 5615
- Design and evaluation of instruction-level (superscalar, superpipeline) and task-level (fine and coarse-grained) parallel architecture. Language and operating system support for instruction and task scheduling and task synchronization.
CEN 5035 Software Engineering (3)
- Prereq: COP 3504 and COT 3100
- Topics in projects organization, specification techniques, reliability measurement, documentation.
CEN 5726 Natural User Interaction (3)
- Prereq: COP 3530 with a minimum grade of C.
- Introduces the 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.). Discussion of the hardware-to-software NUI pipeline and key considerations when developing NUI software, including existing platforms, toolkits and APIs used to create NUI software.
CEN 5728 User Experience Design (3)
- Prereq: COP 3530 or equivalent.
- 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.
CEN 6070 Software Testing and Verification (3)
- Prereq: CEN 5035
- Concepts, principles, and methods for software testing and verification. Topics include human and machine-based testing strategies, formal proofs of correctness, and software reliability.
CEN 6075 Software Specification (3)
- Prereq: CEN 5035
- Concepts, principles, and methods for practical specification. System modeling, requirements exploration, validation and prototyping, and documentation techniques.
CIS 5370 Computer and Information Security (3)
- Prereq: COP 4600 Operating Systems or equivalent
- 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.
CIS 5371 Introduction to Cryptology (3)
- Prereq: COT 3100 Applications of Discrete Structures or equivalent Coreq: COT 5405 Analysis of Algorithms or equivalent
- 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.
CIS 6905 Individual Study (1-3; max: 6)
- Prereq: consent of faculty member supervising the study
CIS 6910 Supervised Research (1-5; max: 5)
- Prereq: graduate status in CIS
- S/U option.
CIS 6930 Special Topics in CIS (3; max: 9)
- Prereq: vary depending on topics
CIS 6935 Graduate Seminar (1)
- Prereq: graduate status in CIS. M.S. students may take 1 time toward M.S. degree; Ph.D. students must take 3 times toward Ph.D. degree
- Presentations by visiting researchers, faculty members, and graduate students.
CIS 6940 Supervised Teaching (1-5; max: 5)
- Prereq: graduate status in CIS
- S/U option.
CIS 6971 Research for Master’s Thesis (1-15)
- Prereq: None
- S/U option.
CIS 7979 Advanced Research (1-12)
- Prereq: None
- 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 open to students who have been admitted to candidacy. S/U option.
CIS 7980 Research for Doctoral Dissertation (1-15)
- Prereq: None
- S/U option.
CNT 5106C Computer Networks (3)
- Prereq: CNT 4007C and COP 4600
- The course covers the design, implementation and internals of modern computer networks. While all layers will be introduced, the layers below the Application Layer will be the main focus. The main effort will be spent on the design issues for Transport Layer, Network Layer, Data-Link and MAC Layer, and other related topics.
CNT 5410 Computer and Network Security (3)
- Prereq: COP 3530, COT 5405; coreq: COP 4600
- Issues, analysis, and solutions. Viruses, worms, logic bombs, network attacks, covert channels, steganography, cryptology, authentication, digital signatures, electronic commerce.
CNT 5517 Mobile Computing (3)
- Prereq: CNT 4007C
- 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.
CNT 6107 Advanced Computer Networks (3)
- Prereq: COP 5615, COP 5536, and CNT 5106C
- Computer network architecture, including topologies, media, switching, routing, congestion control, protocols, and case studies.
CNT 6885 Distributed Multimedia Systems (3)
- Prereq: None
- Design issues; survey of recent advances, including compression, networking, and operating system issues.
COP 5536 Advanced Data Structures (3)
- Prereq: COP 3530
- 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.
COP 5556 Programming Language Principles (3)
- Prereq: COP 3530
- History of programming languages, formal models for specifying languages, design goals, run-time structures, and implementation techniques, along with a survey of principal programming language paradigms.
COP 5615 Distributed Operating System Principles (3)
- Prereq: COP 4600
- The concepts and techniques of efficient management of computer system resources.
COP 5618 Concurrent Programming (3)
- Prereq: COT 3100, 3530
- Overview of principles and programming techniques. Reasoning about concurrency, synchronization, program structuring, multi-threaded server applications.
COP 5625 Programming Language Translators (3)
- Prereq: COP 5556
- Anatomy of translators for high-level programming languages.
COP 5725 Database Management Systems (3)
- Prereq: COP 3530, 4600, or equivalent
- An introduction to systems and procedures for managing large computerized databases.
COP 6726 Database System Implementation (3)
- Prereq: COP 4600 and 4720 or 5725
- DBMS architecture, query processing and optimization, transaction processing, index structures, parallel query processing, object-oriented and object-relational databases, and related topics.
COP 6755 Distributed Database Systems (3)
- Prereq: COP 5615, 5725, and a course in computer networks
- Distributed database systems including the areas of distributed database design, resource allocation, access plan selection, and transaction management.
COT 5405 Analysis of Algorithms (3)
- Prereq: COP 3530
- Introduction and illustration of basic techniques for designing efficient algorithms and analyzing algorithm complexity.
COT 5442 Approximation Algorithms (3)
- Prereq: COP 3530 or COT 5405
- Fundamentals of algorithmic paradigms, analysis, techniques, and software. Topics include greedy methods, randomized algorithms, IP-rounding, approximability, covering, packing, clustering, and network problems.
COT 5520 Computational Geometry (3)
- Prereq: COP 3530
- Design, analysis, and implementation of algorithms and data 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.
COT 5615 Mathematics for Intelligent Systems (3)
- Prereq: MAC 2313, Multivariate Calculus; MAS 3114 or MAS 4105, Linear Algebra; STA 4321, Mathematical Statistics
- Mathematical methods commonly used to develop algorithms for computer systems that exhibit intelligent behavior.
COT 6315 Formal Languages and Computation Theory (3)
- Prereq: COP 3530 and familiarity with discrete mathematics and data structures
- Introduction to theoretical computer science including formal languages, automata theory, Turing machines, computability, and computational computability.
CDA 6325C Cyber-physical System Security (3)
- Prereq: Basic proficiency with programming is required (e.g., Python, C++)
- 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.
Undergraduate Prerequisite Courses
For Computer Science and Computer Engineering graduate programs, it is expected that all new graduate students in the department will have as a minimum the following courses in their background. Students wishing to enter Computer Science or Computer Engineering graduate program with little or no formal computer science background must complete as a minimum all but one of these courses before applying for admission.
For the Human-Centered Computing graduate program, students may apply without the listed prerequisites. Applications will be considered on a case-by-case basis.
Completion of prerequisite courses does not guarantee admission to any CISE graduate programs.
MAC 2311 & MAC 2312 Analytic Geometry and Calculus 1 & 2
- Introduction to analytic geometry; limits; continuity; differentiation of algebraic and trigonometric functions; differentials; introduction to integration and the fundamental theorem of calculus. Techniques of integration; applications of integration; differentiation and integration of inverse trigonometric, exponential and logarithmic functions; sequences and series.
STA 2023 or STA 3032 Statistics
- Development of the fundamental statistical concepts and their relationship to the social and physical sciences or engineering. Probability, discrete and continuous random variables, estimation, hypothesis testing, and linear and multiple regression.
COP 3502 Programming Fundamentals 1
- Credits: 3; Coreq: MAC 2311. The first course of a two-semester introductory sequence for students planning further study in computer science, digital arts and sciences or computer engineering. Concepts of computer science and the process of computer programming, including object-oriented programming, procedural and data abstraction and program modularity.
COP 3503 Programming Fundamentals 2
- Credits: 3; Prereq: COP 3502 with a minimum grade of C or an AP exam in computer science with a minimum grade of 4; and MAC 2311. The second course of a two-semester introductory sequence for students planning further study in computer science, digital arts and sciences or computer engineering. Concepts of computer science and the process of computer programming, including object-oriented programming, procedural and data abstraction and program modularity
COT 3100 Applications of Discrete Structures
- Sets, relations, functions, and concept of cardinality. Propositional logic and applications. Predicate logic, induction and recursion. Finite state machines, grammars, languages. Graphs and trees. Elements of groups, semigroups, lattices, and Boolean algebra. Prerequisite: MAC 2311.
CDA 3101 Introduction to Computer Organization
- Organization of computing systems. Logical basis of computer structure. Machine representation of instructions and data, flow of control, basic machine instructions. Assembly language programming. Prerequisite: MAC 2311 (or MAC 2233).
COP 3530 Data and Algorithm Structures
- Analysis of algorithms (O, W, and Q notations); run time measurement; sequential, linked and indirect addressed representation methods; data structures such as arrays, stacks, queues, binary trees, heaps, graphs; algorithm design methods such as greedy, divide-and-conquer, dynamic programming, back-tracking, branch-and-bound, heuristics; sorting and search; hashing. Prerequisite: COT 3100, and COP3504 or COP3503 with minimum grade of C.
COP 4600 Operating Systems
- Concepts, design, and implementation of modern operating systems. Operating system management of processes, I/O, memory, and file systems. Prerequisite: COP 3530.
Graphic chart of prerequisite courses
Special Topics Courses
Special topics courses provide an opportunity for in-depth study of topics not offered elsewhere and of topics of current significance.
- CIS4930 for undergraduate students
- CIS6930 for graduate students
Brief descriptions and expected prerequisites can be found at the following links