Course descriptionThis is the Python course that will not only develop your programming skills, but will also give you a problem solving superpower using Python code! In this course you will develop a thorough understanding of Python, how to program in Python, and how to think computationally. You will learn how to implement object-oriented programming (OOP), how to create Python charts in Matplotlib, and how to work with different IDEs like Spyder and Jupyter. While you’re learning, you’ll get to practice your skills with fun and challenging exercises like solving the Sierpinski Triangle and the Towers of Hanoi. Finally, your instructor, Giles McMullen-Klein, is a British programmer who went to Oxford University and used Python for his research there. He’s motivating, enthusiastic, and truly passionate about Python!
In this section, we look at what coding is and why it’s a useful skill to have. Coding is a superpower giving you the ability to complete tasks that would otherwise be impossible or very time-consuming. An understanding of how to code also helps your problem-solving skills. Coding is also a very sought after skill; one that is valued by employers. There are so many programming languages, we take a brief look at why that is and what the benefits are of choosing python.
Setting up the environment
Setting up Python can be one of the most challenging aspects of using it. There are so many different ways of installing it onto your computer and sometimes they can create conflicts that can be difficult to resolve. That’s why we’ve chosen to use Anaconda. It’s a simple installation, which we’ll walk through with you. You’ll have python up and running in a few minutes. Spyder is an IDE (integrated development environment) which is included with the Anaconda Python installation. IDEs are very useful when coding, as they put everything you need right at your fingertips. Here we show you the basics of Spyder.
Python basics + Hands-on Coding
It’s essential that you understand how the PRINT function works in Python. It’s what enables you to print output to the screen, it’s also useful when it comes to debugging - more on that later! Here you will receive a thorough grounding in how to use it.
Computers are very good at doing repetitive tasks. The for loop is one way of controlling how this is done. It allows you to request the computer to repeat blocks of code. In this section, you will learn how to use the for loop and just how handy it can be. We then look at the other type of loop - the while loop. In this section, we also take a look at a python data type called a list. We explore how, why and when to use it.
Another Python data type. It’s essential to understand what a dictionary is and how to use it. They are widely used in data applications. We explore their uses and some applications in this section. We also cover modules, which give python a whole new set of features. You will learn how to import and use modules and we will introduce you to the counters module: very powerful but often overlooked. You will be introduced to the tuple, another data type and we will cover the zip function too.
Files and Functions
Python can handle files. It can open files, read files, write to files and manipulate the content of files. In this section, we will introduce you to some of the more common file handling methods in python. We also take a closer look at functions. We also cover a very important topic in computer science: recursion.
Classes and objects: what’s the difference and why does it matter? You will find out in this section. Everything in Python is an object, we will show you what this means and how it can help you to write better code. You will learn how to create your own objects, the difference between a method and a function and we will introduce the concept of inheritance.
Advanced Python: Stacks
Data can be stored in various different ways, known as data structures. In this section, we will show you a very important data structure known as a stack. We explore what it is, how it’s used and how it can help us to solve problems, such as the famous computer science problem called ‘The Towers of Hanoi’.
Advanced Python: Debugging
When you write code, it will contain mistakes! It’s unavoidable. Debugging is the process of going through your code, finding the mistakes and correcting them. We will teach you that process in this section. You will also be introduced to python’s module for using regular expressions: Regex.
Capstone project - Computer Vision
Working through problems in Python could also be quite a challenging task. However, Python allows us to work on very complicated computational problems even with a limited programming knowledge. In this capstone project we simulate a real-world situation where we are asked to solve an extremely challenging problem, in order to build our research skills.
Installing Python and Using Virtual Environments on Windows and Unix
In this section, we will learn how to install Python using virtual environments. That will enable you to set different sorts of sandbox versions of Python on your machine to avoid potential conflicts between different Python versions.
Exception handling in Python
Exception handling is one of the Python features that allow you to anticipate errors in your code and deal with them in advance. Although learning how to handle exceptions may seem challenging at first, it will prove to be an indispensable tool in your Python programming arsenal.