COMP105P- Robotics Programming

This database contains the 2016-17 versions of syllabuses. Syllabuses from the 2015-16 session are available here.

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