This course introduces the principles, methods, and applications of foundation models and generative AI, i.e., two areas that increasingly shape the frontiers of machine learning. Foundation models are large-scale models pretrained on broad and diverse data, capable of adapting to a wide range of downstream tasks across modalities. While not all foundation models are generative, many leverage generative modeling techniques, such as autoregressive prediction, variational inference, diffusion processes, and flow-based transformations, to learn expressive representations and enable open-ended generation. 

The course begins with the core generative model families, covering their objectives, mathematical foundations, and applications in language, vision, and scientific domains. It then transitions to the design and scaling of foundation models, focusing on tokenization across modalities, architectural choices, and training strategies. Students will explore multi-modal learning, prompting, adaptation (e.g. fine-tuning, test-time training), and the role of reinforcement learning in aligning model behavior with desired outcomes.

Throughout, the course highlights how foundation models and generative AI increasingly intersect, particularly in the development of world models, where learned generative representations support simulation, planning, and decision-making. 

Through lectures, assignments, and hands-on exercises, students will gain both theoretical and practical understanding of the foundations, capabilities, and frontiers of generative and foundation models, and their growing impact across scientific and engineering domains.

A decentralized system is one that works when no single party is in charge or fully trusted. This course teaches decentralized systems principles while guiding students through the engineering of their own decentralized system featuring messaging, file sharing, encryption, and blockchain concepts.