COMP1010 - Robotics Programming

Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).

Taught By
Mark Handley
Dean Mohamedally
                                      Jade Alglave
The 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 Outcomes
Using 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 frmo 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:

Two, 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.


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 the course students must achieve an overall mark of 40%.


Resources for this course are on Moodle.