skip to content

Computer-Aided Teaching of All Mathematics (CATAM)

Questions and Answers concerning Part IB CATAM projects

Here are some questions and answers which the CATAM Helpline,, has been asked about particular Part IB projects. Please read these before you submit your own question to the Helpline, in case your question has already been answered. The answers that were given are included below (slightly edited in some cases).

General Queries

Back to the CATAM home page

General Query: should I do this or should I do that?

Q. The Helpline receives a number of emails of the general nature:

I am unsure how to interpret the question XX: does it mean AAA or does it mean BBB?

I am confused at to what is expected for question XX: it seems to suggest that we are expected to AAA whilst at the same time indicating that it expects BBB. Which does it want?

Does question XX require AAA or BBB?

A. The terms ‘require’, ‘expected’ etc. are terms that are too strong in that context. Please see section 1.1 of the introduction to the project manual: you are expected to use your judgement, in the light of your understanding of the question and any discoveries you may have made, on the best way to respond to explain your findings. In making this judgement it will often help to read beyond the particular question that you are attempting: later questions may help to clarify the context.

If you really cannot decide between two, or more approaches, which is the more relevant, appropriate or enlightening then why not do both and compare the results. That may gain you some quality credit.

General Query: error handling

Q. Is it necessary to include error handling code?

A. This is a matter for your judgement. No error handling other than the most basic is required.

General Query: program printouts

Q. Please could you advise whether or not one should include /* comments */ in printouts of programs.

A. It is up to you to decide how to present the various components of each project. However on this point you might like to know that the reason we ask for program printouts, as well as electronic program files, is so that the assessor can decide whether your program actually produced the results you claim. If he can determine this from your printout that will save him having to ask for your file to be run.

General Query: I missed the programming classes

Q. Is it possible to arrange to have introductory practical classes for the CATAM projects as I didn't have the chance to take them last year? I have just made the switch to Maths Tripos this year.

A. A booklet on learning to write MATLAB programs is available online; this covers what you would have learnt from the practical classes. You can also go to the “Computer Teaching Room”, which is room GL.04 in the basement of Pavilion G at the CMS, for some practical experience as you work through the book.

General Query: acknowledgements

Q. How do we credit our sources (are we allowed to use books or websites which describe, for example, search algorithms)?

A. Yes, you are allowed to use such books – indeed, reading any reference works is encouraged – though you should not simply copy huge programs verbatim straight out of a book or website; instead, you can look up an algorithm and write your own program based on that algorithm.

To credit your sources, simply include a sentence in your write-up describing the books or websites that you used.

Q. What about books on the programming language that we have used? I am using C (or Java or Python or Mathematica or Maple) rather than MATLAB and have been teaching myself. Do I have to acknowledge those?

A. You can use any such books you like to learn the language, and there is no need to acknowledge these.

General Query: special cases

Q. When asked to write a program, to what extent should one avoid tailoring one's program to the input that is provided (e.g. not worrying about matrices with a zero entry because the matrices in the project do not have zero entries)?

A. It doesn't matter if a program doesn't deal with pathological cases. For example, if a program is supposed to calculate the inverse of a matrix but falls over when presented with a near-singular case because the numbers overflow in the computer, that doesn't matter. But a program should definitely work with "normal" data; any special cases for which it wouldn't work should be highlighted in the write-up. It isn't sufficient for it to work only for the specific data in the project.

General Query: Excel

Q. Is it acceptable for the graphs to be produced by constructing the program to write the data to a text file? This is then manually imported into MS Excel, and its graph-drawing capabilities employed.

A. Yes, that's fine.

Q. Does the exported data need to be included in the write-up if it is not specifically asked for?

A. No, it doesn't.

General Query: multiple programs

Q. Is it acceptable to have different programs for different parts of the project though they do similar things?

A Yes, you decide the programme structure for the projects. Different questions can use stripped down versions of more complicated programs from previous questions.

CATAM Helpline
Last modified: 25 March 2010