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

Python Basics. Part 1 (LearnPython) Other Providers
LearnPython.com

Python Basics. Part 1 (LearnPython)

This course is a solid foundation in programming for beginners. Upon completion, you will be able to deepen your knowledge of Python or switch to any other programming language. There are 95 interactive exercises with examples and hints. After completing them, you’ll be able to use the syntax of Python and write your own functions. You’ll also discover what variables are, their purpose, and how to use them in programs. With an understanding of basic data structures, you’ll be ready to work with files and go further with programming for data analysis, development, or engineering.

Self Paced
Self-Paced
Comparing Genes, Proteins, and Genomes (Bioinformatics III) (Coursera) Coursera
University of California, San Diego

Comparing Genes, Proteins, and Genomes (Bioinformatics III) (Coursera)

Once we have sequenced genomes in the previous course, we would like to compare them to determine how species have evolved and what makes them different. In the first half of the course, we will compare two short biological sequences, such as genes (i.e., short sequences of DNA) or proteins. We will encounter a powerful algorithmic tool called dynamic programming that will help us determine the number of mutations that have separated the two genes/proteins.

Oct 12th 2026
5-12 Weeks
Learn HTML and CSS (Coursera) Coursera
Scrimba

Learn HTML and CSS (Coursera)

This course is perfect if you want to learn how to code websites from scratch. You will learn the basics of HTML and CSS through interactive challenges. Along the way, you will build multiple projects, like a Google.com clone, a Space Exploration page, and a fun birthday site filled with GIFs. While most of the challenges are done in Scrimba's interactive editor, you will also learn how to use professional tools like VS Code for code editing, GitHub for hosting your code, and Netlify for deploying your projects to the world wide web.

Oct 12th 2026
5-12 Weeks
City Design (Stepic) Other Providers
Stepic

City Design (Stepic)

City Design online course shows the fundamentals of city planning, building and exploitation via funny short video lectures (like the one above) and a variety of brief assignments for self-control. It is ideal for people who want to know about designing the cities before starting professional readings or to draw inspiration.

Mar 1st 2014
5-12 Weeks
Basic Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Basic Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

Oct 12th 2026
4 Weeks
Estructuras de datos de Python (Coursera) Coursera
University of Michigan

Estructuras de datos de Python (Coursera)

Este curso presentará las estructuras de datos básicas del lenguaje de programación Python. Veremos los conceptos básicos de la programación de procedimientos y exploraremos cómo podemos usar las estructuras de datos integrados de Python, como listas, diccionarios y tuplas, para realizar análisis de datos cada vez más complejos. Este curso abarcará los capítulos 6 a 10 del libro de texto “Python para todos”. Este curso cubre Python 3.

Oct 12th 2026
5-12 Weeks
Gen AI for Code Generation for Python (Coursera) Coursera
Edureka

Gen AI for Code Generation for Python (Coursera)

Welcome to the 'Gen AI for Code Generation for Python' course, where you'll embark on a journey to explore and develop your skills in the art of code generation with Generative AI. Throughout this short course, you will delve into various techniques for generating Python code effortlessly, ranging from simple scripts to complete end-to-end projects.

Oct 12th 2026
1 Week
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Oct 12th 2026
5-12 Weeks