Graduate Special Topics - Fall 2021

These are the planned classes for the semester indicated above. The CSC Department may update this list at any time. The items listed in MyPack's Enrollment Wizard will be the planned final offerings by the department, and may differ from this list.

CSC 591 - 001 Quantum Computing - Dr. Zhou

Prerequisites: n/a


Cross-listed with ECE 592 - 081.

This course aims to provide an introduction to quantum computing. It will feature the three pillars, architectures, programming, and algorithms/applications of quantum computing. Its focus is across all three two pillars as well as the assessment of the applicability of problems to quantum computing from a practical point, with only the necessary foundational coverage of the physics and theoretical aspects to understand quantum computing. Simulation software will be utilized complemented by access to actual quantum computers to prototype problem solutions. This should aid in developing a better understanding of how problems are transformed into quantum algorithms and what programming language support is best suited for a given application area.

CSC 591 - 013 Game Engine Foundations - Dr. Roberts

Prerequisites: CSC 316

Description: This is the graduate version of CSC 481 - 001 and is cross-listed with CSC 481 - 001.

An introduction to game engines, the technologies underlying computer and console game development. This course will cover engine components, architectures, and designs. Topics include asset management, resource management, event management, memory management, timelines, multithreading, network architectures, and game object models. A sequence of programming assignments will lead students through the implementation of their own game engine, which they will use to design their own game.

Students cannot receive credit for both the undergraduate and graduate version of the same class.

CSC 591 - 025 (also 791 - 025) High Performance Machine Learning and Real-Time AI - Dr. Shen

Prerequisites: Introduction-level knowledge of ML, data structures (CSC316 or equivalent), Python

Description: As machine learning (ML) and Artificial Intelligence (AI) gets rapidly adopted everywhere, the speed in learning and inference has become one of the most frequently encountered roadblocks for practical adoptions. This course focuses on the challenges and solutions for achieving high performance and real-time response of ML and AI while keeping the accuracy satisfactory. After the semester, students will be able to explain the factors and tradeoffs affecting the performance, master some existing tools and techniques for addressing the issues, and describe the directions being actively investigated in this field. 

See the course syllabus (link:
) for details.

CSC 591 - 026 (also 791 - 026) Cognitive Systems - Dr. Jhala

Prerequisites: CSC 520 or by instructor permission

Description: This course covers the study of intelligent systems and their behavior both natural and artificial. Topics will include the study of influential and state of the art publications related to perception (e.g., visual stimuli, language models, and non-verbal communication), learning and action (e.g., machine intelligence; computational creativity; common-sense reasoning), and the communication interface between different groups of intelligent agents (e.g., human-human, human-AI interaction, AI-AI).

CSC 591 - 059 Internet of things: A primer - Dr. Viniotis

Prerequisites: n/a

Description: In this course, we will introduce the students to the concepts, challenges, and recent developments around Internet of Things ? IoT. We will focus on the fundamental issues that arise in the operation, design and management of IoT systems [not just networks]. Such issues include, among others, business objectives and technical design requirements, IoT building blocks, architectures and reference models, enabling technologies, IoT protocol stacks [around verticals], IoT-specific analytics, and computing models.

CSC 591 - 066 (also 791 - 066) Sinless Software Engineering - Dr. Menzies

Prerequisites: CSC 111 recommended


When lawyers and politicians cannot keep up with technical innovations, it is up to us technologists to take action in order to sin less.  When  we cannot avoid undesirable  social effects of our technology, we should at least try to write software that sins less, whenever it can.  This subject treats ethics as an AI-based optimization problem where software makes  choices that at least monitors, and at most improves, the ethical impact of software.  Problem domains are approximated as a set of low dimensional ranges with different frequencies in desired and undesired outcomes. Tools are written to explore that space in order to achieve desired goals or, at the very least, avoid undesirable ones. 
Topics covered will include ethics, case studies in ethical software, international standard for ethics in AI and software engineering, safety engineering, data mining, non parametric statistics, power laws, naturalness,  statistics, pareto optimization, multi-objective optimization,   bayesian parameter optimization, discretization, explanation, planning.
Projects will be determined by student background: skilled programmers will build AI tools that make better ethical choice; other students will do extensive case studies in ethics and software engineering.

CSC 591 - 071 Neural Networks - Dr. Lobaton

Prerequisites: n/a


Cross-listed with ECE 542.

Introduction to neural networks and other basic machine learning methods including radial basis functions, kernel methods, support vector machines. The course introduces regularization theory and principle component analysis. The relationships to filtering, pattern recognition and estimation theory are emphasized.

CSC 591 - 078 LTE and 5G Communications - Dr. Guvenc

Prerequisites: n/a


Cross-listed with ECE 578.

The course provides an introduction to the theoretical fundamentals and practical/experimental aspects of Long Term Evolution [LTE] and 5G systems. A basic understanding of digital communications and radio access networks is required. Following topics will be studied: 1] User and control plane protocols, 2] physical layer for downlink, 3] physical layer for uplink, 4] practical deployment aspects, 5] LTE-Advanced, 6] 5G communications. Fundamental concepts to be covered in the context of LTE/5G systems include OFDMA/SC-FDMA, synchronization, channel estimation, link adaptation, MIMO, scheduling, and millimeter wave systems. Students are recommended to have the prior knowledge gained from ECE 570 or ECE 582 before taking this course. The course will also require using Matlab software for homeworks, including its LTE and 5G toolboxes.

CSC 591 - 080 Cryptographic Engineering and Hardware Security - Dr. Aysu

Prerequisites: email instructor

Description: email instructor

Cross-listed with ECE 592 - 080.

CSC 591 - 084 Optimization and Algorithms - Dr. Lin

Prerequisites: [MA 305 or 405] and a probability course

Description: Cross-listed with ECE 592 - 084.

Details available here:

CSC 791 - 012 Natural Language Processing - Dr. Singh

Prerequisites: CSC 316 and [MA 305 or MA 405]

Description: This is the graduate version of NLP. This section is cross-listed with CSC 495- 012, NLP.

This course is self-contained, and provides the essential foundation in natural language processing. It identifies the key concepts underlying NLP applications as well as the main NLP paradigms and techniques.

This course combines the core ideas developed in linguistics and in artificial intelligence to show how to understand language. Key topics include regular expressions, unigrams, and n-grams; word embeddings; syntactic (phrase-structure) and dependency parsing; semantic role labeling; language modeling; sentiment and affect analysis; question answering; text-based dialogue; discourse processing; and applications of machine learning to language processing.

The course provides the necessary background in linguistics and artificial intelligence. This course is suitable for high-performing undergraduates who are willing and able to learn abstract concepts, complete programming assignments, and develop a student-selected project.

Students may not receive credit for the undergraduate version and graduate version of the same course topic.

CSC 801 - 001 CS Seminar - Dr. Dutta

Prerequisites: To register and get credits, first-year PhD standing in Computer Science. Other CSC PhD students may attend if there is room, but cannot receive credit.

Description: How do you start on the process of PhD research, if you have never done research before? What are the processes you will be expected to follow, and tasks you will be expected to perform, without necessarily being told how to? How do you know when you have become ready to "do research"?? Is P=NP?!

We can't tell you that last one, but we hope to help you with the others! We will go over the life cycle of research projects, the anatomy of research papers, how to read and write reviews, how to develop research ideas, and how to present and communicate research.  Descriptive material will be presented by individual instructors and panels, and students will also undertake assignments in small-scale research projects that allow them to follow processes building up standard research skills.