🛠️ Scheduled Maintenance | We’ll be undergoing scheduled maintenance and upgrades between 00:00 PST Jan 26th until 00:00 PST Jan 28th. There may be brief interruption of services in that period. We apologize for the inconvenience.


Python Programmer Bootcamp

This 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!

Sign up to
preview the program
for FREE!

Create a free account and start learning data science today.

create free account
Our graduates work at exciting places:

Section 1

Course Introduction

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.

Premium course icon Why code? Why Python?

Section 2

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.

Premium course icon Installing Python
Premium course icon Introducing Spyder

Section 3

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.

Premium course icon PRINT function

Section 4

Variables and strings - Exercises

Variables are the building blocks of all programming languages. This section introduces them, explains what they are and why they’re so important. We will show you how they are used in python.

Premium course icon The solution
Premium course icon Variables
Premium course icon Strings
Premium course icon Let's write a program
Premium course icon Question 1
Premium course icon Question 2
Premium course icon Question 3
Premium course icon Question 4
Show all lessons
Premium course icon Question 5
Show fewer lessons

Section 5


If you want a computer to make decisions then you need to use conditionals. Conditionals enable computers to choose different outcomes based on the value of a variable. They are very powerful and key to being able to code in Python.

Premium course icon Intro to conditionals
Premium course icon Logical operators
Premium course icon Not TRUE is FALSE
Premium course icon IF statement
Premium course icon More on strings
Premium course icon More strings!
Premium course icon Practice challenge

Section 6

For Loops

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.

Premium course icon Intro to For loops
Premium course icon A little more on variables
Premium course icon Lists
Premium course icon The power of lists and loops and working together
Premium course icon Some list methods
Premium course icon While loops
Premium course icon Modulus
Premium course icon Practical challenge

Section 7


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.

Premium course icon Modules
Premium course icon Dictionaries
Premium course icon Zip function
Premium course icon More string methods
Premium course icon Tuples
Premium course icon More than 1 dimension
Premium course icon Import counters (Part I)
Premium course icon Import counters (Part II)

Section 8

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.

Premium course icon Files and functions
Premium course icon Appending to a file
Premium course icon More on functions
Premium course icon Fibonacci in a function
Premium course icon Recursion

Section 9


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.

Premium course icon Objects
Premium course icon Class
Premium course icon __Init__
Premium course icon Class variables
Premium course icon Methods
Premium course icon Inheritance
Premium course icon Practical exercise 1
Premium course icon Practical exercise 2

Section 10

General Tips

We have covered a lot of ground, in this section, we take a look at the bigger picture. You will receive general advice on how to become a better Python programmer.

Premium course icon General tips

Section 11

Big O

How long will your algorithm take to run? How does it scale as the amount of data you process increases? These questions can be answered by considering Big O. We will explain what it is and how it is applied to algorithms in this section.

Premium course icon _Big_O
Premium course icon O(n)
Premium course icon O(n^2)
Premium course icon O(n!)
Premium course icon Summary

Section 12

Advanced Python: Caesar two sum

In this section, we consider two well-known computer science problems and work through their solution with Python.

Premium course icon Intro
Premium course icon Caesar cipher
Premium course icon Jupyter notebook intro
Premium course icon Caesar cipher solution
Premium course icon Two sum
Premium course icon Two sum solution
Premium course icon Card class
Premium course icon Playing card class
Show all lessons
Premium course icon Playing card class solution
Show fewer lessons

Section 13

Advanced Python: Matplotlib

Python is so versatile, there are very few things you can’t do with it. One of its many strengths is data visualization. Matplotlib is a well-known data visualization module in python. We introduce you to it in this section and work through some interesting examples.

Premium course icon Matplotlib
Premium course icon Random walk explanation
Premium course icon Simulating a random walk
Premium course icon Sierpinski triangle
Premium course icon Creating the triangle in Matplotlib
Premium course icon Python imaging library

Section 14

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’.

