Python Crash Course
Learn how to write programs in Python! We’ll cover all the building blocks: variables, functions, lists, loops, dictionaries, higher-order functions, and object-oriented programming. Along the way, you’ll build decision-making algorithms, photo filters, procedural text generators, and data visualizations.
Course taught by expert instructors

Pamela Fox
Lecturer, UC Berkeley
Pamela Fox loves to learn, teach, and create. She’s currently a UC Berkeley lecturer, teaching a Python class to 1000+ students each semester. Previously, at Khan Academy, she created all of the programming courses and also helped develop the interactive platform for teaching programming in Python/JS. In her role before that as one of Coursera’s first frontend developers, she coded much of the original student-facing experience (also in Python/JS!). Her first job was at Google, as one of the first developer advocates, showing developers how to use their APIs in JS, Python, and many other languages.

Murtaza Ali
University of Washington
Murtaza is a PhD Student in Human-Centered Design and Engineering at the University of Washington, working with Dr. Cecilia Aragon and Dr. Sayamindu Dasgupta. His research interests center around computing education and data visualization. He is particularly interested in the design, teaching, and structure of introductory computing and data courses, and has taught introductory courses at various levels, including at the high school, undergraduate, and graduate levels. In a past life, he was a student and teaching assistant in computer science at UC Berkeley, where he earned both the Outstanding Undergraduate Student Instructor Award and the Electrical Engineering and Computer Sciences Outstanding Teaching Assistant Award for his contributions to the design and teaching of The Beauty and Joy of Computing, Berkeley's introductory computer science course for those with no prior experience.
The course
Learn and apply skills with real-world projects.
Anyone interested in learning the basics of programming in one of the world’s most popular languages.
Programmers familiar with other languages who want to learn Python syntax.
As this is an introductory course, there are no prerequisites
However, basic understanding of computers and access to your own computer is recommended.
If you do come in with experience in other programming languages, you may find it less challenging at times, but you will still come away with a good understanding of Python’s syntax.
Try these prep courses first
- Learn
- Expressions
- Variables
- Functions
- Logic
- Conditionals
A decision-maker that can compute a score based on a user’s answers to a series of questions.
- Learn
- While loops
- Lists
- Mutation
- For loops
- Ranges
A set of filters that can be applied to any photo, like color inversion, grayscale, and image flipping.
- Learn
- Strings
- Dictionaries
- Files
- Randomness
A procedural text generator that can generate (often hilarious) text based on input files of your choice and probabilities computed from those files.
- Learn
- Classes
- Inheritance
- Composition
- Libraries
For this project, you're going to use object-oriented programming to write a quiz that can handle different kinds of questions - and you'll use it to deliver a quiz on a topic of your choosing.
Real-world projects
Work on projects that bring your learning to life.
Made to be directly applicable in your work.
Live access to experts
Sessions and Q&As with our expert instructors, along with real-world projects.
Network & community
Core reviews a study groups. Share experiences and learn alongside a global network of professionals.
Support & accountability
We have a system in place to make sure you complete the course, and to help nudge you along the way.
Course success stories
Learn together and share experiences with other industry professionals
I was totally new to Python and the Co:rise instructors, community, and projects pushed me to become a functional Python user in a month. Highly effective, fun, and challenging learning experience.
Pamela's courses are simply a joy. Her style is playful and sincere with unique projects and examples. She brings a ton of in-industry as well as teaching experience, which means she is able to deliver content in a way that is accessible to newbies but also not out of touch with what is going on in the industry. I look up to Pamela as a role model for how to teach, and I am the developer and teacher I am today largely because of her influence on me early in my career. If you have the opportunity to take one of her courses, I highly recommend it!
Pamela's course provides an engaging, hands-on introduction to programming with Python. The materials are well-thought out and approachable to anyone at any skill level. The projects are fun and engaging while providing experience relevant to real-world situations. I highly recommend it!
An amazing experience as a newbie in programming. A great team that truly wants you to thrive when starting to learn Python.
Learning Python in this day and age is a must for not just software engineers anymore. I couldn't think of a better teacher to take the first steps on this path than Pamela Fox. Since her days as one of the first developer supporters on the Google Maps API, Pamela is known as a teacher who deeply cares about making her students successful. Learn Python and let Pamela teach you!
This course was incredibly well-run, with an abundance of support given from the education team!
Pamela is an amazing instructor, always makes things feel less daunting then they otherwise would be with a calming voice. I knew nothing about coding as I entered this course. Everything was very well explained and the coursework and projects made me implement things in a way that helped me retain the past week's information.
In the Python Crash Course you not only learn a programming language, but also become a part of a community where people help each other advance faster.
Everyone at CoRise was helpful and very attentive to messages/questions. The material was well covered; the projects were challenging but were helpful as a tool to learn and apply the material. The lectures were great and the community supportive and encouraging. I enjoyed the past 4 weeks learning about Python!