Programming Essentials with Python Online Course Description

Dive into Python and get to know data science fundamentals such as variables, strings, lists, looping, iterating, boolean logic, and flow control. Build up your foundational skills in probability and statistics, and learn how to build a calculator, a word game, and a math game using Python programming. This is a free course that will cost you nothing except your time, effort, and commitment to learning.


  • Gain proficiency in Python Programming to build real-world tools
  • 30 hours to complete in total
  • Beginner

What You Will Build

  • Tax Calculator
  • Bill Splitter
  • Word Game
  • Password Validator
  • Math Game

How You Will Develop It

  • Data and Logic
  • String Replacement
  • Lists
  • Refactoring
  • Looping
  • Iterating
  • Boolean logic
  • Flow control


Garrett Brick

Garrett is a polyglot software developer who thinks it's neat to help people learn new things. Conversationally fluent in Ruby, Javascript and Python. You can often find him at unusual hours in vividly animated conversations about data and algorithms, sometimes with complete strangers.

Course curriculum

  • 1


    • Welcome!

  • 2

    Getting Started

    • The IDE: Printing your first thing

    • An Introduction to Data and Logic

    • Variables

  • 3


    • Introduction to Strings

    • Multi-Line Strings

    • String operations

    • Exercise : String Replacement

  • 4


    • Introduction to Numbers

    • Math in Python

    • Exercise: Tax Calculator

    • Exercise: Bill Splitter

  • 5

    Project: Word Game

    • Introduction

    • Planning the Project

    • Word Game

    • Solution: Word Game

  • 6


    • Introduction to Lists

    • Exercise: Reading Lists

    • Reading Lists

    • Changing the Contents of a List

    • Exercise: Foosball Players

  • 7

    Looping and Iterating

    • Introduction to Looping

    • Making New Data

    • Iterating Over a Range

    • Exercise: Actors

    • Solution: Actors

    • Strings are Special Lists

  • 8

    Project: Word Game Part 2

    • Refactoring

    • Solution: Refactoring

  • 9

    Logic and Flow Control

    • Introduction to Logic and Flow Control

    • Boolean Logic

    • if elif else

    • Exercise: Password Checker

    • Exercise: Password Validator

    • Exercise: Math Game

  • 10

    Project: Word Game Part 3

    • More Stories

    • Solution: More Stories

    • Printing out the Story Titles

    • Solution: Printing out the Story Titles

  • 11


    • Wrap Up and Next Steps

    • Appendix A: Exercise Solutions


5 star rating


Khusein Bespalyi

This course has been an interesting for me, and so, would be interested for everyone!!

This course has been an interesting for me, and so, would be interested for everyone!!

Read Less
4 star rating

Good intro Course to Python

Theodore Tkachyk

Nicely laid out text and activities. Good starting point in learning Python.

Nicely laid out text and activities. Good starting point in learning Python.

Read Less

Frequently Asked Questions

Can I learn Python on my own?

Yes, it is definitely possible to learn Python on your own—all you need is a computer, an internet connection, and a productive space to learn. There are a variety of free courses (like this one!) and resources, online communities, and forums to help you get started learning Python.

Our free Python course is specifically designed for self-study, and to get you comfortable with learning Python programming on your own. The key to learning Python on your own is to practice writing code, running into errors, and solving problems yourself. The more you write code, modify text, run experiments, and test hypotheses, the better you will understand core concepts of the Python programming language. 

As you progress through this course, try to make as much progress as you can without looking at solutions. If you must look at solutions, be sure to recreate the code yourself so that you fully grasp the concepts. This will be the best way to become confident in your Python programming skills without an in-person class!

Can I learn Python in a month?

You can pick up the basics of a programming language like Python in a month. The pace of learning is different for everyone, however, and depends on the time and effort you put into it. The more effort you put in, the more you’ll get out of it, and the faster you’ll learn.

If you decide to learn Python through online courses, be diligent and committed to managing your time to make room for Python courses and lessons. Here are some ways to learn Python faster:

  • Wake up 30 minutes earlier every day. Commit some time each morning to learn and practice Python before your busy work day begins. Create problems for yourself to solve once you think you understand a concept. The importance here is to build a learning habit earlier, creating the foundation of knowledge for you to build upon.

  • Sacrifice an episode of your favourite Netflix show. Although it’s always nice to relax at the end of the day with binge-able TV, take 30 minutes to an hour at night to review what you learned in the morning and set up your lesson for the next day. Use a goal tracker, like Notion, for example, to stay on track and keep tabs on your progress.

  • Take advantage of weekend mornings. Weekends are precious, and a good time to dive into Python courses when there are no pressing work matters to deal with. Make coding a weekend morning ritual! Short sprints of 30 minutes of dedicated deep work is more beneficial than 1-2 hours of distracted learning.

  • Compete in data competitions. The best way to learn is by doing. Join data science competitions like our 21-Day Data Challenge or 21-Day Coding Challenge to really test and hone your Python skills. These challenges happen twice a year, in the fall and in winter/spring.

Can I learn Python online?

Yes, you can absolutely learn Python online. The key to being successful, however, is to practice, practice, practice. 

Think of Python as a musical instrument, like a guitar. If you simply watch tutorials and read lessons on how to play the guitar, you will never be truly proficient. To become a great guitar player, you need hands-on practice—and that’s the same with learning Python programming. Be prepared to fail at times, and to not get things right the first time. The best way to learn is to learn by doing.

Our course builds on core foundational concepts with sample code and exercises for students to practice writing and experimenting with, as well as projects for you to use Python and test your programming knowledge. Practicing coding consistently is the best way to successfully learn any programming language—including Python—online.

Is Python enough to get a job? 

Python is an excellent way to advance your career, but is not sufficient on its own to get a job. 

If you consider yourself a beginner, that’s OK! Free Python courses will help you get started in the world of coding languages with the basics—at the very least, you’ll have a foundational understanding of the Python programming language. If your goal is to get a job as a professional programmer or work in software development or data science, you’ll need some additional training. Each specialization requires its own set of technical skills—and soft skills shouldn’t be forgotten either. 

For example, if you’d like to pursue a career in machine learning, you’ll want to learn mathematical modelling. For a career in data science, you’ll need to learn Pandas and NumPy among other data science libraries. For a job in development building web pages and applications, you’ll also need to know Javascript, HTML, and CSS. 

Want to learn further about data? Discover our data science bootcamp!

Want a career in tech but aren’t sure where to start? Take our Skills Gap Quiz to identify and benchmark your current tech career skills. Learn how to bridge your skills gap to advance your career in tech.