Information Package / Course Catalogue
Robotics Programming Techniques
Course Code: RYZ215
Course Type: Area Elective
Couse Group: Short Cycle (Associate's Degree)
Education Language: Turkish
Work Placement: N/A
Theory: 2
Prt.: 1
Credit: 3
Lab: 0
ECTS: 4
Objectives of the Course

Introduce the fundamentals of ROS and its ecosystem, including historical context and evolution. Develop proficiency in robotic programming using C++ and Python within the ROS/ROS2 frameworks. Explore ROS architecture, core components, and communication models for robotic applications. Enable practical experience with simulation, visualization, and debugging tools in ROS. Integrate custom robotic systems with ROS using URDF models, tf trees, and kinematic plugins.

Course Content

Introduction to ROS and its ecosystem; C++ and Python for robotic programming; evolution and alternatives of ROS (ROS, ROS2, micro-ROS, ROS-Industrial); ROS architecture including OS, middleware, application, and communication layers; ROS building blocks—nodes, topics, services, actions, parameters, nodelets, packages; ROS tools for development, debugging, visualization, and simulation; URDF models, tf trees, kinematic model plugins, custom robot integration; communication models (1-1, 1-N, M-N); ROS2 Navigation and MoveIt2 stacks; containerization, QoS policies, RTOS integration; simulation environments for testing and deployment

Name of Lecturer(s)
Learning Outcomes
1.Explain the structure, evolution, and key components of ROS and ROS2.
2.Write and execute robotic programs using C++ and python within the ROS environment.
3.Design and configure communication between ROS nodes using topics, services, and actions.
4.Develop, simulate, and visualize robot models using ROS tools and URDF.
5.Apply ROS2-specific features such as QoS policies, containerization, and RTOS integration in real-world scenarios.
Recommended or Required Reading
1.Robot Operating System (ROS): The Complete Reference (Volume 7), Anis Koubaa, Springer (2023)
2.Programming Robots with ROS: A Practical Introduction to the Robot Operating System, Morgan Quigley, Brian Gerkey, William D. Smart, O’Reilly Media (2016)
3.Mastering ROS for Robotics Programming, Lentin Joseph, Packt Publishing, 3rd Edition (2021), Packt Publishing
Weekly Detailed Course Contents
Week 1 - Theoretical
Introduction to robotics programming
Week 2 - Theoretical
C++ and Python for robotics programming.
Week 3 - Theoretical
Robot Operating System (ROS)
Week 4 - Theoretical
ROS1, ROS2, micro-ROS and ROS-industrial
Week 5 - Theoretical
System architecture of ROS and ROS2
Week 6 - Theoretical
Basic ROS concepts and building blocks
Week 7 - Theoretical
ROS development tools and environments
Week 8 - Theoretical
Coordinate transformations and tf/tf2 tree structure.
Week 9 - Theoretical
Robot modeling with URDF and Xacro
Week 10 - Theoretical
Robot kinematic model plug-ins and integration of custom robots
Week 11 - Theoretical
Communication models in ROS (1-1, 1-N and M-N)
Week 12 - Theoretical
ROS2 navigation stack
Week 13 - Theoretical
ROS2 manipulation with moveit2
Week 14 - Theoretical
Advanced ROS2 topics (containerization, quality of service policies, and real-time operating system integration)
Assessment Methods and Criteria
Type of AssessmentCountPercent
Attending Lectures10%5
Quiz1%5
Midterm Examination1%30
Final Examination1%60
Workload Calculation
ActivitiesCountPreparationTimeTotal Work Load (hours)
Lecture - Theory141242
Lecture - Practice140114
Studio Work140114
Individual Work100330
Quiz1011
Midterm Examination1011
Final Examination1011
TOTAL WORKLOAD (hours)103
Contribution of Learning Outcomes to Programme Outcomes
PÇ-1
PÇ-2
PÇ-3
PÇ-4
PÇ-5
PÇ-6
PÇ-7
PÇ-8
PÇ-9
PÇ-10
PÇ-11
PÇ-12
PÇ-13
PÇ-14
PÇ-15
OÇ-1
5
5
5
5
5
OÇ-2
5
5
5
5
5
OÇ-3
5
5
5
5
5
OÇ-4
5
5
5
5
5
OÇ-5
5
5
5
5
5
Adnan Menderes University - Information Package / Course Catalogue
2026