Skip to main content
NC State Home

AI Courses

The Department of Computer Science offers a growing catalog of courses in artificial intelligence for undergraduate and graduate students, spanning the foundations of AI, machine learning, robotics, natural language processing, trustworthy and efficient AI, and applied and generative AI. Courses are listed below by level. Some listings are planned or subject to change; consult the university catalog and current schedule for the latest offerings.


Undergraduate Courses

CSC 201: Foundations of Applied AI

Undergraduate · Dr. David Roberts, Dr. Collin F. Lynch

Course description

This course introduces students to the core concepts of AI, enabling technologies, foundational techniques, models, and approaches with a focus on applications to education and industry. It features significant discussion of engineering domains, AI tool chains and operations, and the ethical and policy concerns surrounding AI. Students will understand, use, and explain core AI algorithms; identify engineering applications appropriate for AI; evaluate the use of AI in engineering; and apply AI tool chains to solve engineering problems in preparation for their future careers.


CSC 301: Problem Solving with Applied AI

Undergraduate

Course description

This course introduces core concepts in artificial intelligence and its applications in engineering. Students explore AI fundamentals, their integration into non-CS domains, and interaction with generative AI and large language model agents to gather knowledge about problems and to use them. Hands-on labs and project-based learning prepare students to understand and apply AI responsibly, with emphasis on the responsible and ethical use of AI tools in learning, professional settings, and real-world contexts.


CSC 411: Introduction to Artificial Intelligence

Undergraduate · Dr. Qiao (Georgie) Jin

Course description

This course introduces the core concepts, representations, and methods used to develop computer-based systems that exhibit intelligent behavior. Topics include search algorithms, backtracking, knowledge representation, logic, rule-based systems, probabilistic reasoning, machine learning, natural language processing, planning, and intelligent agent design. Students compare uninformed and informed search methods, understand the strengths and limits of different reasoning approaches, read and write simple logic programs using an AI language such as Prolog or Lisp, and design and implement simple intelligent agents.


CSC 422/522: Automated Learning and Data Analysis

Undergraduate/Graduate · Dr. Xiaorui Liu, Dr. Thomas Price, Dr. Dongkuan (DK) Xu, Dr. Noboru Matsuda

Course description

This course provides an introduction to concepts and methods for extracting knowledge or other useful forms of information from data, also known as data mining, knowledge discovery, and exploratory data analysis. Students apply supervised and unsupervised automated learning methods to extract patterns, make predictions, and identify groups from data. They also learn about the overall process of data collection and analysis and the concomitant issues of privacy and security. Students cannot receive credit for both CSC 422 and CSC 522.


CSC 441: Robot Motion Planning

Undergraduate · Dr. Sterling McLeod

Course description

This course introduces fundamental concepts in robot motion planning with a focus on spatial manipulators using simulation and, where available, real robots. Topics include rigid-body spatial transformations, robot kinematics, trajectory generation, configuration space, and sampling-based path planning. The course covers complete and sampling-based planning algorithms applied to robotics, along with obstacle avoidance and online algorithms such as velocity obstacles and the dynamic window approach.


CSC 454/554: Human-Computer Interaction

Undergraduate/Graduate · Dr. Sandeep Kuttal

A survey of concepts and techniques for user interface design and human-computer interaction. The course emphasizes user-centered design, interface development techniques, and usability evaluation.


CSC 455/555: Social Computing and Decentralized AI

Undergraduate/Graduate · Dr. Munindar Singh

Course description

This course surveys the field of social computing, introducing its key concepts, paradigms, and techniques, drawn from topics such as social media and social network analytics, crowdsourcing, human computation, human decision making, voting theory, prediction markets, economic mechanisms, organizational modeling, argumentation, norms, and sociotechnical systems. It incorporates ideas from sociology, psychology, law, economics, political science, logic, statistics, philosophy, and business to provide background for computer science careers in industry and research.


CSC 484/585: Building Game AI

Undergraduate/Graduate

Course description

This course familiarizes students with artificial intelligence for computer games. Because existing techniques enable computers to play certain games beyond the level of the world’s best humans, designers intentionally tune AI characters to create game experiences that players find challenging and enjoyable. The course emphasizes the design of AI opponents that create good experiences for players, covering character movement, pathfinding, decision making, and learning in the context of computer games. Students cannot receive credit for both CSC 484 and CSC 584.


CSC 491: AI-Powered Robotics

Undergraduate · Dr. Peng Gao

Course description

This course introduces the foundations of robotics from the perspectives of computer science and artificial intelligence. Students study the complete robot autonomy loop, including sensing, perception, state estimation, decision-making, planning, learning, and action. Core topics include robot hardware and software, ROS programming, Markov decision processes, reinforcement learning, probabilistic localization, Kalman filtering, and simultaneous localization and mapping.


