Courses tagged with ai
COSC-241: Artificial Intelligence (1) ai
An introduction to the ideas and techniques that allow computers to perform intelligently. The course will discuss methods of adversarial game playing and of solving general problems using heuristic search. It will also discuss the design of agents that learn either from experience or from a provided dataset. The course will cover both theoretical aspects of AI and practical considerations such as noisy sensor readings. Three class meetings per week. Offered in alternate years. (Amherst)
COSC-247: Machine Learning (1) ai
Machine Learning algorithms allow computers to be taught to perform tasks without being explicitly programmed. This course is an introduction to machine learning and data mining. The course will explore supervised, unsupervised, ensemble and reinforcement learning. Topics may include: decision tree learning, rule learning, neural networks, support vector machines, Bayesian learning, clustering, hidden Markov model learning, and/or deep learning. The material of this course has some overlap with that of Computer Science 241, but it is permissible to take both. (Amherst)
COSC-254: Data Mining (1) ai
This course is an introduction to data mining, the area of computer science that deals with the development of efficient and accurate algorithms for extracting information from data. Topics may include: mining data streams and time series, the MapReduce/Spark model and large scale data analysis, significant patterns extraction, web and social networks analysis, recommendation systems, sampling and hypothesis testing, and dimensionality reduction. We will use interactive data analysis notebooks and large-scale data processing systems to implement and test data mining algorithms. (Amherst)
COSC-347: Theory of Machine Learning (1) ai
This course covers the mathematical underpinnings of machine learning. (Amherst)
CSE 471: Introduction to Artificial Intelligence (3) ai
State space search, heuristic search, games, knowledge representation techniques, expert systems and automated reasoning. (ASU)
CSE 472: Social Media Mining (3) ai
Network measures, social network analysis, network models, random graphs, small-world model, power laws, data mining, influence and homophily, information diffusion, epidemics, behavioral analysis, recommendation in social media, community detection. (ASU)
CSE 474: Mobile Robotics (3) ai
Aims to make accessible to undergraduate students a principled and mathematically sound approach to the design of algorithms for robots. Students acquire the mathematical foundations that are required for the implementation and analysis of algorithms for robotic applications through homework problems and a final project. Among course goals is the development of the vocabulary and mathematical background so that the students can follow the current research and development trends in the robotics industry. (ASU)
CSE 475: Foundations of Machine Learning (3) ai
Machine learning techniques: supervised learning, unsupervised learning, and neural networks and deep learning. (ASU)
CSE 476: Introduction to Natural Language Processing (3) ai
Principles of computational linguistics, formal syntax, and semantics, as applied to the design of software with natural (human) language I/O. (ASU)
CSCI 3430: Artificial Intelligence (3) ai
This course covers the fundamentals of heuristic problem solving using search techniques, genetic algorithms, knowledge representation, and expert systems. (Augusta)
CSCI 4540: Digital Forensics and Machine Learning (3) ai
Overview of information security forensics activities. Topics include digital forensics investigative basics and digital forensics examination criteria. Course includes hands-on lab activities where machine learning concepts will be applied, and students will learn the basics of digital forensics techniques and how machine learning could be used in the context of processing data. (Augusta)
CSI 2300: Introduction to Data Science (3) ai
Principles of data science, including problem workflow, variable types, visualization, modeling, programming, data management and cleaning, reproducibility, and big data. (Baylor)
CSI 4352: Introduction to Data Mining (3) ai
Introduction to the concepts, techniques, and applications of data warehousing and data mining. Topics include design and implementation of data warehouse and OLAP operations; data mining concepts and methods such as association rule mining, pattern mining, classification, and clustering; applications of data mining techniques to complex types of data in various fields. (Baylor)
CS 415: Social Media Data Sci Pipeline (4) ai
The focus of this course is on applying data science techniques to large-scale social media. The topics covered include large-scale data collection and management, exploratory analysis and measurement techniques, hypothesis testing and statistical modeling, and predictive, real time analytics. Students will build an end-to-end analysis pipeline and use it to answer questions about online events as they occur. The goal of the class is to provide students with a methodological toolbox, the technical skills to make use of these tools, and the experience of using them on real world data. (Binghamton)
CS 424: Intelligent Mobile Robotics (4) ai
The focus of this course is on intelligent mobile robots that can autonomously operate in indoor environments with limited human guidance. The topics covered in this course include mapping, localization, navigation, planning, reasoning, and human-robot interaction (language-based and vision-based). The students will learn to develop software in Robot Operating System (ROS) on real mobile robots. The goal of this course is to help students learn entry level algorithms and programming skills that are required to conduct research in the area of intelligent mobile robotics. (Binghamton)
CS 435: Introduction to Data Mining (4) ai
Basic topics of data mining, including data preprocessing, mining association rules, classification rules, clustering rules, post processing and mining in unstructured data. (Binghamton)
CS 436: Introduction to Machine Learning (4) ai
This course provides a broad introduction to machine learning and its applications. Major topics include: supervised learning (generative/discriminative learning, parametric/non-parametric learning, support vector machines); computational learning theory (bias/variance tradeoffs, VC theory, large margins); unsupervised learning; semi-supervised learning; reinforcement learning. (Binghamton)
CS 455: Intro to Visual Info Processing (4) ai
The course focuses on fundamental topics, including visual information acquisition, representation, description, enhancement, restoration, transformations and compressions, and reconstruction from projections. The second focus is on Computer Science applications, including algorithms developed in applications such as statistical and syntactic pattern recognition, robotic vision, multimedia indexing, visual data mining, and bio-informatics. (Binghamton)
CS 456: Introduction to Computer Vision (4) ai
Course has two parts. Part one focuses on an introduction to the fundamental topics of computer vision, including low-level vision, intermediate-level vision, high-level vision, vision systems, visual knowledge representation, motion analysis, shape from shading and 3D reconstruction, as well as image retrieval. Part two introduces the applications of the fundamental computer vision techniques. Examples include robotic vision, pattern recognition and medical imaging. (Binghamton)
CS 465: Introduction to Artificial Intelligence (4) ai
This course will cover the basic ideas and techniques underlying the design of artificial intelligence (AI) agents. Topics include search, knowledge representation (and reasoning), planning, reasoning under uncertainty, machine learning (including reinforcement learning), and applications (natural language processing, vision, robotics, etc). (Binghamton)
CSCI2291: Data Science: Methods and Applications (3) ai
This course focuses on efficient organization and processing of data, data visualization and communication, statistical modeling, and machine learning, integrating concepts in responsible data science and social impact, such as bias in data collection and modeling, privacy, ethical design of data science experiments, and model interpretability. Students will apply data science techniques to real-world problems and publicly available datasets arising across the range of human inquiry. (Boston)
CSCI3310: Topics in Computer Science: Computing Language (3) ai
A course on computational linguistics focusing on core properties of language and how to model them programmatically. Computational work done in different language areas (such as morphology and syntax) in a variety of languages will be explored. Assignments will consist of implementing a set of language tools in Java, along with a final project on a language topic of choice. (Boston)
CSCI3370: Deep Learning (3) ai
Deep Learning is rapidly emerging as one of the most successful and widely applicable sets of techniques across a range of domains, including vision, language, speech, robotics, medicine, and AI in general. This has led to significant success and exciting new directions that may previously have seemed out of reach. This course offers an introduction to the fundamentals of deep learning, covering both theory and applications. It starts from the basics of Neural Networks (NNs) and extends to some of the latest research. Topics covered include neural net architectures (MLPs, CNNs, RNNs, transformers, large language models, generative models), geometry and invariances in deep learning, backpropagation and automatic differentiation, learning theory and generalization, self-supervised learning and robust learning, as well as applications to computer vision, natural language processing, medicine, and science, among others. The course will be delivered through instructor lectures and reinforced with coding assignments that teach both theoretical and practical aspects. Additionally, it will include a project that allows students to explore an area of deep learning that interests them in more depth. (Boston)
CSCI3387: Topics in Computational intelligence: Machine Learning Projects (3) ai
In this project based class, we will introduce several machine learning concepts, and illustrate and practice their use. These topics will, tentatively, include: classification, data processing, dimensionality reduction, model evaluation and tuning, ensemble learning, regression, clustering, multi layer artificial neural networks and their use for classification, regression, generative adversarial networks, and reinforcement learning. (Boston)
CS 365: Foundations of Data Science (4) ai
Lays the foundation towards more advanced data-intensive classes, such as Data Science, Machine Learning, Data Mining. The course provides an understanding of the fundamentals and the practical implications of concepts. It covers both theoretical skills as well as working/practical knowledge. (BU)
CS 440: Introduction to Artificial Intelligence (4) ai
Introduction to computer systems that exhibit intelligent behavior, in particular, perceptual and robotic systems. Topics include human computer interfaces, computer vision, robotics, game playing, pattern recognition, knowledge representation, planning. (BU)
CS 505: Introduction to Natural Language Processing (4) ai
Natural language processing (NLP) is a field of AI which aims to equip computers with the ability to intelligently process natural (human) language. This course explores statistical and machine learning techniques for the automatic analysis of natural language data. (BU)
CS 506: Data Science Tools and Applications (4) ai
Covers practical skills in working with data and introduces a wide range of techniques that are commonly used in the analysis of data, such as clustering, classification, regression, and network analysis. Emphasizes hands-on application of methods via programming. (BU)
CS 523: Deep Learning (4) ai
Mathematical and machine learning background for deep learning. Feed-forward networks., Backpropagation. Training strategies for deep networks. Architectures such as convolutional, recurrent, transformer networks. Deep reinforcement learning. Deep unsupervised learning. Exposure to modern programming tools and libraries. Other recent topics, time permitting. (BU)
CS 541: Applied Machine Learning (4) ai
Covers practical skills in machine learning including techniques for clustering, classification, regression, feature selection, and model compression. Emphasizes hands-on application of methods via programming on real-world datasets. (BU)
CS 542: Principles of Machine Learning (4) ai
Introduction to modern machine learning concepts, techniques, and algorithms. Topics include regression, kernels, support vector machines, feature selection, boosting, clustering, hidden Markov models, and Bayesian networks. Programming assignments emphasize taking theory into practice, through applications on real-world data sets. (BU)
CS 549: Spark! Machine Learning X-Lab Practicum (4) ai
The Spark! Practicum offers students in computing disciplines the opportunity to apply their knowledge in algorithms, inferential analytics, and software development by working on real-world projects provided from partnering organizations within BU and from outside. The course offers a range of project options where students can improve their technical skills, while also gaining the soft skills necessary to deliver projects aligned to the partner's goals. These include teamwork and communications skills and software development processes. All students participating in the course are expected to complete a project focused on an application of inferential analytics or machine learning, including a final presentation to the partner organization. (BU)
CS 565: Algorithmic Data Mining (4) ai
Introduction to data mining concepts and techniques. Topics include association and correlation discovery, classification and clustering of large datasets, outlier detection. Emphasis on the algorithmic aspects as well as the application of mining in real-world problems. (BU)
COSI 101a: Fundamentals of Artificial Intelligence (4) ai
Survey course in artificial intelligence. Introduction to Lisp and heuristic programming techniques. Topics include problem solving, planning natural language processing, knowledge representation, and computer vision. Usually offered every year. (Brandeis)
COSI 104a: Introduction to Machine Learning (4) ai
Machine learning is essential to gaining insights into large-scale data and making decisions in a wide spectrum of real world applications. This course will provide you a basic understanding of machine learning techniques (e.g., linear regression, logistic regression, decision trees, neural networks, clustering, state machines and Markov decision processes, etc.), how to evaluate their performance, and demonstrating how these models can be used to solve real-world problems. In addition, this course will give you hands-on experience utilizing these machine learning models. Usually offered every year. (Brandeis)
COSI 114a: Fundamentals of Natural Language Processing I (4) ai
Explores the computational properties of natural language and the foundations of the algorithms used to process it. Students will develop an understanding of basic statistical natural language processing (NLP) methods by implementing language analysis and classification algorithms in Python. Topics include corpus statistics, text classification, language modeling, and the computational techniques needed to support these tasks, with a focus on generative models (e.g., naive Bayes, hidden Markov models). Usually offered every year. (Brandeis)
COSI 115b: Fundamentals of Natural Language Processing II (4) ai
Provides a fundamental understanding of the problems in natural language understanding by computers, and the theory and practice of current computational linguistic systems. Of interest to students of artificial intelligence, algorithms, and the computational processes of comprehension and understanding. Usually offered every year. (Brandeis)
COSI 119a: Autonomous Robotics (4) ai
Become part of the team developing 'Campus Rover', our long term project. Explore the fundamental 'big questions' in robotics: How do robots know what to do? How do they see the world? How do they know where they are? How do they know where to go? How do they control their bodies? How should robots behave around people? How can we get them to work together? Learn and understand Robot Operating System (ROS) and how software for robots is built. Solve gradually more advanced robotic problems, work with real robots in our Robotics Lab. This is a hands-on course, emphasizing real world implementations. Usually offered every year. (Brandeis)
COSI 123a: Statistical Machine Learning (4) ai
Focuses on learning from data using statistical analysis tools and deals with the issues of designing algorithms and systems that automatically improve with experience. This course is designed to give students a thorough grounding in the methodologies, technologies, mathematics, and algorithms currently needed by research in learning with data. Usually offered every year. (Brandeis)
COSI 126a: Unsupervised Learning and Data Mining (4) ai
Focuses on unsupervised learning and introduces the basic concepts of cluster analysis, feature selection, outlier detection for large-scale and big data analysis. Some advanced unsupervised topics, such as ranking, auto-encoder, generative adversarial network, and self-supervised learning will be introduced as well. Usually offered every second year. (Brandeis)
COSI 132a: Information Retrieval (4) ai
Explores the theory and practice of textual information retrieval, including text indexing; Boolean, vector space and probabilistic retrieval models; evaluation; interfaces; linguistic issues; web search; QA and text classification. Students will implement algorithms and design and build a search-based application. Usually offered every year. (Brandeis)
COSI 135b: Computational Semantics (4) ai
A study of the computational treatment of core semantic phenomena in language. After a review of first-order logic and the lambda calculus, the course focuses on three core topics: interrogative structures, including semantics of questions, question-answering systems, dialogue, entailment, commonsense knowledge; meaning update and revision; and computational lexical semantics. Usually offered every second year. (Brandeis)
COSI 136a: Automatic Speech Recognition (4) ai
Explores speech recognizer core components and their underlying algorithms, surveying real applications. Covers phonetics, HMMs, finite state grammars, statistical language models, and industry standards for implementing applications, like VXML. Students build and analyze simple applications using a variety of toolkits. Usually offered every year. (Brandeis)
COSI 149b: Practical Machine Learning with Big Data (4) ai
In this experiential learning course, students will learn and practice machine learning techniques to tackle real problems in industry and/or interdisciplinary research. (Brandeis)
COSI 159a: Computer Vision (4) ai
Designed for undergraduate and graduate students majoring/minoring in computer science, the course covers core topics in image/video understanding, such as, object detection/recognition/tracking, image segmentation, image enhancement, visual relationship mining, 3D reconstruction, image generation, optical flow, and video segmentation. (Brandeis)
COSI 165b: Deep Learning (4) ai
Due to its powerful capability and excellent performance in solving real-world problems, deep learning has become one of the most important machine learning techniques. This course covers the core methods and algorithms of deep learning techniques. (Brandeis)
COSI 175a: Multimedia Processing (4) ai
A seminar studying current research papers relating to: multi-media representation and compression, information extraction and understanding from images and video, object recognition and content based image and video retrieval, related applications of machine learning. Usually offered every second year. (Brandeis)
CSCI 0410: Foundations of AI (1) ai
This course will provide broad coverage of core topics in artificial intelligence (AI), as a prelude to students taking more in-depth AI courses later on. To this end, the course will introduce students to prevalent AI models, both logical and probabilistic, as well as algorithms to solve these models based on search, planning, reinforcement learning, and supervised and unsupervised machine learning. These ideas will be applied to develop basic natural language processing, computer vision, robotic, and multiagent systems, all with an eye towards building socially responsible AI. Students cannot take this course and CSCI 1411 together. (Brown)
CSCI 1410: Artificial Intelligence (1) ai
Algorithms and representations used in artificial intelligence. Introduction and implementation of algorithms for search, planning, perception, knowledge representation, logic, probabilistic representation and reasoning, robotics and machine learning. (Brown)
CSCI 1411: Foundations in AI (1) ai
This course will provide broad coverage of core topics in artificial intelligence (AI), as a prelude to students taking more in-depth AI courses later on. To this end, the course will introduce students to prevalent AI models, both logical and probabilistic, as well as algorithms to solve these models based on search, planning, reinforcement learning, and supervised and unsupervised machine learning. These ideas will be applied to develop basic natural language processing, computer vision, robotic, and multiagent systems, all with an eye towards building socially responsible AI. This course cannot be taken at the same time as CSCI 0410. (Brown)
CSCI 1420: Machine Learning (1) ai
How can artificial systems learn from examples and discover information buried in data? We explore the theory and practice of statistical machine learning, focusing on computational methods for supervised and unsupervised learning. Specific topics include empirical risk minimization, probably approximately correct learning, kernel methods, neural networks, maximum likelihood estimation, the expectation maximization algorithm, and principal component analysis. This course also aims to expose students to relevant ethical and societal considerations related to machine learning that may arise in practice. (Brown)
CSCI 1430: Computer Vision (1) ai
How can computers understand the visual world of humans? This course treats vision as a process of inference from noisy and uncertain data and emphasizes probabilistic and statistical approaches. Topics may include perception of 3D scene structure from stereo, motion, and shading; image filtering, smoothing, edge detection; segmentation and grouping; texture analysis; learning, recognition and search; tracking and motion estimation. Strongly recommended: basic linear algebra, basic calculus and exposure to probability. (Brown)
CSCI 1460: Computational Linguistics (1) ai
The application of computational methods to problems in natural-language processing. In particular we examine techniques due to recent advances in deep learning: word embeddings, recurrent neural networks (e.g., LSTMs), sequence-to-sequence models, and generative adversarial networks (GANs. Programming projects include parsing, machine translation, question answering, and chat-bots. (Brown)
CSCI 1470: Deep Learning (1) ai
What is deep learning? How is it related to machine learning? How is it applied to perform tasks like classifying images or translating languages? Deep Learning belongs to a broader family of machine learning methods. Deep learning-based methods (e.g., convolutional neural networks, recurrent neural networks, autoencoders) have led to rapid improvements in applications like computer vision, natural language processing, robotics, and even genomics and health. In this course, you will get an overview of the prominent techniques of deep learning and their applications. This course is designed to help you understand the underlying concepts as well as the promise and pitfalls of deep learning. It also aims at providing hands-on practice of implementing and applying deep learning methods in Python. (Brown)
CSCI 1850: Deep Learning in Genomics (1) ai
Deep learning models have achieved impressive performance in fields like computer vision and NLP. The collection of vast quantities of biological data naturally leads to the question -- can deep learning help us understand genomics? We will cover deep learning models like Auto-encoders and Convolutional Neural Networks and how have they been applied to solve problems in genomics. We will learn about different biological datasets, interpretation methods that help explain predictions, and what unique challenges are presented by the data in this field. Critical thinking and learning from the practical application of models to data are expected outcomes. (Brown)
CSCI 1951-A: Data Science (1) ai
Data is (soon) at the core of essentially all domains from material science to health care. Mastering big data requires a set of skills spanning a variety of disciplines from distributed systems over statistics to machine learning as well as a deep understanding of a complex ecosystem of tools and platforms. Data Science refers to the intersection of these skills and is concerned with the whole processing pipeline to transform data into actionable knowledge. This course provides an overview of the various techniques and tools involved in Data Science and how they work together rather than focussing on a specific aspect. Among other things, we will cover SQL and NoSQL solutions for massive data management, basic algorithms for data mining and machine learning, information retrieval techniques, and visualization methods. (Brown)
CSCI 1951-R: Introduction to Robotics (1) ai
Each student will learn to program a small quad-rotor helicopter. We will provide each student with their own robot for the duration of the course. The course will cover PID controllers for stable flight, localization with a camera, mapping, and autonomous planning. At the end of the course, the aim is for students to understand the basic concepts of a mobile robot and aerial vehicle. (Brown)
CSCI 1952-Q: Robust Algorithms for Machine Learning (1) ai
In this course, we will explore the theoretical foundations of machine learning and deep learning. We will focus on designing and analyzing machine learning algorithms with provable guarantees. More specifically, in this course we will (1) introduce basic tools in linear algebra and optimization, including the power method, singular value decomposition, matrix calculus, (matrix) concentration inequalities, and (stochastic) gradient descent, (2) cover many examples where one can design algorithms with provably guarantees for fundamental problems in machine learning (under certain assumptions), including topic modeling, tensor decomposition, sparse coding, and matrix completion, and (3) discuss the emerging theory of deep learning, including landscape analysis, generalization and over-parameterization, neural tangent kernels, generalization bounds, and implicit regularization. (Brown)
CSCI 1952-Z: Robots as a Medium: Creating art with teams of robots (1) ai
In this course, students will work in groups to use teams of flying and ground robots to create works of art, such as paintings, composing music, choreography, etc. This course is open to all concentrations, no prior experience necessary! (Brown)
CS 129: Experimental Robotics (17) ai
This course covers the foundations of experimental realization on robotic systems. This includes software infrastructure to operate physical hardware, integrate various sensor modalities, and create robust autonomous behaviors. Using the Python programming language, assignments will explore techniques from simple polling to interrupt driven and multi-threaded architectures, ultimately utilizing the Robotic Operating System (ROS). Developments will be integrated on mobile robotic systems and demonstrated in the context of class projects. (Caltech)
CS 133 ab: Robotics (9) ai
The course develops the core concepts of robotics. The first quarter focuses on classical robotic manipulation, including topics in rigid body kinematics and dynamics. It develops planar and 3D kinematic formulations and algorithms for forward and inverse computations, Jacobians, and manipulability. The second quarter transitions to planning, navigation, and perception. Topics include configuration space, sample-based planners, A* and D* algorithms, to achieve collision-free motions. Course work transitions from homework and programming assignments to more open-ended team-based projects. (Caltech)
CS 134: Robotic Systems (9) ai
This course builds up, and brings to practice, the elements of robotic systems at the intersection of hardware, kinematics and control, computer vision, and autonomous behaviors. It presents selected topics from these domains, focusing on their integration into a full sense-think-act robot. The lectures will drive team-based projects, progressing from building custom robotic arms (5 to 7 degrees of freedom) to writing all necessary software (utilizing the Robotics Operating system, ROS). Teams are required to implement and customize general concepts for their selected tasks. Working systems will autonomously operate and demonstrate their capabilities during final presentations. (Caltech)
CS 148: Advanced Topics in Vision: Large Language and Vision Models (12) ai
The class will focus on large language models (LLMs) and language-and-vision models, as well as on generative methods for artificial intelligence (AI). Topics include deep neural networks, transformers, large language models, generative adversarial networks, diffusion models, and applications of such architectures and methods to image analysis, image synthesis, and text-to-image translation. (Caltech)
CS 155: Machine Learning & Data Mining (12) ai
This course will cover popular methods in machine learning and data mining, with an emphasis on developing a working understanding of how to apply these methods in practice. The course will focus on basic foundational concepts underpinning and motivating modern machine learning and data mining approaches. We will also discuss recent research developments. (Caltech)
CS 156 ab: Learning Systems (9) ai
Introduction to the theory, algorithms, and applications of automated learning. How much information is needed to learn a task, how much computation is involved, and how it can be accomplished. Special emphasis will be given to unifying the different approaches to the subject coming from statistics, function approximation, optimization, pattern recognition, and neural networks. (Caltech)
CS 158: Fundamentals of Statistical Learning (9) ai
The main goal of the course is to provide an introduction to the central concepts and core methods of statistical learning, an interdisciplinary field at the intersection of applied mathematics, statistical inference, and machine learning. The course focuses on the mathematics and statistics of methods developed for learning from data. Students will learn what methods for statistical learning exist, how and why they work (not just what tasks they solve and in what built-in functions they are implemented), and when they are expected to perform poorly. The course is oriented for upper level undergraduate students in IDS, ACM, and CS and graduate students from other disciplines who have sufficient background in linear algebra, probability, and statistics. The course is a natural continuation of CS 157 and it can be viewed as a statistical analog of CS 155. Topics covered include elements of statistical decision theory, regression and classification problems, nearest-neighbor methods, curse of dimensionality, linear regression, model selection, cross-validation, subset selection, shrinkage methods, ridge regression, LASSO, logistic regression, linear and quadratic discriminant analysis, support-vector machines, tree-based methods, bagging, and random forests. (Caltech)
CS 159: Advanced Topics in Machine Learning (9) ai
This course focuses on current topics in machine learning research. This is a paper reading course, and students are expected to understand material directly from research articles. Students are also expected to present in class, and to do a final project. (Caltech)
CS 165: Foundations of Machine Learning and Statistical Inference (12) ai
The course assumes students are comfortable with analysis, probability, statistics, and basic programming. This course will cover core concepts in machine learning and statistical inference. The ML concepts covered are spectral methods (matrices and tensors), non-convex optimization, probabilistic models, neural networks, representation theory, and generalization. In statistical inference, the topics covered are detection and estimation, sufficient statistics, Cramer-Rao bounds, Rao-Blackwell theory, variational inference, and multiple testing. In addition to covering the core concepts, the course encourages students to ask critical questions such as: How relevant is theory in the age of deep learning? What are the outstanding open problems? Assignments will include exploring failure modes of popular algorithms, in addition to traditional problem-solving type questions. (Caltech)
CS 169: Mobile Robots (9) ai
Mobile robots need to perceive their environment and localize themselves with respect to maps thereof. They further require planners to move along collision-free paths. This course builds up mobile robots in team-based projects. Teams will write all necessary software from low-level hardware I/O to high level algorithms, using the robotic operating system (ROS). The final systems will autonomously maneuver to reach their goals or track various objectives. (Caltech)
CS 183: Introduction to Computational Biology and Bioinformatics (9) ai
Biology is becoming an increasingly data-intensive science. Many of the data challenges in the biological sciences are distinct from other scientific disciplines because of the complexity involved. This course will introduce key computational, probabilistic, and statistical methods that are common in computational biology and bioinformatics. We will integrate these theoretical aspects to discuss solutions to common challenges that reoccur throughout bioinformatics including algorithms and heuristics for tackling DNA sequence alignments, phylogenetic reconstructions, evolutionary analysis, and population and human genetics. We will discuss these topics in conjunction with common applications including the analysis of high throughput DNA sequencing data sets and analysis of gene expression from RNA-Seq data sets. (Caltech)
CS 186: Vision: From Computational Theory to Neuronal Mechanisms (12) ai
Lecture, laboratory, and project course aimed at understanding visual information processing, in both machines and the mammalian visual system. The course will emphasize an interdisciplinary approach aimed at understanding vision at several levels: computational theory, algorithms, psychophysics, and hardware (i.e., neuroanatomy and neurophysiology of the mammalian visual system). The course will focus on early vision processes, in particular motion analysis, binocular stereo, brightness, color and texture analysis, visual attention and boundary detection. Students will be required to hand in approximately three homework assignments as well as complete one project integrating aspects of mathematical analysis, modeling, physiology, psychophysics, and engineering. Given in alternate years; offered 2023-24. (Caltech)
CS 187: Neural Computation (9) ai
This course aims at a quantitative understanding of how the nervous system computes. The goal is to link phenomena across scales from membrane proteins to cells, circuits, brain systems, and behavior. We will learn how to formulate these connections in terms of mathematical models, how to test these models experimentally, and how to interpret experimental data quantitatively. The concepts will be developed with motivation from some of the fascinating phenomena of animal behavior, such as: aerobatic control of insect flight, precise localization of sounds, sensing of single photons, reliable navigation and homing, rapid decision-making during escape, one-shot learning, and large-capacity recognition memory. Not offered 2023-2024. (Caltech)
CS 320: Machine Learning (6) ai
What does it mean for a machine to learn? Much of modern machine learning focuses on identifying patterns in large datasets and using these patterns to make predictions about the future. Machine learning has impacted a diverse array of applications and fields, from scientific discovery to healthcare to education. In this artificial intelligence-related course, we’ll both explore a variety of machine learning algorithms in different application areas, taking both theoretical and practical perspectives, and discuss impacts and ethical implications of machine learning more broadly. Topics may vary, but typically focus on regression and classification algorithms, including neural networks. (Carleton)
CS 321: Making Decisions with Artificial Intelligence (6) ai
There are many situations where computer systems must make intelligent choices, from selecting actions in a game, to suggesting ways to distribute scarce resources for monitoring endangered species, to a search-and-rescue robot learning to interact with its environment. Artificial intelligence offers multiple frameworks for solving these problems. While popular media attention has often emphasized supervised machine learning, this course instead engages with a variety of other approaches in artificial intelligence, both established and cutting edge. These include intelligent search strategies, game playing approaches, constrained decision making, reinforcement learning from experience, and more. Coursework includes problem solving and programming. (Carleton)
CS 322: Natural Language Processing (6) ai
Computers are poor conversationalists, despite decades of attempts to change that fact. This course will provide an overview of the computational techniques developed in the attempt to enable computers to interpret and respond appropriately to ideas expressed using natural languages (such as English or French) as opposed to formal languages (such as C++ or Lisp). Topics in this course will include parsing, semantic analysis, machine translation, dialogue systems, and statistical methods in speech recognition. (Carleton)
CS 361: Artificial Life and Digital Evolution (6) ai
The field of artificial life seeks to understand the dynamics of life by separating them from the substrate of DNA. In this course, we will explore how we can implement the dynamics of life in software to test and generate biological hypotheses, with a particular focus on evolution. Topics will include the basic principles of biological evolution, transferring experimental evolution techniques to computational systems, cellular automata, computational modeling, and digital evolution. All students will be expected to complete and present a term research project recreating and extending recent work in the field of artificial life. (Carleton)
07-180: Concepts in Artificial Intelligence (5) ai
The course will introduce students to the main foundational concepts and techniques used in Artificial Intelligence (AI), including representation, heuristic search, probabilistic reasoning, decision making, and machine learning. Concepts will be grounded in a range of real-world applications in which AI is currently used. Students will be introduced to ethical issues surrounding AI, as well as the potential future of a world in which AI is commonplace. Programming and written assignments will enable students to get a feel for how to implement and use AI techniques. (CMU)
15-181: Demystifying AI (9) ai
This course will pull back the curtains on artificial intelligence, helping you learn what it is, what it can do, how to use it, how it works, and what can go wrong. This course is designed for students that want to learn about AI and machine learning but don't have the course schedule bandwidth to build up the math and computing background required for full-fledged intro AI and ML courses, such as 15-281 and 10-301. Leveraging high school algebra and basic Python programming skills from 15-110, we'll help you implement key pieces of AI techniques from the nearest neighbor algorithm to simple neural networks. Through in-class activities, weekly recitations, and course assignments, you'll start to learn how to use AI systems, including how to make them 'intelligent', what data might be needed, and what can go wrong. Ethical discussions will be woven throughout the course to enable you to think critically about how AI impacts our society. (CMU)
15-182: Artificial Intelligence for Medicine (6) ai
This course introduces Artificial Intelligence (AI) and its recent applications in medicine for students with no background in computer science. It starts by motivating and defining AI, before folding over to a survey of some of its newest applications to medicine, including diagnosis, prognosis, drug discovery, and recommendations of individualized treatments, to mention just a few. Afterwards, it provides a birds-eye view of some of the major AI techniques, including machine learning, deep neural networks, recommendation systems, ranked retrieval, and probabilistic graphical models. Finally, it concludes with a discussion on some of the concerns related to AI, including ethical issues, job security, society, and healthcare institutions, among others (CMU)
16-264: Humanoids (12) ai
This course surveys perception, cognition, and movement in humans, humanoid robots, and humanoid graphical characters. Application areas include more human-like robots, video game characters, and interactive movie characters. (CMU)
15-281: Artificial Intelligence: Representation and Problem Solving (12) ai
This course is about the theory and practice of Artificial Intelligence. We will study modern techniques for computers to represent task-relevant information and make intelligent (i.e. satisficing or optimal) decisions towards the achievement of goals. The search and problem solving methods are applicable throughout a large range of industrial, civil, medical, financial, robotic, and information systems. We will investigate questions about AI systems such as: how to represent knowledge, how to effectively generate appropriate sequences of actions and how to search among alternatives to find optimal or near-optimal solutions. We will also explore how to deal with uncertainty in the world, how to learn from experience, and how to learn decision rules from data. We expect that by the end of the course students will have a thorough understanding of the algorithmic foundations of AI, how probability and AI are closely interrelated, and how automated agents learn. We also expect students to acquire a strong appreciation of the big-picture aspects of developing fully autonomous intelligent agents. Other lectures will introduce additional aspects of AI, including natural language processing, web-based search engines, industrial applications, autonomous robotics, and economic/game-theoretic decision making. (CMU)
15-282: Artificial Intelligence for Medicine (9) ai
This course introduces Artificial Intelligence (AI) and its recent applications in medicine for students with only a little background in computer science. It starts by motivating and defining AI, before folding over to a survey of some of its newest applications to medicine, including diagnosis, prognosis, drug discovery, and recommendations of individualized treatments, to mention just a few. Afterwards, it provides a birds-eye view of some of the major AI techniques, including machine learning, deep neural networks, recommendation systems, ranked retrieval, and probabilistic graphical models. Finally, it concludes with a discussion on some of the concerns related to AI, including ethical issues, job security, society, and healthcare institutions, among others. The course comprises a balance of lectures, case studies, live demonstrations of some medical AI applications, problem-solving and amp; programming assignments, and research tasks. The students will be exposed to industry- and research-based perspectives on AI for medicine. In addition, they will learn through a course project the nuances of working with medical data and applying AI models to solve concrete problems in healthcare. (CMU)
15-288: Special Topic: Machine Learning in a Nutshell (9) ai
THIS COURSE RUNS IN CMU QATAR ONLY. This course is about the application of machine learning (ML) concepts and models to solve challenging real-world problems. The emphasis of the course is on the methodological and practical aspects of designing, implementing, and using ML solutions. Course topics develop around the notion of ML process pipeline, that identifies the multi-staged process of building and deploying an ML solution. An ML pipeline includes: de nition of the problem, objectives, and performance metrics; collection and management of relevant operational data; data wrangling (transforming, cleaning, ltering, scaling); perform feature engineering on the available data in terms of feature selection, feature extraction, feature processing; selection of appropriate ML models based on problem requirements and available data; implementation, application, testing, and evaluation of the selected model(s); deployment of the final ML model. The course tackles all the stages of the ML pipeline, presenting conceptual insights and providing algorithmic and software tools to select and implement effective ways of proceeding and dealing with the challenges of the different stages. (CMU)
16-311: Introduction to Robotics (12) ai
This course presents an overview of robotics in practice and research with topics including vision, machine learning, motion planning, mobile mechanisms, kinematics, inverse kinematics, and sensors. In course projects, students construct LEGO robots which are driven by a microcontroller, with each project reinforcing the basic principles developed in lectures. Students usually work in teams of three: an electrical engineer, a mechanical engineer, and a computer scientist. Groups are typically self-formed except for the first lab. This course will also expose students to some of the contemporary happenings in robotics, including current robotics research, applications, robot contests and robots in the news. Students registering for this course must register for both Mon/Wed mornings and Tuesday afternoon sections. (CMU)
10-315: Introduction to Machine Learning (12) ai
Machine learning is subfield of computer science with the goal of exploring, studying, and developing learning systems, methods, and algorithms that can improve their performance with learning from data. This course is designed to give undergraduate students a one-semester-long introduction to the main principles, algorithms, and applications of machine learning and is specifically designed for the SCS undergrad majors. The topics of this course will be in part parallel with those covered in the graduate machine learning courses (10-715, 10-701, 10-601), but with a greater emphasis on applications and case studies in machine learning. After completing the course, students will be able to: *select and apply an appropriate supervised learning algorithm for classification problems (e.g., naive Bayes, perceptron, support vector machine, logistic regression). *select and apply an appropriate supervised learning algorithm for regression problems (e.g., linear regression, ridge regression). *recognize different types of unsupervised learning problems, and select and apply appropriate algorithms (e.g., clustering, linear and nonlinear dimensionality reduction). *work with probabilities (Bayes rule, conditioning, expectations, independence), linear algebra (vector and matrix operations, eigenvectors, SVD), and calculus (gradients, Jacobians) to derive machine learning methods such as linear regression, naive Bayes, and principal components analysis. *understand machine learning principles such as model selection, overfitting, and underfitting, and techniques such as cross-validation and regularization. *implement machine learning algorithms such as logistic regression via stochastic gradient descent, linear regression (using a linear algebra toolbox), perceptron, or k-means clustering. *run appropriate supervised and unsupervised learning algorithms on real and synthetic data sets and interpret the results. (CMU)
05-318: Human AI Interaction (12) ai
Artificial Intelligence is inspired by human intelligence, made powerful by human data, and ultimately only useful in how it positively affects the human experience. This course is an introduction to harnessing the power of AI so that it is beneficial and useful to people. We will cover a number of general topics: agency and initiative, AI and ethics, bias and transparency, confidence and errors, human augmentation and amplification, trust and explainability, mixed-initiative systems, and programming by example. These topics will be explored via projects in dialog and speech-controlled systems, automatic speech recognition, computer vision, data science, recommender systems, text summarization, learning science, UI personalization, and visualization. Students will complete individual weekly mini-projects in which they will design and build AI systems across a wide variety of domains. Students should be comfortable with programming; assignments will be primarily in Python and Javascript. Prior experience with AI/machine learning will be useful but is not required. Students will also be responsible for weekly readings and occasional presentations to the class. (CMU)
16-322: Modern Sensors for Intelligent Systems (12) ai
The class aims at introducing sensing technologies for robots and other intelligent systems. The course will cover the physical principles of traditional sensors, sensor calibration and evaluation, signal processing algorithms for different sensors, and examples of sensor applications for robots or other intelligent systems. On the sensing system design part, the course will cover the common sensor fusion design and algorithms, and provide examples of sensing systems for different robots or intelligent systems, such as wearable sensors, self-driving cars, autonomous vehicles, assistant robots, and field robots in extreme conditions. The class will contain lectures, two lab sessions, and a course project. (CMU)
11-324: Human Language for Artificial Intelligence (12) ai
An enduring aspect of the quest to build intelligent machines is the challenge of human language. This course introduces students with a background in computer science and a research interest in artificial intelligence fields to the structure of natural language, from sound to society. It covers phonetics (the physical aspects of speech), phonology (the sound-structure of language), morphology (the structure of words), morphosyntax (the use of word and phrase structure to encode meaning), syntactic formalisms (using finite sets of production rules to characterize infinite configurations of structure), discourse analysis and pragmatics (language in discourse and communicative context), and sociolinguistics (language in social context and social meaning). Evaluation is based on seven homework assignments, a midterm examination, and a final examination. (CMU)
11-344: Machine Learning in Practice (12) ai
Machine Learning is concerned with computer programs that enable the behavior of a computer to be learned from examples or experience rather than dictated through rules written by hand. It has practical value in many application areas of computer science such as on-line communities and digital libraries. This class is meant to teach the practical side of machine learning for applications, such as mining newsgroup data or building adaptive user interfaces. The emphasis will be on learning the process of applying machine learning effectively to a variety of problems rather than emphasizing an understanding of the theory behind what makes machine learning work. This course does not assume any prior exposure to machine learning theory or practice. In the first 2/3 of the course, we will cover a wide range of learning algorithms that can be applied to a variety of problems. In particular, we will cover topics such as decision trees, rule based classification, support vector machines, Bayesian networks, and clustering. In the final third of the class, we will go into more depth on one application area, namely the application of machine learning to problems involving text processing, such as information retrieval or text categorization. (CMU)
16-350: Planning Techniques for Robotics (12) ai
Planning is one of the core components that enable robots to be autonomous. Robot planning is responsible for deciding in real-time what should the robot do next, how to do it, where should the robot move next and how to move there. This class does an in-depth study of popular planning techniques in robotics and examines their use in ground and aerial robots, humanoids, mobile manipulation platforms and multi-robot systems. The students learn the theory of these methods and also implement them in a series of programming-based projects. To take the class students should have taken an Intro to Robotics class and have a good knowledge of programming and data structures. (CMU)
16-362: Mobile Robot Algorithms Laboratory (12) ai
This course is an introduction to the theory and algorithms of multirotor vehicle autonomy. Students will work individually to develop a multirotor simulator in Python and C++, add sensors, plan, and perform exploration. Lectures will cover topics to advance the capabilities of the simulator. Homeworks will be designed to increase the autonomy capabilities of the multirotor vehicle. The class will culminate in an individual project that pushes the autonomy capabilities developed throughout the course and may cover multi-robot aerial autonomy, dynamic environment modeling, or advanced planning and control. In order to succeed in the course, students must have a 2nd year science/engineering level background in mathematics (matrices, vectors, coordinate systems) and have already mastered at least one object-oriented programming language like C++ or Python. When the course is over, students will have written a single software system that has been incrementally extended in functionality and regularly debugged throughout the semester. (CMU)
15-382: Collective Intelligence (9) ai
This course is about the study of distributed control and intelligence systems involving a large number of autonomous components that interact with each other, dynamically adapting to their changing environment as a result of mutual interactions. Examples of such components include cars in city traffic, pedestrians moving in crowds, firms competing in a market, ants foraging for food, or mobile robots in a swarm or multi-robot system. Under certain conditions, such systems can produce useful system-level behaviors, display self-organized spatial-temporal patterns, effectively perform computations, information dissemination, and decision-making. Loosely speaking, when this happens we can say that the system is displaying a form of 'collective intelligence'. Collective intelligence will expose students to relevant mathematical and computational models from following fields and domains: Cellular automata and Random boolean networks, Social choice, Game theory, Distributed consensus, Task allocation, Swarm intelligence, Social networks, Pattern formation, and Self-organizing maps. The course will also help bridge the gap between theory and practice via assignments where students will implement system models and explore their properties in application domains of practical interest. (CMU)
15-383: Introduction to Text Processing (6) ai
Text processing is a mini-course about text basic techniques of processing human language in text format. The course has theoretical and hands-on components. In the theoretical component, the course will discuss challenges in processing human languages, and review the basics of statistics and probability theory and their application to language problems. In the hands-on part, students will learn about Python programming and use it to process large volumes of text using various techniques. The processing will range from simple steps such as tokenization and part-of-speech tagging to full-fledged applications such as statistical machine translation, search and document/topic classification. The course is suited for junior and senior students in CS and IS. (CMU)
16-384: Robot Kinematics and Dynamics (12) ai
Foundations and principles of robotic kinematics. Topics include transformations, forward kinematics, inverse kinematics, differential kinematics (Jacobians), manipulability, and basic equations of motion. Course also include programming on robot arms. (CMU)
15-385: Introduction to Computer Vision (6) ai
An introduction to the science and engineering of computer vision, i.e. the analysis of the patterns in visual images with the view to understanding the objects and processes in the world that generate them. Major topics include image formation and sensing, fourier analysis, edge and contour detection, inference of depth, shape and motion, classification, recognition, tracking, and active vision. The emphasis is on the learning of fundamental mathematical concepts and techniques and applying them to solve real vision problems. The discussion will also include comparison with human and animal vision from psychological and biological perspectives. Students will learn to think mathematically and develop skills in translating ideas and mathematical thoughts into programs to solve real vision problems. (CMU)
16-385: Computer Vision (12) ai
This course provides a comprehensive introduction to computer vision. Major topics include image processing, detection and recognition, geometry-based and physics-based vision, sensing and perception, and video analysis. Students will learn basic concepts of computer vision as well as hands on experience to solve real-life vision problems. This course is for undergraduate students only. (CMU)
15-386: Neural Computation (9) ai
Computational neuroscience is an interdisciplinary science that seeks to understand how the brain computes to achieve natural intelligence. It seeks to understand the computational principles and mechanisms of intelligent behaviors and mental abilities and #8212; such as perception, language, motor control, and learning and #8212; by building artificial systems and computational models with the same capabilities. This course explores how neurons encode and process information, adapt and learn, communicate, cooperate, compete and compute at the individual level as well as at the levels of networks and systems. It will introduce basic concepts in computational modeling, information theory, signal processing, system analysis, statistical and probabilistic inference. Concrete examples will be drawn from the visual system and the motor systems, and studied from computational, psychological and biological perspectives. Students will learn to perform computational experiments using Matlab and quantitative studies of neurons and neuronal networks. (CMU)
15-387: Computational Perception (9) ai
In this course, we will first cover the biological and psychological foundational knowledge of biological perceptual systems, and then apply computational thinking to investigate the principles and mechanisms underlying natural perception. The course will focus on vision this year, but will also touch upon other sensory modalities. You will learn how to reason scientifically and computationally about problems and issues in perception, how to extract the essential computational properties of those abstract ideas, and finally how to convert these into explicit mathematical models and computational algorithms. Topics include perceptual representation and inference, perceptual organization, perceptual constancy, object recognition, learning and scene analysis. (CMU)
15-388: Practical Data Science (9) ai
Data science is the study and practice of how we can extract insight and knowledge from large amounts of data. This course provides a practical introduction to the 'full stack' of data science analysis, including data collection and processing, data visualization and presentation, statistical model building using machine learning, and big data techniques for scaling these methods. Topics covered include: collecting and processing data using relational methods, time series approaches, graph and network models, free text analysis, and spatial geographic methods; analyzing the data using a variety of statistical and machine learning methods include linear and non-linear regression and classification, unsupervised learning and anomaly detection, plus advanced machine learning methods like kernel approaches, boosting, or deep learning; visualizing and presenting data, particularly focusing the case of high-dimensional data; and applying these methods to big data settings, where multiple machines and distributed computation are needed to fully leverage the data. (CMU)
10-403: Deep Reinforcement Learning & Control (12) ai
This course brings together many disciplines of Artificial Intelligence (including computer vision, robot control, reinforcement learning, language understanding) to show how to develop intelligent agents that can learn to sense the world and learn to act by imitating others, maximizing sparse rewards, and/or satisfying their curiosity. (CMU)
10-405: Machine Learning with Large Datasets (Undergraduate) (12) ai
Large datasets pose difficulties across the machine learning pipeline. They are difficult to visualize and introduce computational, storage, and communication bottlenecks during data pre-processing and model training. Moreover, high capacity models often used in conjunction with large datasets introduce additional computational and storage hurdles during model training and inference. This course is intended to provide a student with the mathematical, algorithmic, and practical knowledge of issues involving learning with large datasets. Among the topics considered are: data cleaning, visualization, and pre-processing at scale; principles of parallel and distributed computing for machine learning; techniques for scalable deep learning; analysis of programs in terms of memory, computation, and (for parallel methods) communication complexity; and methods for low-latency inference. The class will include programming and written assignments to provide hands-on experience applying machine learning at scale. An introductory machine learning course is a prerequisite. A strong background in programming will also be necessary; suggested prerequisites include 15-210, 15-214, or equivalent. Students are expected to be familiar with Python or learn it during the course. (CMU)
11-411: Natural Language Processing (12) ai
This course is about a variety of ways to represent human languages (like English and Chinese) as computational systems, and how to exploit those representations to write programs that do neat stuff with text and speech data, like translation, summarization, extracting information, question answering, natural interfaces to databases, and conversational agents. This field is called Natural Language Processing or Computational Linguistics, and it is extremely multidisciplinary. This course will therefore include some ideas central to Machine Learning and to Linguistics. We'll cover computational treatments of words, sounds, sentences, meanings, and conversations. We'll see how probabilities and real-world text data can help. We'll see how different levels interact in state-of-the-art approaches to applications like translation and information extraction. From a software engineering perspective, there will be an emphasis on rapid prototyping, a useful skill in many other areas of Computer Science. (CMU)
10-414: Deep Learning Systems: Algorithms and Implementation (12) ai
The goal of this course is to provide students an understanding and overview of the 'full stack' of deep learning systems, ranging from the high-level modeling design of modern deep learning systems, to the basic implementation of automatic differentiation tools, to the underlying device-level implementation of efficient algorithms. Throughout the course, students will design and build from scratch a complete deep learning library, capable of efficient GPU-based operations, automatic differentiation of all implemented functions, and the necessary modules to support parameterized layers, loss functions, data loaders, and optimizers. Using these tools, students will then build several state-of-the-art modeling methods, including convolutional networks for image classification and segmentation, recurrent networks and self-attention models for sequential tasks such as language modeling, and generative models for image generation. (CMU)
10-417: Intermediate Deep Learning (12) ai
Building intelligent machines that are capable of extracting meaningful representations from data lies at the core of solving many AI related tasks. In the past decade, researchers across many communities, from applied statistics to engineering, computer science and neuroscience, have developed deep models that are composed of several layers of nonlinear processing. An important property of these models is that they can learn useful representations by re-using and combining intermediate concepts, allowing these models to be successfully applied in a wide variety of domains, including visual object recognition, information retrieval, natural language processing, and speech perception. The goal of this course is to introduce students to both the foundational ideas and the recent advances in deep learning. The first part of the course will focus on supervised learning, including neural networks, back-propagation algorithm, convolutional models, recurrent neural networks, and their extensions with applications to image recognition, video analysis, and language modelling. The second part of the course will cover unsupervised learning, including variational autoencoders, sparse-coding, Boltzmann machines, and generative adversarial networks. This course will assume a reasonable degree of mathematical maturity and will require strong programming skills. (CMU)
10-418: Machine Learning for Structured Data (12) ai
A key challenge in machine learning is that of structured prediction: taking unstructured data as input and producing a structured output. Structured prediction problems abound throughout application areas such as natural language processing, speech processing, computational biology, computer vision, healthcare, and many others. In this course, we will study modern approaches to structured prediction building on probabilistic graphical models, deep learning, and search. The course will focus on three key aspects: models, inference, and learning. The models we consider will focus on both generative and discriminative models such as Bayesian networks, Markov random fields (MRFs), conditional random fields (CRFs), and deep neural networks including convolutional neural networks (CNNs) and recurrent neural networks (RNNs) and #8212; as well as hybrids of graphical models and neural networks. The course will explore approaches to exact and approximate inference: junction tree algorithm, approximate marginal inference by Markov chain Monte Carlo (MCMC) and variational methods, approximate MAP inference by integer linear programming (ILP) and search. We will explore unsupervised, semi-supervised, and supervised learning using different formulations of the learning problem: MLE, Bayesian inference, structured perceptron, M3Ns, learning to search, and autoencoders. Covered applications will include machine translation, speech recognition, DNA sequence analysis, scene understanding, medical diagnosis. This course is cross-listed as 10-418 and 10-618; students registered for 10-618 will do a course project. (CMU)
16-421: Vision Sensors (12) ai
This course covers the fundamentals of vision cameras and other sensors - how they function, how they are built, and how to use them effectively. The course presents a journey through the fascinating five hundered year history of 'camera-making' from the early 1500's 'camera obscura' through the advent of film and lenses, to today's mirror-based and solid state devices (CCD, CMOS). The course includes a significant hands-on component where students learn how to use the sensors and understand, model and deal with the uncertainty (noise) in their measurements. While the first half of the course deals with conventional 'single viewpoint' or 'perspective' cameras, the second half of the course covers much more recent 'multi-viewpoint' or 'multi-perspective' cameras that includes a host of lenses and mirrors. (CMU)
10-422: Foundations of Learning, Game Theory, and Their Connections (12) ai
In the past decades, researchers have discovered a number of important and deep connections between machine learning theory and algorithmic game theory. This course will explore these connections, both introducing fundamental topics in each area and describing how ideas from each area can shed light on the other. (CMU)
16-423: Designing Computer Vision Apps (12) ai
Computer vision is a discipline that attempts to extract information from images and videos. Nearly every smart device on the planet has a camera, and people are increasingly interested in how to develop apps that use computer vision to perform an ever expanding list of things including: 3D mapping, photo/image search, people/object tracking, augmented reality etc. This course is intended for students who are not familiar with computer vision, but want to come up to speed rapidly with the latest in environments, software tools and best practices for developing computer vision apps. No prior knowledge of computer vision or machine learning is required although a strong programming background is a must (at a minimum good knowledge of C/C++). Topics will include using conventional computer vision software tools (OpenCV, MATLAB toolboxes, VLFeat, CAFFE), and development on iOS devices using mobile vision libraries such as GPUImage and fast math libraries like Armadillo and Eigen. For consistency, all app development will be in iOS and it is expected that all students participating in the class have access to an Intel-based MAC running OS X Mavericks or later. Although the coursework will be focussed on a single operating system, the knowledge gained from this class is intended to generalize to other mobile platforms such as Android etc. (CMU)
17-428: Machine Learning and Sensing (12) ai
Machine learning and sensors are at the core of most modern computing devices and technology. From Amazon Echo to Apple Watch to Google Photos to self-driving cars, making sense of the data coming from powerful but noisy sensors is the key challenge. The aim of the course will be to explore this intersection of sensors and machine learning, understand the inner workings on modern computing technologies, and design the future ones. We will cover data collection, signal processing, data processing, data visualization, feature engineering, machine learning tools, and some prototyping technologies. The course will focus on class discussions, hands-on demonstrations, and tutorials. Students will be evaluated on their class participation, multiple mini projects, and a final team project. (CMU)
05-434: Machine Learning in Practice (12) ai
Machine Learning is concerned with computer programs that enable the behavior of a computer to be learned from examples or experience rather than dictated through rules written by hand. It has practical value in many application areas of computer science such as on-line communities and digital libraries. This class is meant to teach the practical side of machine learning for applications, such as mining newsgroup data or building adaptive user interfaces. The emphasis will be on learning the process of applying machine learning effectively to a variety of problems rather than emphasizing an understanding of the theory behind what makes machine learning work. This course does not assume any prior exposure to machine learning theory or practice. In the first 2/3 of the course, we will cover a wide range of learning algorithms that can be applied to a variety of problems. In particular, we will cover topics such as decision trees, rule based classification, support vector machines, Bayesian networks, and clustering. In the final third of the class, we will go into more depth on one application area, namely the application of machine learning to problems involving text processing, such as information retrieval or text categorization. (CMU)
11-441: Machine Learning for Text and Graph-based Mining (9) ai
This course provides a comprehensive introduction to the theory and implementation of algorithms for organizing and searching large text collections. The first half of the course studies text search engines for enterprise and Web environments; the open-source Indri search engine is used as a working example. The second half studies text mining techniques such as clustering, categorization, and information extraction. Programming assignments give hands-on experience with document ranking algorithms, categorizing documents into browsing hierarchies, and related topics. (CMU)
11-442: Search Engines (9) ai
This course studies the theory, design, and implementation of text-based search engines. The core components include statistical characteristics of text, representation of information needs and documents, several important retrieval models, and experimental evaluation. The course also covers common elements of commercial search engines, for example, integration of diverse search engines into a single search service ("federated search", "vertical search"), personalized search results, diverse search results, and sponsored search. The software architecture components include design and implementation of large-scale, distributed search engines. (CMU)
15-482: Autonomous Agents (12) ai
Autonomous agents use perception, cognition, actuation, and learning to reliably achieve desired goals, where the agents can be smart homes, mobile robots, intelligent factories, self-driving cars, etc. The goal of this course is to introduce students to techniques needed for developing complete, integrated AI-based autonomous agents. Topics include architectures for intelligent agents; autonomous behaviors, perception, and execution; reasoning under uncertainty; optimization; execution monitoring; machine learning; scheduling; and explanation. A focus of the course will be on the integration and testing of autonomous systems to achieve reliable and robust behavior in the face of sensor noise and uncertainty. The course is project-oriented where small teams of students will design, implement, and evaluate agents that can grow plants autonomously, without human intervention. (CMU)
11-485: Introduction to Deep Learning (9) ai
Neural networks have increasingly taken over various AI tasks, and currently produce the state of the art in many AI tasks ranging from computer vision and planning for self-driving cars to playing computer games. Basic knowledge of NNs, known currently in the popular literature as 'deep learning', familiarity with various formalisms, and knowledge of tools, is now an essential requirement for any researcher or developer in most AI and NLP fields. This course is a broad introduction to the field of neural networks and their 'deep' learning formalisms. The course traces some of the development of neural network theory and design through time, leading quickly to a discussion of various network formalisms, including simple feedforward, convolutional, recurrent, and probabilistic formalisms, the rationale behind their development, and challenges behind learning such networks and various proposed solutions. We subsequently cover various extensions and models that enable their application to various tasks such as computer vision, speech recognition, machine translation and playing games. Instruction Unlike prior editions of 11-785, the instruction will primarily be through instructor lectures, and the occasional guest lecture. Evaluation Students will be evaluated based on weekly continuous-evaluation tests, and their performance in assignments and a final course project. There will be six hands-on assignments, requiring both low-level coding and toolkit-based implementation of neural networks, covering basic MLP, convolutional and recurrent formalisms, as well as one or more advanced tasks, in addition to the final project. (CMU)
15-491: Special Topic: CMRoboBits: AI and Robots for Daily-Life Problems (12) ai
This course will be a project-based course in which we will look at AI and robotics artifacts and techniques to automate solutions to real-world problems, in particular related to life in cities. The course will start by collecting and brainstorming about real problems biased to ones that involve the physical space in addition to the cyber information space, such as traffic rush hour, noise in cities, 3D building inspection, service and data gathering. We will then formalize the chosen problems and analyze existing real data. The course will proceed by possibly enabling the students to prototype their projects beyond simulation, and using the CORAL lab robots, e.g., the CoBot or NAO robots or drones. The course work will be a single large project, performed by groups of up to 3 students. The projects will be divided in three phases, due at the end of February, March, and the end of the course. Students are expected to have programming experience in C++ or python. (CMU)
15-492: Special Topic: Speech Processing (12) ai
Speech Processing offers a practical and theoretical understanding of how human speech can be processed by computers. It covers speech recognition, speech synthesis and spoken dialog systems. The course involves practicals where the student will build working speech recognition systems, build their own synthetic voice and build a complete telephone spoken dialog system. This work will be based on existing toolkits. Details of algorithms, techniques and limitations of state of the art speech systems will also be presented. This course is designed for students wishing understand how to process real data for real applications, applying statistical and machine learning techniques as well as working with limitations in the technology. (CMU)
11-492: Speech Processing (12) ai
Speech Processing offers a practical and theoretical understanding of how human speech can be processed by computers. It covers speech recognition, speech synthesis and spoken dialog systems. The course involves practicals where the student will build working speech recognition systems, speech synthesis systems and integrate them to create a speech interface. This work will be based on existing toolkits. Details of algorithms, techniques and limitations of state of the art speech systems will also be presented. This course is designed for students wishing understand how to process real data for real applications, applying statistical and machine learning techniques as well as working with limitations in the technology. (CMU)
15-494: Cognitive Robotics: The Future of Robot Toys (12) ai
This course will explore the future of robot toys by analyzing and programming Anki Cozmo, a new robot with built-in artificial intelligence algorithms. Como is distinguished from earlier consumer robots by its reliance on vision as the primary sensing mode and its sophisticated use of A.I. Its capabilities include face and object recognition, map building, path planning, and object pushing and stacking. Although marketed as a pre-programmed children's toy, Cozmo's open source Python SDK allows anyone to develop new software for it, which means it can also be used for robotics education and research. The course will cover robot software architecture, human-robot interaction, perception, and planning algorithms for navigation and manipulation. Prior robotics experience is not required, just strong programming skills. (CMU)
17-537: Artificial Intelligence Methods for Social Good (9) ai
Optimization: mathematical programming, robust optimization, influence maximization Game Theory and Mechanism Design: security games, human behavior modeling, auction and market equilibrium, citizen science Machine Learning: classification, clustering, probabilistic graphical models, deep learning Sequential Decision Making: Markov Decision Processes (MDPs), partially observable MDPs, online planning, reinforcement learning In addition to providing a deep understanding of these methods, the course will introduce which societal challenges they can tackle and how, in the areas of (i) healthcare, (ii) social welfare, (iii) security and privacy, (iv) environmental sustainability. The course will also cover special topics such as AI and Ethics and AI and Humans. The course content is designed to not have too much overlap with other AI courses offered at CMU. Although the course is listed within SCS, it should be of interest to students in several other departments, including ECE, EPP and SDS. The students in this 9-unit course are expected to have taken at least three mathematics courses covering linear algebra, calculus, and probability. The students will work in groups on a systematic literature review or a project exploring the possibility of applying existing AI tools to a societal problem, with a survey paper or technical report and presentation delivered at the end of the semester. (CMU)
16-745: Optimal Control and Reinforcement Learning (12) ai
This is a course about how to make robots move through and interact with their environment with speed, efficiency, and robustness. We will survey a broad range of topics from nonlinear dynamics, linear systems theory, classical optimal control, numerical optimization, state estimation, system identification, and reinforcement learning. The goal is to provide students with hands-on experience applying each of these ideas to a variety of robotic systems so that they can use them in their own research. (CMU)
16-761: Mobile Robots (12) ai
The course is targeted to senior undergraduates and graduate level students. The lectures will develop the fundamentals of this emerging sub-field of robotics by calling on the experience of practitioners, the common themes of the literature, and relevant material from more basic fields such as computer vision, mathematics, and physics. (CMU)
85-412: Cognitive Modeling (9) ai
This course will be concerned with modeling of agent behavior in a range of applications from laboratory experiments on human cognition, high-performance simulations such as flight simulators, and video game environments. The first half of the course will teach a high-level modeling language for simulating human perception, cognition, and action. The second half of the course will be a project in which students develop a simulated agent or agents for the application of their choice. (CMU)
85-419: Introduction to Parallel Distributed Processing (9) ai
This course provides an overview of Parallel-Distributed-Processing/neural-network models of perception, memory, language, knowledge representation, and learning. The course consists of lectures describing the theory behind the models as well as their implementation, and their application to specific empirical domains. Students get hands-on experience developing and running simulation models. (CMU)
85-426: Learning in Humans and Machines (9) aihumans
This course explores how probabilistic methods can help to explain cognition and to develop intelligent machines. The applications discussed include perception, language, memory, categorization, reasoning, decision-making, and motor control. (CMU)
CSDS 275: Fundamentals of Robotics (4) ai
The Fundamentals of Robotics course will expose students to fundamental principles of robotics. Students will explore high level conceptual foundations of robotics beginning with Braitenberg vehicles and apply this knowledge to simulated and physical robot hardware in laboratory experiences and in a final project. Laboratory experiences will guide students through applying theory to practice increasingly complex tasks in a project oriented, group work environment. The course culminates in a robotics challenge project at the end of the semester. Topics covered are: sensors, actuators, kinematics, control, planning and programming. Programming languages and concepts (e.g., C++, object oriented programming) used in robotics will be introduced and used with modern robotics programming toolboxes and frameworks. Prior experience with these languages will not be necessary. Previous experience with robotics is not required for this course. (Case)
CSDS 335: Data Mining for Big Data (3) ai
With the unprecedented rate at which data is being collected today in almost all fields of human endeavor, there is an emerging economic and scientific need to extract useful information from it. Data mining is the process of automatic discovery of patterns, changes, associations and anomalies in massive databases, and is a highly interdisciplinary field representing the confluence of several disciplines, including database systems, data warehousing, machine learning, statistics, algorithms, data visualization, and high-performance computing. This course is an introduction to the commonly used data mining techniques. (Case)
CSDS 340: Introduction to Machine Learning (3) ai
Machine learning is a sub-field of Artificial Intelligence that is concerned with the design and analysis of algorithms that 'learn' and improve with experience. This course is an introduction to algorithms for machine learning and their implementation in the context of big data. (Case)
CSDS 361: Biomedical Image Processing and Analysis (3) ai
Principles of image processing and analysis with applications to clinical and biomedical research. Topics include image filtering, registration, morphological processing, segmentation, classification, and 3D image visualization. There will be interesting, realistic computer projects in Matlab. (Case)
CSDS 364: Computational Perception (3) ai
An introduction to the information processing and computational algorithms that underlie perception. The course focuses on vision and audition but also covers other senses and various types of perceptual processing in biological systems. The motivating question is: What are the fundamental computational problems faced by perceptual systems in complex environments? The course draws from fields in engineering and the study of biological perception. Specific topics include signal detection and processing; sound localization; motion perception and estimation; sensory coding; perception of structure; active perception; perceptual invariance; attention; object, sound and speech recognition; visual and auditory scene analysis. (Case)
CSDS 373: Modern Robot Programming (3) ai
The goal of this course is to learn modern methods for building up robot capabilities using the Robot Operating System (ROS). Through a sequence of assignments, students learn how to write software to control both simulated and physical robots. Material includes: interfacing software to robot I/O; path and trajectory planning for robot arms; object identification and localization from 3-D sensing; manipulation planning; and development of graphical interfaces for supervisory robot control. Laboratory assignments are scheduled in small groups to explore implementations on specific robots. Graduate students will also perform an independent project. (Case)
CSDS 376: Mobile Robotics (4) ai
Design of software systems for mobile robot control, including: motion control; sensory processing; localization and mapping; mobile-robot planning and navigation; and implementation of goal-directed behaviors. The course has a heavy lab component involving a sequence of design challenges and competitions performed in teams. (Case)
CSDS 391: Introduction to Artificial Intelligence (3) ai
This course is an introduction to artificial intelligence. We will study the concepts that underlie intelligent systems. (Case)
CSDS 435: Data Mining (3) ai
Data Mining is the process of discovering interesting knowledge from large amounts of data stored either in databases, data warehouses, or other information repositories. Topics to be covered includes: Data Warehouse and OLAP technology for data mining, Data Preprocessing, Data Mining Primitives, Languages, and System Architectures, Mining Association Rules from Large Databases, Classification and Prediction, Cluster Analysis, Mining Complex Types of Data, and Applications and Trends in Data Mining. (Case)
CSDS 440: Machine Learning (3) ai
Machine learning is a subfield of Artificial Intelligence that is concerned with the design and analysis of algorithms that 'learn' and improve with experience, While the broad aim behind research in this area is to build systems that can simulate or even improve on certain aspects of human intelligence, algorithms developed in this area have become very useful in analyzing and predicting the behavior of complex systems. Machine learning algorithms have been used to guide diagnostic systems in medicine, recommend interesting products to customers in e-commerce, play games at human championship levels, and solve many other very complex problems. This course is focused on algorithms for machine learning: their design, analysis and implementation. We will study different learning settings, including supervised, semi-supervised and unsupervised learning. We will study different ways of representing the learning problem, using propositional, multiple-instance and relational representations. We will study the different algorithms that have been developed for these settings, such as decision trees, neural networks, support vector machines, k-means, harmonic functions and Bayesian methods. We will learn about the theoretical tradeoffs in the design of these algorithms, and how to evaluate their behavior in practice. At the end of the course, you should be able to: --Recognize situations where machine learning algorithms are applicable; --Understand, represent and formulate the learning problem; --Apply the appropriate algorithm(s), or if necessary, design your own, with an understanding of the tradeoffs involved; --Correctly evaluate the behavior of the algorithm when solving the problem. (Case)
CSDS 442: Causal Learning from Data (3) ai
This course introduces key concepts and techniques for characterizing, from observational or experimental study data and from background information, the causal effect of a specific treatment, exposure, or intervention (e.g., a medical treatment) upon an outcome of interest (e.g., disease status). The fundamental problem of causal inference is the impossibility of observing the effects of different and incompatible treatments on the same individual or unit. This problem is overcome by estimating an average causal effect over a study population. Making valid causal inferences with observational data is especially challenging, because of the greater potential for biases (confounding bias, selection bias, and measurement bias) that can badly distort causal effect estimates. Consequently, this topic has been the focus of intense cross-disciplinary research in recent years. Causal inference techniques will be illustrated by applications in several fields such as computer science, engineering, medicine, public health, biology, genomics, neuroscience, economics, and social science. Course grading will be based on quizzes, homeworks, a class presentation, and a causal data analysis project. Specific topics: treatments, exposures, and interventions; causal effects and causal effect measures; confounding bias; potential outcomes and counterfactuals; randomized experiments; observational studies; causal directed acyclic graphs (DAGs); exchangeability and conditional exchangeability; effect modification; causal interactions; nonparametric structural equations; Pearl's Back-Door Criterion, Front-Door Criterion, and related results; covariate adjustment; matching on covariates; selection bias; measurement bias; instrumental variables; causal modeling; inverse probability weighting; marginal structural models; standardization; structural nested models; outcome regression; propensity scores; sensitivity analysis. (Case)
CSDS 458: Introduction to Bioinformatics (3) ai
Fundamental algorithmic and statistical methods in computational molecular biology and bioinformatics will be discussed. Topics include introduction to molecular biology and genetics, DNA sequence analysis, polymorphisms and personal genomics, structural variation analysis, gene mapping and haplotyping algorithms, phylogenetic analysis, biological network analysis, and computational drug discovery. Much of the course will focus on the algorithmic techniques, including but not limited to, dynamic programming, hidden Markov models, string algorithms, graph theories and algorithms, and some representative data mining algorithms. Paper presentations and course projects are also required. (Case)
CSDS 459: Bioinformatics for Systems Biology (3) ai
Description of omic data (biological sequences, gene expression, protein-protein interactions, protein-DNA interactions, protein expression, metabolomics, biological ontologies), regulatory network inference, topology of regulatorn networks, computational inference of protein-protein interactions, protein interaction databases, topology of protein interaction networks, module and protein complex discovery, network alignment and mining, computational models for network evolution, network-based functional inference, metabolic pathway databases, topology of metabolic pathways, flux models for analysis of metabolic networks, network integration, inference of domain-domain interactions, signaling pathway inference from protein interaction networks, network models and algorithms for disease gene identification, identification of dysregulated subnetworks network-based disease classification. (Case)
CSDS 461: Biomedical Image Processing and Analysis (3) ai
Principles of image processing and analysis with applications to clinical and biomedical research. Topics include image filtering, registration, morphological processing, segmentation, classification, and 3D image visualization. There will be interesting, realistic computer projects in Matlab. (Case)
CSDS 464: Computational Perception (3) ai
An introduction to the information processing and computational algorithms that underlie perception. The course focuses on vision and audition but also covers other senses and various types of perceptual processing in biological systems. The motivating question is: What are the fundamental computational problems faced by perceptual systems in complex environments? The course draws from fields in engineering and the study of biological perception. Specific topics include signal detection and processing; sound localization; motion perception and estimation; sensory coding; perception of structure; active perception; perceptual invariance; attention; object, sound and speech recognition; visual and auditory scene analysis. (Case)
CSDS 465: Computer Vision (3) ai
The goal of computer vision is to create visual systems that recognize objects and recover structures in complex 3D scenes. This course emphasizes both the science behind our understanding of the fundamental problems in vision and the engineering that develops mathematical models and inference algorithms to solve these problems. Specific topics include feature detection, matching, and classification; visual representations and dimensionality reduction; motion detection and optical flow; image segmentation; depth perception, multi-view geometry, and 3D reconstruction; shape and surface perception; visual scene analysis and object recognition. (Case)
CSDS 468: CyberAI: Artificial Intelligence in Cybersecurity (3) ai
This course aims to (1) explore emerging topics in cybersecurity, (2) introduce typical artificial intelligence (AI) driven techniques, and (3) apply and advance capabilities of AI to solve real-world oriented cybersecurity problems. (Case)
CSDS 473: Modern Robot Programming (3) ai
The goal of this course is to learn modern methods for building up robot capabilities using the Robot Operating System (ROS). Through a sequence of assignments, students learn how to write software to control both simulated and physical robots. Material includes: interfacing software to robot I/O; path and trajectory planning for robot arms; object identification and localization from 3-D sensing; manipulation planning; and development of graphical interfaces for supervisory robot control. Laboratory assignments are scheduled in small groups to explore implementations on specific robots. Graduate students will also perform an independent project. (Case)
CSDS 476: Mobile Robotics (3) ai
Design of software systems for mobile robot control, including: motion control; sensory processing; localization and mapping; mobile-robot planning and navigation; and implementation of goal-directed behaviors. The course has a heavy lab component involving a sequence of design challenges and competitions performed in teams. (Case)
CSDS 478: Computational Neuroscience (3) ai
Computer simulations and mathematical analysis of neurons and neural circuits, and the computational properties of nervous systems. Students are taught a range of models for neurons and neural circuits, and are asked to implement and explore the computational and dynamic properties of these models. The course introduces students to dynamical systems theory for the analysis of neurons and neural learning, models of brain systems, and their relationship to artificial and neural networks. Term project required. Students enrolled in MATH 478 will make arrangements with the instructor to attend additional lectures and complete additional assignments addressing mathematical topics related to the course. (Case)
CSDS 489: Robotics I (3) ai
Orientation and configuration coordinate transformations, forward and inverse kinematics and Newton-Euler and Lagrange-Euler dynamic analysis. Planning of manipulator trajectories. Force, position, and hybrid control of robot manipulators. Analytical techniques applied to select industrial robots. (Case)
CSDS 490: Digital Image Processing (3) ai
Digital images are introduced as two-dimensional sampled arrays of data. The course begins with one-to-one operations such as image addition and subtraction and image descriptors such as the histogram. Basic filters such as the gradient and Laplacian in the spatial domain are used to enhance images. The 2-D Fourier transform is introduced and frequency domain operations such as high and low-pass filtering are developed. It is shown how filtering techniques can be used to remove noise and other image degradation. The different methods of representing color images are described and fundamental concepts of color image transformations and color image processing are developed. One or more advanced topics such as wavelets, image compression, and pattern recognition will be covered as time permits. Programming assignments using software such as MATLAB will illustrate the application and implementation of digital image processing. (Case)
CSDS 491: Artificial Intelligence: Probabilistic Graphical Models (3) ai
This course is a graduate-level introduction to Artificial Intelligence (AI), the discipline of designing intelligent systems, and focuses on probabilistic graphical models. These models can be applied to a wide variety of settings from data analysis to machine learning to robotics. The models allow intelligent systems to represent uncertainties in an environment or problem space in a compact way and reason intelligently in a way that makes optimal use of available information and time. The course covers directed and undirected probabilistic graphical models, latent variable models, associated exact and approximate inference algorithms, and learning in both discrete and continuous problem spaces. Practical applications are covered throughout the course. (Case)
CSDS 496: Artificial Intelligence: Sequential Decision Making (3) ai
This course will study the formulation and solution of decision making problems by automated agents. Topics covered include one-shot decision making (decision trees and influence diagrams), Markov decision processes (MDPs) , automated classical and probabilistic planning, reinforcement learning (RL), hierarchical planning and RL, partially observable MDPs, Bayesian RL, collaborative multi-agent systems. (Case)
CSDS 497: Artificial Intelligence: Statistical Natural Language Processing (3) ai
This course gives students an overview of the stat of the art in natural language processing. We will discuss computational aspects of language modeling through probabilistic models, computational approaches to syntax (parsing) and semantic representations, discourse and dialog. We will study the applications of these techniques to a variety of problems including information extraction, translation and summarization. At the end of the course a student should be able to (i) understand the various statistical models and algorithms for NLP (ii) modify them as needed or design novel approaches for specific NLP tasks and (iii) understand how to evaluate the performance of these models and compare them to alternatives. (Case)
CSDS 499: Algorithmic Robotics (3) ai
This course introduces basic algorithmic techniques in robotic perception and planning. Course is divided into two parts. The first part introduces probabilistic modeling of robotic motion and sensing, Gaussian and nonparametric filters, and algorithms for mobile robot localization. The second part introduces fundamental deterministic and randomized algorithms for motion planning. (Case)
DSCI 330: Cognition and Computation (3) ai
An introduction to (1) theories of the relationship between cognition and computation; (2) computational models of human cognition (e.g. models of decision-making or concept creation); and (3) computational tools for the study of human cognition. All three dimensions involve data science: theories are tested against archives of brain imaging data; models are derived from and tested against datasets of e.g., financial decisions (markets), legal rulings and findings (juries, judges, courts), legislative actions, and healthcare decisions; computational tools aggregate data and operate upon it analytically, for search, recognition, tagging, machine learning, statistical description, and hypothesis testing. (Case)
DSCI 351: Exploratory Data Science (3) ai
In this course, we will learn data science and analysis approaches to identify statistically significance relationships and better model and predict the behavior of these systems. We will assemble and explore real-world datasets, perform clustering and pair plot analyses to investigate correlations, and logistic regression will be employed to develop associated predictive models. Results will be interpreted, visualized and discussed. We will introduce basic elements of statistical analysis using R Project open source software for exploratory data analysis and model development. R is an open-source software project with broad abilities to access machine-readable open-data resources, data cleaning and munging functions, and a rich selection of statistical packages, used for data analytics, model development and prediction. This will include an introduction to R data types, reading and writing data, looping, plotting and regular expressions, so that one can start performing variable transformations for linear fitting and developing structural equation models, while exploring for statistically significant relationships. (Case)
CP248: Introduction to Robotics (0.51) ai
Construction and programming of a small robot over the course of a semester. Introduction to algorithms and techniques for navigation, planning, and error correction. (Colorado)
CP365: Artificial Intelligence (1) ai
An introduction to the theories and methods of artificial intelligence. Topics include problem solving, game playing, knowledge representation, natural language understanding, and expert systems. (Not offered 2024-25). (Colorado)
COMS E4762: Machine Learning for Functional Genomics (3) ai
This course will introduce modern probabilistic machine learning methods using applications in data analysis tasks from functional genomics, where massively-parallel sequencing is used to measure the state of cells: e.g. what genes are being expressed, what regions of DNA (“chromatin”) are active (“open”) or bound by specific proteins (Columbia)
COMS E4773: Machine Learning Theory (3) ai
Theoretical study of algorithms for machine learning and high-dimensional data analysis. Topics include high-dimensional probability, theory of generalization and statistical learning, online learning and optimization, spectral analysis. (Columbia)
COMS E4775: Causal Inference (3) ai
Causal Inference theory and applications. The theoretical topics include the 3-layer causal hierarchy, causal bayesian networks, structural learning, the identification problem and the do-calculus, linear identifiability, bounding, and counterfactual analysis. The applied part includes intersection with statistics, the empirical-data sciences (social and health), and AI and ML. (Columbia)
COMS W4223: Networks, Crowds, and the Web (3) ai
Introduces fundamental ideas and algorithms on networks of information collected by online services. It covers properties pervasive in large networks, dynamics of individuals that lead to large collective phenomena, mechanisms underlying the web economy, and results and tools informing societal impact of algorithms on privacy, polarization and discrimination (Columbia)
COMS W4252: Intro-Computational Learn Thry (3) ai
Possibilities and limitations of performing learning by computational agents. Topics include computational models of learning, polynomial time learnability, learning from examples and learning from queries to oracles. Computational and statistical limitations of learning. Applications to Boolean functions, geometric functions, automata (Columbia)
COMS W4701: Artificial Intelligence (3) ai
Provides a broad understanding of the basic techniques for building intelligent computer systems. Topics include state-space problem representations, problem reduction and and-or graphs, game playing and heuristic search, predicate calculus, and resolution theorem proving, AI systems and languages for knowledge representation, machine learning and concept formation and other topics such as natural language processing may be included as time permits (Columbia)
COMS W4705: Natural Language Processing (3) ai
Computational approaches to natural language generation and understanding. Recommended preparation: some previous or concurrent exposure to AI or Machine Learning. Topics include information extraction, summarization, machine translation, dialogue systems, and emotional speech. Particular attention is given to robust techniques that can handle understanding and generation for the large amounts of text on the Web or in other large corpora. Programming exercises in several of these areas (Columbia)
COMS W4706: Spoken Language Processing (3) ai
Computational approaches to speech generation and understanding. Topics include speech recognition and understanding, speech analysis for computational linguistics research, and speech synthesis. Speech applications including dialogue systems, data mining, summarization, and translation. Exercises involve data analysis and building a small text-to-speech system. (Columbia)
COMS W4731: Computer Vision I: First Principles (3) ai
Introductory course in computer vision. Topics include image formation and optics, image sensing, binary images, image processing and filtering, edge extraction and boundary detection, region growing and segmentation, pattern classification methods, brightness and reflectance, shape from shading and photometric stereo, texture, binocular stereo, optical flow and motion, 2D and 3D object representation, object recognition, vision systems and applications (Columbia)
COMS W4732: Computer Vision II: Learning (3) ai
Advanced course in computer vision. Topics include convolutional networks and back-propagation, object and action recognition, self-supervised and few-shot learning, image synthesis and generative models, object tracking, vision and language, vision and audio, 3D representations, interpretability, and bias, ethics, and media deception (Columbia)
COMS W4733: Computational Aspects of Robotics (3) ai
Partial Fulfillment of Science Requirement (Columbia)
COMS W4737: Biometrics (3) ai
Partial Fulfillment of Science Requirement (Columbia)
COMS W4762: Machine Learning for Functional Genomics (3) ai
This course will introduce modern probabilistic machine learning methods using applications in data analysis tasks from functional genomics, where massively-parallel sequencing is used to measure the state of cells: e.g. what genes are being expressed, what regions of DNA (“chromatin”) are active (“open”) or bound by specific proteins (Columbia)
COMS W4771: Machine Learning (3) ai
Topics from generative and discriminative machine learning including least squares methods, support vector machines, kernel methods, neural networks, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models and hidden Markov models. Algorithms implemented in MATLAB (Columbia)
COMS W4772: Advanced Machine Learning (3) ai
An exploration of advanced machine learning tools for perception and behavior learning. How can machines perceive, learn from, and classify human activity computationally? Topics include appearance-based models, principal and independent components analysis, dimensionality reduction, kernel methods, manifold learning, latent models, regression, classification, Bayesian methods, maximum entropy methods, real-time tracking, extended Kalman filters, time series prediction, hidden Markov models, factorial HMMS, input-output HMMs, Markov random fields, variational methods, dynamic Bayesian networks, and Gaussian/Dirichlet processes. Links to cognitive science (Columbia)
COMS W4773: Machine Learning Theory (3) ai
Core topics from unsupervised learning such as clustering, dimensionality reduction and density estimation will be studied in detail. Topics in clustering: k-means clustering, hierarchical clustering, spectral clustering, clustering with various forms of feedback, good initialization techniques and convergence analysis of various clustering procedures. Topics in dimensionality reduction: linear techniques such as PCA, ICA, Factor Analysis, Random Projections, non-linear techniques such as LLE, IsoMap, Laplacian Eigenmaps, tSNE, and study of embeddings of general metric spaces, what sorts of theoretical guarantees can one provide about such techniques. Miscellaneous topics: design and analysis of data structures for fast Nearest Neighbor search such as Cover Trees and LSH. Algorithms will be implemented in either Matlab or Python. (Columbia)
COMS W4774: Unsupervised Learning (3) ai
Core topics from unsupervised learning such as clustering, dimensionality reduction and density estimation will be studied in detail. Topics in clustering: k-means clustering, hierarchical clustering, spectral clustering, clustering with various forms of feedback, good initialization techniques and convergence analysis of various clustering procedures. Topics in dimensionality reduction: linear techniques such as PCA, ICA, Factor Analysis, Random Projections, non-linear techniques such as LLE, IsoMap, Laplacian Eigenmaps, tSNE, and study of embeddings of general metric spaces, what sorts of theoretical guarantees can one provide about such techniques. Miscellaneous topics: design and analysis of datastructures for fast Nearest Neighbor search such as Cover Trees and LSH. Algorithms will be implemented in either Matlab or Python (Columbia)
COMS W4775: Causal Inference (3) ai
Causal Inference theory and applications. The theoretical topics include the 3-layer causal hierarchy, causal bayesian networks, structural learning, the identification problem and the do-calculus, linear identifiability, bounding, and counterfactual analysis. The applied part includes intersection with statistics, the empirical-data sciences (social and health), and AI and ML (Columbia)
COMS W4776: Machine Learning for Data Science (3) ai
Introduction to machine learning, emphasis on data science. Topics include least square methods, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models, hidden Markov models, support vector machines kernel methods. Emphasizes methods and problems relevant to big data. (Columbia)
CS 1700: Elements of Artificial Intelligence (3) ai
This course provides a non-programming introduction to the key ideas of Artificial Intelligence (AI), intended for students without significant technical background in computing. Students will leave with an understanding of the core technical ideas that power modern AI, in such areas as machine learning and neural networks, computer vision, natural processing, game AI, and robotics, as well as our evolving appreciation of the societal implications of work in this area. (Cornell)
CS 4300: Language and Information (3) ai
For description, see INFO 4300. (Cornell)
CS 4670: Introduction to Computer Vision (4) ai
An in-depth introduction to computer vision. The goal of computer vision is to compute properties of our world-the 3D shape of an environment, the motion of objects, the names of people or things-through analysis of digital images or videos. The course covers a range of topics, including 3D reconstruction, image segmentation, object recognition, and vision algorithms fro the Internet, as well as key algorithmic, optimization, and machine learning techniques, such as graph cuts, non-linear least squares, and deep learning. This course emphasizes hands-on experience with computer vision, and several large programming projects. (Cornell)
CS 4700: Foundations of Artificial Intelligence (3) ai
Challenging introduction to the major subareas and current research directions in artificial intelligence. Topics include: knowledge representation, heuristic search, problem solving, natural-language processing, game-playing, logic and deduction, planning, and machine learning. (Cornell)
CS 4701: Practicum in Artificial Intelligence (2) ai
Artificial Intelligence project class. Possible projects topics include knowledge representation systems, search procedures, game-playing, automated reasoning, concept learning, reinforcement learning, neural nets, genetic algorithms, planning, natural language processing, computer vision. Should be taken only by students with significant experience in Artificial Intelligence, such as those who have already taken CS 4700, CS 4780, CS 4670, or CS 4740. (Cornell)
CS 4740: Natural Language Processing (4) ai
This course constitutes an introduction to natural language processing (NLP), the goal of which is to enable computers to use human languages as input, output, or both. NLP is at the heart of many of today’s most exciting technological achievements, including machine translation, automatic conversational assistants and Internet search. The course will introduce core problems and methodologies in NLP, including machine learning, problem design, and evaluation methods. (Cornell)
CS 4744: Computational Linguistics I (4) ai
For description, see LING 4424. (Cornell)
CS 4745: Computational Linguistics II (4) ai
For description, see LING 4434. (Cornell)
CS 4750: Foundations of Robotics (4) ai
Fall. 4 credits. Letter grades only. (Cornell)
CS 4754: Re-Designing Robots (3) ai
Fall. 3 credits. Letter grades only. (Cornell)
CS 4756: Robot Learning (4) ai
Spring. 4 credits. Letter grades only. (Cornell)
CS 4758: Autonomous Mobile Robots (3) ai
Spring. Not offered: 2023-2024. Next offered: 2024-2025. 3 credits. Letter grades only. (Cornell)
CS 4775: Computational Genetics and Genomics (4) ai
Fall. 4 credits. Student option grading. (Cornell)
CS 4780: Introduction to Machine Learning (4) ai
The course provides an introduction to machine learning, focusing on supervised learning and its theoretical foundations. Topics include regularized linear models, boosting, kernels, deep networks, generative models, online learning, and ethical questions arising in ML applications. (Cornell)
CS 4783: Mathematical Foundations of Machine Learning (4) ai
Machine Learning (ML) is a ubiquitous technology. This course, which is a follow up to an introductory course on ML will cover topics that aim to provide a theoretical foundation for designing and analyzing ML algorithms. (Cornell)
CS 4786: Machine Learning for Data Science (4) ai
An introduction to machine learning for data-science applications. Topics include dimensionality-reduction, clustering, and probabilistic modeling. (Cornell)
CS 4787: Principles of Large-Scale Machine Learning Systems (4) ai
An introduction to the mathematical and algorithms design principles and tradeoffs that underlie large-scale machine learning on big training sets. (Cornell)
CS 4789: Introduction to Reinforcement Learning (3) ai
Reinforcement Learning is one of the most popular paradigms for modelling interactive learning and sequential decision making in dynamical environments. This course introduces the basics of Reinforcement Learning and the Markov Decision Process. The course will cover algorithms for planning and learning in Markov Decision Processes. We will discuss potential applications of Reinforcement Learning and their implications. We will study and implement classic Reinforcement Learning algorithms. (Cornell)
COSC 72: Accelerated Computational Linguistics (1) ai
The study of human language from a computational perspective. This accelerated course has programming background equivalent to that provided by COSC 1 as a prerequisite. This course will survey formal models for representing linguistic objects, and statistical approaches to learning from natural language data. We will pay attention to the use of computational techniques to understand the structure of language, as well as practical engineering applications like speech recognition and machine translation. Students will implement simple algorithms for several key tasks in language processing and learning. (Dartmouth)
COSC 73: Computational Aspects of Digital Photography (1) ai
Computational photography lies at the intersection of photography, computer vision, image processing, and computer graphics. At it’s essence, it is about leveraging the power of digital computation to overcome limitations of traditional photography. The course will cover the optics of cameras and sensors, how cameras form images, and how we can represent them digitally on a computer. We will focus on software techniques like image processing algorithms for photography, high-dynamic-range photography and tone mapping, and the math and algorithms behind popular image manipulation tools like Photoshop. Coursework will include taking some photos and implementing several algorithms to manipulate those photos in weekly programming assignments (in C ). We will also read, present and discuss recent research papers in the field. By the end of the term, students should have an understanding of the capabilities and limitations of photography today, and have sufficient background to implement new solutions to photography challenges. (Dartmouth)
COSC 74: Machine Learning and Statistical Data Analysis (1) ai
This course provides an introduction to statistical modeling and machine learning. Topics include learning theory, supervised and unsupervised machine learning, statistical inference and prediction, and data mining. Applications of these techniques to a wide variety of data sets will be described. (Dartmouth)
COSC 76: Artificial Intelligence (1) ai
An introduction to the field of Artificial Intelligence. Topics include games, robotics, motion planning, knowledge representation, logic and theorem proving, probabilistic reasoning over time, understanding of natural languages, and discussions of human intelligence. (Dartmouth)
COSC 78: Deep Learning (1) ai
This course provides an introduction to deep learning, a methodology to train hierarchical machine learning models using large collections of examples. Deep learning is a special form of machine learning where rich data representations are simultaneously learned with the model, thus eliminating the need to engineer features by hand.The course begins with a comprehensive study of feedforward neural networks, which are the model of choice for most hierarchical representation learning algorithms. Other models covered in this course include convolutional neural networks, restricted Boltzmann machines, autoencoders, sparse codes. Several lectures are devoted to discuss strategies to improve the bias-variance tradeoff, such as regularization, data augmentation, pre-training, dropout, and multi-task learning. The course also studies modern applications of deep learning, such as image categorization, speech recognition, and natural language processing. (Dartmouth)
COSC 81: Principles of Robot Design and Programming (1) ai
This course is a hands-on introduction to robotics. Students will build robots, program robots, and learn to mathematically model and analyze manipulation and locomotion tasks. Topics include kinematics and dynamics of rigid-body motion, motion planning, control, mechanics of friction and contact, grasping, sensing, uncertainty in robotics, and applications of robots. (Dartmouth)
COSC 83: Computer Vision (1) ai
This course provides an introduction to computer vision, the art of teaching computers to see. Topics include image formation, feature detection, segmentation, 3D reconstruction from multiple views, motion estimation, and object recognition. (Dartmouth)
COSC 69.13: Multirobot Systems (1) ai
Multirobot Systems is a seminar-course that will explore why multirobot systems are important, the extra challenges that need to be addressed, and the current state of the art in deploying multiple robots. Students will learn the computational aspects of multiagent and multirobot systems, including sensing, coordination, and communication, and will have the opportunity to develop and evaluate a behavior on a real multirobot system. (Dartmouth)
COSC 69.15: Robotics Perception Systems (1) ai
This seminar course focuses on the issues and approaches to process and fuse data from robotics perception systems to enable robot autonomy, e.g., self-driving cars. The course will be very hands-on: some preliminary assignments will immerse you in the robotics world and how to process the sensor data for situational awareness. Through selected papers taken from the literature, students will learn different aspects of robotics perception systems, including computer vision, simultaneous localization and mapping, and machine learning. In addition, students will learn how to critically analyze a paper and how to effectively communicate a research work, by writing a summary on each paper, and presenting and discussing papers in class. Towards the end, students will work in a team on a final project that involves the use of a mobile robot with an RGBD camera and LIDAR. (Dartmouth)
COSC 89.11: Cognitive Computing with Watson (1) ai
Building a computer program capable of answering questions with human-level competence has been one of the grand challenges of Artificial Intelligence. IBM’s Watson system has achieved remarkable results. This class will explore the AI methods used in Watson. Topics include: natural language processing, knowledge representation, automated reasoning, machine learning, and information retrieval. Students will work in teams to develop applications that use Watson as a Cloud Service in some novel way. This class will be one of few in the world to use Watson, helping to shape the future of “Cognitive Computing.” The class will focus on projects and group work that culminates in building a novel application for question answering. Student teams will benefit from drawing on experience from various other classes, including data mining, information retrieval, natural-language processing, mobile computing and entrepreneurship. Understanding the strengths and limitations of current question-answering technology will be key to a successful application. We will read and discuss research publications on various aspects of the technology, primarily focused on the Watson system. (Dartmouth)
COSC 89.13: Robot Motion Planning (1) ai
This is a small advanced seminar course in robotic motion planning. Topics to be covered include configuration space, forwards and inverse kinematics, differential kinematics, representations for motion planning, and classical planning algorithms including cell-decomposition and probabilistic methods. (Dartmouth)
COSC 89.17: Health Informatics (1) ai
Our health is everywhere. It is affected by how, where, and who we live, work & play with (i.e. biological, behavioral, social, and environmental factors). The explosion of data digitization captured both outside 'in the wild' and within the healthcare delivery system, allows us to understand and address the many factors affecting the complexity of our health. Today, health & healthcare data is continuously being generated by healthcare delivery systems, organizations, or users and can be accessed through devices, databases, or the web (e.g., APIs). Deriving information and knowledge to improve and support health requires health informatics. Data science plays an active role as a profession and within its research efforts in informing and developing all aspects of health informatics: data capture, data storage, and data analytics. (Dartmouth)
COSC 89.18: Computational Methods for Physical Systems (1) ai
The Physical Computing course introduces students to mathematical concepts and algorithmic techniques for developing computational approaches to simulate, optimize, design, and control various physical systems. Course topics cover fundamental numerical approaches for modeling and simulating rigid body, soft body, and cloth, as well as design and optimization algorithms for drones and soft robots. The materials will be illustrated using examples and applications from physics-based animation, robot design, fashion design, and 3D printing. (Dartmouth)
COSC 89.19: Machine Learning for Robotics (1) ai
Machine Learning for Robotics is a course mixed with lectures, students’ presentations, and assignments that explore machine learning techniques for robotics applications. After a review of some supervised and unsupervised machine learning techniques, we will focus on some specific ones, currently popular in robotics, including reinforcement and deep learning. Students will have the opportunity to use machine learning frameworks for some robotics problems. (Dartmouth)
COSC 89.20: Data Science for Health (1) ai
Data science is being employed across diverse fields to improve human sensing and health. However, there are still many untapped opportunities. This course will cover state-of-the-art methods for data acquisition and analysis, with an emphasis on interpretation of behavioral and physiological data. Students will develop their skills by reading, presenting, and critiquing seminal research papers in the health space. The course will also include assignments and a group project to reinforce concepts and methods widely used in data science. (Dartmouth)
COSC 89.21: Data Mining and Knowledge Discovery (1) ai
This course introduces the basic concepts, principles, methods, implementation techniques, and applications of data mining. The course covers all the steps required to turn raw data into meaningful insights, including: obtaining and cleaning data, pattern discovery, and data visualisation. Throughout the course, students will work on data mining projects using real-world data to gather hands-on experience. The course will be taught in Python. (Dartmouth)
COSC 89.23: Network Science and Complex Systems (1) ai
Many of the systems that surround us are complex. These systems span almost every scientific field of inquiry, from biological to social, and computational sciences. To understand the behavior of complex systems, we must study not only the parts but the emergent behavior that arises from such systems when the parts act together. Complex systems are by definitions highly interconnected, therefore, at the core of studying complex systems is understanding networks. This seminar is an introduction to the main concepts of networks and complex systems, and their applications. The topics covered in this course will include: network topologies, network dynamics, motifs, dynamic systems, attractors, and chaos. The seminar mainly involves reading and discussing seminal, and ongoing, works in this field, but we will also be doing hands-on modeling and studying toy and real networks using Python. (Dartmouth)
COSC 89.24: Logic and Artificial Intelligence (1) ai
The goal of this topics course is to study the foundations of different types of logic used commonly in artificial intelligence. Logic forms the basis for many types of reasoning used by humans – researchers in AI have extended classical logic over the years to numerous more “exotic” logics. This course will cover the foundations of a host of classical and non-classical logics, a number of interesting logics developed by by AI researchers for common-sense reasoning, and applications of those logics. (Dartmouth)
COSC 89.27: Security and Privacy of Machine Learning (1) ai
Today we see applications of machine learning almost everywhere we look – in the domains of autonomous driving, medical diagnosis, fraud detection, etc. While the use of machine learning is increasing in our day-to-day lives, these techniques also pose significant threats to security and data privacy. This course will explore recent academic research at the intersection of machine learning, security, and data privacy that demonstrates the risks adversaries pose to machine learning systems. The research papers explored in this course would cover attacks on machine learning systems as well as defense techniques to mitigate such attacks. Students will read, analyze, and discuss research papers, write summaries, take notes, and undertake a term-long research project. (Dartmouth)
COSC 89.28: Transforming Healthcare through Machine Learning: Challenges and Opportunities (1) ai
Machine Learning (ML) lies at the core of a wide range of healthcare applications spanning from diagnosis to delivery of care. This course gives an overview of challenges and opportunities for ML in the era of digital health. We will explore advanced ML methods for healthcare and medicine through research papers. Specifically, we will cover recent successes of natural language processing, time-series analysis, and transfer learning to advance healthcare research. Students will choose and complete a course project, write a project report, and make project presentations at the end of the course. The course also requires the students to analyze, present, and discuss research papers. The course is open to graduate and ambitious undergraduate students who are interested to gain hands-on experience in applied ML research. The course is designed to enable students to improve their technical communication and review skills and explore new research directions. It is important to note that this course will be conducted like a seminar (i.e. there are no formal lectures). We assume students are willing and able to learn some necessary background materials on their own. There will be office hours outside of scheduled class lectures. (Dartmouth)
COSC 89.29: Music and Artificial Intelligence (1) ai
This course explores artificial intelligence (AI) for creating and consuming music. Through weekly readings and exercises, students will create music and art with AI-based systems and develop the critical skills to evaluate the outputs of creative AI. Starting with the history of algorithmic art and music, students will explore issues of digital music representation, generative music, computational creativity, and AI-based music production. The goal is to generate original works using algorithms, such as neural networks. (Dartmouth)
COSC 89.30: Topics in Video Understanding (1) ai
Video understanding is an area of research that helps machines understand video content by recognizing and localizing different actions or events appearing in a video. Videos have multiple sensory information, including visual, acoustic, and meta information. This class is designed to help students better understand recent trends in video understanding. In particular, we will explore the state of the arts in deep learning for video understanding, especially with multimodality. Students will learn by reading, presenting, and discussing recently published papers. Students will also propose and complete a term project to solve a video understanding problem. (Dartmouth)
COSC 89.31: Deep Learning Generalization and Robustness (1) ai
This course will be an extended version of COSC 78/278 Deep Learning. It is mostly project-based, and it aims to bridge the gap between machine learning course materials and recent developments in machine learning research. The course begins by covering the basics of model training and inference. From there, the course proceeds to discuss various concepts of generalization, different types of robustness issues associated with generalization (e.g., adversarial robustness, out-of-distribution robustness, model poisoning, etc.), and the connections between (robust) generalization to the design of multiple regularization and normalization strategies. (Dartmouth)
CPS 360: Introduction to Machine Learning (1) ai
This course will introduce some foundational machine learning algorithms from both a theoretical and practical perspective, with the focus on developing a deep understanding of a few important algorithms. This deep exploration will expose some of the principles and challenges that lie at the core of nearly all machine learning techniques. The study of machine learning requires the use of mathematical, computational, and empirical tools and students will gain experience bringing all of these tools to bear to understand, apply, and perhaps even improve upon the methods discussed. (F&M)
CPS 367: Artificial Intelligence (1) ai
An introduction to some of the core problems and key ideas in the field of artificial intelligence from a computational perspective. The course will focus on exploring various representational and algorithmic approaches to the problem of creating artificial agents that know things, can reason about the world, and that make good decisions. Key topics: heuristic search adversarial search, reinforcement learning, constraint satisfaction, logical inference, probabilistic inference. (F&M)
CS 3600: Introduction to Artificial Intelligence (3) ai
An introduction to artificial intelligence and machine learning. Topics include intelligent system design methodologies, search and problem solving, supervised and reinforced learning. (Georgia Tech)
CS 3630: Introduction to Perception and Robotics (3) ai
Covers fundamental problems and leading solutions for computer and robot perception and action from the point of view of autonomous robot navigation. (Georgia Tech)
CS 4476: Introduction to Computer Vision (3) ai
Introduction to computer vision including fundamentals of image formation, camera imaging geometry, feature detection and matching, stereo, motion estimation and tracking, image classification and scene understanding. (Georgia Tech)
CS 4615: Knowledge-Based Modeling and Design (3) ai
Information-processing theories of modeling and design; topics include design decision-making, problem-solving and learning, and knowledge-based modeling and design. (Georgia Tech)
CS 4616: Pattern Recognition (3) ai
An introductory course on pattern classification and decision problems with applications to character recognition, image analysis, and speech recognition. (Georgia Tech)
CS 4632: Advanced Intelligent Robotics (3) ai
Hands-on course in which students program autonomous mobile robots and solve complex tasks for robot teams. (Georgia Tech)
CS 4635: Knowledge-Based Artificial Intelligence (3) ai
Structured knowledge representation; knowledge-based methods of reasoning and learning; problem-solving, modeling and design. (Georgia Tech)
CS 4641: Machine Learning (3) ai
Machine learning techniques and applications. Topics include foundational issues; inductive, analytical, numerical, and theoretical approaches; and real-world applications. (Georgia Tech)
CS 4644: Deep Learning (3) ai
This course will cover the fundamental underpinnings and practice of deep learning, including neural network architectures, optimization algorithms, and applications to perception and Artificial Intelligence. (Georgia Tech)
CS 4646: Machine Learning for Trading (3) ai
This course introduces students to the real world challenges of implementing machine learning based strategies including the algorithmic steps from information gathering to market orders. (Georgia Tech)
CS 4649: Robot Intelli Planning (3) ai
We investigate algorithms for robots and complex systems that make intelligent decisions. Emphasis on the theoretical and empirical properties of classical, geometric, stochastic/dynamic planning. (Georgia Tech)
CS 4650: Natural Language Understanding (3) ai
Methodologies for designing systems that comprehend natural language. Topics include lexical analysis, parsing, interpretation of sentences, semantic representation, organization of knowledge, and inference mechanisms. (Georgia Tech)
CS 4731: Game AI (3) ai
Examines the expressive possibilities of artificial intelligence techniques in computer games. Students learn AI programming techniques, and how they strongly interface with game design. (Georgia Tech)
COMPSCI 229BR: Topics in the Foundations of Machine Learning (4) ai
This will be a graduate level course on recent advances and open questions in the foundations of machine learning and specifically deep learning. We will review both classical results as well as recent papers in areas including classifiers and generalization gaps, representation learning, generative models, adversarial robustness, out of distribution performance, and more. This is a fast-moving area and it will be a fast-moving course. We will aim to cover both state-of-art results, as well as the intellectual foundations for them, and have a substantive discussion on both the “big picture” and technical details of the papers. In addition to the theoretical lectures, the course will involve a programming component aiming to get students to the point where they can both reproduce results from papers and work on their own research. This component will be largely self-directed and we expect students to be proficient in Python and in picking up technologies and libraries such as pytorch/numpy/etc on their own (aka "Stack Overflow oriented programming"). (Harvard)
APCOMP 295: Topics in Applied Computation: Advanced Practical Data Science (4) ai
In this course we explore advanced practical data science practices. The course will be divided into three major topics: 1. How to scale a model from a prototype to the cloud. 2. How to use existing models for transfer learning. 3. Introducing intuitive visualization tools for investigating properties and diagnosing issues of models. (Harvard)
COMPSCI 1090A: Data Science 1: Introduction to Data Science (4) ai
Data Science 1 is the first half of a one-year introduction to data science. The course will focus on the analysis of messy, real life data to perform predictions using statistical and machine learning methods. Material covered will integrate the five key facets of an investigation using data: (1) data collection - data wrangling, cleaning, and sampling to get a suitable data set; (2) data management - accessing data quickly and reliably; (3) exploratory data analysis – generating hypotheses and building intuition; (4) prediction or statistical learning; and (5) communication – summarizing results through visualization, stories, and interpretable summaries. Part one of a two part series. The curriculum for this course builds throughout the academic year. Students are strongly encouraged to enroll in both the fall and spring course within the same academic year. (Harvard)
COMPSCI 1090B: Data Science 2: Advanced Topics in Data Science (4) ai
Data Science 2 is the second half of a one-year introduction to data science. Building upon the material in Data Science 1, the course introduces advanced methods for statistical modeling, representation, and prediction. Topics include multiple deep learning architectures such as CNNs, RNNs, transformers, language models, autoencoders, and generative models as well as basic Bayesian methods, and unsupervised learning. Students are strongly encouraged to enroll in both the fall and spring course within the same academic year. Part two of a two-part series. (Harvard)
COMPSCI 1810: Machine Learning (4) ai
Introduction to machine learning, providing a probabilistic view on artificial intelligence and reasoning under uncertainty. Topics include: supervised learning, ensemble methods and boosting, neural networks, support vector machines, kernel methods, clustering and unsupervised learning, maximum likelihood, graphical models, hidden Markov models, inference methods, and computational learning theory. Students should feel comfortable with multivariate calculus, linear algebra, probability theory, and complexity theory. Students will be required to produce non-trivial programs in Python. (Harvard)
COMPSCI 1820: Artificial Intelligence (4) ai
Artificial Intelligence (AI) is already making a powerful impact on modern technology, and is expected to be even more transformative in the near future. The course introduces the ideas and techniques underlying this exciting field, with the goal of teaching students to identify effective representations and approaches for a wide variety of computational tasks. Topics covered in this course are broadly divided into search and planning, optimization and games, and uncertainty and learning. Special attention is given to ethical considerations in AI and to applications that benefit society. For more information please see the course website. (Harvard)
COMPSCI 1840: Introduction to Reinforcement Learning (4) ai
Modern AI systems often need the ability to make sequential decisions in an unknown, uncertain, possibly hostile environment, by actively interacting with the environment to collect relevant data. Reinforcement Learning (RL) is a general framework that can capture the interactive learning setting and has been used to design intelligent agents that achieve high-level performance in challenging applications such as Go, computer games, robotic manipulation, health care, and education. This course provides an introduction to reinforcement learning covering a range of problem formulations, algorithms, and theory. The four main themes of the course are (1) Markov decision processes (Bellman equations/optimality, planning, UCB, unknown environments, linear quadratic control, exploration, imitation learning), (2) bandits (epsilon-greedy, UCB, Thompson sampling, contextual bandits, linear bandits, exploration in MDPs), and (3) methods for large-scale systems (policy gradient methods, deep RL, Monte Carlo tree search, Q-learning). There will also be an Embedded Ethics lecture on ethical issues arising in reinforcement learning. The assignments will focus on a mix of algorithmic and statistical principles, along with their programming implementations. (Harvard)
COMPSCI 1870: Introduction to Computational Linguistics and Natural-language Processing (4) ai
Natural-language-processing applications are ubiquitous: Alexa can set a reminder, or play a particular song, or provide your local weather if you ask; Google Translate can make documents readable across languages; ChatGPT can be prompted to generate convincingly fluent text, which is often even correct. How do such systems work? This course provides an introduction to the field of computational linguistics, the study of human language using the tools and techniques of computer science, with applications to a variety of natural-language-processing problems such as these. You will work with ideas from linguistics, statistical modeling, machine learning, and neural networks, with emphasis on their application, limitations, and implications. The course is lab- and project-based, primarily in small teams, and culminates in the building and testing of a question-answering system. (Harvard)
COMPSCI 1970: AI Research Experiences (4) ai
Learn the practical skills required for applied deep learning work, including hands on experience with method development, model training at scale, and error analysis. You will learn the technical writing skills required for applied AI research, including experience composing different elements of a full research paper. Through structured assignments, you will tackle a scoped-out research project in a small team from conception to co-authoring a manuscript. (Harvard)
COMPSCI 2080: Applied Privacy for Data Science (4) ai
The risks to privacy when making human subjects data available for research and how to protect against these risks using the formal framework of differential privacy. Methods for attacking statistical data releases, the mathematics of and software implementations of differential privacy, deployed solutions in industry and government. Assignments will include implementation and experimentation on data science tasks. (Harvard)
COMPSCI 2281R: Topics in the Foundations of Machine Learning (4) ai
This will be a graduate level course on recent advances and open questions in the foundations of machine learning and specifically deep learning. We will review both classical results as well as recent papers in areas including classifiers and generalization gaps, representation learning, generative models, adversarial robustness, out of distribution performance, and more. This is a fast-moving area and it will be a fast-moving course. We will aim to cover both state-of-art results, as well as the intellectual foundations for them, and have a substantive discussion on both the 'big picture' and technical details of the papers. In addition to the theoretical lectures, the course will involve a programming component aiming to get students to the point where they can both reproduce results from papers and work on their own research. This component will be largely self-directed and we expect students to be proficient in Python and in picking up technologies and libraries such as pytorch/numpy/etc on their own (aka 'Stack Overflow oriented programming'). (Harvard)
COMPSCI 2420: Computing at Scale (4) ai
Specialized AI accelerators enable efficient AI computations for a variety of tasks at various scales using a wide range of parallel, distributed, and embedded computing platforms. For example, in generative AI applications such as ChatGPT and Stable Diffusion, these accelerators allow for (1) distributed model training and low-latency, high-throughput inference serving in the cloud, and (2) efficient private training and inference using local knowledge on resource-constrained edge devices. In this course, students will learn systematic methods for implementing parallel computations for computer vision and language models on numerous computing cores or nodes. They will also learn techniques for co-designing machine learning models, data curation methods, computing algorithms, and system architectures. Upon successful completion of this course, students will be equipped to tackle the challenging tasks of designing and utilizing energy-efficient, high-performance AI accelerators. (Harvard)
COMPSCI 2490R: Tiny Machine Learning (4) ai
Tiny machine learning (TinyML) is defined as a fast-growing field of machine learning technologies and applications including hardware (dedicated integrated circuits), algorithms and software capable of performing on-device sensor (vision, audio, IMU, biomedical, etc.) data analytics at extremely low power, typically in the mW range and below, and hence enabling a variety of always-on use-cases and targeting battery-operated devices. The pervasiveness of ultra-low-power embedded devices, coupled with the introduction of embedded machine learning frameworks like TensorFlow Lite for Microcontrollers, will enable the mass proliferation of AI-powered IoT devices. The explosive growth in machine learning and the ease of use of platforms like TensorFlow (TF) make it an indispensable topic of study for modern computer science and electrical engineering students. (Harvard)
COMPSCI 2810: Advanced Machine Learning (4) ai
Advanced statistical machine learning and probabilistic data analysis. Covers discrete and continuous probabilistic modeling and computational inference. Topics include: Bayesian modeling, probabilistic graphical models, latent variables and unsupervised learning, deep learning, time series models, variational inference, and sampling. Requires a final project. (Harvard)
COMPSCI 2821R: Topics in Machine Learning: Interpretability and Explainability (4) ai
As machine learning models are increasingly being employed to aid decision makers in high-stakes settings such as healthcare, finance, and law, it becomes important to ensure that the decision makers correctly understand and consequent trust the functionality of these models. This graduate level course aims to familiarize students with the recent advances in the emerging field of explainable ML. In this course, we will review seminal position papers of the field, understand the notion of model interpretability from the perspective of various kinds of end users (e.g., doctors, ML researchers/engineers), discuss in detail different classes of interpretable models and model explanations (e.g., case/prototype based approaches, sparse linear models, rule-based techniques, saliency maps, generalized additive models, and counterfactual explanations), and explore the connections between model interpretability and fairness, robustness, and privacy. The course will also emphasize the unique opportunities and challenges that arise when interpreting and explaining the functionality of foundation models (e.g., language models such as GPT-3, diffusion models such as DALLE etc.)The course will comprise of a mix of lectures by the instructor, paper presentations by students, and guest lectures by researchers who have authored seminal papers in this area. This course has a significant research component in the form of a course project that students will be expected to work on throughout the semester. All in all, this course is geared towards those students who are interested in diving deep and conducting research in the field of interpretable and explainable ML. (Harvard)
COMPSCI 2822R: Topics in Machine Learning: Computational Properties in Interpretable Machine Learning (4) ai
There has been growing interest in recent years for machine learning systems that are somehow transparent about their inner workings -- whether it be that the entire system is inherently interpretable, or that a single decision can somehow be explained. However, the question of what approach is best for what context remains elusive. In this course, we will focus on computational properties of interpretable machine learning methods, such as faithfulness or stability. Assessing methods with respect to these properties may allow us to rule out poorly-performing approaches without the need for expensive user studies. By categorizing methods by their computational properties, we will also be able to start thinking about which methods might be useful for a specific context. After a few initial assignments, the course will be focused on reading papers, discussion, and a semester-long project. (Harvard)
COMPSCI 2831: Advanced Computer Vision (4) ai
Vision as an ill-posed inverse problem: image formation, two-dimensional signal processing; feature analysis; image segmentation; color, texture, and shading; multiple-view geometry; object and scene recognition; and applications. (Harvard)
COMPSCI 2860: Multi-Robot Systems: Control, Communication, and Security (4) ai
The ability to connect devices over long distances, via the internet, changed our world. The second phase of this revolution, that we are still living in today, came about when these devices became wireless. Now we are at the cusp of a new phase of this evolution where devices are connected, wireless, and controlled – i.e. the robot revolution.Multi-robot systems are becoming more pervasive; from future autonomous vehicle fleets, to drones, to manufacturing robots. As a result, the question of how to control, coordinate, and secure these systems has been a growing topic in the robotics literature in recent years. In this seminar-style course we will do a deep dive into this topic by reviewing classic and recent results in multi-agent planning and control literature. We will cover a wide gamut of applications from control of groups of flying drones, to decision making in autonomous car networks, to space exploring CubeSats.This class will treat both the theory and the practical applications behind multi-robot systems. Students with mathematical inclinations and exposure to graph theory, probability theory, linear algebra, and algorithms will derive the most benefit from this course. (Harvard)
COMPSCI 2880: AI for Social Impact (4) ai
Recent years have seen AI successfully applied to societal challenge problems. Indeed, recognizing the potential of AI for tremendous social impact in the future, 'AI for social impact' is growing as a subdiscipline within AI. In this course, we will discuss successful case studies of use of AI for public health, environmental sustainability, public safety and public welfare. Simultaneously, we will discuss key foundations of the area of AI for social impact. To that end, among other topics, we will focus on challenges in AI for Social Impact, what makes projects successful, how to investigate project impact in the field and ethical considerations for such projects. A key part of this course will be AI4SI projects with non-profits. (Harvard)
COMPSCI 2890: Biologically-inspired Multi-agent Systems (4) ai
Surveys biologically-inspired approaches to designing distributed systems. Focus is on biological models, algorithms, and programming paradigms for self-organization. Topics vary year to year, and usually include: (1) swarm intelligence: social insects and animal groups, with applications to networking and robotics, (2) cellular computing: including cellular automata/amorphous computing, and applications like self-assembling robots and programmable materials, (3) evolutionary computation and its application to optimization and design. (Harvard)
MIT 9.19: Computational Psycholinguistics (4) ai
Introduces computational approaches to natural language processing and acquisition by humans and machines, combining symbolic and probabilistic modeling techniques. Covers models such as n-grams, finite state automata, and context-free and mildly context-sensitive grammars, for analyzing phonology, morphology, syntax, semantics, pragmatics, and larger document structure. Applications range from accurate document classification and sentence parsing by machine to modeling human language acquisition and real-time understanding. Covers both theory and contemporary computational tools and datasets. Students taking graduate version complete additional assignments. (Harvard)
MIT 6.5940: TinyML and Efficient Deep Learning Computing (4) ai
Introduces efficient deep learning computing techniques that enable powerful deep learning applications on resource-constrained devices. Topics include model compression, pruning, quantization, neural architecture search, distributed training, data/model parallelism, gradient compression, on-device fine-tuning. It also introduces application-specific acceleration techniques for video recognition, point cloud, and generative AI (diffusion model, LLM). Students will get hands-on experience accelerating deep learning applications with an open-ended design project. (Harvard)
MIT 6.7900: Machine Learning (4) ai
Principles, techniques, and algorithms in machine learning from the point of view of statistical inference; representation, generalization, and model selection; and methods such as linear/additive models, active learning, boosting, support vector machines, non-parametric Bayesian methods, hidden Markov models, Bayesian networks, and convolutional and recurrent neural networks. (Harvard)
MIT 6.8200: Sensorimotor Learning (4) ai
Provides an in-depth view of the state-of-the-art learning methods for control and the know-how of applying these techniques. Topics span reinforcement learning, self-supervised learning, imitation learning, model-based learning, and advanced deep learning architectures, and specific machine learning challenges unique to building sensorimotor systems. Discusses how to identify if learning-based control can help solve a particular problem, how to formulate the problem in the learning framework, and what algorithm to use. Applications of algorithms in robotics, logistics, recommendation systems, playing games, and other control domains covered. Instruction involves two lectures a week, practical experience through exercises, discussion of current research directions, and a group project. (Harvard)
MIT 6.8611: Quantitative Methods for Natural Language Processing (4) ai
Introduces the study of human language from a computational perspective, including syntactic, semantic and discourse processing models. Emphasizes machine learning methods and algorithms. Uses these methods and models in applications such as syntactic parsing, information extraction, statistical machine translation, dialogue systems. Instruction and practice in oral and written communication provided. Students taking graduate version complete additional assignments. (Harvard)
6.3720: Introduction to Statistical Data Analysis (12) ai
Introduction to the central concepts and methods of data science with an emphasis on statistical grounding and modern computational capabilities. Covers principles involved in extracting information from data for the purpose of making predictions or decisions, including data exploration, feature selection, model fitting, and performance assessment. Topics include learning of distributions, hypothesis testing (including multiple comparison procedures), linear and nonlinear regression and prediction, classification, time series, uncertainty quantification, model validation, causal inference, optimization, and decisions. Computational case studies and projects drawn from applications in finance, sports, engineering, and machine learning life sciences. Students taking graduate version complete additional assignments. (MIT)
6.3800: Introduction to Inference (12) ai
Introduces probabilistic modeling for problems of inference and machine learning from data, emphasizing analytical and computational aspects. Distributions, marginalization, conditioning, and structure, including graphical and neural network representations. Belief propagation, decision-making, classification, estimation, and prediction. Sampling methods and analysis. Introduces asymptotic analysis and information measures. Computational laboratory component explores the concepts introduced in class in the context of contemporary applications. Students design inference algorithms, investigate their behavior on real data, and discuss experimental results. (MIT)
6.3900: Introduction to Machine Learning (12) ai
Introduces principles, algorithms, and applications of machine learning from the point of view of modeling and prediction; formulation of learning problems; representation, over-fitting, generalization; clustering, classification, probabilistic modeling; and methods such as support vector machines, hidden Markov models, and neural networks. Recommended prerequisites: 6.1210 and 18.06. (MIT)
6.3950: AI, Decision Making, and Society (12) ai
Introduction to fundamentals of modern data-driven decision-making frameworks, such as causal inference and hypothesis testing in statistics as well as supervised and reinforcement learning in machine learning. Explores how these frameworks are being applied in various societal contexts, including criminal justice, healthcare, finance, and social media. Emphasis on pinpointing the non-obvious interactions, undesirable feedback loops, and unintended consequences that arise in such settings. Enables students to develop their own principled perspective on the interface of data-driven decision making and society. Students taking graduate version complete additional assignments. (MIT)
6.4110: Representation, Inference, and Reasoning in AI (12) ai
An introduction to representations and algorithms for artificial intelligence. Topics covered include: constraint satisfaction in discrete and continuous problems, logical representation and inference, Monte Carlo tree search, probabilistic graphical models and inference, planning in discrete and continuous deterministic and probabilistic models including MDPs and POMDPs. (MIT)
6.4120: Computational Cognitive Science (12) ai
Introduction to computational theories of human cognition. Focus on principles of inductive learning and inference, and the representation of knowledge. Computational frameworks covered include Bayesian and hierarchical Bayesian models; probabilistic graphical models; nonparametric statistical models and the Bayesian Occam's razor; sampling algorithms for approximate learning and inference; and probabilistic models defined over structured representations such as first-order logic, grammars, or relational schemas. Applications to understanding core aspects of cognition, such as concept learning and categorization, causal reasoning, theory formation, language acquisition, and social inference. (MIT)
6.4200: Robotics: Science and Systems (8) ai
Presents concepts, principles, and algorithmic foundations for robots and autonomous vehicles operating in the physical world. Topics include sensing, kinematics and dynamics, state estimation, computer vision, perception, learning, control, motion planning, and embedded system development. Students design and implement advanced algorithms on complex robotic platforms capable of agile autonomous navigation and real-time interaction with the physical word. Students engage in extensive written and oral communication exercises. Enrollment limited. (MIT)
6.4210: Robotic Manipulation (15) ai
Introduces the fundamental algorithmic approaches for creating robot systems that can autonomously manipulate physical objects in unstructured environments such as homes and restaurants. Topics include perception (including approaches based on deep learning and approaches based on 3D geometry), planning (robot kinematics and trajectory generation, collision-free motion planning, task-and-motion planning, and planning under uncertainty), as well as dynamics and control (both model-based and learning-based). Students taking graduate version complete additional assignments. Students engage in extensive written and oral communication exercises. (MIT)
6.8301: Advances in Computer Vision (15) ai
Advanced topics in computer vision with a focus on the use of machine learning techniques and applications in graphics and human-computer interface. Covers image representations, texture models, structure-from-motion algorithms, Bayesian techniques, object and scene recognition, tracking, shape modeling, and image databases. Applications may include face recognition, multimodal interaction, interactive systems, cinematic special effects, and photorealistic rendering. Includes instruction and practice in written and oral communication. Students taking graduate version complete additional assignments. (MIT)
6.8611: Quantitative Methods for Natural Language Processing (15) ai
Introduces the study of human language from a computational perspective, including syntactic, semantic and discourse processing models. Emphasizes machine learning methods and algorithms. Uses these methods and models in applications such as syntactic parsing, information extraction, statistical machine translation, dialogue systems. Instruction and practice in oral and written communication provided. Students taking graduate version complete additional assignments. (MIT)
DS 3000: Foundations of Data Science (4) ai
Introduces core modern data science technologies and methods that provide a foundation for subsequent Data Science classes. Covers: working with tensors and applied linear algebra in standard numerical computing libraries (e.g., NumPy); processing and integrating data from a variety of structured and unstructured sources; introductory concepts in probability, statistics, and machine learning; basic data visualization techniques; and now standard data science tools such as Jupyter notebooks. (Northeastern)
DS 3500: Advanced Programming with Data (4) ai
Offers intermediate to advanced Python programming for data science. Covers object-oriented design patterns using Python, including encapsulation, composition, and inheritance. Advanced programming skills cover software architecture, recursion, profiling, unit testing and debugging, lineage and data provenance, using advanced integrated development environments, and software control systems. Uses case studies to survey key concepts in data science with an emphasis on machine-learning (classification, clustering, deep learning); data visualization; and natural language processing. Additional assigned readings survey topics in ethics, model bias, and data privacy pertinent to today's big data world. Offers students an opportunity to prepare for more advanced courses in data science and to enable practical contributions to software development and data science projects in a commercial setting. (Northeastern)
CS 4100: Artificial Intelligence (4) ai
Introduces the fundamental problems, theories, and algorithms of the artificial intelligence field. Includes heuristic search; knowledge representation using predicate calculus; automated deduction and its applications; planning; and machine learning. Additional topics include game playing; uncertain reasoning and expert systems; natural language processing; logic for common-sense reasoning; ontologies; and multiagent systems. (Northeastern)
CS 4120: Natural Language Processing (4) ai
Introduces the computational modeling of human language; the ongoing effort to create computer programs that can communicate with people in natural language; and current applications of the natural language field, such as automated document classification, intelligent query processing, and information extraction. Topics include computational models of grammar and automatic parsing, statistical language models and the analysis of large text corpora, natural language semantics and programs that understand language, models of discourse structure, and language use by intelligent agents. Course work includes formal and mathematical analysis of language models and implementation of working programs that analyze and interpret natural language text. Knowledge of statistics is helpful. (Northeastern)
CS 4150: Game Artificial Intelligence (4) ai
Offers an overview of classical and modern approaches to artificial intelligence in digital games. Focuses on the creation of believable agents and environments with the goal of providing a fun and engaging experience to a player. Covers player modeling, procedural content generation, behavior trees, interactive narrative, decision-making systems, cognitive modeling, and path planning. Explores different approaches for behavior generation, including learning and rule-based systems. Requires students to complete several individual assignments in these areas to apply the concepts covered in class. Students choose a group final project to explore one aspect of artificial intelligence for games in further depth. Offers students an opportunity to learn team management and communication. Students who do not meet course prerequisites may seek permission of instructor. (Northeastern)
CS 4180: Reinforcement Learning (4) ai
Introduces reinforcement learning and the Markov decision process (MDP) framework. Covers methods for planning and learning in MDPs such as dynamic programming, model-based methods, and model-free methods. Examines commonly used representations including deep-learning representations. Students are expected to have a working knowledge of probability, to complete programming assignments, and to complete a course project that applies some form of reinforcement learning to a problem of interest. (Northeastern)
DS 4200: Information Presentation and Visualization (4) ai
Introduces foundational principles, methods, and techniques of visualization to enable creation of effective information representations suitable for exploration and discovery. Covers the design and evaluation process of visualization creation, visual representations of data, relevant principles of human vision and perception, and basic interactivity principles. Studies data types and a wide range of visual data encodings and representations. Draws examples from physics, biology, health science, social science, geography, business, and economics. Emphasizes good programming practices for both static and interactive visualizations. Creates visualizations in Excel and Tableau as well as R, Python, and open web-based authoring libraries. Requires programming in Python, JavaScript, HTML, and CSS. Requires extensive writing including documentation, explanations, and discussions of the findings from the data analyses and the visualizations. (Northeastern)
DS 4400: Machine Learning and Data Mining 1 (4) ai
Introduces supervised and unsupervised predictive modeling, data mining, and machine-learning concepts. Uses tools and libraries to analyze data sets, build predictive models, and evaluate the fit of the models. Covers common learning algorithms, including dimensionality reduction, classification, principal-component analysis, k-NN, k-means clustering, gradient descent, regression, logistic regression, regularization, multiclass data and algorithms, boosting, and decision trees. Studies computational aspects of probability, statistics, and linear algebra that support algorithms, including sampling theory and computational learning. Requires programming in R and Python. Applies concepts to common problem domains, including recommendation systems, fraud detection, or advertising. (Northeastern)
DS 4420: Machine Learning and Data Mining 2 (4) ai
Continues with supervised and unsupervised predictive modeling, data mining, and machine-learning concepts. Covers mathematical and computational aspects of learning algorithms, including kernels, time-series data, collaborative filtering, support vector machines, neural networks, Bayesian learning and Monte Carlo methods, multiple regression, and optimization. Uses mathematical proofs and empirical analysis to assess validity and performance of algorithms. Studies additional computational aspects of probability, statistics, and linear algebra that support algorithms. Requires programming in R and Python. Applies concepts to common problem domains, including spam filtering. (Northeastern)
DS 4440: Practical Neural Networks (4) ai
Offers a hands-on introduction to modern neural network ('deep learning') methods and tools. Covers fundamentals of neural networks and introduces standard and new architectures from simple feedforward networks to recurrent and 'transformer' architectures. Also covers stochastic gradient descent and backpropagation, along with related parameter estimation techniques. Emphasizes using these technologies in practice, via modern toolkits. Reviews applications of these models to various types of data, including images and text. (Northeastern)
COMP_SCI 301-0: Introduction to Robotics Laboratory (1) ai
Lab-based introduction to robotics, focusing on hardware (sensors/ actuators) and software (sensor processing/behavior development); motion control and planning; artificial intelligence; machine learning. Not open to graduate students except by consent of instructor. (Northwestern)
COMP_SCI 315-0: Design, Technology, and Research (1) ai
Hands-on experience in the research learning environment. Students lead research projects in social and crowd computing, cyber-learning, human-computer interaction, and artificial intelligence. (Northwestern)
COMP_SCI 325-0: Artificial Intelligence Programming (1) ai
Introduction to LISP and programming knowledge-based systems and interfaces. Strong emphasis on writing maintainable, extensible systems. (Northwestern)
COMP_SCI 326-0: Introduction to the Data Science Pipeline (1) ai
This course covers various tools in the process of data science for obtaining, cleaning, visualizing, modeling, and interpreting data. (Northwestern)
COMP_SCI 327-0: Generative Methods (1) ai
Generative Methods are algorithms used to create. This class will expose you to the modern cutting edge of creative coding. (Northwestern)
COMP_SCI 332-0: Online Markets (1) ai
This class gives an introduction to the science of online markets combining topics from game theory and economics with topics from machine learning and algorithms. (Northwestern)
COMP_SCI 337-0: Natural Language Processing (1) ai
Semantics-oriented introduction to natural language processing, broadly construed. Representation of meaning and knowledge inference in story understanding, script/frame theory, plans and plan recognition, counter-planning, and thematic structures. (Northwestern)
COMP_SCI 338-0: Practicum in Intelligent Information Systems (1) ai
A practical excursion into building intelligent information systems. Students develop a working program in information access, management, capture, or retrieval. Project definition, data collection, technology selection, implementation, and project management. (Northwestern)
COMP_SCI 344-0: Design of Computer Problem Solvers (1) ai
Principles and practice of organizing and building artificial intelligence reasoning systems. Pattern-directed rule systems, truth-maintenance systems, and constraint languages. (Northwestern)
COMP_SCI 347-0: Conversational AI (1) ai
Principles and practices of creating AI systems which interact with people through conversations. This includes knowledge-rich natural language understanding, multimodal interactions (i.e. speech and sketching), principles of dialogue drawn from cognitive science, question-answering, and architectures for building conversational AI systems. Involves substantial programming and project work. Class sessions include both lectures and studio instruction. (Northwestern)
COMP_SCI 348-0: Introduction to Artificial Intelligence (1) ai
Core techniques and applications of AI. Representing, retrieving, and applying knowledge for problem solving. Hypothesis exploration. Theorem proving. Vision and neural networks. (Northwestern)
COMP_SCI 349-0: Machine Learning (1) ai
Study of algorithms that improve through experience. Topics typically include Bayesian learning, decision trees, genetic algorithms, neural networks, Markov models, and reinforcement learning. Assignments include programming projects and written work. (Northwestern)
COMP_SCI 352-0: Machine Perception of Music & Audio (1) ai
Machine extraction of musical structure in audio and MIDI and score files, covering areas such as source separation and perceptual mapping of audio to machine-quantifiable measures. (Northwestern)
COMP_SCI 371-0: Knowledge Representation and Reasoning (1) ai
Principles and practices of knowledge representation, including logics, ontologies, commonsense knowledge, and semantic web technologies. (Northwestern)
COMP_SCI 372-0: Designing and Constructing Models with Multi-Agent Languages (1) ai
This course will begin with an introduction to the multi-agent language NetLogo. Students will design and implement several NetLogo models and analyze their behavioral regimes. Students will also learn to build models of interaction on social networks (or other types of networks). We will cover methodology for verifying, validating and replicating agent-based models and comparisons with systems dynamics and equation-based models. NetLogo comes with many extensions that support a variety of additional features. Students can use these extensions to create specialized models, such as complex networks, real-time data extraction, data mining, connections to physical devices, etc.. Students will also have an opportunity to explore existing and create their own participatory simulations using the HubNet architecture as well as exploring connecting real world sensors and motors to models. Students can also explore multi-level agent-based modeling in which hundreds or thousands of models are connected with NetLogo's LevelSpace extension. (Northwestern)
CSCI 151: Artificial Intelligence (1) ai
Introduction to artificial intelligence covering traditional topics such as state-space search and game playing, as well as more recent concepts including machine learning and a number of AI applications. Philosophical issues surrounding artificial intelligence and cognitive science will also be considered. (Pomona)
CSCI 152: Neural Networks (1) ai
An introduction to the theory and practical applications of neural networks. This course will cover simple perceptrons through modern convolutional and recurrent neural networks. Topics include gathering and processing data, optimization algorithms, and hyperparameter tuning. Application domains include computer vision, natural language processing, recommender systems, and content generation. Ethical implications of design decisions will also be considered throughout the course. (Pomona)
CSCI 158: Machine Learning (1) ai
Machine learning focuses on discovering patterns in and learning from data. This course is an introduction to the most common problems in machine learning and to the techniques used to tackle these problems. (Pomona)
CSCI 159: Natural Language Processing (1) ai
An introduction to fundamental concepts in natural language processing and computational linguistics, a field whose goals include enabling human-computer interaction via language, text translation and understanding. Use of statistical and logical techniques to study language processing at word, syntactic and semantic levels. Assignments require constructing and modifying systems as well as using large, existing corpora for validation. (Pomona)
COS 324: Introduction to Machine Learning (1) ai
This course is a broad introduction to different machine learning paradigms and algorithms and provides a foundation for further study or independent work in machine learning and data science. Topics include linear models for classification and regression, support vector machines, clustering, dimensionality reduction, deep neural networks, Markov decision processes, planning, and reinforcement learning. The goals of this course are three-fold: to understand the landscape of machine learning, how to compute the math behind techniques, and how to use Python and relevant libraries to implement and use various methods. (Princeton)
COS 346: Introduction to Robotics (1) ai
COS 424: Fundamentals of Machine Learning (1) ai
COS 429: Computer Vision (1) ai
An introduction to the concepts of 2D and 3D computer vision. Topics include low-level image processing methods such as filtering and edge detection; segmentation and clustering; optical flow and tracking; shape reconstruction from stereo, motion, texture, and shading. Throughout the course, there will also be examination of aspects of human vision and perception that guide and inspire computer vision techniques. (Princeton)
COS 484: Natural Language Processing (1) ai
Recent advances have ushered in exciting developments in natural language processing (NLP), resulting in systems that can translate text, answer questions and even hold spoken conversations with us. This course will introduce students to the basics of NLP, covering standard frameworks for dealing with natural language as well as algorithms and techniques to solve various NLP problems, including recent deep learning approaches. Topics covered include language modeling, rep. learning, text classification, sequence tagging, syntactic parsing, and machine translation. The course will have programming assignments, a mid-term and a final project. (Princeton)
CS 24200: Introduction To Data Science (3) ai
(STAT 24200) This course provides a broad introduction to the field of data science. The course focuses on using computational methods and statistical techniques to analyze massive amounts of data and to extract knowledge. It provides an overview of foundational computational and statistical tools for data acquisition and cleaning, data management and big data systems. The course surveys the complete data science process from data to knowledge and gives students hands-on experience with tools and methods. Basic knowledge of Python required. (Purdue)
CS 24300: Artificial Intelligence Basics (3) ai
This course provides an introduction to foundational areas of artificial intelligence and current techniques for building intelligent systems. As an entry-level course for Artificial Intelligence, the primary goals of this course are: Teach fundamental building blocks of an intelligent system, namely, knowledge representation; learning; model validation, diagnosis, and visualization; reasoning and decision-making; probabilities and uncertainty in AI. Provide students with first-hand experiences in building a working machine learning and an automated reasoning system. Provide an overview of current state-of-the-art technologies in multiple domains of artificial intelligence. Broaden the students’ horizon and spark their interests via learning about exciting applications of artificial intelligence in many aspects of human society. (Purdue)
CS 37300: Data Mining And Machine Learning (3) ai
This course will introduce students to the field of data mining and machine learning, which sits at the interface between statistics and computer science. Data mining and machine learning focuses on developing algorithms to automatically discover patterns and learn models of large datasets. This course introduces students to the process and main techniques in data mining and machine learning, including exploratory data analysis, predictive modeling, descriptive modeling, and evaluation. (Purdue)
CS 44000: Large Scale Data Analytics (3) ai
This course provides an integrated view of the key concepts of modern algorithmic data analytics. It focuses on teaching principles and methods needed to analyze large datasets in order to extract novel, transformative insights for the underlying application. The course emphasizes the duality between formulating questions that can be answered by statistical data analysis tools (the statistical perspective) and the algorithmic challenge of actually extracting such answers using available parallel and distributed computational resources from massive datasets. The topics cover three areas: (1) algorithmic concepts necessary for big data analytics, (2) big data systems, including data management and programming, and (3) advanced analytic methods to address characteristics of real-world big data problems. (Purdue)
CS 45800: Introduction To Robotics (3) ai
Any intelligent robot system interacting with our environment needs to have perception, planning, and control methods in its cognition process. The perception module outlines the robot’s procedures to gather and interpret sensory observations into world models. The underlying planning and control modules use those world models to plan robot behaviors and their interaction with our natural environments. Therefore, this course will cover the fundamental topics in robot perception, planning, and control to design general-purpose robot cognition algorithms. Overall, this course is divided into four modules: Robot perception: This covers fundamental techniques needed for robot localization and mapping from raw 3D sensory data. Robot planning: This module will discuss robot behavior planning techniques such as A*, RRT*, and trajectory optimization. Robot Control: This introduces basic control techniques such as PID controller to execute the robot’s planned behaviors in the real world. Robot Learning: This part will briefly introduce machine learning techniques for robot decision-making and control. (Purdue)
CS 47100: Introduction To Artificial Intelligence (3) ai
Students are expected to spend at least three hours per week gaining experience with artificial intelligence systems and developing software. Basic problem-solving strategies, heuristic search, problem reduction and AND/OR graphs, knowledge representation, expert systems, generating explanations, uncertainty reasoning, game playing, planning, machine learning, computer vision, and programming systems such as Lisp or Prolog. (Purdue)
CS 52540: Data Mining, Machine Learning And Statistical Analysis (3) ai
This course combines computer science algorithms and statistics analysis for data mining and machine learning. The course introduces rule-based decision tree systems, statistical learning, supervised and unsupervised learning, and multi-layer Neural Networks deep learning. Students will do modeling with C5, Neural Networks and R, and implement multiple algorithms in the programming languages C and Python. (Purdue)
CS 57700: Natural Language Processing (3) ai
This course will cover the key concepts and methods used in modern Natural Language Processing (NLP). Throughout the course several core NLP tasks, such as sentiment analysis, information extraction, syntactic and semantic analysis, will be discussed. The course will emphasize machine-learning and data-driven algorithms and techniques, and will compare several different approaches to these problems in terms of their performance, supervision effort and computational complexity. (Purdue)
CS 57800: Statistical Machine Learning (3) ai
This introductory course will cover many concepts, models, and algorithms in machine learning. Topics include classical supervised learning (e.g., regression and classification), unsupervised learning (e.g., principle component analysis and K-means), and recent development in the machine learning field such as variational Bayes, expectation propagation, and Gaussian processes. While this course will give students the basic ideas and intuition behind modern machine learning methods, the underlying theme in the course is probabilistic inference. (Purdue)
COMP 330: Tools and Models for Data Science (3) ai
This course is an introduction to modern data science. Data science is the study of how to extract actionable, non-trivial knowledge from data. The proposed course will focus both on the software tools used by practitioners of modern data science, as well as the mathematical and statistical models that are employed in conjunction with such software tools. On the tools side, we will cover the basics of relational database systems, as well as modern systems for distributed computing based on MapReduce. On the models side, the course will cover standard supervised and unsupervised models for data analysis and pattern discovery. Can be taken concurrently with COMP 215 (Rice)
COMP 340: Statistical Models and Algorithms for Data Science (4) ai
The course is an intermediate level course in data science for students at the sophomore level with some experience in programming and background in mathematics (calculus). The course teaches students to “do” data science in Python using six modules to illustrate fundamental data science operations, data cleaning, model exploration, model formulation, model visualization, model communication (Rice)
COMP 341: Practical Machine Learning for Real World Applications (3) ai
This course teaches practical skills for using machine learning models. Students will learn how to apply ML algorithms to real world problems from data collection to the final step of reporting findings. Topics covered include: data augmentation, bias detection, feature engineering, efficient tuning and training, model interpretation, and data storytelling. (Rice)
COMP 440: Artificial Intelligence (4) ai
This is a foundational course in artificial intelligence, the discipline of designing intelligent agents. The course will cover the design and analysis of agents that do the right thing in the face of limited information and computational resources. The course revolves around two main questions: how agents decide what to do, and how they learn from experience. Tools from computer science, probability theory, and game theory will be used. Interesting examples of intelligent agents will be covered, including poker playing programs, bots for various games (e.g. WoW), DS1 -- the spacecraft that performed an autonomous flyby of Comet Borrely in 2001, Stanley -- the Stanford robot car that won the Darpa Grand Challenge, Google Maps and how it calculates driving directions, face and handwriting recognizers, Fedex package delivery planners, airline fare prediction sites, and fraud detectors in financial transactions. (Rice)
COMP 441: Large-Scale Machine Learning (3) ai
Learning from large dataset is becoming a ubiquitous phenomena in all applications spanning robotics, medical decisions, internet, communication, biology, etc. Designed to give senior UG students a thorough grounding in the theory and algorithms needed for research and practical applications in machine learning for modern massive datasets. Topics draw from machine learning, classical statistics, algorithms and information theory. (Rice)
COMP 442: Reinforcement Learning (3) ai
This course introduces students to reinforcement learning (RL), a general and impactful machine learning paradigm for solving sequential decision-making problems and designing autonomous agents. The course will cover both classical and recent algorithms for reinforcement learning (including deep RL) and imitation learning (including inverse RL). Through the assignments and final project, students will get hands-on experience in applying reinforcement learning algorithms to solve problems inspired by real-world applications. The course will conclude with an overview of open problems and ongoing research in reinforcement learning. (Rice)
COMP 447: Introduction to Computer Vision (3) ai
An introduction to the basic concepts, algorithms and applications in computer vision. Topics include: image processing pipelines, low-level vision/image processing methods such as filtering and edge detection, mid-level vision topics such as segmentation and feature detection, and high-level vision tasks such as object recognition and face recognition with neural networks. The course will involve programming and implementing basic computer vision algorithms in Python. (Rice)
COMP 449: Applied Machine Learning and Data Science Projects (4) ai
In this project-based course, student teams will complete semester-long data science research or analysis projects selected from a variety of disciplines and industries. Students will also learn best practices in data science. (Rice)
COMP 450: Algorithmic Robotics (4) ai
Robots have fascinated people for generations. Today, robots are built for applications as diverse as exploring remote planets, de-mining war zones, cleaning toxic waste, assembling cars, inspecting pipes in industrial plants and mowing lawns. Robots are also interacting with humans in a variety of ways: robots are museum guides, robots assist surgeon sin life threatening operations, and robotic cars can drive us around. The field of robotics studies not only the design of new mechanisms but also the development of artificial intelligence frameworks to make these mechanism useful in the physical world, integrating computer science, engineering, mathematics and more recently biology and sociology, in a unique way. This class will present fundamental algorithmic advances that enable today’s robots to move in real environments and plan their actions. It will also explore fundamentals of the field of Artificial Intelligence through the prism of robotics. The class involves a significant programming project. (Rice)
COMP 459: Machine Learning with Graphs (3) ai
This course will overview both traditional and more recent graph-based machine learning algorithms. Graphs show up in machine learning in many forms. Oftentimes, the input data can be naturally represented as a graph, such as for relational learning tasks applied to social networks and graph kernels applied to chemical data. Other times, graphs are just a framework to express some intrinsic structure in the data, such as for graphical models and non-linear embedding. In both cases, recent advances in representation learning (or graph embedding) and deep learning have generated a renewed interest in machine learning on graphs. At the end of the course, students are expected to be able to: (1) identify the appropriate graph-based machine learning algorithm for a given problem; (2) extend existing algorithms to solve new related problems; and (3) recognize some of the key research challenges in the field. The course will be a mixture of lectures, a research paper presentation, homework assignments (including programming), and a hands-on class project. (Rice)
COMP 462: Fundamentals of Robotic Manipulation (3) ai
Robots, as seen in many different forms, can help people in various application scenarios to improve the efficiency, safety, and quality of task executions. In particular, those robots which can physically interact with the world possess essential skills, called manipulation, to engage themselves more comprehensively in the real-world tasks. This course will introduce both fundamental and the state-of-the-art knowledge that enable robots to manipulate in our world. Topics including robot motions, kinematics, dynamics, simulation and ROS, hand and grasping, prehensile and nonprehensile manipulation, robot control, and interactive estimation, will be covered. Significant programming projects are involved to facilitate converting the textbook knowledge to solid hands-on experiences. (Rice)
COMP 498: Introduction to Robotics (3) ai
The course will provide the student with a mathematical introduction to many of the key ideas used in today's intelligent robot systems. The focus of the course is on the analysis and control of manipulators. The course will also give an overview of common approaches to building intelligent robot systems. (Rice)
CSSE 286: Introduction to Machine Learning (4) ai
An introduction to machine learning (ML) systems, with a focus especially on Artificial Intelligence-based systems, versus statistical ones. The course is designed to be useful to students with a basic knowledge of programming and software systems, whether or not they are computer science majors. During the course, students try different machine learning algorithms on data from problems in a domain of interest to them, comparing results with that of other students taking the class, as well as comparing the outcomes of the different algorithms on their own data. A goal of the course is learning how to gain real predictive value from “big data.” (Rose-Hulman)
CSSE 386: Data Mining with Programming (4) ai
An introduction to data mining for large data sets, including data preparation, exploration, aggregation/reduction, and visualization. Elementary methods for classification, association, and cluster analysis are covered. Significant attention will be given to presenting and reporting data mining results. Students may not get credit for both this course and also the MA 384 Data Mining course. (Rose-Hulman)
CSSE 413: Artificial Intelligence (4) ai
Students investigate how to model and implement intelligent behavior using computers. Topics are chosen from how machines can: solve problems; reason and use knowledge; learn from experience; and perceive and act. Students explore these topics by implementing many of the ideas in software. Readings are drawn both from a textbook and from technical papers in recent conferences and journals. (Rose-Hulman)
CSSE 415: Machine Learning (4) ai
An introduction to machine learning. Topics include: error metrics, accuracy vs interpretability trade-off, feature selection, feature engineering, bias-variance trade-off, under-fitting vs. overfitting, regularization, cross-validation, the bootstrap method, the curse of dimensionality and dimensionality reduction using the singular value decomposition. Both parametric and nonparametric methods are covered including: k-nearest neighbors, linear and logistic regression, decision trees and random forests, and support vector machines. Same as MA 415. (Rose-Hulman)
CSSE 435: Robotics Engineering (4) ai
Interdisciplinary course in robotics focusing on communication, software development, kinematics, robot GUI design, sensing, control, and system integration. Labs in the course cover MATLAB GUI development with GUIDE, Denavit-Hartenberg parameters, Arduino programming, Arduino to Android communication, Android app development, and OpenCV4Android image recognition. Students in the course will program an Android + Arduino, 6-wheeled mobile robot with 5 DOF servo arm to participate in an outdoor GPS robotics challenge. Same as ME 435. (Rose-Hulman)
CSSE 453: Topics in Artificial Intelligence (4) ai
Advanced topics in artificial intelligence. Topics will vary. Past topics have included machine game playing and machine learning. May be repeated for credit if topic is different. (Rose-Hulman)
CSSE 461: Computer Vision (4) ai
An introduction to 3D computer vision techniques. Both theory and practical applications will be covered. Major topics include image features, camera calibration, stereopsis, motion, shape from x, and recognition. (Rose-Hulman)
CSSE 463: Image Recognition (4) ai
Introduces statistical pattern recognition of visual data; low-level visual feature extraction (color, shape, edges); clustering and classification techniques. Applies knowledge to various application domains through exercises, large programming projects in Matlab, and an independent research project. Familiarity with probability distributions will be helpful, but not required. (Rose-Hulman)
CS 53N: How Can Generative AI Help Us Learn? (3) ai
This seminar course will explore the science behind generative AI, the likely future of tools such as DALL-E, ChatGPT, GPT-4, and Bard, and the implications for education, both in and outside of structured school environments. Students in the course will work in teams to each become experts in some aspect of AI and in some way that generative AI could create a new future for education. The background for this course is the public release of ChatGPT, which created new awareness of the potential power of AI to dramatically change our lives. In considering the possible implications for education, ChatGPT has sparked dreams of automated personal tutors, customizable teaching assistance, AI-led collaborative learning, and revolutions in assessment. In addition to optimistic projections, there are clear and significant risks. For example, will AI-assisted learning be culturally appropriate and equally available to all? Can it increase opportunity for underprivileged learners worldwide, or will it accentuate privilege and privileged views? Will it help us learn faster, or distract us from thinking deeply about difficult problems ourselves? As experienced student learners, members of the class will be able to draw on their own educational history and design learning approaches that could change the future of their education and others in college or at other stages of their lives. (Stanford)
CS 64: Computation for Puzzles and Games (1) ai
How can we apply computer science to better understand (and have even more fun with) games and puzzles? What can we do when a game is too complex to analyze exhaustively, or when no efficient algorithms exist to solve a logic puzzle? This sampler course will whet your appetite for CS theory and AI as we apply those lenses to both classics (e.g., chess, Scrabble, the Rubik's cube, the Lights Out puzzle) and modern favorites (e.g., Sudoku, Kakuro, Esports, and tool-assisted speedruns). Each week, we will have one lecture and one optional hands-on puzzle/problem solving session, culminating in an (optional) on-foot puzzle hunt around campus. Material of varying technical complexity will be presented, and although some experience with programming and CS theory will be helpful, the course is open to all. (Stanford)
CS 120: Introduction to AI Safety (STS 10) (3) ai
As we delegate more to artificial intelligence (AI) and integrate AI more in societal decision-making processes, we must find answers to how we can ensure AI systems are safe, follow ethical principles, and align with the creator's intent. Increasingly, many AI experts across academia and industry believe there is an urgent need for both technical and societal progress across AI alignment, ethics, and governance to understand and mitigate risks from increasingly capable AI systems and ensure that their contributions benefit society as a whole. Intro to AI Safety explores these questions in lectures with targeted readings, weekly quizzes, and group discussions. We are looking at the capabilities and limitations of current and future AI systems to understand why it is hard to ensure the reliability of existing AI systems. We will cover ongoing research efforts that tackle these questions, ranging from studies in reinforcement learning and computer vision to natural language processing. We will study work in interpretability, robustness, and governance of AI systems - to name a few. Basic knowledge about machine learning helps but is not required. (Stanford)
CS 123: A Hands-On Introduction to Building AI-Enabled Robots (3) ai
This course offers a hands-on introduction to AI-powered robotics. Unlike most introductory robotics courses, students will learn essential robotics concepts by constructing a quadruped robot from scratch and training it to perform real-world tasks. The course covers a broad range of topics critical to robot learning, including motor control, forward and inverse kinematics, system identification, simulation, and reinforcement learning. Through weekly labs, students will construct a pair of tele-operated robot arms with haptic feedback, program a robot arm to learn self-movement, and ultimately create and program an agile robot quadruped named Pupper. In the final four weeks, students will undertake an open-ended project using Pupper as a platform, such as instructing it to walk using reinforcement learning, developing a vision system to allow Pupper to play fetch, or redesigning the hardware to enhance the robot's agility. Note: CS 123 strives to achieve a balanced distribution of seniority across the undergrad student body. Within each seniority group, enrollment of students will follow a first-come-first-served approach. (Stanford)
CS 124: From Languages to Information (LINGUIST 180, LINGUIST 280) (34) ai
Extracting meaning, information, and structure from human language text, speech, web pages, social networks. Introducing methods (regex, edit distance, naive Bayes, logistic regression, neural embeddings, inverted indices, collaborative filtering, PageRank), applications (chatbots, sentiment analysis, information retrieval, question answering, text classification, social networks, recommender systems), and ethical issues in both. (Stanford)
CS 129: Applied Machine Learning (34) ai
You will learn to implement and apply machine learning algorithms. This course emphasizes practical skills, and focuses on giving you skills to make these algorithms work. You will learn about commonly used learning techniques including supervised learning algorithms (logistic regression, linear regression, SVM, neural networks/deep learning), unsupervised learning algorithms (k-means), as well as learn about specific applications such as anomaly detection and building recommender systems. This class is taught in the flipped-classroom format. You will watch videos and complete in-depth programming assignments and online quizzes at home, then come to class for discussion sections. This class will culminate in an open-ended final project, which the teaching team will help you on. (Stanford)
CS 129X: Human Centered NLP (CS 329X) (34) ai
Recent advances in natural language processing (NLP), especially around large pretrained models, have enabled extensive successful applications. However, there are growing concerns about the negative aspects of NLP systems, such as biases and a lack of input from users. This course gives an overview of human-centered techniques and applications for NLP, ranging from human-centered design thinking to human-in-the-loop algorithms, fairness, and accessibility. Along the way, we will cover machine-learning techniques which are especially relevant to NLP and to human experiences. (Stanford)
CS 131: Computer Vision: Foundations and Applications (34) ai
Computer Vision technologies are transforming automotive, healthcare, manufacturing, agriculture and many other sections. Today, household robots can navigate spaces and perform duties, search engines can index billions of images and videos, algorithms can diagnose medical images for diseases, and smart cars can see and drive safely. Lying in the heart of these modern AI applications are computer vision technologies that can perceive, understand, and reconstruct the complex visual world. This course is designed for students who are interested in learning about the fundamental principles and important applications of Computer Vision. This course will introduce a number of fundamental concepts in image processing and expose students to a number of real-world applications. It will guide students through a series of projects to implement cutting-edge algorithms. There will be optional discussion sections on Fridays. (Stanford)
CS 137A: Principles of Robot Autonomy I (AA 174A, EE 160A) (34) ai
Basic principles for endowing mobile autonomous robots with perception, planning, and decision-making capabilities. Algorithmic approaches for robot perception, localization, and simultaneous localization and mapping; control of non-linear systems, learning-based control, and robot motion planning; introduction to methodologies for reasoning under uncertainty, e.g., (partially observable) Markov decision processes. Extensive use of the Robot Operating System (ROS) for demonstrations and hands-on activities. (Stanford)
CS 139: Human-Centered AI (3) ai
Artificial Intelligence technology can and must be guided by human concerns. The course examines how mental models and user models of AI systems are formed, and how that leads to user expectations. This informs a set of design guidelines for building AI systems that are trustworthy, understandable, fair, and beneficial. The course covers the impact of AI systems on the economy and everyday life, and ethical issues of collecting data and running systems, including respect for persons, beneficence, fairness and justice. (Stanford)
CS 185: Coding with LLM Assistants (2) ai
In under a year, LLM assistants have become a tool that many professional software engineers can't imagine living without. In this course, we will explore that phenomenon and design curriculum and pedagogical adaptations to it. In this class, we will: Conduct a survey-based ethnography of how professional software engineers are using LLMs (e.g., do they find it more useful for architectural planning vs code creation vs code explanation vs identifying bugs; what percentage of the day are they using it; how comfortable do they feel using it to work in frameworks or languages they are themselves unfamiliar with, etc); Engage in structured exploration using different LLM coding assistant tools for actual Stanford assignments (in classes they've already completed) and to perform new tasks in unfamiliar languages, and reflect on those experiences; Read what others are saying about the process of coding with LLMs through review of popular sources (e.g., podcasts, blog posts); Learn an overview of the science of teaching and learning, and what is needed for an effective education in software engineering; Design new curricular materials that address the new needs and practices of professional software engineers, using principles of good pedagogical design. (Stanford)
CS 221: Artificial Intelligence: Principles and Techniques (34) ai
Artificial intelligence (AI) has had a huge impact in many areas, including medical diagnosis, speech recognition, robotics, web search, advertising, and scheduling. This course focuses on the foundational concepts that drive these applications. In short, AI is the mathematics of making good decisions given incomplete information (hence the need for probability) and limited computation (hence the need for algorithms). Specific topics include search, constraint satisfaction, game playing,n Markov decision processes, graphical models, machine learning, and logic. (Stanford)
CS 223A: Introduction to Robotics (ME 320) (3) ai
Robotics foundations in modeling, design, planning, and control. Class covers relevant results from geometry, kinematics, statics, dynamics, motion planning, and control, providing the basic methodologies and tools in robotics research and applications. Concepts and models are illustrated through physical robot platforms, interactive robot simulations, and video segments relevant to historical research developments or to emerging application areas in the field. (Stanford)
CS 224C: NLP for Computational Social Science (3) ai
We live in an era where many aspects of our social interactions are recorded as textual data, from social media posts to medical and financial records. This course is about using a variety of techniques from machine learning and theories from social science to study human behaviors and important societal questions at scale. Topics will include methods for natural language processing and causal inference, and their applications to important societal questions around hate speech, misinformation, and social movements. (Stanford)
CS 224G: Apps With LLMs Inside (3) ai
With ChatGPT, neural networks have had their Lisp moment. Conversation has become code and the model is the CPU for this ultimate programming language. A new universe of App development has opened up, and there are no guides for it, yet. This is a project course designed to explore the space of Apps built around LLMs, starting by playing with them, learning their limitations, and then applying a set of techniques to program them efficiently and effectively. Assignments are due on a two week 'sprint' cadence to mimic a startup style environment. Guest lectures by area experts provide industry perspective. (Stanford)
CS 224N: Natural Language Processing with Deep Learning (34) ai
Methods for processing human language information and the underlying computational properties of natural languages. Focus on deep learning approaches: understanding, implementing, training, debugging, visualizing, and extending neural network models for a variety of language understanding tasks. Exploration of natural language tasks ranging from simple word level and syntactic processing to coreference, question answering, and machine translation. Examination of representative papers and systems and completion of a final project applying a complex neural network model to a large-scale NLP problem. (Stanford)
CS 224R: Deep Reinforcement Learning (3) ai
Humans, animals, and robots faced with the world must make decisions and take actions in the world. Moreover, the decisions they choose affect the world they exist in - and those outcomes must be taken into account. This course is about algorithms for deep reinforcement learning - methods for learning behavior from experience, with a focus on practical algorithms that use deep neural networks to learn behavior from high-dimensional observations. Topics will include methods for learning from demonstrations, both model-based and model-free deep RL methods, methods for learning from offline datasets, and more advanced techniques for learning multiple tasks such as goal-conditioned RL, meta-RL, and unsupervised skill discovery. These methods will be instantiated with examples from domains with high-dimensional state and action spaces, such as robotics, visual navigation, and control. (Stanford)
CS 224S: Spoken Language Processing (24) ai
Introduction to spoken language technology with an emphasis on dialogue and conversational systems. Deep learning and other methods for automatic speech recognition, speech synthesis, affect detection, dialogue management, and applications to digital assistants and spoken language understanding systems. (Stanford)
CS 224U: Natural Language Understanding (34) ai
Project-oriented class focused on developing systems and algorithms for robust machine understanding of human language. Draws on theoretical concepts from linguistics, natural language processing, and machine learning. Topics include lexical semantics, distributed representations of meaning, relation extraction, semantic parsing, sentiment analysis, and dialogue agents, with special lectures on developing projects, presenting research results, and making connections with industry. (Stanford)
CS 224V: Conversational Virtual Assistants with Deep Learning (34) ai
Generative AI, and in particular Large Language Models (LLMs), has already changed how we work and study. But this is just the beginning, as it has the potential of assisting and perhaps eventually automating knowledge workers in all areas, from law, medicine, to teaching and mental health therapists. This course will focus on the general principles and the latest research on methodologies and tools that can be applied to all domains. This is a project-oriented course, where students will gain hands-on experience in either methodology research or applying the concepts to create useful assistants for a domain of their choice. (Stanford)
CS 224W: Machine Learning with Graphs (34) ai
Many complex data can be represented as a graph of relationships between objects. Such networks are a fundamental tool for modeling complex social, technological, and biological systems. This course focuses on the computational, algorithmic, and modeling challenges specific to the analysis of massive graphs. By means of studying the underlying graph structure and its features, students are introduced to machine learning techniques and data mining tools apt to reveal insights on a variety of networks. Topics include: representation learning and Graph Neural Networks; algorithms for the World Wide Web; reasoning over Knowledge Graphs; influence maximization; disease outbreak detection, social network analysis. (Stanford)
CS 225: Machine Learning for Discrete Optimization (MS&E 236) (3) ai
Machine learning has become a powerful tool for discrete optimization. This is because, in practice, we often have ample data about the application domain?data that can be used to optimize algorithmic performance, ranging from runtime to solution quality. This course covers how machine learning can be used within the discrete optimization pipeline from many perspectives, including how to design novel combinatorial algorithms with machine-learned modules and configure existing algorithms? parameters to optimize performance. Topics will include both applied machinery (such as graph neural networks, reinforcement learning, transformers, and LLMs) as well as theoretical tools for providing provable guarantees. (Stanford)
CS 225A: Experimental Robotics (3) ai
Hands-on laboratory course experience in robotic manipulation. Topics include robot kinematics, dynamics, control, compliance, sensor-based collision avoidance, and human-robot interfaces. Second half of class is devoted to final projects using various robotic platforms to build and demonstrate new robot task capabilities. Previous projects include the development of autonomous robot behaviors of drawing, painting, playing air hocket, yoyo, basketball, ping-pong or xylophone. (Stanford)
CS 227A: Robot Perception: Hardware, Algorithm, and Application (EE 227) (34) ai
Robot Perception is the cornerstone of modern robotics, enabling machines to interpret, understand, and respond to an array of sensory information they encounter. In the course, students will study the basic principles of typical sensor hardware on a robotics system (e.g., vision, tactile, and acoustic sensors), the algorithms that process the raw sensory data, and make actionable decisions from that information. Over the course of the semester, students will incrementally build their own vision-based robotics system in simulation via a series of homework coding assignments. Students enrolling 4 units will be required to submit an additional final written report. (Stanford)
CS 227B: General Game Playing (3) ai
A general game playing system accepts a formal description of a game to play it without human intervention or algorithms designed for specific games. Hands-on introduction to these systems and artificial intelligence techniques such as knowledge representation, reasoning, learning, and rational behavior. Students create GGP systems to compete with each other and in external competitions. (Stanford)
CS 228: Probabilistic Graphical Models: Principles and Techniques (34) ai
Probabilistic graphical modeling languages for representing complex domains, algorithms for reasoning using these representations, and learning these representations from data. Topics include: Bayesian and Markov networks, extensions to temporal modeling such as hidden Markov models and dynamic Bayesian networks, exact and approximate probabilistic inference algorithms, and methods for learning models from data. Also included are sample applications to various domains including speech recognition, biological modeling and discovery, medical diagnosis, message encoding, vision, and robot motion planning. (Stanford)
CS 229: Machine Learning (34) ai
Topics: statistical pattern recognition, linear and non-linear regression, non-parametric methods, exponential family, GLMs, support vector machines, kernel methods, deep learning, model/feature selection, learning theory, ML advice, clustering, density estimation, EM, dimensionality reduction, ICA, PCA, reinforcement learning and adaptive control, Markov decision processes, approximate dynamic programming, and policy search. (Stanford)
CS 229B: Machine Learning for Sequence Modeling (34) ai
Sequence data and time series are becoming increasingly ubiquitous in fields as diverse as bioinformatics, neuroscience, health, environmental monitoring, finance, speech recognition/generation, video processing, and natural language processing. Machine learning has become an indispensable tool for analyzing such data; in fact, sequence models lie at the heart of recent progress in AI like GPT3. This class integrates foundational concepts in time series analysis with modern machine learning methods for sequence modeling. Connections and key differences will be highlighted, as well as how grounding modern neural network approaches with traditional interpretations can enable powerful leaps forward. You will learn theoretical fundamentals, but the focus will be on gaining practical, hands-on experience with modern methods through real-world case studies. You will walk away with a broad and deep perspective of sequence modeling and key ways in which such data are not just 1D images. (Stanford)
CS 229M: Machine Learning Theory (3) ai
How do we use mathematical thinking to design better machine learning methods? This course focuses on developing mathematical tools for answering this question. This course will cover fundamental concepts and principled algorithms in machine learning, particularly those that are related to modern large-scale non-linear models. The topics include concentration inequalities, generalization bounds via uniform convergence, non-convex optimization, implicit regularization effect in deep learning, and unsupervised learning and domain adaptations. (Stanford)
CS 230: Deep Learning (34) ai
Deep Learning is one of the most highly sought after skills in AI. We will help you become good at Deep Learning. In this course, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects. You will learn about Convolutional networks, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization, and more. You will work on case studies from healthcare, autonomous driving, sign language reading, music generation, and natural language processing. You will master not only the theory, but also see how it is applied in industry. You will practice all these ideas in Python and in TensorFlow, which we will teach. AI is transforming multiple industries. After this course, you will likely find creative ways to apply it to your work. This class is taught in the flipped-classroom format. You will watch videos and complete in-depth programming assignments and online quizzes at home, then come in to class for advanced discussions and work on projects. This class will culminate in an open-ended final project, which the teaching team will help you on. (Stanford)
CS 231A: Computer Vision: From 3D Perception to 3D Reconstruction and Beyond (34) ai
An introduction to the concepts and applications in computer vision. Topics include: cameras and projection models, low-level image processing methods such as filtering and edge detection; mid-level vision topics such as segmentation and clustering; shape reconstruction from stereo, as well as high-level vision tasks such as object recognition, scene recognition, face detection and human motion categorization. (Stanford)
CS 231C: Computer Vision and Image Analysis of Art (3) ai
This course presents the application of rigorous image processing, computer vision, machine learning, computer graphics and artificial intelligence techniques to problems in the history and interpretation of fine art paintings, drawings, murals and other two-dimensional works, including abstract art. (Stanford)
CS 231N: Deep Learning for Computer Vision (34) ai
Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. (Stanford)
CS 233: Geometric and Topological Data Analysis (CME 251) (3) ai
Mathematical and computational tools for the analysis of data with geometric content, such images, videos, 3D scans, GPS traces -- as well as for other data embedded into geometric spaces. (Stanford)
CS 234: Reinforcement Learning (3) ai
To realize the dreams and impact of AI requires autonomous systems that learn to make good decisions. Reinforcement learning is one powerful paradigm for doing so, and it is relevant to an enormous range of tasks, including robotics, game playing, consumer modeling and healthcare. This class will briefly cover background on Markov decision processes and reinforcement learning, before focusing on some of the central problems, including scaling up to large domains and the exploration challenge. One key tool for tackling complex RL domains is deep learning and this class will include at least one homework on deep reinforcement learning. (Stanford)
CS 236: Deep Generative Models (3) ai
Generative models are widely used in many subfields of AI and Machine Learning. Recent advances in parameterizing these models using neural networks, combined with progress in stochastic optimization methods, have enabled scalable modeling of complex, high-dimensional data including images, text, and speech. In this course, we will study the probabilistic foundations and learning algorithms for deep generative models, including Variational Autoencoders (VAE), Generative Adversarial Networks (GAN), and flow models. The course will also discuss application areas that have benefitted from deep generative models, including computer vision, speech and natural language processing, and reinforcement learning. (Stanford)
CS 236G: Generative Adversarial Networks (3) ai
Generative Adversarial Networks (GANs) have rapidly emerged as the state-of-the-art technique in realistic image generation. This course presents theoretical intuition and practical knowledge on GANs, from their simplest to their state-of-the-art forms. Their benefits and applications span realistic image editing that is omnipresent in popular app filters, enabling tumor classification under low data schemes in medicine, and visualizing realistic scenarios of climate change destruction. This course also examines key challenges of GANs today, including reliable evaluation, inherent biases, and training stability. After this course, students should be familiar with GANs and the broader generative models and machine learning contexts in which these models are situated. (Stanford)
CS 237A: Principles of Robot Autonomy I (AA 274A, EE 260A) (3) ai
Basic principles for endowing mobile autonomous robots with perception, planning, and decision-making capabilities. Algorithmic approaches for robot perception, localization, and simultaneous localization and mapping; control of non-linear systems, learning-based control, and robot motion planning; introduction to methodologies for reasoning under uncertainty, e.g., (partially observable) Markov decision processes. Extensive use of the Robot Operating System (ROS) for demonstrations and hands-on activities. (Stanford)
CS 237B: Principles of Robot Autonomy II (34) ai
This course teaches advanced principles for endowing mobile autonomous robots with capabilities to autonomously learn new skills and to physically interact with the environment and with humans. It also provides an overview of different robot system architectures. Concepts that will be covered in the course are: Reinforcement Learning and its relationship to optimal control, contact and dynamics models for prehensile and non-prehensile robot manipulation, imitation learning and human intent inference, as well as different system architectures and their verification. Students will earn the theoretical foundations for these concepts and implement them on mobile manipulation platforms. In homeworks, the Robot Operating System (ROS) will be used extensively for demonstrations and hands-on activities. (Stanford)
CS 238: Decision Making under Uncertainty (34) ai
This course is designed to increase awareness and appreciation for why uncertainty matters, particularly for aerospace applications. Introduces decision making under uncertainty from a computational perspective and provides an overview of the necessary tools for building autonomous and decision-support systems. Following an introduction to probabilistic models and decision theory, the course will cover computational methods for solving decision problems with stochastic dynamics, model uncertainty, and imperfect state information. Topics include: Bayesian networks, influence diagrams, dynamic programming, reinforcement learning, and partially observable Markov decision processes. Applications cover: air traffic control, aviation surveillance systems, autonomous vehicles, and robotic planetary exploration. (Stanford)
CS 239: Advanced Topics in Sequential Decision Making (34) ai
Survey of recent research advances in intelligent decision making for dynamic environments from a computational perspective. Efficient algorithms for single and multiagent planning in situations where a model of the environment may or may not be known. Partially observable Markov decision processes, approximate dynamic programming, and reinforcement learning. New approaches for overcoming challenges in generalization from experience, exploration of the environment, and model representation so that these methods can scale to real problems in a variety of domains including aerospace, air traffic control, and robotics. Students are expected to produce an original research paper on a relevant topic. (Stanford)
CS 246: Mining Massive Data Sets (34) ai
The availability of massive datasets is revolutionizing science and industry. This course discusses data mining and machine learning algorithms for analyzing very large amounts of data. Topics include: Big data systems (Hadoop, Spark); Link Analysis (PageRank, spam detection); Similarity search (locality-sensitive hashing, shingling, min-hashing); Stream data processing; Recommender Systems; Analysis of social-network graphs; Association rules; Dimensionality reduction (UV, SVD, and CUR decompositions); Algorithms for large-scale mining (clustering, nearest-neighbor search); Large-scale machine learning (decision tree ensembles); Multi-armed bandit; Computational advertising. (Stanford)
CS 256: Algorithmic Fairness (3) ai
Machine learning and data analysis have enjoyed tremendous success in a broad range of domains. These advances hold the promise of great benefits to individuals, organizations and society. Undeniably, algorithms are informing decisions that reach ever more deeply into our lives, from news article recommendations to criminal sentencing decisions to healthcare diagnostics. (Stanford)
CS 257: Introduction to Automated Reasoning (3) ai
Automated logical reasoning has enabled substantial progress in many fields, including hardware and software verification, theorem-proving, and artificial intelligence. Different application scenarios may require different automated reasoning techniques and sometimes their combination. (Stanford)
CS 273B: Deep Learning in Genomics and Biomedicine (BIODS 237, BIOMEDIN 273B, GENE 236) (3) ai
Recent breakthroughs in high-throughput genomic and biomedical data are transforming biological sciences into 'big data' disciplines. In parallel, progress in deep neural networks are revolutionizing fields such as image recognition, natural language processing and, more broadly, AI. This course explores the exciting intersection between these two advances. (Stanford)
CS 277: Foundation Models for Healthcare (3) ai
Generative AI and large-scale self-supervised foundation models are poised to have a profound impact on human decision making across occupations. Healthcare is one such area where such models have the capacity to impact patients, clinicians, and other care providers. In this course, we will explore the training, evaluation, and deployment of generative AI and foundation models, with a focus on addressing current and future medical needs. The course will cover models used in natural language processing, computer vision, and multi-modal applications. We will explore the intersection of models trained on non-healthcare domains and their adaptation to domain-specific problems, as well as healthcare-specific foundation models. (Stanford)
CS 288: Applied Causal Inference with Machine Learning and AI (3) ai
Fundamentals of modern applied causal inference. Basic principles of causal inference and machine learning and how the two can be combined in practice to deliver causal insights and policy implications in real world datasets, allowing for high-dimensionality and flexible estimation. Lectures will provide foundations of these new methodologies and the course assignments will involve real world data (from social science, tech industry and healthcare applications) and synthetic data analysis based on these methodologies. (Stanford)
CS 293: Empowering Educators via Language Technology (EDUC 473) (24) ai
This course explores the use of natural language processing (NLP) to support educators, by discovering, measuring, and analyzing high-leverage teaching practices. Topics include computational social science methods, ethics, bias and fairness, automated scoring, causal analyses, large language models, among others. Engaging with relevant papers, students will work towards a final project using NLP methods and a critical social scientific lens. Projects are pitched to a jury of educators at the end of the course. (Stanford)
CS 320: Value of Data and AI (3) ai
Many of the most valuable companies in the world and the most innovative startups have business models based on data and AI, but our understanding about the economic value of data, networks and algorithmic assets remains at an early stage. For example, what is the value of a new dataset or an improved algorithm? How should investors value a data-centric business such as Netflix, Uber, Google, or Facebook? And what business models can best leverage data and algorithmic assets in settings as diverse as e-commerce, manufacturing, biotech and humanitarian organizations? In this graduate seminar, we will investigate these questions by studying recent research on these topics and by hosting in-depth discussions with experts from industry and academia. Key topics will include value of data quantity and quality in statistics and AI, business models around data, networks, scaling effects, economic theory around data, and emerging data protection regulations. Students will also conduct a group research projects in this field. (Stanford)
CS 322: Triangulating Intelligence: Melding Neuroscience, Psychology, and AI (3) ai
This course will cover both classic findings and the latest research progress on the intersection of cognitive science, neuroscience, and artificial intelligence: How does the study of minds and machines inform and guide each other? What are the assumptions, representations, or learning mechanisms that are shared (across multiple disciplines, and what are different? How can we build a synergistic partnership between cognitive psychology, neuroscience, and artificial intelligence? We will focus on object perception and social cognition (human capacities, especially in infancy and early childhood) and the ways in which these capacities are formalized and reverse-engineered (computer vision, reinforcement learning). Through paper reading and review, discussion, and the final project, students will learn the common foundations shared behind neuroscience, cognitive science, and AI research and leverage them to develop their own research project in these areas. (Stanford)
CS 323: The AI Awakening: Implications for the Economy and Society (34) ai
Intelligent computer agents must reason about complex, uncertain, and dynamic environments. This course is a graduate level introduction to automated reasoning techniques and their applications, covering logical and probabilistic approaches. Topics include: logical and probabilistic foundations, backtracking strategies and algorithms behind modern SAT solvers, stochastic local search and Markov Chain Monte Carlo algorithms, variational techniques, classes of reasoning tasks and reductions, and applications. Enrollment by application: https://digitaleconomy.stanford.edu/about/the-ai-awakening-implications-for-the-economy-and-society/ (Stanford)
CS 323A: The AI Awakening: Implications for the Economy and Society (3) ai
This course offers an overview of blockchain governance and DAOs, including the governance of layer-1 blockchains, DAO tooling, on-chain and off-chain voting, delegation and constitutional design, identity, and privacy. We will cover these topics both from a technical perspective and from a social scientific perspective, and will include a range of guests from the web3 space. (Stanford)
CS 324: Advances in Foundation Models (3) ai
Foundation models (FMs) are transforming the landscape of AI in research and industry. Such models (e.g., GPT-3, CLIP, Stable Diffusion) are trained on large amounts of broad data and are adaptable to a wide range of downstream tasks. In this course, students will learn fundamentals behind the models and algorithms, systems and infrastructure, and ethics and societal impacts of foundation models, with an emphasis on gaining hands-on experience and identifying real-world use-cases for FMs. Students will hear from speakers in industry working on foundation models in the wild. The main class assignment will be a quarter-long final project, involving either researching the capabilities of FMs or building an FM-powered application. (Stanford)
CS 324H: History of Natural Language Processing (34) ai
Intellectual history of computational linguistics, natural language processing, and speech recognition, using primary sources. Reading of seminal early papers, interviews with early pioneers, with the goal of understanding the origins and intellectual development of the field. (Stanford)
CS 325B: Data for Sustainable Development (35) ai
The sustainable development goals (SDGs) encompass many important aspects of human and ecosystem well-being that are traditionally difficult to measure. This project-based course will focus on ways to use inexpensive, unconventional data streams to measure outcomes relevant to SDGs, including poverty, hunger, health, governance, and economic activity. Students will apply machine learning techniques to various projects outlined at the beginning of the quarter. The main learning goals are to gain experience conducting and communicating original research. (Stanford)
CS 326: Topics in Advanced Robotic Manipulation (34) ai
This course provides a survey of the most important and influential concepts in autonomous robotic manipulation. It includes classical concepts that are still widely used and recent approaches that have changed the way we look autonomous manipulation. We cover approaches towards motion planning and control using visual and tactile perception as well as machine learning. This course is especially concerned with new approaches for overcoming challenges in generalization from experience, exploration of the environment, and learning representation so that these methods can scale to real problems. Students are expected to present one paper in a tutorial, debate a paper once from the Pro and once from the Con side. They are also expected to propose an original research project and work on it towards a research paper. (Stanford)
CS 327A: Advanced Robotic Manipulation (ME 323) (3) ai
Advanced control methodologies and novel design techniques for complex human-like robotic and bio mechanical systems. Class covers the fundamentals in operational space dynamics and control, elastic planning, human motion synthesis. Topics include redundancy, inertial properties, haptics, simulation, robot cooperation, mobile manipulation, human-friendly robot design, humanoids and whole-body control. Additional topcs in emerging areas are presented by groups of students at the end-of-quarter mini-symposium. (Stanford)
CS 328: Foundations of Causal Machine Learning (3) ai
Theoretical foundations of modern techniques at the intersection of causal inference and machine learning. Topics may include: semi-parametric inference and semi-parametric efficiency, modern statistical learning theory, Neyman orthogonality and double/debiased machine learning, theoretical foundations of high-dimensional linear regression, theoretical foundations of non-linear regression models, such as random forests and neural networks, adaptive non-parametric estimation of conditional moment models, estimation and inference on heterogeneous treatment effects, causal inference and reinforcement learning, off-policy evaluation, adaptive experimentation and inference. (Stanford)
CS 329D: Machine Learning Under Distributional Shifts (3) ai
The progress of machine learning systems has seemed remarkable and inexorable a wide array of benchmark tasks including image classification, speech recognition, and question answering have seen consistent and substantial accuracy gains year on year. However, these same models are known to fail consistently on atypical examples and domains not contained within the training data. The goal of the course is to introduce the variety of areas in which distributional shifts appear, as well as provide theoretical characterization and learning bounds for distribution shifts. (Stanford)
CS 329E: Machine Learning on Embedded Systems (EE 292D) (3) ai
This is a project-based class where students will learn how to develop machine learning models for execution in resource constrained environments such as embedded systems. In this class students will learn about techniques to optimize machine learning models and deploy them on a device such as a Arduino, Raspberry PI, Jetson, or Edge TPUs. The class has a significant project component. (Stanford)
CS 329H: Machine Learning from Human Preferences (3) ai
Machine learning (ML) from human preferences provides mechanisms for capturing human feedback, which is used to design loss functions or rewards that are otherwise difficult to specify quantitatively, e.g., for socio-technical applications such as algorithmic fairness and many language and robotic tasks. While learning from human preferences has emerged as an increasingly important component of modern machine learning, e.g., credited with advancing the state of the art in language modeling and reinforcement learning, existing approaches are largely reinvented independently in each subfield, with limited connections drawn among them. This course will cover the foundations of learning from human preferences from first principles and outline connections to the growing literature on the topic. This includes: Inverse reinforcement learning, which uses human preferences to specify the reinforcement learning reward function; Metric elicitation, which uses human preferences to specify tradeoffs for cost-sensitive classification; Reinforcement learning from human feedback, where human preferences are used to align a pre-trained language model. This is a graduate-level course. By the end of the course, students should be able to understand and implement state-of-the-art learning from human feedback and be ready to conduct research on these topics. (Stanford)
CS 329M: Machine Programming (34) ai
The field of machine programming (MP) is concerned with the automation of software development. Given the recent advances in software algorithms, hardware efficiency and capacity, and an ever increasing availability of code data, it is now possible to train machines to help develop software. In this course, we teach students how to build real-world MP systems. We begin with a high-level overview of the field, including an abbreviated analysis of state-of-the-art (e.g., Merly Mentor). Next, we discuss the foundations of MP and the key areas for innovation, some of which are unique to MP. We close with a discussion of current limitations and future directions of MP. This course includes a nine-week hands-on project, where students (as individuals or in a small group) will create their own MP system and demonstrate it to the class. (Stanford)
CS 329P: Practical Machine Learning (34) ai
Applying Machine Learning (ML) to solve real problems accurately and robustly requires more than just training the latest ML model. First, you will learn practical techniques to deal with data. This matters since real data is often not independently and identically distributed. It includes detecting covariate, concept, and label shifts, and modeling dependent random variables such as the ones in time series and graphs. Next, you will learn how to efficiently train ML models, such as tuning hyper-parameters, model combination, and transfer learning. Last, you will learn about fairness and model explainability, and how to efficiently deploy models. This class will teach both statistics, algorithms and code implementations. Homeworks and the final project emphasize solving real problems. (Stanford)
CS 329R: Race and Natural Language Processing (3) ai
The goal of this practicum is to integrate methods from natural language processing with social psychological perspectives on race to build practical systems that address significant societal issues. Readings will be drawn broadly from across the social sciences and computer science. Students will work with large, complex datasets and participate in research involving community partnerships relevant to race and natural language processing. (Stanford)
CS 329S: Machine Learning Systems Design (34) ai
This project-based course covers the iterative process for designing, developing, and deploying machine learning systems. It focuses on systems that require massive datasets and compute resources, such as large neural networks. Students will learn about data management, data engineering, approaches to model selection, training, scaling, how to continually monitor and deploy changes to ML systems, as well as the human side of ML projects. In the process, students will learn about important issues including privacy, fairness, and security. (Stanford)
CS 329T: Trustworthy Machine Learning (3) ai
This course will provide an introduction to state-of-the-art ML methods designed to make AI more trustworthy. The course focuses on four concepts: explanations, fairness, privacy, and robustness. We first discuss how to explain and interpret ML model outputs and inner workings. Then, we examine how bias and unfairness can arise in ML models and learn strategies to mitigate this problem. Next, we look at differential privacy and membership inference in the context of models leaking sensitive information when they are not supposed to. Finally, we look at adversarial attacks and methods for imparting robustness against adversarial manipulation. (Stanford)
CS 329X: Human Centered NLP (34) ai
Recent advances in natural language processing (NLP), especially around large pretrained models, have enabled extensive successful applications. However, there are growing concerns about the negative aspects of NLP systems, such as biases and a lack of input from users. This course gives an overview of human-centered techniques and applications for NLP, ranging from human-centered design thinking to human-in-the-loop algorithms, fairness, and accessibility. Along the way, we will cover machine-learning techniques which are especially relevant to NLP and to human experiences. (Stanford)
CS 330: Deep Multi-task and Meta Learning (3) ai
While deep learning has achieved remarkable success in supervised and reinforcement learning problems, such as image classification, speech recognition, and game playing, these models are, to a large degree, specialized for the single task they are trained for. This course will cover the setting where there are multiple tasks to be solved, and study how the structure arising from multiple tasks can be leveraged to learn more efficiently or effectively. This includes: goal-conditioned reinforcement learning techniques that leverage the structure of the provided goal space to learn many tasks significantly faster; meta-learning methods that aim to learn efficient learning algorithms that can learn new tasks quickly; curriculum and lifelong learning, where the problem requires learning a sequence of tasks, leveraging their shared structure to enable knowledge transfer. This is a graduate-level course. By the end of the course, students should be able to understand and implement the state-of-the-art multi-task learning algorithms and be ready to conduct research on these topics. (Stanford)
CS 331B: Interactive Simulation for Robot Learning (3) ai
This course provides a research survey of advanced methods for robot learning in simulation, analyzing the simulation techniques and recent research results enabled by advances in physics and virtual sensing simulation. The course covers two main components: agent-environment interactions and domains for multi-agent and human-robot interaction. First, we cover agent-environment interactions by studying novel simulation environments for robotics, imitation and reinforcement learning methods, simulation for navigation and manipulation and `sim2real' techniques. In the second part, we explore models and algorithms for simulation and robot learning in multi-agent domains and human-robot interaction, studying the principles of learning for interactive tasks in which each agent collaborates to accomplish tasks. The topics include domains of social navigation, human-robot collaborative manipulation and multi-agent settings.nnThis a project-based seminar class. Projects will leverage the state-of-the-art simulation environment iGibson, in which students will develop simulations to explore learning and planning methods for diverse domains. We will provide a list of suggested projects but students might also propose an original idea. The course will cover a set of research papers with presentations by students. This is a research field in rapid transformation with exciting research lines. The goal of the class is to provide practical experience and understanding of the main research lines to enable students to conduct innovative research in this field. (Stanford)
CS 332: Advanced Survey of Reinforcement Learning (3) ai
This class will provide a core overview of essential topics and new research frontiers in reinforcement learning. Planned topics include: model free and model based reinforcement learning, policy search, Monte Carlo Tree Search planning methods, off policy evaluation, exploration, imitation learning, temporal abstraction/hierarchical approaches, safety and risk sensitivity, human-in-the-loop RL, inverse reinforcement learning, learning to communicate, and insights from human learning. Students are expected to create an original research paper on a related topic. (Stanford)
CS 333: Algorithms for Interactive Robotics (34) ai
AI agents need to collaborate and interact with humans in many different settings such as bots operating on social media and crowdsourcing platforms, AI assistants brokering transactions on electronic marketplaces, autonomous vehicles driving alongside humans, or robots interacting with and assisting humans in homes. Our goal in this class is to learn about and design algorithms that enable robots and AI agents to reason about their actions, interact with one another, the humans, and the environment they live in, as well as plan safe strategies that humans can trust and rely on. This is a project-based graduate course that studies algorithms in robotics, machine learning, and control theory, which can improve the state-of-the-art human-AI systems. (Stanford)
CS 336: Language Modeling from Scratch (35) ai
Language models serve as the cornerstone of modern natural language processing (NLP) applications and open up a new paradigm of having a single general purpose system address a range of downstream tasks. As the field of artificial intelligence (AI), machine learning (ML), and NLP continues to grow, possessing a deep understanding of language models becomes essential for scientists and engineers alike. This course is designed to provide students with a comprehensive understanding of language models by walking them through the entire process of developing their own. Drawing inspiration from operating systems courses that create an entire operating system from scratch, we will lead students through every aspect of language model creation, including data collection and cleansing for pre-training, transformer model construction, model training, and evaluation before deployment. (Stanford)
CS 337: AI-Assisted Care (MED 277) (14) ai
AI has been advancing quickly, with its impact everywhere. In healthcare, innovation in AI could help transforming of our healthcare system. This course offers a diverse set of research projects focusing on cutting edge computer vision and machine learning technologies to solve some of healthcare's most important problems. The teaching team and teaching assistants will work closely with students on research projects in this area. Research projects include Care for Senior at Senior Home, Surgical Quality Analysis, AI Assisted Parenting, Burn Analysis & Assessment and more. AI areas include Video Understanding, Image Classification, Object Detection, Segmentation, Action Recognition, Deep Learning, Reinforcement Learning, HCI and more. The course is open to students in both school of medicine and school of engineering. (Stanford)
CS 338: Physical Human Robot Interaction (3) ai
Robotics researchers and futurists have long dreamed of robots that can serve as assistants or caregivers. One important research area to develop such robots in the immediate future is Physical Human-Robot Interaction (pHRI). Assistive robots have the potential to provide adaptable and intelligent assistance to people in need, but developing such a robot is challenging because the robot needs to coordinate its motion with human, often through physical contacts. Reliable mechanical and control methods need to be developed in consideration of actively participating humans, while safety and dependability issues have to be addressed to successfully introduce robots in everyday environments. In this hands-on project-based course, students will learn about future opportunities and present realities for autonomous robots that provide physical assistance to humans. Students will also gain experience with key technologies for the creation of autonomous robots, including perception, action, human-robot interaction, and learning. (Stanford)
CS 339N: Machine Learning Methods for Neural Data Analysis (3) ai
With modern high-density electrodes and optical imaging techniques, neuroscientists routinely measure the activity of hundreds, if not thousands, of cells simultaneously. Coupled with high-resolution behavioral measurements, genetic sequencing, and connectomics, these datasets offer unprecedented opportunities to learn how neural circuits function. This course will study statistical machine learning methods for analysing such datasets, including: spike sorting, calcium deconvolution, and voltage smoothing techniques for extracting relevant signals from raw data; markerless tracking methods for estimating animal pose in behavioral videos; network models for connectomics and fMRI data; state space models for analysis of high-dimensional neural and behavioral time-series; point process models of neural spike trains; and deep learning methods for neural encoding and decoding. We will develop the theory behind these models and algorithms and then apply them to real datasets in the homeworks and final project. (Stanford)
CS 339R: Collaborative Robotics (3) ai
This course focuses on how robots can be effective teammates with other robots and human partners. Concepts and tools will be reviewed for characterizing task objectives, robot perception and control, teammate behavioral modeling, inter-agent communication, and team consensus. We will consider the application of these tools to robot collaborators, wearable robotics, and the latest applications in the relevant literature. This will be a project-based graduate course, with the implementation of algorithms in either python or C++. (Stanford)
CS 362: Research in AI Alignment (3) ai
In this course we will explore the current state of research in the field of AI alignment, which seeks to bring increasingly intelligent AI systems in line with human values and interests. The purpose of this course is to encourage the development of new ideas in this field, where a dominant paradigm has not yet been established. The format will be weekly lectures in which speakers present their current research approaches. The assignment structure will be slightly unusual: each week students will have a choice between a problem set and a short research assignment based on the weekly guest speaker's research area. For the research assignment, students will start with the abstract of a relevant AI alignment paper or blog post and create a blog post or Github repository describing how they would continue the paper. The final weekly assignment will be an extension of one of the previous weeks' work. Therefore this course requires research experience, preferably using mathematical and programming tools (e.g. Python, PyTorch, calculus), and is a graduate level course, open to advanced undergraduates. (Stanford)
CS 371: Computational Biology in Four Dimensions (3) ai
Cutting-edge research on computational techniques for investigating and designing the three-dimensional structure and dynamics of biomolecules, cells, and everything in between. These techniques, which draw on approaches ranging from physics-based simulation to machine learning, play an increasingly important role in drug discovery, medicine, bioengineering, and molecular biology. Course is devoted primarily to reading, presentation, discussion, and critique of papers describing important recent research developments. (Stanford)
CS 372: Artificial Intelligence for Precision Medicine and Psychiatric Disorders (3) ai
Artificial intelligence, specifically deep learning, stands out as one of the most transformative technologies of the past decade. AI can already outperform humans in several computer vision and natural language processing tasks. However, we still face some of the same limitations and obstacles that led to the demise of the first AI boom phase five decades ago. This research-oriented course will first review and reveal the limitations (e.g., iid assumption on training and testing data, voluminous training data requirement, and lacking interpretability) of some widely used AI algorithms, including convolutional neural networks (CNNs), transformers, reinforcement learning, and generative adversarial networks (GANs). To address these limitations, we will then explore topics including transfer learning for remedying data scarcity, knowledge-guided multimodal learning for improving data diversity, out of distribution generalization, attention mechanisms for enabling Interpretability, meta learning, and privacy-preserving training data management. The course will be taught through a combination of lecture and project sessions. Lectures on specialized AI applications (e.g., cancer/depression diagnosis and treatment, AI/VR for surgery, and health education) will feature guest speakers from academia and industry. Students will be assigned to work on an extensive project that is relevant to their fields of study (e.g., CS, Medicine, and Data Science). Projects may involve conducting literature surveys, formulating ideas, and implementing these ideas. Example project topics are but not limited to 1) knowledge guided GANs for improving training data diversity, 2) disease diagnosis via multimodal symptom checking, and 3) fake and biased news/information detection. (Stanford)
CS 375: Large-Scale Neural Network Modeling for Neuroscience (3) ai
The last ten years has seen a watershed in the development of large-scale neural networks in artificial intelligence. At the same time, computational neuroscientists have discovered a surprisingly robust mapping between the internal components of these networks and real neural structures in the human brain. In this class we will discuss a panoply of examples of such 'convergent man-machine evolution', including: feedforward models of sensory systems (vision, audition, somatosensation); recurrent neural networks for dynamics and motor control; integrated models of attention, memory, and navigation; transformer models of language areas; self-supervised models of learning; and deep RL models of decision and planning. We will also delve into the methods and metrics for comparing such models to real-world neural data, and address how unsolved open problems in AI (that you can work on!) will drive forward novel neural models. Some meaningful background in modern neural networks is highly advised (e.g. CS 229, CS 230, CS 231n, CS 234, CS 236, CS 330), but formal preparation in cognitive science or neuroscience is not needed (we will provide this). (Stanford)
CS 379C: Computational Models of the Neocortex (3) ai
This class focuses on building agents that achieve human-level performance in specialized technical domains and are adept at collaborating with humans using natural language. We draw upon research in cognitive and systems neuroscience to take advantage of what is known about how humans communicate and solve problems in order to design advanced artificial neural network architectures. For more detail on invited speakers, schedule of talks and project milestones, see here: https://web.stanford.edu/class/CS 379c/class_messages_listing/curriculum/ (Stanford)
CS 381: Sensorimotor Learning for Embodied Agents (EE 381) (3) ai
This is an advanced course that will focus on modern machine learning algorithms for autonomous robots as an embodied intelligent agent. It covers advanced topics that center around 1. what is embodied AI and how it differs from internet AI, 2. how embodied agents perceive their environment from raw sensory data and make decisions, and 3. continually adapt to the physical world through both hardware and software improvements. By the end of the course, we hope to prepare you for conducting research in this area, knowing how to formulate the problem, design the algorithm, critically validate the idea through experimental designs and finally clearly present and communicate the findings. Students are expected to read, present, and debate the latest research papers on embodied AI, as well as obtain hands-on experience through the course projects. (Stanford)
CS 398: Computational Education (4) ai
This course covers cutting-edge education algorithms used to model students, assess learning, and design widely deployable tools for open access education. The goal of the course is for you to be ready to lead your own computation education research project. Topics include knowledge tracing, generative grading, teachable agents, and challenges and opportunities implementing computational education in diverse contexts around the world. The course will consist of group and individual work and encourages creativity. (Stanford)
CS 407: Lytics Seminar (EDUC 407) (14) ai
Students will learn to design technology mediated learning environments for adult learners, conduct research in those environments, and learn from prior EdTech failures. Grounded in various theoretical frameworks that inform the design of learning environments, the course explores how people learn and the evidence of learning that can be collected and modeled in online environments in real world contexts. The course also examines specific case studies of failed EdTech ventures to identify patterns and causes of failure. Throughout the course we will consider ethical issues related to design and research in human learning. Overall, this course will provide students with a foundation in learning theory and the skills and knowledge needed to design, implement, and evaluate effective technology mediated learning environments. (Stanford)
CS 421: Designing AI to Cultivate Human Well-Being (2) ai
Artificial Intelligence (AI) has the potential to drive us towards a better future for all of humanity, but it also comes with significant risks and challenges. At its best, AI can help humans mitigate climate change, diagnose and treat diseases more effectively, enhance learning, and improve access to capital throughout the world. But it also has the potential to exacerbate human biases, destroy trust in information flow, displace entire industries, and amplify inequality throughout the world. We have arrived at a pivotal moment in the development of the technology in which we must establish a foundation for how we will design AI to capture the positive potential and mitigate the negative risks. To do this, building AI must be an inclusive, interactive, and introspective process guided by an affirmative vision of a beneficial AI-future. The goal of this interdisciplinary class is to bridge the gap between technological and societal objectives: How do we design AI to promote human well-being? The ultimate aim is to provide tools and frameworks to build a more harmonious human society based on cooperation toward a shared vision. Thus, students are trained in basic science to understand what brings about the conditions for human flourishing and will create meaningful AI technologies that aligns with the PACE framework: 1) has a clear and meaningful purpose, 2) augments human dignity and autonomy, 3) creates a feeling of inclusivity and collaboration, 4) creates shared prosperity and a sense of forward movement (excellence). Toward this end, students work in interdisciplinary teams on a final project and propose a solution that tackles a significant societal challenge by leveraging technology and frameworks on human thriving. (Stanford)
CS 422: Interactive and Embodied Learning (EDUC 234A) (315) ai
Most successful machine learning algorithms of today use either carefully curated, human-labeled datasets, or large amounts of experience aimed at achieving well-defined goals within specific environments. In contrast, people learn through their agency: they interact with their environments, exploring and building complex mental models of their world so as to be able to flexibly adapt to a wide variety of tasks. One crucial next direction in artificial intelligence is to create artificial agents that learn in this flexible and robust way. Students will read and take turns presenting current works, and they will produce a proposal of a feasible next research direction. (Stanford)
CS 428A: Probabilistic models of cognition: Reasoning and Learning (PSYCH 220A) (3) ai
How can we understand intelligent behavior as computation? This course introduces probabilistic programming as a tool for cognitive modeling. We will use probabilistic generative models to explain aspects of human and artificial cognition. Topics will be drawn from causal and social reasoning, concept learning, and hierarchical abstraction. (Stanford)
CS 428B: Probabilistic Models of Cognition: Language (LINGUIST 238B, PSYCH 220B) (3) ai
How can we understand natural language use in computational terms? This course surveys probabilistic models for natural language semantics and pragmatics. It begins with an introduction to the Rational Speech Acts framework for modeling pragmatics as social reasoning. It then explores a variety of phenomena in language meaning and usage. Probabilistic programming will be used as a precise and practical way to express models. (Stanford)
CS 431: High-level Vision: From Neurons to Deep Neural Networks (13) ai
Interdisciplinary seminar focusing on understanding how computations in the brain enable rapid and efficient object perception. Covers topics from multiple perspectives drawing on recent research in Psychology, Neuroscience, and Computer Science. Emphasis on discussing recent empirical findings, methods and theoretical debates in the field. (Stanford)
CS 432: Computer Vision for Education and Social Science Research (3) ai
Computer vision -- the study of how to design artificial systems that can perform high-level tasks related to image or video data (e.g. recognizing and locating objects in images and behaviors in videos) -- has seen recent dramatic success. In this course, we seek to give education and social science researchers the know-how needed to apply cutting edge computer vision algorithms in their work as well as an opportunity to workshop applications. (Stanford)
CS 448I: Computational Imaging (3) ai
Digital photography and basic image processing, convolutional neural networks for image processing, denoising, deconvolution, single pixel imaging, inverse problems in imaging, proximal gradient methods, introduction to wave optics, time-of-flight imaging, end-to-end optimization of optics and imaging processing. Emphasis is on applied image processing and solving inverse problems using classic algorithms, formal optimization, and modern artificial intelligence techniques. Students learn to apply material by implementing and investigating image processing algorithms in Python. Term project. (Stanford)
CS 470: Music and AI (34) ai
How do we make music with artificial intelligence? What does it mean to do so (and is it even a good idea)? How might we design systems that balance machine automation and human interaction? More broadly, how do we want to live with our technologies? Are there - and ought there be - limits to using AI for art? (And what is Art, anyway?) In this 'critical making' course, students will learn practical tools and techniques for AI-mediated music creation, engineer software systems incorporating AI, HCI and Music, and critically reflect on the aesthetic and ethical dimensions of technology. (Stanford)
CS 498D: Design for Learning: Generative AI for Collaborative Learning (3) ai
Would you like to design ways to use generative AI to help humans learn with other humans? In this course, you will develop creative ways to use generative AI to support collaborative learning, also learning more about AI as researchers continue to improve tools like ChatGPT. In creating new learning activities that could be used at Stanford or in other courses, you will build experience with fundamentals of design, including the design abilities of learning from others, navigating ambiguity, synthesizing information, and experimenting rapidly. You will do this by tackling real design challenges presented by our project partners, which include several Stanford programs, while drawing on your own first-hand experience as students. This class is open to all students, undergraduate and graduate, of any discipline. No previous design experience or experience with AI is required. Just a collaborative spirit and hard work. (Stanford)
CS 520: Knowledge Graphs (1) ai
Knowledge graphs have emerged as a compelling abstraction for organizing world's structured knowledge over the internet, capturing relationships among key entities of interest to enterprises, and a way to integrate information extracted from multiple data sources. Knowledge graphs have also started to play a central role in machine learning and natural language processing as a method to incorporate world knowledge, as a target knowledge representation for extracted knowledge, and for explaining what is being learned. This class is a graduate level research seminar and will include lectures on knowledge graph topics (e.g., data models, creation, inference, access) and invited lectures from prominent researchers and industry practitioners. The seminar emphasizes synthesis of AI, database systems and HCI in creating integrated intelligent systems centered around knowledge graphs. (Stanford)
CPSC 063: Artificial Intelligence (1) ai
Artificial intelligence (AI) can be defined as the branch of computer science that is concerned with the automation of intelligent behavior. Intelligent behavior encompasses a wide range of abilities; as a result, AI has become a very broad field that includes game playing, automated reasoning, expert systems, natural language processing, modeling human performance (cognitive science), planning, and robotics. This course will focus on a subset of these topics and specifically on machine learning, which is concerned with the problem of how to create programs that automatically improve with experience. Machine learning approaches studied typically include neural networks, decision trees, genetic algorithms, and reinforcement techniques. (Swarthmore)
CPSC 065: Natural Language Processing (1) ai
This course is an introduction to the fundamental concepts in natural language processing, the study of human language from a computational perspective. The focus will be on creating statistical algorithms used in the analysis and production of language. Topics to be covered include parsing, morphological analysis, text classification, speech recognition, and machine translation. No prior linguistics experience is necessary. (Swarthmore)
CPSC 066: Machine Learning (1) ai
This course will introduce algorithms and frameworks that train computers to learn from data in order to better complete specific tasks. The first part of the course will focus on the task of making predictions (supervised learning). The course will then cover other areas of the field including structured learning, unsupervised learning, and semi-supervised learning, among others. The course will also develop general machine learning methodologies; frameworks for analyzing and validating algorithms and theoretical foundations. (Swarthmore)
CPSC 072: Computer Vision (1) ai
This course covers the principles of computer vision. (Swarthmore)
CPSC 081: Adaptive Robotics (1) ai
This seminar addresses the problem of controlling robots that will operate in dynamic, unpredictable environments. In laboratory sessions, students will work in groups to program robots to perform a variety of tasks such as navigation to a goal, obstacle avoidance, and vision-based tracking. In discussion sessions, students will examine the major paradigms of robot control through readings from the primary literature with an emphasis on adaptive approaches. (Swarthmore)
CPSC 082: Mobile Robotics (1) ai
This course addresses the problems of controlling and motivating robots to act intelligently in dynamic, unpredictable environments. Major topics will include mechanical design, robot perception, kinematics and inverse kinematics, navigation and control, optimization and learning, and robot simulation techniques. To demonstrate these concepts, we will be looking at mobile robots, robot arms and positioning devices, and virtual agents. Labs will focus on programming robots to execute tasks and to explore and interact with their environment. (Swarthmore)
CSCE 305: Computational Data Science (3) ai
Computational practice of data science through a sequence of interactive modules that provides an integrated hands-on approach to its methods, tools, applications and supporting technologies including high performance and cloud computing platforms. (Texas A&M)
CSCE 320: Principles of Data Science (3) ai
Theoretical foundations, algorithms and methods of deriving valuable insights from data; includes foundations in managing and analyzing data at scale, e.g. big data; data mining techniques and algorithms; exploratory data analysis; statistical methods and models; data visualization. (Texas A&M)
CSCE 420: Artificial Intelligence (3) ai
Fundamental concepts and techniques of intelligent systems; representation and interpretation of knowledge on a computer; search strategies and control; active research areas and applications such as notational systems, natural language understanding, vision systems, planning algorithms, intelligent agents and expert systems. (Texas A&M)
CSCE 421: Machine Learning (3) ai
Theoretical foundations of machine learning, pattern recognition and generating predictive models and classifiers from data; includes methods for supervised and unsupervised learning (decision trees, linear discriminants, neural networks, Gaussian models, non-parametric models, clustering, dimensionality reduction, deep learning), optimization procedures and statistical inference. (Texas A&M)
CSCE 439: Data Analytics for Cybersecurity (3) ai
Theoretical foundations, algorithms and methods of data analytics for cybersecurity; study of data analytics including cluster analysis, supervised machine learning, anomaly detection, and visualization applied to cyber attacks, anomaly detection, vulnerability analysis, strategic manipulation, propaganda and other topics. (Texas A&M)
CSCE 452: Robotics and Spatial Intelligence (3) ai
Algorithms for executing spatial tasks; path planning and obstacle aance in two- and three-dimensional robots--configuration space, potential field, free-space decomposition methods; stable grasping and manipulation; dealing with uncertainty; knowledge representation for planning--geometric and symbolic models of the environment; task-level programming; learning. (Texas A&M)
CS386X: Applied Neural Networks (3) ai
This course builds solely on basic programming skills to introduce the field of deep learning, neural network architectures, and learning algorithms in a way accessible to cadets pursuing a variety of majors. Cadets will develop an understanding of emerging trends and research in the field. Major emphasis is placed on applying neural networks to problems in a variety of domains by training and tuning models for tasks such as pattern recognition, time series prediction, data mining, and optimization. Hands-on exercises, programming assignments, and case studies will provide cadets with valuable experience using state-of-the-art software libraries and pre-trained models (PTMs). The course culminates in an open-ended project of the cadets' choosing but intended to be an application of course content to cadets' personal research projects. (West Point)
CS486: Artificial Intelligence (3) ai
The course provides an introduction to the field of Artificial Intelligence (AI). Cadets will develop an appreciation for the domain of AI and an understanding of the current interest and research in the field. The historical ideas and techniques of AI and the resulting set of concepts will be covered. Classic programs will be covered as well as underlying theory. Topics include a history of computer problem solving, heuristic search techniques, knowledge representation, knowledge engineering, predicate calculus, and expert and/or rule based systems. Advanced topics that may be covered include intelligent agents, genetic algorithms, neural networks, fuzzy logic, robotics, vision, natural language processing, learning, and the programming languages of AI. The course will emphasize the practical application of artificial intelligence to industry and business as well as DoD. (West Point)
CS 180: Intro to Computer Vision and Computational Photography (4) ai
This advanced undergraduate course introduces students to computing with visual data (images and video). We will cover acquisition, representation, and manipulation of visual information from digital photographs (image processing), image analysis and visual understanding (computer vision), and image synthesis (computational photography). Key algorithms will be presented, ranging from classical to contemporary, with an emphasis on using these techniques to build practical systems. The hands-on emphasis will be reflected in the programming assignments, where students will acquire their own images and develop, largely from scratch, image analysis and synthesis tools for real-world applications. (Berkeley)
CS 182: Designing, Visualizing and Understanding Deep Neural Networks (4) ai
Deep Networks have revolutionized computer vision, language technology, robotics and control. They have growing impact in many other areas of science and engineering. They do not however, follow a closed or compact set of theoretical principles. In Yann Lecun's words they require 'an interplay between intuitive insights, theoretical modeling, practical implementations, empirical studies, and scientific analyses.' This course attempts to cover that ground. (Berkeley)
CS 185: Deep Reinforcement Learning, Decision Making, and Control (3) ai
This course will cover the intersection of control, reinforcement learning, and deep learning. This course will provide an advanced treatment of the reinforcement learning formalism, the most critical model-free reinforcement learning algorithms (policy gradients, value function and Q-function learning, and actor-critic), a discussion of model-based reinforcement learning algorithms, an overview of imitation learning, and a range of advanced topics, including exploration, model-based learning with video prediction, transfer learning, multi-task learning, and meta-learning. Homework assignments will cover imitation learning, policy gradients, Q-learning, and model-based reinforcement learning, as well as a final project. (Berkeley)
CS 188: Introduction to Artificial Intelligence (4) ai
Ideas and techniques underlying the design of intelligent computer systems. Topics include search, game playing, knowledge representation, inference, planning, reasoning under uncertainty, machine learning, robotics, perception, and language understanding. (Berkeley)
CS 189: Introduction to Machine Learning (4) ai
Theoretical foundations, algorithms, methodologies, and applications for machine learning. Topics may include supervised methods for regression and classication (linear models, trees, neural networks, ensemble methods, instance-based methods); generative and discriminative probabilistic models; Bayesian parametric learning; density estimation and clustering; Bayesian networks; time series models; dimensionality reduction; programming projects covering a variety of real-world applications. (Berkeley)
CS 285: Deep Reinforcement Learning, Decision Making, and Control (3) ai
Intersection of control, reinforcement learning, and deep learning. Deep learning methods, which train large parametric function approximators, achieve excellent results on problems that require reasoning about unstructured real-world situations (e.g., computer vision, speech recognition, NLP). Advanced treatment of the reinforcement learning formalism, the most critical model-free reinforcement learning algorithms (policy gradients, value function and Q-function learning, and actor-critic), a discussion of model-based reinforcement learning algorithms, an overview of imitation learning, and a range of advanced topics (e.g., exploration, model-based learning with video prediction, transfer learning, multi-task learning, and meta-learning). (Berkeley)
CS C100: Principles & Techniques of Data Science (4) ai
In this course, students will explore the data science lifecycle, including question formulation, data collection and cleaning, exploratory data analysis and visualization, statistical inference and prediction, and decision-making. This class will focus on quantitative critical thinking and key principles and techniques needed to carry out this cycle. These include languages for transforming, querying and analyzing data; algorithms for machine learning methods including regression, classification and clustering; principles behind creating informative data visualizations; statistical concepts of measurement error and prediction; and techniques for scalable data processing. (Berkeley)
CSE 150A: Introduction to Artificial Intelligence: Probabilistic Reasoning and Decision-Making (4) ai
Introduction to probabilistic models at the heart of modern artificial intelligence. Specific topics to be covered include probabilistic methods for reasoning and decision-making under uncertainty; inference and learning in Bayesian networks; prediction and planning in Markov decision processes; applications to intelligent systems, speech and natural language processing, information retrieval, and robotics. (UCSD)
CSE 150B: Introduction to Artificial Intelligence: Search and Reasoning (4) ai
The course will introduce important ideas and algorithms in search and reasoning and demonstrate how they are used in practical AI applications. Topics include A* search, adversarial search, Monte Carlo tree search, reinforcement learning, constraint solving and optimization, propositional and first-order reasoning. (UCSD)
CSE 151A: Machine Learning: Learning Algorithms (4) ai
Broad introduction to machine learning. The topics include some topics in supervised learning, such as k-nearest neighbor classifiers, decision trees, boosting, and perceptrons; and topics in unsupervised learning, such as k-means and hierarchical clustering. In addition to the actual algorithms, the course focuses on the principles behind the algorithms. (UCSD)
CSE 151B: Deep Learning (4) ai
This course covers the fundamentals of neural networks. We introduce linear regression, logistic regression, perceptrons, multilayer networks and back-propagation, convolutional neural networks, recurrent networks, and deep networks trained by reinforcement learning. (UCSD)
CSE 152A: Introduction to Computer Vision I (4) ai
This course provides a broad introduction to the foundations, algorithms, and applications of computer vision. It introduces classical models and contemporary methods, from image formation models to deep learning, to address problems of 3-D reconstruction and object recognition from images and video. (UCSD)
CSE 152B: Introduction to Computer Vision II (4) ai
This course covers advanced topics needed to apply computer vision in industry or follow current research. Example topics include real-time systems for 3-D computer vision, machine learning tools such as support-vector machine (SVM) and boosting for image classification, and deep neural networks for object detection and semantic segmentation. (UCSD)
CSE 156: Statistical Natural Language Processing (4) ai
Natural language processing (NLP) is a field of AI which aims to equip computers with the ability to intelligently process natural (human) language. This course will explore statistical techniques for the automatic analysis of natural language data. Specific topics covered include probabilistic language models, which define probability distributions over text passages; text classification; sequence models; parsing sentences into syntactic representations; and machine translation. (UCSD)
CSE 158: Recommender Systems and Web Mining (4) ai
Current methods for data mining and predictive analytics. Emphasis is on studying real-world data sets, building working systems, and putting current ideas from machine learning research into practice. (UCSD)
CSE 158R: Recommender Systems and Web Mining (4) ai
Current methods for data mining and predictive analytics. Emphasis is on studying real-world data sets, building working systems, and putting current ideas from machine learning research into practice. This will be a fully online class based on extensive educational materials and an online educational platform. (UCSD)
CSE 176A: Health Care Robotics (4) ai
Robotics has the potential to improve well-being for millions of people and support caregivers and to aid the clinical workforce. We bring together engineers, clinicians, and end users to explore this exciting new field. The course is project-based, interactive, and hands-on, and involves working closely with stakeholders to develop prototypes that solve real-world problems. Students will explore the latest research in health care robotics, human-robot teaming, and health design. (UCSD)
CSE 184: Computational Molecular Biology (4) ai
This advanced course covers the application of machine learning and modeling techniques to biological systems. Topics include gene structure, recognition of DNA and protein sequence patterns, classification, and protein structure prediction. (UCSD)
CMPSC 165A: Artificial Intelligence (4) ai
Introduction to the field of artificial intelligence, which seeks to understand and build intelligent computational systems. Topics include intelligent agents, problem solving and heuristic search, knowledge representation and reasoning, uncertainty and probabilistic reasoning, machine learning, reinforcement learning, and responsible AI. (UCSB)
CMPSC 165B: Machine Learning (4) ai
Covers the most important techniques of machine learning (ML) and includes discussions of: well-posed learning problems; artificial neural networks; concept learning and general to specific ordering; decision tree learning; genetic algorithms; Bayesian learning; analytical learning; and others. (UCSB)
CMPSC 181: Introduction to Computer Vision (4) ai
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. (UCSB)
CS 412: Introduction to Data Mining (3) ai
Concepts, techniques, and systems of data warehousing and data mining. Design and implementation of data warehouse and on-line analytical processing (OLAP) systems; data mining concepts, methods, systems, implementations, and applications. (Illinois)
CS 440: Artificial Intelligence (3) ai
Major topics in and directions of research in artificial intelligence: basic problem solving techniques, knowledge representation and computer inference, machine learning, natural language understanding, computer vision, robotics, and societal impacts. Same as ECE 448. (Illinois)
CS 441: Applied Machine Learning (3) ai
Techniques of machine learning to various signal problems: regression, including linear regression, multiple regression, regression forest and nearest neighbors regression; classification with various methods, including logistic regression, support vector machines, nearest neighbors, simple boosting and decision forests; clustering with various methods, including basic agglomerative clustering and k-means; resampling methods, including cross-validation and the bootstrap; model selection methods, including AIC, stepwise selection and the lasso; hidden Markov models; model estimation in the presence of missing variables; and neural networks, including deep networks. The course will focus on tool-oriented and problem-oriented exposition. Application areas include computer vision, natural language, interpreting accelerometer data, and understanding audio data. (Illinois)
CS 442: Trustworthy Machine Learning (3) ai
Prepares students to understand the security and privacy problems in machine learning and educates students to propose different attack strategies to identify the vulnerabilities of a range of learning algorithms and understand different defense approaches towards trustworthy machine learning systems. (Illinois)
CS 443: Reinforcement Learning (3) ai
Fundamental concepts and basic algorithms in Reinforcement Learning (RL) - a machine learning paradigm for sequential decision-making. (Illinois)
CS 444: Deep Learning for Computer Vision (3) ai
Provides an elementary hands-on introduction to neural networks and deep learning with an emphasis on computer vision applications. (Illinois)
CS 445: Computational Photography (3) ai
Computer vision techniques to enhance, manipulate, and create media from photo collections, such as panoramic stitching, face morphing, texture synthesis, blending, and 3D reconstruction. (Illinois)
CS 446: Machine Learning (3) ai
Principles and applications of machine learning. Main paradigms and techniques, including discriminative and generative methods, reinforcement learning: linear regression, logistic regression, support vector machines, deep nets, structured methods, dimensionality reduction, k-means, Gaussian mixtures, expectation maximization, Markov decision processes, and Q-learning. (Illinois)
CS 447: Natural Language Processing (3) ai
Part-of-speech tagging, parsing, semantic analysis and machine translation. Relevant linguistics concepts from morphology (word formation) and lexical semantics (the meaning of words) to syntax (sentence structure) and compositional semantics (the meaning of sentences). (Illinois)
CS 448: Audio Computing Laboratory (3) ai
Computational foundations of modern audio applications: theory of audio processing for implementation of applications such as room and 3D/virtual audio rendering, pitch manipulations and autotuning, denoising for communications and forensics, audio classification, music information retrieval based on audio, rudimentary speech recognition, speech and audio coding, applications of machine learning to audio scene recognition, audio restoration, missing data recovery, and many more. (Illinois)
CS 466: Introduction to Bioinformatics (3) ai
Algorithmic approaches in bioinformatics: (i) biological problems that can be solved computationally (e.g., discovering genes, and interactions among different genes and proteins); (ii) algorithmic techniques with wide applicability in solving these problems (e.g., dynamic programming and probabilistic methods); (iii) practical issues in translating the basic algorithmic ideas into accurate and efficient tools that biologists may use. (Illinois)
CS 469: Computational Advertising Infrastructure (3) ai
Thorough coverage of technologies including web-search, auctions, behavioral targeting, mechanisms for viral marketing, that underpin the display of advertisements on a variety of locations (e.g., ads on search engines; display ads). Students shall also learn about emerging areas in computational advertising including location-based adverting and algorithmic synthesis of personalized advertisements. Discussion around privacy will be a significant focus of the class. (Illinois)
CS 372M: Machine Learning for Data Science (4) ai
Introduction to Machine Learning, with an emphasis on topics relevant for data science. (UO)
CS 453: Data Mining (4) ai
Databases, machine learning, artificial intelligence, statistics, and data visualization. Examines data warehouses, data preprocessing, association and classification rule mining, and cluster analysis. (UO)
CS 471: Introduction to Artificial Intelligence (4) ai
Basic themes, issues, and techniques of artificial intelligence, including agent architecture, knowledge representation and reasoning, problem solving and planning, game playing, and learning. (UO)
CS 472: Machine Learning (4) ai
A broad introduction to machine learning and its established algorithms. Topics include concept learning, decision trees, neural network. (UO)
CS 473: Probabilistic Methods for Artificial Intelligence (4) ai
Fundamental techniques for representing problems as probability distributions, performing inference, and learning from data. Topics include Bayesian and Markov networks, variable elimination, loopy belief propagation, and parameter. (UO)
CIS 2450: Big Data Analytics (1) ai
In the new era of big data, we are increasingly faced with the challenges of processing vast volumes of data. Given the limits of individual machines (compute power, memory, bandwidth), increasingly the solution is to process the data in parallel on many machines. This course focuses on the fundamentals of scaling computation to handle common data analytics tasks. You will learn about basic tasks in collecting, wrangling, and structuring data; programming models for performing certain kinds of computation in a scalable way across many compute nodes; common approaches to converting algorithms to such programming models; standard toolkits for data analysis consisting of a wide variety of primitives; and popular distributed frameworks for analytics tasks such as filtering, graph analysis, clustering, and classification. (Penn)
CIS 3900: Robotics: Planning Perception (1) ai
This introductory course will present basic principles of robotics with an emphasis to computer science aspects. Algorithms for planning and perception will be studied and implemented on actual robots. While planning is a fundamental problem in artificial intelligence and decision making, robot planning refers to finding a path from A to B in the presence of obstacles and by complying with the kinematic constraints of the robot. Perception involves the estimation of the robots motion and path as well as the shape of the environment from sensors. In this course, algorithms will be implemented in Python on mobile platforms on ground and in the air. No prior experience with Python is needed but we require knowledge of data structures, linear algebra, and basic probability. (Penn)
CIS 4190: Applied Machine Learning (1) ai
Machine learning has been essential to the success of many recent technologies, including autonomous vehicles, search engines, genomics, automated medical diagnosis, image recognition, and social network analysis, among many others. This course will introduce the fundamental concepts and algorithms that enable computers to learn from experience, with an emphasis on their practical application to real problems. This course will introduce supervised learning (decision trees, logistic regression, support vector machines, Bayesian methods, neural networks and deep learning), unsupervised learning (clustering, dimensionality reduction), and reinforcement learning. Additionally, the course will discuss evaluation methodology and recent applications of machine learning, including large scale learning for big data and network analysis. (Penn)
CIS 4210: Artificial Intelligence (1) ai
This course investigates algorithms to implement resource-limited knowledge-based agents which sense and act in the world. Topics include, search, machine learning, probabilistic reasoning, natural language processing, knowledge representation and logic. After a brief introduction to the language, programming assignments will be in Python. (Penn)
CIS 4300: Natural Language Processing (1) ai
This course provides an overview of the field of natural language processing. The goal of the field is to build technologies that will allow machines to understand human languages. Applications include machine translation, automatic summarization, question answering systems, and dialog systems. NLP is used in technologies like Amazon Alexa and Google Translate. (Penn)
CIS 4810: Computer Vision & Computational Photography (1) ai
This is an introductory course to Computer Vision and Computational Photography. This course will explore three topics: 1) image morphing, 2) image matching and stitching, and 3) image recognition. This course is intended to provide a hands-on experience with interesting things to do on images/videos. The world is becoming image-centric. Cameras are now found everywhere, in our cell phones, automobiles, even in medical surgery tools. Computer vision technology has led to latest innovations in areas such as Hollywood movie production, medical diagnosis, biometrics, and digital library. This course is suited for students from all Engineering backgrounds, who have the basic knowledge of linear algebra and programming, and a lot of imagination. (Penn)
CIS 5190: Applied Machine Learning (1) ai
Machine learning has been essential to the success of many recent technologies, including autonomous vehicles, search engines, genomics, automated medical diagnosis, image recognition, and social network analysis, among many others. This course will introduce the fundamental concepts and algorithms that enable computers to learn from experience, with an emphasis on their practical application to real problems. This course will introduce supervised learning (decision trees, logistic regression, support vector machines, Bayesian methods, neural networks and deep learning), unsupervised learning (clustering, dimensionality reduction), and reinforcement learning. Additionally, the course will discuss evaluation methodology and recent applications of machine learning, including large scale learning for big data and network analysis. (Penn)
CIS 5200: Machine Learning (1) ai
This course covers the foundations of statistical machine learning. The focus is on probabilistic and statistical methods for prediction and clustering in high dimensions. Topics covered include linear and logistic regression, SVMs, PCA and dimensionality reduction, EM and HMMs, and deep learning. Elementary probability, calculus, and linear algebra. Basic programming experience. (Penn)
CIS 5210: Artificial Intelligence (1) ai
This course investigates algorithms to implement resource-limited knowledge-based agents which sense and act in the world. Topics include, search, machine learning, probabilistic reasoning, natural language processing, knowledge representation and logic. After a brief introduction to the language, programming assignments will be in Python. (Penn)
CIS 5220: Deep Learning for Data Science (1) ai
Deep learning techniques now touch on data systems of all varieties. Sometimes, deep learning is a product; sometimes, deep learning optimizes a pipeline; sometimes, deep learning provides critical insights; sometimes, deep learning sheds light on neuroscience or vice versa. The purpose of this course is to deconstruct the hype by teaching deep learning theories, models, skills, and applications that are useful for applications. (Penn)
CIS 5260: Machine Translation (1) ai
Google translate can instantly translate between any pair of over fifty human languages (for instance, from French to English). How does it do that? Why does it make the errors that it does? And how can you build something better? Modern translation systems like Google Translate and Bing Translator learn how to translate by reading millions of words of already translated text, and this course will show you how they work. The course covers a diverse set of fundamental building blocks from linguistics, machine learning, algorithms, data structures , and formal language theory, along with their application to a real and difficult problem in artificial intelligence. (Penn)
CIS 5300: Natural Language Processing (1) ai
This course provides an overview of the field of natural language processing. The goal of the field is to build technologies that will allow machines to understand human languages. Applications include machine translation, automatic summarization, question answering systems, and dialog systems. NLP is used in technologies like Amazon Alexa and Google Translate. We highly recommend experience in machine learning to be successful in this course, along with a background in data structures and algorithms. (Penn)
CIS 5450: Big Data Analytics (1) ai
In the new era of big data, we are increasingly faced with the challenges of processing vast volumes of data. Given the limits of individual machines (compute power, memory, bandwidth), increasingly the solution is to process the data in parallel on many machines. This course focuses on the fundamentals of scaling computation to handle common data analytics tasks. You will learn about basic tasks in collecting, wrangling, and structuring data; programming models for performing certain kinds of computation in a scalable way across many compute nodes; common approaches to converting algorithms to such programming models; standard toolkits for data analysis consisting of a wide variety of primitives; and popular distributed frameworks for analytics tasks such as filtering, graph analysis, clustering, and classification. (Penn)
CIS 5800: Machine Perception (1) ai
An introduction to the problems of computer vision and other forms of machine perception that can be solved using geometrical approaches rather than statistical methods. Emphasis will be placed on both analytical and computational techniques. This course is designed to provide students with an exposure to the fundamental mathematical and algorithmic techniques that are used to tackle challenging image based modeling problems. The subject matter of this course finds application in the fields of Computer Vision, Computer Graphics and Robotics. Some of the topics to be covered include: Projective Geometry, Camera Calibration, Image Formation, Projective, Affine and Euclidean Transformations, Computational Stereopsis, and the recovery of 3D structure from multiple 2D images. This course will also explore various approaches to object recognition that make use of geometric techniques, these would include alignment based methods and techniques that exploit geometric invariants. In the assignments for this course, students will be able to apply the techniques to actual computer vision problems. This course is appropriate as an upper-level undergraduate CIS elective. (Penn)
CIS 5810: Computer Vision & Computational Photography (1) ai
This is an introductory course to Computer Vision and Computational Photography. This course will explore three topics: 1) image morphing, 2) image matching and stitching, and 3) image recognition. This course is intended to provide a hands-on experience with interesting things to do on images/videos. The world is becoming image-centric. Cameras are now found everywhere, in our cell phones, automobiles, even in medical surgery tools. Computer vision technology has led to latest innovations in areas such as Hollywood movie production, medical diagnosis, biometrics, and digital library. This course is suited for students from all Engineering backgrounds, who have the basic knowledge of linear algebra and programming, and a lot of imagination. (Penn)
CSCI 360: Introduction to Artificial Intelligence (4) ai
Concepts and algorithms underlying the understanding and construction of intelligent systems. Agents, problem solving, search, representation, reasoning, planning, machine learning. (USC)
CMPU 319: Modeling Minds, Brains, and Behavior (1) ai
This course explores computational models as a powerful tool for developing and testing scientific theories in cognitive science. (Vassar)
CMPU 365: Artificial Intelligence (1) ai
An introduction to Artificial Intelligence as a discipline of Computer Science, covering the traditional foundations of the field and a selection of recent advances. Traditional topics include: search, two-player adversarial games, constraint satisfaction, knowledge representation and reasoning, and planning. Additional topics will vary from year to year and will be selected from the following: reasoning about time, probabilistic reasoning, neural networks, philosophical foundations, multiagent systems, robotics, and recent advances in planning. Significant programming assignments and a course project complement the material presented in class. (Vassar)
CMPU 366: Computational Linguistics (1) ai
Addresses the fundamental question at the intersection of human languages and computer science: how can computers acquire, comprehend and produce natural languages such as English? Introduces computational methods for modeling human language, including morphology, syntax, semantics and discourse; corpus-based and statistical methods for language analysis; and natural language applications such as information extraction and retrieval, summarization, and machine translation. Students gain experience with sophisticated systems for linguistic analysis and machine learning. (Vassar)
CMPU 395: Advanced Special Topics (1) ai
In the first part of this course, we focus on robot architectures and the integration of mechanism, electronics, sensors, actuators, and computer control to achieve a functional robot. The course introduces the basic concepts of robotics, focusing on the construction and programming of autonomous or teleoperated robots. The second part focuses on Human-Robot Interaction (HRI), envisioning a future where robots integrate into our daily routines. From hospitals and offices to shops and homes, even within factories, robots play an increasingly prominent role in our lives. HRI is concerned with the problem of making this interaction intuitive, natural and effective. It is a multidisciplinary field and includes elements of engineering, computer science, robotics, psychology, sociology, and design. This course explores the way in which these disciplines contribute to the field of robotics and it gives the foundation needed to develop robot systems capable of effective human interaction. Through a blend of lectures, readings, and interactive in-class discussions, students gain a comprehensive understanding of this dynamic field. (Vassar)
CSE 217A: Introduction to Data Science (3) ai
This course provides an introduction to data science and machine learning, and it focuses on the practical application of models to real-world supervised and unsupervised learning problems. We will discuss methods for linear regression, classification, and clustering and apply them to perform sentiment analysis, implement a recommendation system, and perform image classification or gesture recognition. (Washington U.)
CSE 311A: Introduction to Intelligent Agents Using Science Fiction (3) ai
The course uses science-fiction short stories, TV episodes, and movies to motivate and introduce fundamental principles and techniques in intelligent agent systems. Topics covered may include game theory, decision theory, machine learning, distributed algorithms, and ethics. (Washington U.)
CSE 316A: Social Network Analysis (3) ai
This course looks at social networks and markets through the eyes of a computer scientist. We will look at questions including, 'Why are acquaintances rather than friends more likely to get us job opportunities?' and, 'Why do the rich get richer?' We begin by studying graph theory (allowing us to study the structure) and game theory (allowing us to study the interactions) of social networks and market behavior at the introductory level. Among other topics, we will study auctions, epidemics, and the structure of the internet (including web searches). This course examines the intersection of computer science, economics, sociology, and applied mathematics. (Washington U.)
CSE 412A: Introduction to Artificial Intelligence (3) ai
The discipline of artificial intelligence (AI) is concerned with building systems that think and act like humans or rationally on some absolute scale. This course is an introduction to the field, with special emphasis on sound modern methods. The topics include knowledge representation, problem solving via search, game playing, logical and probabilistic reasoning, planning, dynamic programming, and reinforcement learning. Programming exercises concretize the key methods. The course targets graduate students and advanced undergraduates. Evaluation is based on written and programming assignments, a midterm exam and a final exam. (Washington U.)
CSE 416A: Analysis of Network Data (3) ai
This course examines complex systems through the eyes of a computer scientist. We will use the representative power of graphs to model networks of social, technological, or biological interactions. Network analysis provides many computational, algorithmic, and modeling challenges. We begin by studying graph theory, allowing us to quantify the structure and interactions of social and other networks. We will then explore how to practically analyze network data and how to reason about it through mathematical models of network structure and evolution. We will also investigate algorithms that extract basic properties of networks in order to find communities and infer node properties. Finally, we will study a range of applications including robustness and fragility of networks such as the internet, spreading processes used to study epidemiology or viral marketing, and the ranking of webpages based on the structure of the webgraph. This course combines concepts from computer science and applied mathematics to study networked systems using data mining. (Washington U.)
CSE 417T: Introduction to Machine Learning (3) ai
The field of machine learning is concerned with the question of how to construct computer programs that automatically improve with experience. This course is a broad introduction to machine learning, covering the foundations of supervised learning and important supervised learning algorithms. Topics to be covered are the theory of generalization (including VC-dimension, the bias-variance tradeoff, validation, and regularization) and linear and non-linear learning models (including linear and logistic regression, decision trees, ensemble methods, neural networks, nearest-neighbor methods, and support vector machines. (Washington U.)
CS 232: Artificial Intelligence (1) ai
What is artificial intelligence (AI) and should humans fear it as one of 'our biggest existential threats'? In this course, we will grapple with these difficult questions and investigate them in different ways. We will discuss the development of the field from the symbolic, knowledge-rich approaches of the 20th century AI (e.g., rule-based systems), to statistical approaches that rely on increasingly large amounts of data, including an overview of contemporary deep learning techniques. We will explore how to apply these techniques in several AI application areas, including robotics, computer vision, and natural language processing, and consider ethical issues around AI in society. By the end of the semester, students should be able to answer the starting questions in-depth and with nuance. (Wellesley)
CS 234: Data, Analytics, and Visualization (1) ai
As the number of our digital traces continues to grow, so does the opportunity for discovering meaningful patterns in these traces. In this course, students will initially learn how to collect, clean, format, and store data from digital platforms. By adopting a computational approach to statistical analysis, students will then implement in code different statistical metrics and simulation scenarios for hypothesis testing and estimation. Finally, students will generate meaningful visualizations for data exploration and communicating results. Additionally, we will discuss the ethics of data collection and think critically about current practices of experimenting with online users. Students will work in groups to create their own datasets, ask an interesting question, perform statistical analyses and visualizations, and report the results. (Wellesley)
CS 244: Machine Learning (1) ai
Machine learning is the science of teaching computers how to learn from observations. It is ubiquitous in our interactions with society, such as in face recognition, web search, targeted advertising, speech processing, and genetic analysis. It is currently at the forefront of research in artificial intelligence, and has been making rapid strides given the vast availability of data today. This course is a broad introduction to the field, covering the theoretical ideas behind widely used algorithms like decision trees, linear regression, support vector machines, and many more. We will also study practical applications of these algorithms to problems in a variety of domains, including vision, speech, language, medicine, and the social sciences. (Wellesley)
CS 333: Natural Language Processing (1) ai
Natural Language Processing (NLP) is the subfield of CS that focuses on language technology. Because language is one of the most complex human abilities, building computational technologies that involve language is both challenging and important. This course introduces NLP methods and applications. Students will (1) learn core NLP algorithms and models; (2) explore the challenges posed by different aspects of human language; (3) learn to evaluate ethical concerns about language technology; and (4) complete a series of projects to implement and improve NLP models. We will cover a range of techniques, including n-gram models, Bayesian classifiers, neural networks, and deep learning. Applications include parsing, sentiment analysis, machine translation, and language generation, as well as information retrieval tasks like summarization, topic modeling, and question-answering. (Wellesley)
CS 344: Deep Learning (1) ai
Deep learning is the study of how computers can learn from data in a manner inspired by neural connections in the human brain. It is revolutionizing how people and machines interact. This course explores the principles and practice of modern deep learning systems. Students will design and implement their own artificial neural networks as well as analyze massive deep learning models at the forefront of the field of machine learning. Deep learning algorithms such as convolutional neural networks and recurrent neural networks will be applied in a variety of domains, including medical diagnosis, self-driving cars, and large-language models. Students will further investigate the societal impacts and ethical considerations of these deep learning systems. (Wellesley)
CS 349: Probabilistic Foundations of Machine Learning (1) ai
In recent years, Artificial Intelligence has enabled applications that were previously not thought possible—from systems that propose novel drugs or generate new art/music, to systems that accurately and reliably predict outcomes of medical interventions in real-time. But what has enabled these developments? Probabilistic Machine Learning, a paradigm that casts recent advances in Machine Learning, like neural networks, into a statistical learning framework. In this course, we introduce the foundational concepts behind this paradigm—statistical model specification, and statistical learning and inference—focusing on connecting theory with real-world applications and hands-on practice. This course lays the foundation for advanced study and research in Machine Learning. Topics include: directed graphical models, deep Bayesian regression/classification, generative models (latent variable models) for clustering, dimensionality reduction, and time-series forecasting. Students will get hands-on experience building models for specific tasks ,most taken from healthcare contexts, using a probabilistic programming language based in Python. (Wellesley)
COMP 341: Artificial Intelligence (1) ai
This course is an introduction to creating programs that appear to behave intelligently. Topics will include search algorithms for problem solving, as well as probabilistic reasoning, including regression, classification, and decision making. Sample topics include Bayesian networks, basic neural networks and reinforcement learning. (Wesleyan)
COMP 343: Machine Learning (1) ai
This course will provide an introduction to machine learning. The field of machine learning studies how to design systems that learn from experience. We will cover fundamental concepts and algorithms used in machine learning, as well as give an introduction to basic probability and statistics. Sample topics include regression, classification, Bayesian networks, Gibbs sampling, particle filtering, maximum likelihood estimation, neural networks, deep learning, clustering, bias/variance trade-offs, cross-validation, and practical advice. Programming assignments will be done using Python; prior knowledge of Python is not required. (Wesleyan)
COMP 353: Robotics (1) ai
Students will use hands-on projects, building and programming Arduino-based robots to learn about the field of robotics. Topics will include perception, locomotion, localization, common programming frameworks for robotics, and ethical considerations. Some background in electronics and mechanical construction may be helpful but is not required. (Wesleyan)
CSCI 345: Robotics and Digital Fabrication (1) ai
This course is a hands-on exploration of topics in robotics and digital fabrication. We will experience firsthand how ideas and methods from computer science can be applied to make physical objects, including robots and other machines. The emphasis will be on creative, hands-on experimentation. Along the way, students will learn the basics of embedded systems programming (Arduino), breadboarding, soldering, printed circuit board (PCB) design, mechanical computer-aided design (CAD)--both conventional (OnShape) and programmatic (OpenSCAD)--as well digital fabrication (3D-printing, laser cutting). Students will learn both how to build their own prototypes and how to send out designs to have parts machined professionally. Students will work in teams throughout. The course will culminate in a team robotic design competition testing both functionality and creativity. (Williams)
CSCI 373: Artificial Intelligence (1) ai
Artificial Intelligence (AI) has become part of everyday life, but what is it, and how does it work? This course introduces theories and computational techniques that serve as a foundation for the study of artificial intelligence. Potential topics include the following: Problem solving by search, Logic, Planning, Constraint satisfaction problems, Reasoning under uncertainty, Probabilistic graphical models, and Automated Learning. (Williams)
CSCI 374: Machine Learning (1) ai
Machine learning is a field that derives from artificial intelligence and statistics, and is concerned with the design and analysis of computer algorithms that 'learn' automatically through the use of data. Computer algorithms are capable of discerning subtle patterns and structure in the data that would be practically impossible for a human to find. As a result, real-world decisions, such as treatment options and loan approvals, are being increasingly automated based on predictions or factual knowledge derived from such algorithms. This course explores topics in supervised learning (e.g., random forests and neural networks), unsupervised learning (e.g., k-means clustering and expectation maximization), and possibly reinforcement learning (e.g., Q-learning and temporal difference learning.) It will also introduce methods for the evaluation of learning algorithms (with an emphasis on analysis of generalizability and robustness of the algorithms to distribution/environmental shift), as well as topics in computational learning theory and ethics. (Williams)
CSCI 375: Natural Language Processing (1) ai
Natural language processing (NLP) is a set of methods for making human language accessible to computers. NLP underlies many technologies we use on a daily basis including automatic machine translation, search engines, email spam detection, and automated personalized assistants. These methods draw from a combination of algorithms, linguistics and statistics. This course will provide a foundation in building NLP models to classify, generate, and learn from text data. (Williams)
CSCI 378: Human Artificial Intelligence Interaction (1) ai
Artificial intelligence (AI) is already transforming society and every industry today. In order to ensure that AI serves the collective needs of humanity, we as computer scientists must guide AI so that it has a positive impact on the human experience. This course is an introduction to harnessing the power of AI so that it benefits people and communities. We will cover a number of general topics such as: agency and initiative, AI and ethics, bias and transparency, confidence and errors, human augmentation and amplification, trust and explainability, and mixed-initiative systems. We explore these topics via readings and projects across the AI spectrum, including: dialog and speech-controlled systems, computer vision, data science, recommender systems, text summarization, and UI personalization, among others. (Williams)
CSCI 379: Causal Inference (1) ai
Does X cause Y? If so, how? And what is the strength of this causal relation? Seeking answers to such causal (as opposed to associational) questions is a fundamental human endeavor; the answers we find can be used to support decision-making in various settings such as healthcare and public policy. But how does one tease apart causation from association--early in our statistical education we are taught that 'correlation does not imply causation.' In this course, we will re-examine this phrase and learn how to reason with confidence about the validity of causal conclusions drawn from messy real-world data. We will cover core topics in causal inference including causal graphical models, unsupervised learning of the structure of these models, expression of causal quantities as functions of observed data, and robust/efficient estimation of these quantities using statistical and machine learning methods. Concepts in the course will be contextualized via regular case studies. (Williams)
CSCI 381: Deep Learning (1) ai
This course is an introduction to deep neural networks and how to train them. Beginning with the fundamentals of regression and optimization, the course then surveys a variety of neural network architectures, which may include multilayer feedforward neural networks, convolutional neural networks, recurrent neural networks, and transformer networks. Students will also learn how to use deep learning software such as PyTorch or Tensorflow. (Williams)
CPSC 370: Artificial Intelligence (1) ai
How can we enable computers to make rational, intelligent decisions? This course explores fundamental techniques for Artificial Intelligence (AI), covering topics such as search, planning, learning, and reasoning under uncertainty. (Yale)
CPSC 381: Introduction to Machine Learning (1) ai
This course focuses on fundamental topics in machine learning. We begin with an overview of different components of machine learning and types of learning paradigms. (Yale)
CPSC 474: Computational Intelligence for Games (1) ai
Introduction to techniques used for creating computer players for games, particularly board games. (Yale)
CPSC 475: Computational Vision and Biological Perception (1) ai
An overview of computational vision with a biological emphasis. (Yale)
CPSC 483: Deep Learning on Graph-Structured Data (1) ai
Graph structure emerges in many important domain applications, including but not limited to computer vision, natural sciences, social networks, languages and knowledge graphs. (Yale)