A two day workshop designed to help you improve your ability to write Python code.
You will work through a series of lessons, each building upon the previous, at your own pace.
These are aimed at consolidating any holes in your knowledge/undertsanding of Python before moving on to a project where you will pull all this together.
The projects are incremental too: you start out with something basic, and gradually add features. This will teach you valuable lessons in writing code which avoids problems later on, and how to bridge the gap from badly organised code to better organised code.
The aim is for you to learn what is most relevant to you, while you have expert help at hand, without being constrained by the pace of the group. Those who are still learning the basics will spend more time on the leassons on Python's features, while more advanced programmers will be able to move on to the project earlier, so taking those further and learning more advanced lessons in managing code complexity.
You are also invited to bring in your own code so you get a chance to see how you could apply the new practices in a real world situation and ask questions.
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
- 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
The emphasis on showing you how to write code which:
- Is easy to follow and understand
- Is less likely to hide bugs
- Doesn't force you into corners later
- Takes less time to troubleshoot
- Is easier to modify, test, reuse and extended
As opposed to just "this is how you do X in Python". The aim is to make your programming life easier!
Please bring a laptop with:
- A WIFI adapter
- A modern browser
- Python installed (version 2.7.5 preferred)
- A decent editor/IDE you are comfortable with.
Please test your installation before showing up!
This course wil span two days, from 9am to 5pm each day.
We will provide basic tea and coffee. There is a cafe & seating area which serves coffee snacks (but not proper food) and has a kettle & microwave. For lunch there are a few cafes just outside the building, and there is a Sainsbury's nearby.
More details on the Code Coaching Ninja Website.
Codebase - Argyle House 3 Lady Lawson St, Edinburgh, EH3 9DR - View Map
Follow the link in order to apply.