Sitemap

A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.

Pages

Posts

research

Deep Learning for Robot Locomotion

We explore ways in which deep reinforcement learning can be used to help underactuated and unintuitive robots learn locomotion tasks, ranging from gait discovery to path planning.

Geometric Mechanics of Robot Locomotion

We explore ways in which ideas and techniques from geometric mechanics can be applied to underactuated and dynamic robot systems with an eye toward locomotion.

teaching

COMS 4701, Artificial Intelligence

Summer 2024, Spring 2024, Spring 2023, Spring 2022, Summer 2021, Fall 2020, Fall 2019, Fall 2018

Artificial intelligence (AI) is a broad, interdisciplinary, and fast-growing subfield of computer science concerned with the construction and deployment of intelligent agents. This course provides an overview of the methods and applications of AI, with a focus on algorithms and computation. Topics include search problems, constraint satisfaction, and games; sequential decision problems and reinforcement learning; hidden Markov models, Bayesian networks, and probabilistic inference; supervised machine learning, decision trees, linear classification, and neural networks. Students will develop intuition and algorithmic thinking through written as well as programming problems in Python. By the end of the course, students will be able to build intelligent agents that can solve problems through search, make decisions and reason in the face of uncertainty, and learn simple models from data.

COMS 4733, Computational Aspects of Robotics

Spring 2024, Fall 2021, Spring 2021, Spring 2019

This course is an introduction to fundamental problems and algorithms in robotics from a computer scientist’s perspective. While robotics is inherently a broad and interdisciplinary field, we will primarily focus on ideas with roots in computer science, as well as the roles that a computer scientist would play in robotics research or engineering tasks. Topics include configuration spaces, kinematics, search and sampling-based planning, state estimation, localization and mapping, perception, and learning.

COMS 3203, Discrete Mathematics

Fall 2023, Fall 2022, Spring 2019

The study of discrete mathematics provides an important foundation for basic theoretical principles in computer science. The first third of the course builds a strong background in logic, formal proofs, and mathematical induction, followed by a theoretical examination of functions and relations. With this knowledge in hand, we will then cover number theory and modular arithmetic, counting and combinatorics, discrete probability, recurrence relations, and finally foundations of graph theory. Throughout the course, we will also see computer science applications and practice writing implementations in Python.

COMS 3251, Computational Linear Algebra

Spring 2023, Spring 2022, Fall 2021, Spring 2021, Spring 2020

This course is an introduction to linear algebra and its usage in computational applications. The study of linear equations, linear functions, and their representations pervades numerous fields of study. Students will learn and practice fundamental ideas of linear algebra and simultaneously be exposed to and work with real-world applications of these ideas. This course emphasizes a rigorous approach to mathematics, which will serve as a foundation for future courses like computer graphics, machine learning, and robotics. The learning and usage of Python and libraries such as NumPy is an essential component of the course, as is the development of basic skills of computational programming.

16-384, Robot Kinematics and Dynamics

Spring 2013 - Spring 2018 (Carnegie Mellon)

Although I was never a formal instructor for this course, I initially was a graduate student TA and then worked closely with my advisor in subsequent semesters to implement an online curriculum for present offerings of the course.