Python Workshop

This two day workshop is carefully designed to ensure you get the best return on your time regardless of your current level of experience.

Format

It is based on a series of self-paced exercises aimed to expose to you increasingly advanced concepts. You are encouraged to skip past material you already know, meaning you will always be working at the edge of your ability, which is where learning happens. The material is hosted on a portal to which you will have access for a year after the course, so you can complete any parts you skipped or didn't reach in your own time later (you are not expected to reach the end during the two days, unless you're a wizard).

The instructor will constantly be at hand to help. There will also be talks and on screen demonstration covering key topics as and when it is most relevant to subsets of individuals within the group, as not everyone will progress at the same pace. Group size is restricted to around 10 attendees to keep this manageable.

Preparation

Please bring a laptop with:

  • A working Python installation (I stick to Python 2.7 but if you have a different version like 3.x that's fine)
  • Wifi access
  • A code editor you are comfortable with (see recommendations)

Editor recommendations

Sublime with Anaconda (the sublime plug-in, which is not the same as Anconda Python distribution) is a very popular choice, though on Windows PyScripter is also really good even if it looks dated, and free to use commercially.

Topics covered

Some of the topics covered in the self-paced lessons:

  • Running scripts and using the command line
  • Syntax basics and ground rules
  • Working with tuples, lists and dictionaries
  • How variables really work in Python
  • Tricks for learning faster
  • Tricks for editing & testing faster
  • Python's control structures (while, for, if, with, try, except...)
  • Defining, calling, chaining and passing functions
  • Builtin functions you may have missed
  • Python style (PEP8)
  • Creating modules
  • Testing functions with doctests
  • Techniques to avoid bugs and problems
  • Advanced use of functions
  • Writing cleaner code without OOP
  • Writing cleaner code using simple OOP
  • Advanced unit testing
  • More advanced OOP use cases
  • OOP mistakes and pitfalls
  • Refactoring exercises
  • Design patterns you will actually use
  • Measuring and optimising code

Duration

This course will span two days, from 9am to 5pm each day.

Catering

We will provide tea and coffee, but no lunch. There is a Sainsbury's as well as a few sandwich shops nearby.

Dates

This course is managed and ticketed through the eventbrite page, please check there for dates and prices.

If you have any issues or questions, please contact us.