AI COURSES AT UCSB

ECE Graduate Courses

ECE 283: Machine Learning

Haewon Jeong (S'24)

Machine learning algorithms from a signal processing viewpoint; unsupervised learning (K-means, deterministic annealing, EM algorithm); supervised learning (Support Vector Machines, neural networks); regression; Bayesian inference and tracking using Markov chain Monte Carlo and sequential Monte Carlo (particle filter) techniques.

ECE 272B (157B): Artificial Intelligence in Design and Test Automation

Li-C Wang (W'24)

An introduction of artificial intelligence applied to improve design and test processes. The various components to build an artificial intelligence system to assist engineering in design and test are discussed. Theoretical foundations related to those components are also discussed. Graduate students are expected to be able to explore an assignment and discover a problem and then find a way to improve the outcome, hence developing their research ability.

ECE 594N: Geometric Machine Learning for Biomedical Imaging and Shape Analysis

Nina Miolane (W'24)

Machine learning is poised to play a major role in analyzing this new wealth of imaging information and testing novel biomedical hypotheses. In this class student learn how to perform geometric machine learning on biomedical images and shapes. The course covers basics of geometric machine learning and delves into specific methods for shape analysis of proteins, cells and organs. This course features guest lectures from invited speakers.

ECE 272A (157A): Machine Learning in Design and Test Automation

Li-C Wang (F'23)

This course discusses the growing interest in applying machine learning (ML) to various testing applications. It emphasizes the review of basic ML principles in testing, highlighting key challenges such as data, learning theories, computational resources, and competition with non-ML solutions. The class also touches on the practical aspects of ML in testing, explaining its fundamental differences from ML used in image or speech recognition and its implications for building AI systems in the field.

ECE 273: Tensor Computation for Machine Learning and Big Data

Zheng Zhang (F'23)

Tensors have been increasingly used in data-intensive fields such as artificial intelligence and quantum computing. This course covers the notations, optimization and statistical methods of tensor computation, and their applications in machine learning (mainly deep learning) and quantum computing.

ECE 594BB: Robustness in ML

Yao Qin/Peng Li (F'23)

ECE 594BB: Ethics of AI

Haewon Jeong/Peng Li (W'23)

ECE Undergraduate Courses

ECE 180: Intro to Deep Learning

Yao Qin (S'24)

Introduction to multilayered neural networks, early models of perceptrons and associative memory; back-propagation learning; convolutional neural networks; recurrent neural networks; attention models; applications to natural language processing and computer vision.

ECE 157B (272B): Artificial Intelligence in Design and Test Automation

Li-C Wang (W'24)

See Graduate Course ECE 272B

ECE 157A (272A): Machine Learning in Design and Test Automation

Li-C Wang (F'23)

See Graduate Course ECE 272A

ECE 181: Introduction to Computer Vision

B.S. Manjunath (F'23)

Overview of computer vision problems and techniques for analyzing the content of images and video. Topics include image formation, edge detection, image segmentation, pattern recognition, texture analysis, optical flow, stereo vision, shape representation and recovery techniques, issues in object recognition, and case studies of practical vision systems.

CS Graduate Courses

CS 291: Adversarial Machine Learning

Shiyu Chang (W'22, W'23)

Deep neural networks have achieved remarkable success owing to their superior predictive performance. Yet, they are extremely vulnerable to adversarial attacks. This makes adversarial machine learning an emerging topic. The idea of learning with adversaries is crucial for expanding the learning capability, ensuring trustworthy decision-making, and enhancing the generalizability of AI models. Despite diverse adversarial concepts and applications, they share very similar learning, computation, and optimization foundations. Thus, the main course goal is to teach students how to adapt these fundamental techniques into different use cases of adversarial machine learning.

CS 291A: Special Topics in Deep Learning

Xifeng Yan (S’22, W’23)

CS 291A: Differential Privacy

Yu-Xiang Wang (F’21)

The graduate-level course covers the fundamentals of differential privacy (DP), as well as various applications of DP in statistical and machine learning applications. Students will learn the fundamentals of DP and practice how to prove formal differential privacy guarantees. There will also be hands-on training on using “autodp” for state-of-the-art DP computation. The targeted audience of the course is graduate students in doing research in theory / algorithms, those doing applied research involving sensitive data (e.g., human subject data), as well as advanced undergraduate students with proper mathematical backgrounds.

CS 292F: Reinforcement Learning

Yu-Xiang Wang (S’21)

In this PhD level course, students learn the models and algorithms of reinforcement learning (RL) as well as techniques in analyzing the sample-complexity of reinforcement learning algorithms in various settings. The focus of the course is on the statistical foundation of RL and for the most part will consider the Markov decision process (MDP) model with finite states and finite actions. The end of the course covers function approximations as well as the ideas behind some deep RL algorithms.

CS 292F: Convex Optimization

Yu-Xiang Wang (S’20)

The course is designed to help a graduate student to learn the theoretical foundation and practical algorithms of machine learning using tools from convex optimization. The techniques we learn are instrumental for understanding research papers in the field of machine learning and will be more generically applicable to problems outside machine learning that involve continuous optimization.

CS Undergraduate Courses

CS 5A: Intro to Data Science 1

(Every quarter)

Data Science is a rapidly evolving field that does not have a uniformly agreed-upon definition. It is an inter-disciplinary field that uses scientific methods, statistical and computer science concepts and processes to extract and communicate knowledge and insights from data. The key component that differentiates Data Science from Computer Science or Statistics is its connection to and the need to understand the contexts from other domains such as Biology, Environmental Science, Economics, etc. In this course, we will introduce and use critical concepts and skills in computer programming and statistical inference to analyze real-world datasets and interpret real-world phenomena. The purpose of this course is to develop some of the foundational skills needed to consume data and create information. The main theme in the course is understanding the sources of data, the variability inherent in data, biases and fallacies, and the inherent uncertainty associated with conclusions drawn from data.

CS 5B: Intro to Data Science 2

(Every quarter)

This course continues the themes of CMPSC 90DA / CMPSC 5A / Data Science 1. Students explore the data science lifecycle, including question formulation, data collection and cleaning, exploratory data analysis and visualization, statistical inference and prediction, and decision-making. The course focus is on languages for transforming and analyzing data; machine learning methods including regression, classification and clustering; principles behind data visualizations; concepts of measurement error and prediction; and techniques for scalable data processing.

CS 165B: Machine Learning

(Every quarter)

Machine learning studies the question "How can we build computer programs that automatically improve their performance through experience?" This includes learning to perform different types of tasks based on different types of experience. For example, it includes robots learning to better navigate based on experience gained by roaming their environments; medical decision aids that learn to predict which therapies work best for which diseases based on data mining of historical health records; speech recognition systems that lean to better understand your speech based on experience listening to you; and computer vision systems that learn how to represent and recognize objects. This course is designed to give students a thorough grounding in the methods, theory, and algorithms of machine learning. The topics of the course draw from several fields that contribute to machine learning, including classical and Bayesian statistics, pattern recognition, and information theory.

CS 165A: Intro to Artificial Intelligence

Michael Beyeler (W'24)

Artificial Intelligence is about building and understanding intelligent systems. AI means different things to different people. People have approached the study of AI from various perspectives: philosophy, neurophysiology, mathematics, linguistics, psychology, control systems, and computer science, to name a few. Part of what makes it so interesting is the range of activities, from trying to understand minds in the abstract, to building creatures that run around and do things. AI has made steady progress and contributed to much of what is now standard computer science and cognitive science. It has spawned several sub-areas (e.g., natural language processing, speech recognition, computer vision, robotics, expert systems, and machine learning). This is an introductory course in artificial intelligence offered as part of a computer science curriculum, so we are not primarily concerned with the approaches of philosophy, cognitive science, etc., although we will come back to them from time to time.

CS 190I: Deep Learning

Shiyu Chang (F'23)

Deep Learning has been driving the progress of AI in the past decade and has found versatile applications in many products and everyday life. Examples include recommendation systems for online videos, automatic language translation, smart home assistants, creative art design, and autonomous driving vehicles. This course will introduce general principles, methods, network architectures, and applications of Deep Learning. We cover neural network architectures including convolutional neural networks, recurrent neural networks, Transformer, and graph neural networks. We will cover techniques for designing loss, training, and inference methods. We focus on both the principles, analytical skills, and implementation practice. This course is suitable for undergraduate students and graduate students who wants to pursue career in AI or do research in deep learning

CS 190I: Introduction to Natural Language Processing

William Wang (W’22)

Have you ever used intelligent virtual assistants such as Google Now, Apple Siri, Amazon Alexa or Microsoft Cortana? Wondering what are the technologies behind such systems? How did IBM's Watson beat top human Jeopardy players? Or you are just curious about how Google Translate works? Understanding human language is an important goal for Artificial Intelligence, and this course introduces fundamental theories and practical applications in Natural Language Processing (NLP). In particular, this course will focus on the design of basic machine learning algorithms (e.g., classification and structured prediction) for core NLP problems. The concentration of this course is on the mathematical, statistical and computational foundations for NLP.