Education

Courses Offered

ECE 303/403: Accelerated Computing for Deep Learning (concurrently with DSCI 421: Accelerated Computing for Machine Learning)

In today’s world of ever-growing datasets and complex computations, traditional CPUs often struggle to keep up with the demand for high-performance computing. Graphics Processing Units (GPUs), originally designed for rendering graphics, have emerged as powerful accelerators for a wide range of computational tasks.

This course explores the fundamentals of GPU computing, providing a hands-on introduction to parallel programming using different programming frameworks including CUDA C/C++, OpenACC, and RAPIDS. Students will learn essential concepts such as memory allocation strategies, multidimensional kernel configurations, and kernel-based parallel programming. We also cover fundamental parallel algorithm principles and patterns that drive high-performance applications. We explore deep learning algorithms such as Convolutional Neural Networks (CNNs), Stochastic Gradient Descent, and backpropagation, demonstrating their implementation and optimization on GPUs.

ECE 340/440: Introduction to Online and Reinforcement Learning

In today’s cyber-physical-human world, learning to make optimal decisions in interactive systems is critical. Reinforcement learning is an important and powerful paradigm for doing so, with wide ranging applications including robotics, energy distribution, game playing, consumer modeling and healthcare.

This class covers the basics of reinforcement learning starting with the framework (actions in response to changing environment), and bandit problems, we study different methods within that framework including dynamic programming, Monte Carlo methods, temporal difference and Q-learning. While this course is targeted at students with some mathematical background (junior engineering level), we cover the basics of probability and random processes that are essential to understanding the reinforcement learning framework. Through the course we explore both the theory and practice of reinforcement learning using relevant example applications.

The course is lecture based, with both written and coding (Python) assignments, and a project.

 

Comments are closed.

Powered by: Wordpress
Skip to toolbar