CSC 491: Human-AI Interaction

Undergraduate · Dr. Sandeep Kuttal

Course description

This course introduces students to human-AI interaction, focusing on the design of interactive systems in which AI behaves as an adaptive, uncertain, and participatory agent in shaping user experience. It examines dynamic systems where interaction is co-produced through human decision-making and AI behavior, including conversational agents, large language model-based systems, intelligent assistants, embodied AI systems, and data-driven adaptive systems. Through studio-based learning, lectures, and a semester-long design project, students develop skills in user research, interaction design, prototyping, and evaluation, with emphasis on trust, transparency, usability, and ethics.


CSC 491/591: Control Systems for Robotics

Undergraduate/Graduate

Course description

An introduction to dynamics and control for robotic systems tailored for computer scientists. Concepts include ordinary differential equations, kinematics, and dynamics for common air and ground robotic systems, along with systems concepts such as step and impulse responses and the Laplace transform. The course explores feedback control via classical PID and modern state-space and observer-based design, with emphasis on implementation and simulation on an aerial multicopter robot.


CSC 491/591: Generative AI for Software Engineering

Undergraduate/Graduate · Dr. Bowen Xu

Course description

This course introduces students to the rapidly evolving field of generative AI, with a specific focus on Generative Pre-trained Transformer (GPT) models in software engineering. Software engineering tasks such as generating code, code reviews, test cases, and defect patches present unique challenges due to the diverse structures and modalities of software data. The first half covers software engineering data understanding, code representation techniques, and customization of generative AI in the software engineering context. The second half addresses advanced subjects such as adversarial and backdoor attacks on code models, the human aspects of AI-assisted development, and prompt engineering.


CSC 491/591: Self-Driving Cars: Theory and Practice

Undergraduate/Graduate · Dr. Man-Ki Yoon

Course description

This course explores the theory and practice of building self-driving cars using advanced computing technologies. Students study the introductory theory that enables autonomous driving and gain hands-on experience with software and hardware tools. Topics include robotics software programming, sensor fusion, control theory, and introductory perception, planning, and navigation using machine learning and computer vision. Working in small groups, students design and build software systems for miniaturized self-driving cars that autonomously navigate an indoor track.


CSC 491/591: Ubiquitous Computing and Mobile Health

Undergraduate/Graduate · Dr. Huining Li

Course description

This course provides an introduction to the field of mobile health, in which accessible, low-cost mobile technologies harvest daily-life data for monitoring and discovering digital biomarkers related to various diseases and health conditions. Students explore how mobile and wearable sensors gather health-relevant information, learn to apply machine learning and signal processing for data analysis, and examine system performance in detecting disease progression. The course also addresses strategies for mitigating privacy concerns when deploying mobile health systems.


CSC 491/591: Cyber-Physical Systems for Biometrics

Undergraduate/Graduate · Dr. Chenhan Xu

Course description

This course introduces students to the theory and practice of AI-driven biometric authentication systems, from fingerprint unlock to face and voice recognition. It covers the fundamental principles of biometrics, including physiological and behavioral characteristics, and the machine learning, signal processing, and system architecture used to sense, extract, represent, and match these characteristics. Students study classical methods and modern AI approaches, including feature learning, multimodal fusion, liveness detection, and spoofing defense, and work in teams to design and implement an intelligent authentication system prototype.


Graduate Courses

CSC 520: Artificial Intelligence I

Graduate · Dr. Collin F. Lynch

Course description

Understanding and working in AI means going beyond generative AI and prompting to understand what AI is and what it is not: agents, search, optimization, logic, knowledge, traversal, and decision making. This graduate-level introduction covers identifying representations and methodologies useful in developing intelligent systems; implementing intelligent agents in simple environments; identifying the utility and limitations of knowledge representation methods such as propositional and predicate logic, rule-based systems, and probabilistic systems; and distinguishing uninformed and informed search algorithms.


CSC 523: Cognitive Systems

Graduate

A graduate course examining cognitive systems in artificial intelligence.


CSC 528: Trustworthy and Efficient AI

Graduate · Dr. Jung-Eun Kim

Course description

This course covers topics in AI robustness and efficiency, spanning foundational literature and recent advances. It focuses on deep neural networks, emphasizing not only predictive performance but also computational and resource efficiency, including metrics such as FLOPs, parameter counts, runtime, memory usage, and energy consumption. The course examines techniques for developing efficient architectures, including structured and unstructured pruning, knowledge distillation, and quantization, along with robustness and trustworthiness topics such as spurious correlations, out-of-distribution generalization, memorization and privacy risks, and safety challenges in large language models.


CSC 548: Parallel Systems

Graduate · Dr. Frank Mueller, Dr. Jiajia Li

Course description

