Courses

ROBO 201 Motion Planning Algorithms for Robotics

This course provides knowledge on path planning algorithms for autonomous robot navigation within the context of the Robotics Operating System (ROS). Students explore examples relevant to both mobile and manipulator robots. The course covers the representation of robot environment using configuration space, the construction of occupancy grid maps of obstacles, and the utilization of these maps for path planning.

ROBO 202 Software Development for Robotics

This course offers a comprehensive introduction to robotics software development. Students learn how to employ widely adopted programming tools in robotics, including the Robotics Operating System (ROS), enabling students to apply techniques related to the physical embodiment of robots.

Tutorials and Projects

Smart Scheduling | Summer Project 2025

This summer project is designed for a group of undergraduate students: Osama Qadan, Mohammed Shmiul Islam, Omar Mehsen Omar Mohamed, and Abd Alrahman Basim Ismaik. The goal is to develop an automatic course scheduling system that provides recommendations and suggestions to students based on their preferences and completed courses. The system considers factors such as course prerequisites, student workload, and available time slots to generate optimal schedules. By simplifying the course selection process, the project aims to help students efficiently manage their time and fulfill degree requirements, ultimately enhancing their academic experience.

Robotic System Integration | Summer Course 2022

sys-summer-2022

Designed and delivered by Eyad Shakab, Arjun Sharma, and Dr. Majid Khonji [July 13 - July 22]

This high-level course teaches the basics of system integration using Linux OS and Robot Operating System (ROS). The objective is to build technical maturity and problem-solving skills to deal with diverse software efficiently and in a timely manner to get the task done. The course targets audiences from computer science (CS) backgrounds as well as those from other engineering disciplines as long as they are curious to learn beyond the instructions provided. For CS majors, the course will be more like a revision of basics but at the same time integrates different approaches that the student might not have been exposed to together.

See the course material.