Week 1

Week 2

Week 3

Week 4

Week 5

Week 6

Week 7

Week 8

Week 9

Week 10

Week 11


Week 1 - Expected progress: Group Formation

Week 2 - Expected progress: Initial Ideas

Week 3 - Expected progress: Idea consolidation

Week 4 - Expected progress: Prototype

Week 5 - Expected progress: Modularisation of code

Week 6 - Expected progress: Documentation of code

Week 7 - Expected progress: Testing of code

Week 8 - Expected progress: Start of research paper

Week 9: Group work - Expected progress: Start of presentation story board

Week 10: Group work - Expected progress: Finish paper and visual aids for presentation

Week 11: Group work - Expected progress: Finish visual aids and rehearse paper

Week 12: Group coursework deadline


Can I use concepts learnt elsewhere?

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 this course.

Can I succeed in this course even if I am unsure about my programming ability?

This class assumes no prior programming knowledge and many students have in fact obtained full marks with no prior programming knowledge.

How can I follow along in class with my computer?

Just like in any other mathematics class, if you would like to try and follow
along with the various steps we do in class: I recommend that you do.

If at some point you no longer are able to follow, make a note, perhaps skip
where you are and continue to follow along or just continue to make notes.

How do I open the individual coursework notebook

  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).
  Do not double click on the file you have downloaded. (see
for an explanation).
  Start a Jupyter notebook server (see
for instructions).
  Using the Jupyter notebook interface navigate to the notebook file you
saved on your computer in step 1 and click on it.

How do office hours work?

During the agreed office hours, you can come to my office (you do not need to
book). If you would prefer to meet online, just send me an email or message me
on discord.

What do you recommend for Python?

I recommend using the Anaconda distribution for Python which includes a large
number of libraries for doing mathematics.
Here are some resources that you might find helpful:

  A chapter of Python for Mathematics on installing and using Python:
  A chapter of Python for Mathematics on installing and using other libraries:

Why do we use Jupyter notebooks?

Using Jupyter notebooks is a common approach when using python as opposed to developing tools in python.
You can see a longer explanation of this here:

We will be using Python through a different interface in the Spring Semester.

I hope that through this course you gain an appreciation for different ways to use Python and become adapt at choosing the best one for the
particular task you are undertaking.



(RRS feed)

Source code: @drvinceknight Powered by: Jekyll Github pages Bootsrap css