Basic concepts of parallel computation; parallel programming models and algorithm design; load balancing and performance optimization; parallel I/O and high-end storage systems; and high-performance parallel applications. The course includes an introduction to AI and machine learning frameworks and parallelization techniques over GPUs and many nodes, featuring CNN-based object detection using TensorFlow and YOLOv3.


CSC 549: Embedded and Real-Time Systems for Autonomous Driving with Machine Learning

Graduate · Dr. Frank Mueller

Course description

This course prepares students to understand research challenges in autonomous driving. Delivery is split between lectures and student-presented research papers. Students are introduced to fundamental concepts from embedded and real-time systems and machine learning, and present research papers advancing those concepts. The course includes an introduction to AI and machine learning frameworks and parallelization techniques over GPUs and many nodes, featuring CNN-based object detection using YOLO and integration into CARLA for autonomous driving simulation.


CSC 591: Foundations of Data Science

Graduate · Dr. Raju Vatsavai

Course description

This course introduces core data science principles related to computational statistical data analysis, preparing students for advanced data mining and machine learning courses. Topics include random variables and probability distributions, exploratory data analysis, variable selection, sampling methods, density estimation, hypothesis testing, missing data and imputation, mixture models, expectation maximization, regression analysis, bagging and boosting, dimensionality reduction, and spatial, temporal, and streaming data analysis, with special emphasis on computational aspects using R and Python.


CSC 591: Artificial Intelligence of Things

Graduate · Dr. Khaled Harfoush

Machine learning concepts and applications for the Internet of Things and robotics.


CSC 591/791: Multimodal Data Analysis

Graduate · Dr. Aditi Mallavarapu

Course description

This advanced course explores how meaning is made across data that spans multiple modalities such as language, visuals, sound, gesture, and digital media. Students engage with leading theories and hands-on methods for analyzing complex, real-world data from sources including social media, video, and scientific images in a semester-long project. The course discusses foundational concepts and cutting-edge methods in multimodal machine learning and challenges relating to representation, alignment, translation, fusion, co-learning, and ethics.


CSC 591/791: Advanced Robotics

Graduate · Dr. Peng Gao

Course description

This course provides an advanced study of intelligent robotic systems, emphasizing the theoretical foundations, computational methods, and current research challenges underlying robot autonomy. It examines perception, probabilistic state estimation, decision-making, reinforcement learning, navigation, SLAM, and coordination in single- and multi-robot systems. Students implement advanced algorithms in simulation and on robotic platforms, analyze recent research, and extend existing approaches through open-ended projects.


CSC 591/791: Software Evolution and Generative Artificial Intelligence

Graduate · Dr. Wesley K. G. Assuncao

Applying AI tools to address problems and support software evolution and maintenance as part of software development.


CSC 591/791: Deep Learning Beyond Accuracy

Graduate · Dr. Jung-Eun Kim

Course description

This course focuses on deep neural networks with an emphasis not only on predictive accuracy but also on computational and resource efficiency, including metrics such as FLOPs, parameter counts, inference latency, memory consumption, and energy usage. Students study techniques for designing efficient architectures, including structured and unstructured pruning, knowledge distillation, quantization, and parameter-efficient adaptation. The course also explores generalization, robustness, trustworthiness, fairness, privacy, and safety through lectures, paper readings, discussions, and a research-oriented project.


CSC 591/756: Advanced Real-Time Intelligent Systems

Graduate · Dr. Zhishan Guo

Course description

An introduction to real-time intelligent systems, with an emphasis on how scheduling and AI algorithms impact the timing correctness, autonomy, and functional safety of cyber-physical systems. Examples include autonomous driving vehicles and avionics, multimedia systems, web servers, and wearable healthcare devices. The course includes invited talks covering state-of-the-art research, presentation of related papers, discussions, and a semester-long research project.


CSC 591/791: Mobile Health Systems and Applications

Graduate

Course description

This course introduces students to the field of mobile health, where low-cost wearable, mobile, and contactless sensing technologies collect real-world data for discovering, monitoring, and interpreting digital biomarkers of health and disease. A major focus is the role of artificial intelligence in transforming raw sensor data into clinically meaningful insights. Topics include feature learning, time-series modeling, multimodal data fusion, personalized modeling, representation learning, and AI-based decision support, along with the challenges of building reliable, interpretable, fair, and privacy-preserving AI systems for healthcare.


CSC 591/791: Human-Centric IoT Systems

Graduate · Dr. Chenhan Xu

Course description

As connected sensors, wearables, and smart devices become part of everyday life, IoT systems are increasingly expected to understand human behavior, context, and needs. This course introduces the design and implementation of human-centric IoT systems, with a strong emphasis on AI for sensing, inference, personalization, and interaction. Topics include context recognition, activity and behavior modeling, multimodal sensor fusion, on-device intelligence, adaptive and personalized services, and the privacy, security, fairness, and usability issues that arise when AI-driven IoT systems operate around people.


