Undergraduate Course in Robotics Gets Reboot with Help of Engineering Doctoral Student

November 16, 2021

Through a Bass Connections Collaborative Project Expedition in Summer 2021, Siobhan Oca worked with Genevieve Lipp and Sophia Santillan to design ME 490: Introduction to Robotics, an undergraduate course that introduces students to the basic computational concepts in robotics, including simulation, kinematics, control sensing and system integration. As part of the newly designed course, students work together on small teams to apply the technical concepts learned in the course to the design of a robot system in simulation. She is currently teaching the course with support from the Bass Instructional Fellowship Program. (Please note: The Bass Instructional Fellowship Program is run by Duke Graduate School and is not affiliated with Bass Connections.)

Siobhan Oca
Siobhan Oca teaches a lesson to undergraduates in her Fall 2021 Introduction to Robotics course. (Photo: Courtesy of The Graduate School)

By Siobhan Oca, Ph.D. candidate, Mechanical Engineering and Materials Science

In Fall 2020, I noticed that, while my department has traditionally had an introductory course in robotics for undergraduates, it wasn’t currently being taught. At the same time as I was noticing this gap, I was also looking for ways to gain more experience in course design and find opportunities to be an instructor of record. 

I talked to my department chair and my advisor about applying for a Bass Instructional Fellowship to teach Introduction to Robotics, and they were very supportive of the idea and connected me with Genevieve Lipp and Sophia Santillan, who have been my mentors throughout the course design and teaching process. The idea was that, if funded, I would develop and teach the course for undergraduates, and Professors Lipp and Santillan would adapt a version of the course for graduate students. 

Working with Siobhan and supporting her in teaching this course reminded me of just how scary it was to be in charge of a class for the first time! Planning the course ahead of time is overwhelming, but then actually being in the classroom with students, in charge of everything that happens in the course, is even more intimidating. This was a great chance to guide and support a new educator, and it was also a fun opportunity to think more about the teaching and planning of a new course. –Sophia Santillan, Associate Professor of the Practice, Mechanical Engineering and Materials Science

This was an exciting opportunity for true collaboration and mentorship: Professors Lipp and Santillan, who don’t specialize in robotics, would have a chance to learn the robotics material with my help as I was developing the course, and I would have the opportunity to learn best practices in course design and undergraduate instruction from them.

Course Design

While I knew early on that I would integrate project-based work into my course, the Collaborative Project Expeditions grant ultimately reframed how I thought about course design and gave me the time to think deeply about the goals and objectives of each section of the course in a way that I might not have had otherwise. I got to consider the nuts and bolts of each class session, but, more importantly, I got to ask myself what, specifically, I wanted students to take away from each session and what I wanted them to be able to do by the end of the term.

I also had the time to fine-tune each of the project opportunities to make sure they actually fit the course objectives and would be possible within the time limits I’d given. For example, once we created the virtual environments, I had the chance to work in them myself, which prompted me to realize that I had to dramatically reduce the scope of the midterm project to test a narrower set of skills. 

Finally, I had the opportunity to think deeply about the previous robotics courses I’d taken and consider which components I wanted to use as models and which parts I wanted to substantially revise or completely throw out. I could survey the larger landscape of intro to robotics courses and consider other syllabi and slide decks to figure out how to shape the course to meet my own objectives.

Project Infrastructure and Student Equity

While some of my time over the summer was spent conceptualizing the projects and figuring out how to scaffold the course materials so students would have enough knowledge and skills to incrementally hit milestones, the majority of my time was spent setting up the project components and infrastructure, including the virtual environments that would enable student teams to successfully work together on a robotics simulation. 

I worked with the Duke Office of Information Technology (specifically Danai Atkinson, who was a fantastic collaborator) to test software packages and develop a custom virtual work environment where students could use virtual machines that had the capability of running ROS (Robotics Operating System) software with Gazebo and MoveIt. ROS is used in both industry and research robotics, so it was a big goal of mine to make sure every student in the course could gain experience with the software package and feel confident adding this skill to their resume if they wanted to find jobs in robotics after graduation.

Organizing Class Time and Assignments

As I was figuring out the structure of the projects and organizing the virtual environments for students, I also considered ways to structure class time so students could learn the content of the course as well as the systems required for applying their knowledge to actual robotics simulations and problems. 

The class meets two days a week, so during the first half of the semester our first session each week focused on the technical and theoretical background of the course, including topics such as kinematics, sensing, controls and calibration, among other things. During the second class of the week, however, we focused on working with the software packages and learning how to do things in virtual environments. We had several quizzes and a midterm associated with learning the technical components of the course, but after the midterm, we shifted to focus more broadly on vision, motion planning and system design tradeoffs in support of their collaborative projects.

In order to make sure students are staying up to speed with the course material, I’ve also included weekly computational “check-ins” (i.e., homework) into the syllabus. These assignments require students to focus on discrete tasks and help them practice using the software packages in ways that will enable them to plan and execute their projects later on. These assignments allow them to see things happening in the software based on their inputs, and, importantly, they allow me to see where students are getting stuck so I can address issues incrementally rather than the night before projects are due.

Choosing Projects and Working in Teams

Students have a lot of leeway to decide what they want to pursue for their collaborative project. Throughout the course, they complete periodic theoretical homework assignments in which they’re tasked with finding research papers on a variety of topics in robotics and reporting back on them, so each student has surveyed the larger robotics landscape and can pinpoint areas of interest. Then, as part of the midterm (which is completed individually), I ask each student to choose what topics they’re most interested in working on in their team project, and I choose teams based on shared interests.

The first milestone for newly formed teams is agreeing on team goals and creating a project plan that breaks up the work and allows them to complete the project on time. I’m sharing resources with teams as they begin to work together, but I’m also having them walk me through their plan before they begin. Then, I will have weekly check-ins with each team where we focus on questions such as system constraints and tradeoffs. I do plan on giving each team a lot of space to figure out how they want to structure the workload, but the check-ins are designed to ensure that they’re at least asking the right questions and tackling issues in a timely manner.

Ongoing Mentorship and Next Steps

I feel exceptionally lucky to have the mentorship I’ve had while designing and teaching this course. My mentors and I met weekly over the summer to discuss the course framework and content, and because they’re adapting the course for graduate students, they’ve been attending each of my class sessions throughout the semester. 

This has been an invaluable opportunity for me to get regular feedback on instruction, but it has also helped me embrace my role as an expert in my field. Working with them has been a real partnership and the experience has solidified my desire to be a teaching professor in the future. While I don’t know what form that work will take – whether it means being a professor of the practice or being a lecturer while working in industry – I’ve realized how passionate I am about teaching and am grateful to have an instructor of record experience in my portfolio moving forward.

Learn More