teaching

Courses being taught by Prof. Mark Crowley.

Topics in Reinforcement Learning

This advanced topics graduate course will focus on the theories, methods and applications of Reinforcement Learning (RL). RL is an Artificial Intelligence/Machine Learning (AI/ML) approach for building systems that can learn how to make decisions through their own experiences in an environment. The domain is more difficult than supervised ML since it involves uncertainty and limited information about how the world, and its dynamics, actually function. It can also be seen the AI analogy for the Optimal Control problem, where there are no dynamics models available and the objective is not globally known.

Reinforcement Learning

One of my core research areas is into understanding the computational mechanisms that can enable learning to perform complex tasks primarily from experience and feedback. This topic, called Reinforcement Learning, has a complex history tying fields as diverse as neuroscience, behavioural and development psychology, economics and computer science. I approach it as a computational researcher aiming to build Artificial Intelligence agents that learn to way Humans do, not by any correspondence of their "brain" and it "neural" structure by the algorithms they both use to learn to act in a complex, mysterious world.

Data Analysis and Machine Learning (DKMA)

Engineers encounter data in many of their tasks, whether the sources of this data may be from experiments, databases, computer files or the Internet. There is a dire need for effective methods to model and analyze the data and extract useful knowledge from it and to know how to act on it. In this course you will learn the fundamental tools for assessing, preparing and analyzing data.

Algorithms

Algorithms provide methods for solving problems, and are at the foundation of computing. It is important that practitioners in electrical and computer engineering understand how algorithms are designed, and how to analyze them for correctness and efficiency. It is important also to be able to distinguish intractable problems from ones that are tractable so one does not naively seek efficient solutions when none may exist. For cases that are intractable, it is important to know how to design approximate solutions that satisfy bounds on correctness and efficiency. Industry has long recognized the critical importance of algorithms that are correct and efficient.

Other Courses

See my department website for an archival list of courses I have taught.