Learning more
- The University provides some videos and bookable courses. Old ones may not be too useful. Some deal with broad topics, others with particular features – e.g.
- AI projects with python, tensorflow and nltk (March, 2024)
- Decorators (July, 2020)
You might also be interested in Getting Ready for your Python Interview
- The main Python site has lots of documentation. The reference material can be rather heavy, but the Tutorial is more easily paced.
- See the Advanced Python Tutorials (tutorials on various topics on the realpython site)
- Bernd Klein’s Intro to Advanced Python has a list of sections which you might use to decide what to learn about next – “Recursive Functions”, “Iterators and Iterables”, “Generators and Iterators”, “Lambda Operator, filter, reduce and map”, etc
- Find out how to use decorators, itertools, generators, pandas, and partial functions.
- See Programming exercises (100+ graded exercises)
- Questions that aren’t in Python books can be answered using Python. See Maths Puzzles or try these –
- Monopoly. You’re on GO and other people have hotels on all the locations along the first side. What’s the chance that you’ll reach the second side without landing on any hotels?
- Pick a number. If it’s even, divide by 2. If it’s odd multiply by 3 and add 1. Continue this until you reach “1”. Eg 3-10-5-16-8-4-2-1. Which integer greater than 0 and less than 100 produces the longest chain?
- If you add the digits in the 1st, 3rd, 5th etc positions of a natural number, and get the same total as you get by summing the other digits, the number is exactly divisible by 11. For example, 17248 is a multiple of 11 because 1+2+8 equals 7+4. But the opposite isn’t true – there are multiples of 11 for which the sums don’t match. What’s the smallest natural number for which this is so?
- Colaboratory has introductions to Machine Learning, Neural Nets, using GPUs etc
CUED
Some coursework uses Notebooks like those used in the 1A Mich term. Work in other CUED courses can be optionally done in Python – e.g. symbolic integration. Try
from sympy import * x = Symbol('x') integrate(x**2 * exp(x) * cos(x), x)
If you’re interested in doing more computing in general at CUED you can look forward to
- 1st year easter term – Microprocessors and learning how to program them are introduced through a series of labs
- First summer vacation – Mars Lander project. C++
- 2nd year – IDP (Integrated Design Project). About a third of students do programming on this project, some opting to use Image Recognition with Python
- 3rd year – Various Easter Term projects (4 weeks) involve programming – “CT Reconstruction and Visualisation”, “Image Processing”, “Machine Learning” (Python), “Data Analysis”, “Software” (Python), etc. A few modules (e.g. “Medical Imaging and 3-D Computer Graphics”) might interest you too.
- 4th year – Your 4th year project can involve heavy programming. Several modules also involve computers – e.g. “Computational Statistics and Machine Learning”, “Deep Learning and Structured Data”, “Computational Neuroscience”, “Computer Systems”
- Student clubs – You might find something on the list of student-led societies