Good afternoon all, My son is doing his A level (i.e. university entrance level) exams in Physics, Maths Further Maths and Computer science and hopes to go to Cambridge to study engineering. As I am an inveterate tinkerer he asked me for something that he could develop for his comp sci exam as a project to bring all the topics together, and touched on the subject of Clocks. He's an extraordinarily capable young man (and I don't just say that'cos I'm his dad!) So here's the suggestion for his project - 1/ to develop a software package which can calculate : a) given a specific length of pendulum (where one is present), and tooth count of escapement to calculate all the possible variations of gears in a 3 wheel assembly to give the necessary ratios to the minute wheel. Alternatively in the case of a watch input of a beat for the watch instead. If time permits to include wheel ratios to get the 12:1 required to turn the hour hand. To produce a subset of that list according to parameters such as max tooth count, or specifying the dimensions of one wheel in advance. b) calculate the size of wheels in the going train given a known modulus. c) identify, given the other wheels in the train, the size and tooth options of a missing wheel Given the range is infinite, he will have a practical maximum tooth count for a wheel around 300 and for beats from 1600 to 18000 2/ to calculate the error generated by circular error for a given angular deviation in the pendulum and to give the option to include this in the calculations (this just to make the maths harder to be honest) 3/ to provide a "user friendly" tool that can be used by the beginner for quickly designing and repairing clocks and watches His intention is to develop this as an executable using python so that this will be a free resource to the watch and clock fraternity. I have seen a few such tools that do some of this, but think this could be a stimulating challenge with some practical benefit. I promised him that I would ask you - the experts, for your thoughts on what such a project should do. I'm just a tinkerer, so wanted to check - do the parameters seem right ? what would your ideal software do in this area. We would both value your thoughts.