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!
Create a free account and start learning data science today.create free account
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 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.
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.
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.
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.
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.
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.
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.
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.
In this section, we consider two well-known computer science problems and work through their solution with Python.
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.
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’.
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.
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.
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.
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.
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.
Here you will find some additional exercises that will help you reinforce what you have learned in the lessons. Hope you enjoy them!
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.
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.
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.
Some parting words of encouragement and a sincere thank you!
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
Real-life project and data. Solve them on your own computer as you would in the office.
Our expert instructors are happy to help. Post a question and get a personal answer by one of our instructors.
Earn a verifiable certificate after each completed course. Celebrate your successes and share your progress with your professional network!
The course is in-depth and is delivered at a steady pace with eye catching visuals. The instructors go through all the basics really well. They try not to over-simplify the material, you get a good sense аof how deep Data Science is in the course. Great job!!!
This course is amazing! After watching the video carefully and doing all the exercises, I am even capable of having discussions with Machine learning major Master’s students! High standard course with reasonable pricing.
Very clear and in-depth explanation of data science and how all the inter-related concepts apply in real life business environment. Absolutely great for beginners! Best data science course I have come across so far!
I would highly recommend the course to any beginner who wants to venture into the world of Data Science. The concepts are very well explained and there is an emphasis on practical application which really helps create a better understanding of the concepts.