Python Foundations (OpenClass)

Offered by OpenClass,
Python Foundations (OpenClass)

This course aims to introduce beginners to programming in Python, starting at square zero. By the end of this course, learners should not expect to be programming wizards; rather, they should expect to have a solid foundational understanding of how Python works to pursue further knowledge in more specific areas of programming, such as natural language processing, web development, or general programming.

Welcome to Python Foundations!

And if this is your first class on OpenClass, welcome to OpenClass!

This class aims to introduce learners with zero programming experience to the Python programming language.
To temper your expectations, you should not expect to be a programming wiz by the end of this class. That can take years of practice.
But, by the end of this class, you should expect to have a solid foundation of how Python works. With this knowledge, you should be well-prepared to pursue more specific areas of programming that are of interest to you, such as Natural Language Processing, data science, web development, or general programming.
Here's how the class will work
This class is comprised of six units:

  • Python Basics
  • Control Flow
  • Types
  • Iteration
  • Object-Oriented Programming
  • Modules

Each unit is comprised of lessons, quizzes, review assignments, and projects:

  • Lessons are intended to be short and focused. This is where we will teach about a topic.
  • Most lessons will be associated with a short, 3-question mastery quiz, that will unlock immediately upon going through the lesson. The purpose of these mastery quizzes is to make the lessons more engaging and allow you to assess your current understanding of the material. The difference between a mastery quiz and a normal quiz is that if you fall short of a certain mastery threshold, you will be given an opportunity to review feedback and change any of your answers for half points back.
  • Each unit includes a cumulative review assignment to reinforce all of the concepts taught in the unit's lessons. These review assignments include both coding questions and free response questions, and aim to provide you with a low-stakes environment to master fundamental concepts.
  • Most units conclude with a project to practice the concepts taught in the unit's lessons. These projects are optional and ungraded, but we highly recommend that you give them a try. After all, practice makes perfect!

While each later unit builds upon knowledge presented in earlier units, the first lesson of each unit is unlocked to start. While we recommend completing them in the order that we teach them, we also want this class to serve as a resource for learners with some experience in Python to expand their knowledge in any area of their choosing.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

An Introduction to Programming using Python (Coursera) Coursera
University of Leeds

An Introduction to Programming using Python (Coursera)

Maximise your employability, by learning the basics of coding in Python. Python is a versatile programming language used for developing websites and software, task automation, data analysis and more. In this course, you'll embark on an exciting journey into the world of Python and gain valuable skills that will enable you to start thinking about a career in programming.

Sep 21st 2026
2 Weeks
Software Engineering Virtual Experience (JP Morgan) Other Providers
JP Morgan

Software Engineering Virtual Experience (JP Morgan)

JPMorgan Chase has traders in all the major financial centers and creates a marketplace for asset classes around the globe for our investor clients. You’re going to assist with some development of an alternative way to visualize and analyze share price data for our traders – this will alert them of potential trading opportunities.

Self Paced
Self-Paced
Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera) Coursera
Universidade de São Paulo, Brasil

Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera)

Este curso apresenta os conceitos mais importantes em torno do paradigma de desenvolvimento mais comum da indústria de software hoje: a Programação Orientação a Objetos (POO). Oferecido pelo Departamento de Ciência da Computação do Instituto de Matemática e Estatística da USP, o curso é voltado para quem já conhece os conceitos básicos de POO e quer se aprofundar no assunto, tornando-se um excelente programador. Ele funciona bem como uma sequência natural aos 2 cursos anteriores do Prof. Fabio Kon do IME-USP no coursera: Introdução à Ciência da Computação com Python.

Sep 21st 2026
5-12 Weeks
Intro to Python for Data Science (Springboard) Other Providers
Springboard

Intro to Python for Data Science (Springboard)

Work with a real-world dataset and build foundational data science skills. Build foundational data science skills by working through a real-world case study using a real data set from Yelp. This self-paced course is designed for people with some experience programming in Python, but who want to learn more about using libraries such as pandas for data science work.

Self Paced
Self-Paced
Programming Languages, Part C (Coursera) Coursera
University of Washington

Programming Languages, Part C (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Sep 21st 2026
3 Weeks
VLSI CAD Part I: Logic (Coursera) Coursera
University of Illinois at Urbana-Champaign

VLSI CAD Part I: Logic (Coursera)

A modern VLSI chip has a zillion parts -- logic, control, memory, interconnect, etc. How do we design these complex chips? Answer: CAD software tools. Learn how to build thesA modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design.

Sep 21st 2026
5-12 Weeks
¡A Programar! Una introducción a la programación (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

¡A Programar! Una introducción a la programación (Coursera)

¿Alguna vez pensaste en crear tus propios juegos de computadora, pero no tenías idea cómo hacerlo o por dónde comenzar? Este curso te enseñará a programar utilizando Scratch, un lenguaje de programación visual muy fácil de usar, y más importante aún, aprenderás los principios fundamentales de la computación para que comiences a pensar como ingeniero/a de software.

Sep 21st 2026
5-12 Weeks
Learn to teach with automatic assessments (JuezLTI) Other Providers
C.I.F.P. Carlos III,Karlstad University,Bursa Il Milli Egitim Mudurlugu,INESTEC,Entornos de Formación - EDF

Learn to teach with automatic assessments (JuezLTI)

Come and join teachers around the world and learn how to teach with automatic programming assessments using JuezLTI. JuezLTI is a tool to support computer science teaching, and allows the automatic assessment of programming exercises, databases and markup languages. In this course you will learn how to setup the LTI tool in your LMS, how to create exercises or import them from Authorkit and discuss with other teachers around the world how to integrate it in your teaching. The course is aimed at teachers programming teachers in vocational schools or higher education institutions.

Nov 14th 2022
4 Weeks
Programming with Cloud IoT Platforms (Coursera) Coursera
Pohang University of Science and Technology - POSTECH

Programming with Cloud IoT Platforms (Coursera)

Internet of Things (IoT) is an emerging area of information and communications technology (ICT) involving many disciplines of computer science and engineering including sensors/actuators, communications networking, server platforms, data analytics and smart applications. IoT is considered to be an essential part of the 4th Industrial Revolution along with AI and Big Data.

Sep 21st 2026
5-12 Weeks
Programação para todos (Conceitos básicos de Python) (Coursera) Coursera
University of Michigan

Programação para todos (Conceitos básicos de Python) (Coursera)

Este curso tem como objetivo ensinar a todos os conceitos básicos de programação de computadores usando Python. Abordamos o básico de como criar um programa a partir de uma série de instruções simples em Python. O curso não tem pré-requisitos e evita tudo, exceto a matemática mais simples. Qualquer pessoa com experiência moderada em computadores deve ser capaz de dominar os materiais deste curso. Este curso abordará os capítulos 1 ao 5 do livro “Python para Todos”.

Sep 21st 2026
5-12 Weeks