This course will follow 3 mains texts:
- A book covering the use of a programming language called Python: vknight.org/pfm/
- 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 helpful).
Class in 0.01:
- Monday 1600
- Friday 1600
Optional drop in 2.35:
- Wednesday 1000 - 1200 during the first 4 weeks.
- Week starting 3rd of October:
- Book chapter: Using notebooks
- Video demonstration of tutorial
- Week starting 10th of October:
- Book chapter: Algebra
- Video demonstration of tutorial
- Week starting 17th of October:
- Book chapter: Calculus
- Video demonstration of tutorial
- Week starting 24th of October:
- Book chapter: Matrices
- Video demonstration of tutorial
- Week starting 31st of October:
- Book chapter: Combinatorics
- Video demonstration of tutorial
- Week starting 7th of November:
- Book chapter: Probability
- Video demonstration of tutorial
- Week starting 14th of November:
- Book chapter: Sequences
- Video demonstration of tutorial
- Week starting 21nd of November: Example and mock coursework.
- 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:
- Book chapter: Functions and data structures
- Video demonstration of tutorial
- Week 3:
- Book chapter: Object oriented programming
- Video demonstration of tutorial
- Week 4:
- Week 5:
- Book chapter: Modularisation of code
- Video demonstration of tutorial
- Week 6:
- Book chapter: Documentation of code
- Video demonstration of tutorial
- Week 7:
- Book chapter: Testing of code
- Video demonstration of tutorial
- Week 8: LaTeX and writing mathematics:
- Week 9: Presenting mathematics (to include watching conference presentations/critiques)
- 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.
- My address is
knightva@cardiff.ac.uk
. - My office: Abacws 2.52
You are welcome to get in touch with me at any time although I might not immediately be available to respond.
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
https://vknight.org/pfm/tools-for-mathematics/01-using-notebooks/why/main.html#why-can-i-not-double-click-on-a-jupyter-notebook-file
for an explanation).
3. Start a Jupyter notebook server (see
https://vknight.org/pfm/tools-for-mathematics/01-using-notebooks/how/main.html#start-a-jupyter-notebook-server
for instructions).
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
assignment.
2. Locate the `ipynb` file that corresponds to your coursework on your
computer.
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 these interactions.
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: 1. will explain the topic. 2. also point them at the explanations in the course materials and/or class recordings. 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.