// 2026-08-05 · Learning & Education · by Bob Smith

Python for Everybody: The Free Course That Actually Teaches Beginners

Python for Everybody is Dr. Charles Severance's complete free Python course: video lectures, an open textbook, autograded exercises, and no paywall anywhere.

Screenshot of Python for Everybody
Python for Everybody: what you'll see when you land there

Python for Everybody is a complete university-quality introduction to programming, given away in full, by a professor who clearly enjoys teaching more than he enjoys gatekeeping. The textbook is free, the videos are free, the autograded exercises are free, and the whole thing is built for people who have never programmed at all.

What is Python for Everybody?

Dr. Charles Severance, known to roughly everyone who has taken the course as Dr. Chuck, teaches at the University of Michigan School of Information. PY4E is the online version of his introductory course, and it has become one of the most widely used beginner programming resources on the internet.

The premise is in the name. This is not a course for people who intend to become software engineers. It is for people who have a job, a research project, a spreadsheet problem, or simple curiosity, and who would benefit from being able to make a computer do something repetitive. The framing is informatics: programming as a tool for getting at data.

The textbook grew out of Allen Downey’s Think Python and is released under a Creative Commons license, which is why it has been translated into a long list of languages and reused in classrooms worldwide. Every chapter has an accompanying video lecture, and the site hosts exercises that check your code automatically and tell you what went wrong.

The teaching style is unusually patient. Severance repeats things, spends time on the concepts beginners actually get stuck on, and does not spend chapter one showing off. Students consistently describe the experience as the first time programming instruction did not make them feel stupid, which is a much rarer achievement than it should be.

The course also exists as a Coursera specialization, which some people prefer for the structure and the optional certificate. The py4e.com site has all the same material without any of the account requirements.

What can you do with Python for Everybody?

  • Read the whole textbook online. Free, chapter by chapter, in the browser, with PDF and ebook versions available too.
  • Watch a lecture for every chapter. Video walkthroughs that follow the book, so you can switch between reading and being taught.
  • Do autograded exercises. Write code, submit it, and get immediate feedback on whether it works, which is the part self-teaching usually lacks.
  • Learn to pull data off the web. Later chapters cover fetching pages, parsing HTML, handling JSON, and using web APIs.
  • Get a working knowledge of SQL. The database section teaches enough relational modeling and SQL to be genuinely useful.
  • Reuse the material. The Creative Commons license means teachers can take the book and slides and run their own course with them.
  • Take the Coursera version. Same material in a more structured format, free to audit, with a paid certificate track if you want one.

Tips to get the most out of it

Type the code, do not read it. The single biggest difference between people who finish this course and people who bounce off it is whether they actually ran the examples themselves. Reading code feels like learning and is not.

Use the autograder as a tutor. Failing an exercise five times and fixing it yourself teaches more than getting it right first try. Resist looking up solutions until you have genuinely stalled.

Do not skip chapters four and five. Functions and loops are where beginners quietly lose the plot, and every later chapter assumes them. Slow down there even if it feels tedious.

Pick a real problem early. Around the file-handling chapter you will have enough to automate something small in your own life. Do that immediately. A course you are using is far easier to finish than a course you are studying.

Take the web-scraping chapters seriously about etiquette. The course teaches you to fetch pages politely, with delays and respect for the server. That habit is worth keeping.

Do it in order. The book is unusually well-sequenced and each chapter genuinely depends on the last. This is not a reference to dip into.

If you like Python for Everybody, also try…

  • SQLZoo: interactive SQL exercises to go deeper after the database chapters.
  • SQL Murder Mystery: learn queries by solving a crime, which is more fun than it sounds.
  • Learn X in Y Minutes: once Python clicks, pick up the syntax of any other language in one page.
  • Class Central: find the next free course, from every major platform, in one search.

More free education worth your time in Learning & Education, and practical tooling in Tools & Utilities.

Frequently asked questions

What is Python for Everybody?

Python for Everybody, often shortened to PY4E, is a free introductory Python course created by Dr. Charles Severance of the University of Michigan. It includes a full textbook, video lectures for every chapter, and automatically graded programming exercises. It is aimed at people with no programming background and focuses on using Python to work with data rather than on computer science theory.

Is Python for Everybody really free?

Yes. The textbook, videos, slides and exercises on py4e.com are free, and the book is released under a Creative Commons license that permits reuse and translation. A version of the course also runs on Coursera, where auditing is free and a paid certificate is optional. Nothing on the py4e.com site is behind a paywall.

Do I need any programming experience to start?

No. The course is deliberately built for absolute beginners, including people who have never written a line of code. It starts with variables and expressions and moves gradually toward files, data structures, web data and databases, with the difficulty curve kept intentionally gentle.

What does Python for Everybody cover?

It covers Python fundamentals, then applies them to practical work: reading files, regular expressions, fetching data over the network, parsing web pages and JSON, using APIs, working with databases through SQL, and basic data visualization. The emphasis throughout is on informatics, using programming to get at data, rather than on algorithms.

Visit Python for Everybody →

← All posts · Browse the directory