skip to primary navigationskip to content

Department of Computer Science and Technology



Course pages 2023–24

OCaml Practical Classes

Principal lecturer: Dr Jon Ludlam
Taken by: Part IA CST

The Foundations of Computer Science practicals (or "OCaml ticks") are a series of five practicals, each marked with a binary pass/fail grade. It is expected that all students will obtain each tick.

Each tick is accompanied by a starred tick (i.e. 1*, 2*, 3*, 4* and 5*). These are strictly optional and will not contribute to the final mark for the year. Nonetheless you may find it very valuable to attempt these ticks.


  • A new ML tick is set each Friday, for five consecutive weeks, starting October 6th:
    Released Due
    Tick 1   2023-10-06   2023-10-16
    Tick 2 2023-10-13 2023-10-23
    Tick 3 2023-10-20 2023-10-30
    Tick 4 2023-10-27 2023-11-06
    Tick 5 2023-11-03 2024-01-19

  • For each tick you must check it out and submit it via the assessment site. The site will automatically assess the solution and tell you whether the solution is sufficient to pass. (See instructions below on how to use this site and access the ticks).
  • Initially you will be awarded a score of 0.5. When you have a tick you will be upgraded to 1.0 (which signifies awarding the tick).
  • Each tick must pass the automated checker by noon on the completion date.
  • On Thursday afternoons some students will be assigned a ticking slot to meet individually with a ticker who will go over their solutions from the most recent submission with them.

The Role of Tickers

A ticking session is a short (5 minute) one-to-one session with a ticker conducted on Thursday afternoons. The role of the ticker is twofold:

  • to check you understand your solution (and didn’t just have some lucky guesses or copy code from elsewhere)
  • to give you general feedback on ways to improve your code.

To those ends a Ticker will typically ask you questions related to the core material of the tick and discuss your code directly.

Deadline Extensions

Deadline extensions can be granted for illness or similar reasons. To obtain an extension please email Jon Ludlam in the first instance, clearly stating your justification for an extension and CCing your Director of Studies, who will need to support your request.

Errata and Problems

Please make use of the Help Forum (on the Moodle site for this course) if you spot any errors in these ticks or you have any difficulties submitting your work.

How to Submit a Tick

Ticks are conducted via the interactive FoCS notebook site. When you first log in there, you will see a directory and some tabs.


Click on the Assignments tab to find your ticks.


The ticks that have been released will be available there for you. The next step is to expand them to find the assignment:


Click on Fetch on the assignment to clone it over to your notebook.


Once the assignment is fetched, it is available for you to view and edit it.


At this point, you need to edit the notebook and execute the cells (via the Cell menu) to validate your answers. Once you are happy with your answers, go back to the directory page and click on Validate to run it through the automatic checker, and then Submit when you want to hand it in.


We hope your enjoy your foray into functional programming!