- Modern C++ for Computer Vision
- 3D Coordinate Systems
- Photogrammetry I
- Mobile Sensing and Robotics I
- Photogrammetry II
- Mobile Sensing and Robotics II
- Techniques for Self-Driving Cars
- Master Project
This program aims to reunite researchers across disciplines that have played a role in developing the theory of reinforcement learning. It will review past developments and identify promising directions of research, with an emphasis on addressing existing open problems, ranging from the design of efficient, scalable algorithms for exploration to how to control learning and planning. It also aims to deepen the understanding of model-free vs. model-based learning and control, and the design of efficient methods to exploit structure and adapt to easier environments.
The program focused on the following four themes:
- Optimization: How and why can deep models be fit to observed (training) data?
- Generalization: Why do these trained models work well on similar but unobserved (test) data?
- Robustness: How can we analyze and improve the performance of these models when applied outside their intended conditions?
- Generative methods: How can deep learning be used to model probability distributions?
This course will introduce the student to classic neural network structures, Convolution Neural Networks (CNN), Long Short-Term Memory (LSTM), Gated Recurrent Neural Networks (GRU), General Adversarial Networks (GAN) and reinforcement learning. Application of these architectures to computer vision, time series, security, natural language processing (NLP), and data generation will be covered. High Performance Computing (HPC) aspects will demonstrate how deep learning can be leveraged both on graphical processing units (GPUs), as well as grids. Focus is primarily upon the application of deep learning to problems, with some introduction to mathematical foundations. Students will use the Python programming language to implement deep learning using Google TensorFlow and Keras.
Learn AI from Stanford professors Christopher Manning, Andrew Ng, and Emma Brunskill. Free online course videos in Deep Learning, Reinforcement Learning, and Natural Language Processing.
The PUNLAG seminar is intended to supplement the numerical linear algebra course sequence at Purdue. The standard course CS515 doesn't have room for a number of interesting problems -- we hope to cover some in this seminar!
- survey several important computational problems for which the traditional worst-case analysis of algorithms is ill-suited
- study systematically alternatives to worst-case analysis
The textbook An Introduction to the Analysis of Algorithms by Robert Sedgewick and Phillipe Flajolet overviews the primary techniques used in the mathematical analysis of algorithms.
The textbook Analytic Combinatorics by Philippe Flajolet and Robert Sedgewick enables precise quantitative predictions of the properties of large combinatorial structures.
This course covers the design and implementation of distributed systems. Students will gain an understanding of the principles and techniques behind the design of modern, reliable, and high-performance distributed systems. Topics include server design, network programming, naming, concurrency and locking, consistency models and techniques, security, and fault tolerance. Modern techniques and systems employed at some of the largest Internet sites (e.g., Google, Facebook, Amazon) will also be covered. Through programming assignments, students will gain practical experience designing, implementing, and debugging real distributed systems.