Premium course icon Intro to stacks
Premium course icon Coding a stack in Python
Premium course icon Practical challenge - stacks
Premium course icon Hint on solving the challenge
Premium course icon Solving the stacks challenge
Premium course icon Towers of Hanoi
Premium course icon Some hints
Premium course icon Code for Tower of Hanoi
Show all lessons
Premium course icon Enumerate sets & none
Show fewer lessons

Section 15

Search and sort

Two of the most important tasks for computers are searching and sorting. So much work has been done on how to optimize these tasks. In this section, we introduce you to the challenges they pose. We cover some famous searching and sorting algorithms.

Premium course icon Intro to search and sort
Premium course icon Linear search
Premium course icon Binary search
Premium course icon Insertion sort

Section 16

Advanced Python: Cards and Coins

In this section, we put our python skills to use to solve some problems. We will make a credit card number validator using Luhn’s algorithm and we will write some python code to solve a famous maths puzzle.

Premium course icon Intro to cards and coins
Premium course icon Luhn's algorithm
Premium course icon Coins
Premium course icon Coins - Python code

Section 17

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.

Premium course icon Debugging
Premium course icon Beyond the PRINT function
Premium course icon Debugging in Spyder

Section 18

Advanced Python: Strings and Expressions

In this section we dig deeper into strings. It is not mandatory to go through them, but such advanced topics are always the most interesting. We explore how to format numbers in specific ways and get familiar with regular expressions.

Premium course icon A little more on strings
Premium course icon Regular expressions
Premium course icon More regular expressions
Premium course icon Type hints

Section 19

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.

Premium course icon Introduction to the project
Premium course icon Coin photographs
Premium course icon Introducing OpenCV
Premium course icon Starting to work with Visual Studio
Premium course icon Hough circle transform
Premium course icon Get circle radii
Premium course icon Get brightness values
Premium course icon Performning coin classification
Show all lessons
Premium course icon Closing remarks
Show fewer lessons

Section 20

Further Exercises

Here you will find some additional exercises that will help you reinforce what you have learned in the lessons. Hope you enjoy them!

Premium course icon Further exrecises

Section 21

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.

Premium course icon Introduction
Premium course icon Downloading Python
Premium course icon Setting up the virtual environment
Premium course icon Sharing a project - requirements file
Premium course icon Downloading and Installing Virtual Box & Setting up a Virtual Machine
Premium course icon Installing Ubuntu on the Virtual Machine
Premium course icon Setting up a virtual environment on Ubuntu
Premium course icon Introduction to the command line
Show all lessons
Premium course icon Handling files on in the command line
Premium course icon Copying, moving and deleting files on the command line
Premium course icon Echo, environment variables and path
Premium course icon Section summary
Show fewer lessons

Section 22


This section introduces another highly functional IDE - PyCharm. Using PyCharm not only helps your Python programming, but familiarity with it is a common prerequisite for a career in data science.

Premium course icon Introduction and installing PyCharm
Premium course icon Setting up PyCharm
Premium course icon Using PyCharm to write code
Premium course icon PyCharm and Git

Section 23

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.

Premium course icon Exception handling - Introduction
Premium course icon Setting the scene
Premium course icon How Python handles errors
Premium course icon The block stops running as soon as the exception is encountered
Premium course icon When to use tryblock
Premium course icon Exception handling - Conclusion

Section 24


Some parting words of encouragement and a sincere thank you!

Premium course icon Farewell

Programming for Data Science

This course is part of Module 2 of the 365 Data Science Program. The complete training consists of four modules, each building upon your knowledge from the previous one. In contrast to the introductory nature of Module 1, Module 2 is designed to tackle all aspects of programming for data science. You will learn how to work with relational databases and SQL, as well as how to code in Python and R. By the end of this Module, you will have a versatile programming skill set.

See All Modules

Trust the other 500,000 students

Ready to start?
Sign up today for FREE!

Whether you want to scale your career or transition into a new field, data science is the number one skillset employers look for. Grow your analytics expertise and get hired as a data scientist!