UCSD ECE276B: Planning & Learning in Robotics (Spring 2020)

Time and Location

  • Lectures: Tuesday and Thursday, 5:00 - 6:20 pm, on Zoom.

  • Office Hours:

    • Monday, 4:00 - 5:00 pm, on Zoom.

    • Thursday, 9:00 - 10:00 am, on Zoom.


  • Nikolay Atanasov: natanasov@eng.ucsd.edu

  • Zhichao Li: zhl355@eng.ucsd.edu

  • Jinzhao Li: jil016@eng.ucsd.edu


This course covers optimal control and reinforcement learning fundamentals and their application to planning and decision making in robotics. Topics include Markov decision processes (MDP), dynamic programming, search-based and sampling-based planning, value and policy iteration, linear quadratic regulation (LQR), and some model-free reinforcement learning.


Students are expected to have programming experience at the level of a Data Structures and Algorithms course as well as background in statistical estimation at the level of at least one of the following UCSD courses:

  • ECE276A: Sensing & Estimation in Robotics

  • ECE271A: Statistical Learning I

  • ECE275A: Parameter Estimation

  • ECE225A: Probability and Statistics for Data Science

  • ECE272A: Stochastic Processes in Dynamic Systems

  • CSE250A: Principles of Artificial Intelligence: Probabilistic Reasoning and Learning

  • CSE254: Statistical Learning

  • MAE280A: Linear Systems Theory

  • MATH280A: Probability Theory I


The course will be taught remotely via Zoom conference meetings scheduled on Canvas. We will follow a mixture of regular and flipped classroom instruction. Recordings of all lectures from Spring 2019 are available on Canvas. Students are expected to study each lecture recording before the corresponding scheduled Zoom meeting. The Zoom meeting will focus on discussion of the important parts of the lecture material as well as some exercises. The Zoom meetings will be recorded and uploaded to Canvas.

Students are expected to sign up on Piazza and GradeScope:M8447R. Discussion and important announcements will be made on Piazza. The homework should be turned in and will be graded on GradeScope:M8447R.


Grading will be based on 4 theoretical homework assignments and 4 projects, including a programming assignment in python and a report, according to the rubric below. Project 4 will be a research project proposed by the students in teams of 1 or 2 people. The final project proposals are due by May 14, 2020.

Homework 20%
Project 1 20%
Project 2 20%
Project 3 20%
Project 4 20%


Collaboration and Academic Integrity

Please note that an important element of academic integrity is fully and correctly attributing any materials taken from the work of others. You are encouraged to work with other students and to discuss the assignments in general terms (e.g., “Do you understand the A* algorithm” or “What is the update equation for Value iteration?”). However, the work you turn in should be your own – you should not split parts of the assignments with other students and you should certainly not copy other students’ code or papers. All projects in this course are individual assignments. More generally, please familiarize yourself with UCSD's Code of Academic Integrity, which applies to this course. Instances of academic dishonesty will be referred to the Office of Student Conduct for adjudication.

IDEA Engineering Student Center

Please consider participating in the programs and events organized by the IDEA Engineering Student Center. The IDEA center, located just to the right of the lobby of Jacobs Hall, is a hub for student engagement, academic enrichment, personal and professional development, leadership, community involvement, and a respectful learning environment for all. The IDEA center's mission is to foster an inclusive and welcoming community, promote academic success, develop engineering leaders, and, most importantly, support your mental health and wellness needs. These opportunities can be found on the IDEA Center Facebook page and the Center web site.