CC BY-NC 4.0 Course materials licensed under CC BY-NC 4.0

Academic Courses

COSC 310 Data Structures

The course reviews object-oriented design and discusses algorithm complexity, Big-O notation, and tractable and intractable algorithms. The course introduces concepts of abstract data types, basic data structures (i.e., lists, stacks, queues, and trees), and advanced data structures (i.e., graphs, sets, and heap). It also presents fundamental computing algorithms, including sorting, searching, and graph algorithms. See Spring 2026 material.

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. See Fall 2025 material.

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. See Fall 2025 material.

Tutorials & Workshops

Robotic System Integration

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

sys-summer-2022 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 course material.