Overview
Being proficient in object-oriented programming is an essential skill as you build more complex programs or move your data models to a production environment.
What you’ll need
- Laptop and headphones and microphone
- Microsoft Office (Word, PowerPoint, Excel)
- Google Chrome or Microsoft Edge
- We will provide browser-based tools for programming Python (nothing to install)
Course topics
- Procedural Python
- A quick refresher of procedural Python programming using functions
- Managing code that spans multiple files
- Managing data with Collection objects
- Lists
- Dictionaries
- Tuples
- Sets
- Classes and Objects
- Concepts behind object-oriented programming
- When it’s appropriate to use Object-Oriented Programming
- Build simple applications that utilise classes, objects, methods and properties
- Connecting to a Database
- In this module, we’ll build an OOP Python program that connects to a database, and performs CRUD operations (Create, Read, Update, Delete)
- Consuming an API
- In this module, we’ll write an OOP Python program that consumes a simple API
- Error Handling
- Learn how to catch errors and deal with them gracefully
- Unit Tests
- This module teaches the concepts behind Test Driven Development, using Python and OOP
- Learn how to write unit tests for your Python programs
- Deploying code and Managing Virtual Environments
- Managing dependencies and preparing for deployment - It’s one thing to build a Python program that runs on your own computer, quite another to ensure that the same code works after deployment to a server
- Learn how to set up virtual environments to manage libraries that have been installed using pip
- The basics of source Control using Git
- Create a repository and use basic git commands such as git add, commit, push and pull.
- Be familiar with common git workflows.
- Code Kata - an opportunity to reflect on how you write code, and to look for ways to improve.
- You’ll be given a challenge to complete
- Starting with a clean slate, you’ll attempt the same challenge again
- Reflect on how you were able to improve your code between attempts
- Present your code to your team, and discuss the improvements that you made. Compare and contrast different approaches taken by your colleagues