CSC 591/791: Principles and Techniques of Neurosymbolic AI

Graduate · Dr. Kemafor Ogan

Course description

This seminar examines the foundations and frontiers of neurosymbolic AI, an emerging paradigm that integrates neural learning with symbolic reasoning to produce systems that are simultaneously data-driven, interpretable, and knowledge-aware. Students survey integration approaches spanning probabilistic and fuzzy logic programming, knowledge graphs and ontologies, differentiable reasoning architectures, and knowledge-based regularization methods that encode symbolic constraints into neural learning objectives. Students engage in a semester-long original research project.


CSC 591/791: Efficient Deep Learning

Graduate · Dr. Dongkuan (DK) Xu

Course description

This research-oriented advanced course focuses on the latest frontiers of efficient deep learning. It introduces algorithms and models that enable deep learning methods to require fewer computational resources while maintaining performance. Topics include model compression, efficient training, neural architecture search, knowledge distillation, few- and zero-shot learning, and distributed machine learning, with applications to natural language processing and computer vision.


CSC 591/791: Machine Learning with Graphs

Graduate · Dr. Xiaorui Liu

Course description

Graphs are a fundamental tool for modeling relationships between objects in numerous real-world applications. Machine learning with graphs enables the modeling of attribute and relation information in graph data and presents significant predictive power across many domains. Key topics include graph theory, spectral graph theory, spectral embedding, network embedding, link analysis, label propagation, graph neural networks, the robustness and scalability of GNNs, and applications in recommendation systems, knowledge graphs, computer vision, natural language processing, and social network analysis.


CSC 591/791: Generative AI, Foundations and Models

Graduate · Dr. Xiaorui Liu

Course description

This graduate course explores the foundations and modern advances of generative AI through the lens of deep generative models. It covers key probabilistic principles underlying models such as variational autoencoders, generative adversarial networks, autoregressive models, and diffusion models. Topics include latent variable modeling, likelihood-based learning, approximate inference, and stochastic optimization, along with recent advances in large-scale generative models and their applications in text, images, and multimodal data through hands-on development and evaluation.


CSC 591/791: Advanced NextG Network Design

Graduate · Dr. Yuchen Liu

Course description

This graduate course focuses on advanced AI technology, statistical modeling, simulation, and analysis of networks. It first presents consolidated network concepts and then uses them to motivate mechanisms in next-generation networks, such as machine learning, 5G/6G, mmWave, Wi-Fi 7, and digital twins. The course is hands-on, with concepts demonstrated through the use and modification of the ns-3 simulation tool to investigate network behavior across different topologies and conditions.


CSC 716: Geospatial AI

Graduate · Dr. Raju Vatsavai

Course description

This course delves into recent breakthroughs in AI and deep learning, specifically their application to analyzing large-scale geospatial and spatiotemporal data, emphasizing both theoretical foundations and practical applications. Topics include the characteristics of big spatial and spatiotemporal data, types of learning, semantic segmentation, change detection, geospatial object-based image analysis, geospatial foundation models, visual question answering, geo-simulations and digital twins, location-based services, geographic bias and fairness, and privacy and explainability.


CSC 720: Artificial Intelligence II

Graduate · Dr. Collin F. Lynch

Course description

A second course in artificial intelligence emphasizing advanced concepts. Building on the core techniques of search, probabilistic models, and symbolic and logic computation introduced in CSC 520, this course examines the current state of AI; new technologies and their strengths and limitations; rising issues including validation, explanation, security, and cost; and future directions of the field. The course is structured around lectures and workshops, reading and review of current literature, and independent projects.


CSC 722: Advanced Topics in Machine Learning

Graduate · Dr. Raju Vatsavai

Course description

This course covers a broad range of topics spanning recent advances in machine learning and deep learning, emphasizing conceptual understanding and the learning principles behind various techniques. Major topics include active learning, contrastive learning, few-shot learning, federated learning, knowledge- and physics-guided learning, multi-task learning, multiple instance learning, meta-learning, representation learning, statistical learning, semi-supervised and self-supervised learning, transfer learning, and domain adaptation.


CSC 591/791: Natural Language Processing

Graduate · Dr. Munindar P. Singh

Course description

This course provides the essential foundation in natural language processing, identifying the key concepts underlying NLP applications as well as the main paradigms and techniques. It combines core ideas from linguistics and artificial intelligence to show how to understand language. Key topics include n-grams, vector models, word embeddings, part-of-speech tagging, syntactic and dependency parsing, semantic role labeling, information extraction, coreference resolution, question answering, dialogue, discourse processing, machine learning for language, and ethical considerations.