Course materials
The materials for the presentation part of the module are below. If you encounter any accessibility issues, please see the SoMaS Accessibility Statement or contact Sam or Simon directly.
Presentation (Simon Willerton)
The materials for the lectures and labs on presentation from Semester 1 are below. An HTML version is provided for accessibility reasons (i.e. the use of screen-readers), but the conversion (which is automatic) may not be perfect.
Week | Lectures | Computer labs | My lab attempts | Model homework |
---|---|---|---|---|
1 | LaTeX and communicating mathematics: slides, PDF, HTML | Lab 1: PDF, HTML | PDF, LaTeX | PDF, LaTeX |
2 | About LaTeX:
slides,
PDF,
HTML
Activity handouts: 1 2 |
Lab 2: PDF, HTML | PDF, LaTeX | PDF, LaTeX |
3 | Packages, Environments and More Presentation:
slides,
PDF,
HTML
Activity handouts: PDF, LaTeX |
Lab 3: PDF, HTML | PDF, LaTeX | PDF, LaTeX |
4 | Images and a Bit of Punctuation:
slides,
PDF,
HTML
Activity handouts: PDF, HTML |
Lab 4: PDF, HTML | PDF, LaTeX | PDF, LaTeX |
5 |
Common LaTeX let-downs and grammatical grumbles:
slides,
PDF,
HTML
Activity handouts: PDF Improved version: PDF |
Lab 5: PDF, HTML | PDF, LaTeX | PDF, LaTeX |
6 | Use of unfair means and mini-project 1 slides, PDF, HTML | Lab 6: PDF, HTML | PDF, LaTeX | Mini-project |
8 |
An introduction to HTML:
slides,
PDF,
HTML
Activity handouts: HTML page Erroneous version: HTML 1, HTML 2 |
Lab 7: PDF, HTML, CSS | HTML 1, HTML 2 | (mini-project) |
9 | An introduction to CSS: slides, PDF, HTML | Lab 8: PDF, HTML | CSS | (peer assessment) |
10 | Peer assessment: slides, PDF, HTML | Lab 9:
PDF,
HTML
[lab_9_template.html, newton.css, newton.txt, gravitational_force.py] |
HTML, CSS | |
11 | Group Project 1: slides, PDF, HTML | Lab 10:
PDF,
HTML
[projectiles.xlsx, solver.xlsx] |
Projectiles:
Excel,
Google Sheet
Euclidean algorithm: Excel, Google Sheet Solver: Excel |
|
12 | Optional group meetings | Lab 11:
PDF,
HTML [cdf.py, cdf_graph_demo.tex, cdf_incomplete.html] |
cdf_html.py, |
Extras
We will add here things related to the course that are useful or interesting.
General materials
- The code.org website, an excellent resource for furthering programming skills. (show video)
Python materials
-
You can download and install Python on your own computer for free.
- We suggest you do this by installing the Anaconda distribution of Python (version 3.9), which includes Jupyter Notebook and Spyder.
- To install Anaconda, click on this link and scroll down to "Anaconda Installers", choosing the correct installer for your operating system.
-
Having installed Anaconda, we suggest you use Spyder to write and edit Python programs. On the worksheets, code to be typed into Spyder's IPython console, rather than being part of a program, is indicated by >>>. Programs (no >>>) are typed in the editor rather than in the console; you can open a new file by typing
Ctrl+N
or via the File menu. - If you have any questions about installing Python or using Spyder, please ask these on the discussion board.
- Think Python, an introduction to Python programming for beginners, available free online.
LaTeX
- Download and install MiKTeX for Windows at home for free: MiKTeX.org.
- Download and install MacTeX for Macs at home for free: tug.org/mactex.
-
Problems installing MiKTeX on Windows 7, 8 or 10? (show tips)
- Download and install TeXmaker for free.
- Download and install Geogebra for free.
- LaTeX templates:
- a basic LaTeX preamble for documents
- The Higher and Lower game for use in Lab 6.
- Learn more about about LaTeX:
HTML and web design
- This page's CSS file.
- The w3schools page on navigation bars, as recommended in the Week 9 lab.
- The HTML Dog HTML and CSS tutorials, as recommended in the Week 9 lab.
-
The script for enabling Mathjax in HTML pages, to do things like $\Gamma(x)\equiv \lim_{x\to 0}\prod_{v=0}^{n-1}\frac{n!\;n^{x-1}}{x+v}$. (show code)
- Read about the Windows Command Prompt.
- Convert computer code to safe HTML.
-
The script for enabling Google Prettify in HTML pages. (show code)