COMP105P- Robotics Programming

This database contains 2016-17 versions of the syllabuses. For current versions please see here.

Taught ByGhita Kouadri Mostefaoui
AimsThe primary objective of the course is for student to engage in problem-based learning activities using programming as the tool. In this module, students will apply the programming they have learned in term 1, get experience with solving real non-trivial problems via hands-on engagement with a project.
Learning OutcomesUsing software to solve problems, including strategies for structuring code, dividing problems up into pieces that can be solved independently, then integrating the pieces into a whole to solve a large problem.


The basics: Compile code, run code in simulator, upload code to the robot.

Movement: Write code from scratch to cause the robot to drive in a straight line, a square and a circle.

Motor Encoders: Extend code from week 2 to use the input from the motor encoders to adapt motor power.

Sensors: Reading values from bump sensors and the multiple distance sensors.

Line sensing: Reading values from line sensors on the under-side of the robot. Write calibration code.

Line following: Write code to follow a line of tape on the floor.

Wall avoidance: Write code to drive along following the left wall, while avoiding crashing into objects in front.

Mapping + racetrack: Write code to drive around a racetrack between walls as fast as possible.

Maze exploration: Write code to explore a maze and find the centre.

Module concludes with competition.

Method of Instruction:



2 x two-hour lab classes per week. Students will have access to the robots in class time, and access to a simulator to be able to work outside labs.




The course has the following assessment components:

  • Continuous assessment. Each week there will be a specific task that must be achieved. Marks will also be awarded for performance in the robot race competition.

To pass this course, students must:

  • Obtain an overall pass mark of 40% for all components combined.


Resources for this course are on Moodle.