Graduate Special Topics
Information for the current or upcoming semester's offerings of CSC 591 and CSC 791.
These are planned classes. 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.
Spring 2025
CSC 591 – 001: Computer Architecture and Multiprocessors
Pre-requisite: CSC 236 and CSC 316
Description: This section is the graduate version of CSC 456 and is cross-listed with CSC 456 – 001.
Major components of digital computers and the organization of these components into systems. Begins with single processor systems and extends to parallel systems for multiprocessing. Topics include computer organization, instruction set design, cache memory, pipelined processors, and multiprocessors. Recent developments in PC and desktop architectures are also studied.
CSC 591 – 002: Foundations of Data Science
Pre-requisite: ST 370
Description: Students will learn core data science principles related to statistical data analysis. This course introduces ideas in statistical learning and will help students prepare for advanced courses in data mining and machine learning. Focus will also be given on applying these principles for variety of data analysis tasks using R.
CSC 591 – 003: Academic Vibrancy
Description: This is the graduate version of the same CSC 801 section taught by Dr. Williams. It is a 1 credit-hour class.
CSC 591/791 – 004: Advanced NextG Network Design
Recommended pre-requisite: C++
Description: This course focuses on advanced technology, modeling, simulation and analysis of networks. The course first presents the key aspects and concepts of the networks which are already consolidated. These technical aspects are the background and then used to motivated many mechanisms in the new generation networks. The course will also be hands on with concepts demonstrated through use/modification of the simulation tool, e.g., to demonstrate and investigate network behavior of a number of different network topologies and under a variety of conditions.
CSC 591/791 – 006: Efficient Deep Learning
Recommended pre-requisite: Python, MA 305, ST 370. CSC 411/520 or CSC 422/522 could be helpful.
Description: (a) This course is a research-oriented advanced course intended to focus on the latest frontiers of efficient deep learning. It introduces the algorithms and models that enable deep learning methods require less computational resources, while maintaining performance. Topics cover model compression, efficient training, neural architecture search, knowledge distillation, few/zero-shot learning, distributed machine learning, and their applications to natural language processing, computer vision, and more. (b) Through this course, students will gain the knowledge and skills necessary to understand, design, and test a variety of efficient deep learning algorithms and models through many open discussions in class, and gain in-depth experience with a research topic through a final presentation. (c) Upon successful completion of this course, students will be able to 1. Understand, design, and test efficient deep neural networks, 2. Analyze and evaluate the efficiency performance of deep learning methods, and 3. Present their studies in an academic manner, including oral presentations and potential research papers.
CSC 591/791 – 008: Deep Learning Beyond Accuracy
Recommended pre-requisite: Thorough implementation experiences in deep neural networks are expected.
Description: In this course, students read and discuss research papers about deep neural networks with a focus on not just accuracy but also resource consideration e.g., FLOPs, parameter counts, time, memory, etc. With that interest, papers about techniques to design an efficient neural network architecture, such as structured/unstructured pruning, knowledge distillation, and quantization, will be read. On top of that, other dimensional metrics of machine learning, such as fairness, privacy, or sustainability, will also be explored. As a seminar course, this course is dedicated to paper reading, presentation, and discussion. Students will conduct a term project and take no exam. Students are expected to have implementation experiences on deep neural networks.
CSC 495/591 – 009: Applied Artificial Intelligence in Industry
Recommended pe-requisite: understanding of Machine Learning, Generative AI, Data Science, and software development.
Description: The objective of this course is to provide students with knowledge on essential aspects required to successfully implement Artificial Intelligence in industry. In addition to the theoretical concepts discussed, the instructor, who has over 30 years experience applying AI in industry, will discuss how this theory applies to solve industry problems. There will be industry invited speakers that have work in Industrial AI that will complement the classes. Details will be provided at a later point.
CSC 495/591 – 010: Software for Robotics Today
Pre-requisite: CSC 316; Graduate or senior standing with at least 3.0 GPA required; good knowledge of at least one high level programming language required..
Description: https://github.ncsu.edu/software-engineering-for-robotics/course/
CSC 591 – 021: Theoretical CS Toolkit
Pre-requisite: CSC 226, ST 370, and Algorithms/CSC 505
Description: In this course you will learn about various areas of mathematics such as probability, linear algebra, combinatorics, and see how they are used to develop some of the greatest algorithms and ideas in computer science and technology.
CSC 591/791 – 022: Internet of Things: Applications & Implementation
Recommended pre-requisite: Students are expected to have good programming skills and good understanding of conventional network design, architecture, and operations.
Description: This course focuses on advanced topics in the Internet of Things (IoT). These topics include (but are not limited to) challenges in the design of IoT infrastructure, limitations of existing protocols such as HTTP when used with IoT, security, applications of machine learning techniques, and leveraging cloud to achieve the full potential of IoT. The students will be encouraged to read research publications in this area. The course also includes multiple demos using real IoT hardware such as Raspberry Pi boards and/or other similar devices. The course also covers one or more of IoT platform such as IBM Bluemix/Cloud platform. To enable students to see IoT in action, they will be required to do assignments/projects using real IoT devices.
CSC 591/791 – 023: Quantum Communications and Network
Pre-requisite: CSC 401/570, ST 370, and MA 305
Description: Quantum communications is no longer a myth but a revolutionary technology that is just around the corner. This course covers the cutting-edge topics of quantum communications and network (QCN). The objective of this course is to provide students with the theoretical foundation, simulation methods, and research frontiers of QCN through pedagogical activities such as lecturing, paper reading and presentation, and projects.
As an introductory course on QCN, only minor assumptions are made in terms of students’ prerequisite knowledge. The covered topics by this course include (but not limited to) quantum gates/operations, entanglement, teleportation, error control, purification, metrics for performance assessment, optical channel modeling, network graphs and quantum graph states, and quantum applications.
CSC 591/791 – 024: Advanced Robotics
Recommended pre-requisites: MA 305 + Python/C++
Description: This advanced robotics course covers robotics through computer science and AI, focusing on the autonomy loop with topics like ROS, perception, decision-making, and reinforcement learning in single- and multi-robot systems. Students will gain a strong theoretical foundation and practical experience by implementing and extending algorithms in simulations and real robotic platforms.
CSC 591 – 031: Algorithmic Aspects of Bioinformatics
Pre-requisites: Calc 1, MA 305, CSC 11*, ST 311 or higher, and Intro to GN.
Description: This course focuses on algorithmic techniques in bioinformatics combined with hands-on practice that allows students to experience algorithms in action. The course is tailored for students with a basic computer science and molecular biology background, aiming to deepen their understanding of how algorithms are applied to biological data analysis. This section is cross-listed with BIO 592.
CSC 591- 054: Signal Processing Quantum Computing
Recommended pre-requisite: tbd
Description: This section is being offered by the ECE department.
CSC 591- 055: IoT: Analytics
Recommended pre-requisite: tbd
Description: This section is being offered by the ECE department.
CSC 549/791- 001: Autonomous Driving
CSC 791 – 001 is the PhD-level version of CSC 549.
CSC 791- 002: Cognitive Systems
Pre-requisite: CSC 411 or CSC 520
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 791- 003: Knowledge Graphs: Foundations, Management and Applications
Pre-requisites: CSC 540 (required), CSC 522 (recommended)
Description: The course will cover special topics in data management with a focus on Knowledge Graphs which have emerged as a critical data management approach for complex data environments. “Knowledge graphs are foundational to modern data strategies” (Gartner 2024). The course will cover techniques for creating, managing and applying Knowledge Graphs to data problems. In addition, recent topics on the use of Knowledge graphs to enrich ML and AI techniques will be explored. It is a seminar style course with some traditional lectures but a larger proportion of research paper presentations. One major deliverable for the course will be a semester-long research project.
CSC 791- 005: Advanced Learning Technologies for Computer Science Education
Recommended co-requisite: CSC 520 or CSC 522
Description: Adaptive learning technologies have increasingly transformed educational domains such as math, physics, and computer science. However, providing adaptive educational support to computer science students presents unique challenges at various development stages, including knowledge representation, student modeling, and the delivery of adaptive support. In this seminar-based course, we will explore the foundations of advanced learning technologies, including intelligent tutoring systems and game-based learning environments. We will further cover fundamental concepts underlying these technologies, such as student modeling, adaptive scaffolding, and personalized recommendations in the context of computer science education. The course will involve reading and discussing relevant state-of-the-art approaches, as well as conducting a semester-long project focused on developing adaptive learning technologies for computer science education.
Additional Sections
Additional sections that are visible in the enrollment wizard are likely cross-listed with the ECE department and are being offered by their faculty. A description can likely be viewed in the notes in MyPack.