Computing for mathematics
Syllabus and timeline
This course will follow 3 mains texts:
- A book covering the use of a programming language called Python:
- A set of short tutorials showing how to use the mathematical typesetting
language LaTeX: vknight.org/tex/
- A document with guidelines for writing mathematics.
My personal notes for things I plan on discussing during class sessions can be
found here: vkcfm.readthedocs.io. Note that
you are not the intended audience for those notes (but you might still find them
Class in 0.01:
Optional drop in 2.35:
- Wednesday 1000 - 1200 during the first 4 weeks.
- Week starting 3rd of October:
- Week starting 10th of October:
- Week starting 17th of October:
- Week starting 24th of October:
- Week starting 31st of October:
- Week starting 7th of November:
- Week starting 14th of November:
- Week starting 21nd of November: Example and
- Week starting 28th of November: Revision/Slack
- Week starting 5th of December: Revision/Slack and release of individual coursework.
- Week starting 12th of December: Individual coursework deadline.
- Week 1:
- Week 2:
- Week 3:
- Week 4:
- Week 5:
- Week 6:
- Week 7:
- Week 8: LaTeX and writing mathematics:
- Week 9: Presenting mathematics (to include watching conference
- Week 10: Group work
- Week 11: Group work
- Week 12: Presentation week
This course will be assessed in two parts:
- An individual coursework. You will be given a number of mathematics problems
to solve using Python. This will be automatically marked and counts for 50% of
the total mark for the course.
- A group coursework. Over the second semester you will work in a group to build
a software tool to solve a type of mathematical problem of your choice. The
work will be assessed through: A 15 minute presentation and a 2 page paper.
This will count for 50% of the total mark for the course.
You are welcome to get in touch with me at any time although I might not
immediately be available to respond.
Frequently asked questions
During the agreed office hours, feel free to knock on my door or
send me an email or speak to me on discord.
1. Right click on the link to the coursework and save the file to your
computer (make a note of where it is on your computer).
2. **Do not double click on the file you have downloaded.** (see
for an explanation).
3. Start a Jupyter notebook server (see
4. Using the Jupyter notebook interface navigate to the notebook file you
saved on your computer in step 1 and click on it.
1. In learning central for computing for mathematics, you will find an
2. Locate the `ipynb` file that corresponds to your coursework on your
3. Upload it to the assignment on learning central.
I do not discourage you from using concepts learnt elsewhere. In most
materials I point at other materials. However if you want to be sure to have
done things correctly for your assessment I recommend using the concepts
taught in in this course.
In this course every participant (including myself) will be having many
interactions with other participants. Some potential examples of this:
- Peer to peer discussions during classes;
- Me explaining a given topic.
I expect every participant (including myself) to act with kindness during
Some examples of how this applies to me:
- When a student is late or absent at a class I will assume they have good
reasons. If this happens regularly
- I will first be concerned for their well-being.
- Ask how I can help them catch up.
- If a student asks for an explanation of a topic that has been covered
multiples times I will assume that some set of circumstances has prevented
them from seeing these explanations and:
- will explain the topic.
- also point them at the explanations in the course materials and/or class
If this is a regular occurrence I might ask if there are any circumstances
that I can help with.
- If I make a mistake in a class explanation and someone helpfully points it
out. I will listen and thank them for pointing it out and either go over
the mistake then and there or go over it again at a future meeting.