COMP105P - Robotics Programming

This database contains the 2017-18 versions of syllabuses.

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 (100%)
Lab sessions will be facilitated by Teaching Assistants.
2 external speakers, to be confirmed.
AimsThe primary objective of the course is for students 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.


Write code from scratch to cause the robot to draw geometrical shapes.

Motor Encoders:

Extend code from previous weeks to use the input from the motor encoders to adapt motor power.

Data structures and algorithms:

Implementing and visualizing sorting algorithms on data structures using the robot.


Reading values from infrared and ultrasonic sensors.

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 shortest path between two points.

Method of Instruction

1 x hour lecture per week.

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:

  • Coursework (100%)

To pass this course, students must:

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


Reading list available via the UCL Library catalogue.