Weekly Python Exercise

Become a more fluent, more professional Python developer — week by week, exercise by exercise. There are six WPE cohorts, each with its own set of 15 exercises.

Improve your Python fluency, and get the career you want

Become the fastest, most proficient Python programmer at your company.

What career opportunities would you have if you were a top 1% Python developer? 

Maybe you already have a decent understanding of it...

...but wouldn’t you rather know exactly what to code in every situation? To just “know” how to solve any problem off the top of your head, without spending hours scouring Stack Overflow or Google and rarely finding solutions that make sense?

If you were fluent in Python, you could...

  • Write better, cleaner, and more "Pythonic" solutions, more quickly than you could before.  Whether you're a freelancer or an employee, everyone will appreciate you churning out and creating reliable solutions more quickly than before.
  • Stand out as the local Python expert on your team.  Your boss will be impressed — and if they aren't, you'll be in a prime position to get another, better job.
  • Ace interviews at the jobs you most want, confidently answering their questions without secretly searching Stack Overflow on your phone.
  • Become a data scientist, contributing to everything from drug discovery to financial models to self-driving cars. (As you might know, Python is the leading language in data science and machine learning -- so knowing it is the key to getting a job in this hot industry.)
  • Create Web applications, using Python-based frameworks such as Django and Flask, to create sites like Instagram, Pinterest, and Dropbox.
  • Automate your home or office on a Raspberry Pi, integrating systems such as temperature sensors to microcontrollers in a single program.
  • Use a single language to automate everything on your computer, instead of using such domain-specific languages as VBA and bash.

Hi, I’m Reuven Lerner, and I help developers all around the world become fluent in Python

Companies like Apple, ARM, Cisco, Citibank, Ericsson, Intel, HP, PayPal, VMWare, and Western Digital regularly invite me to teach Python, Git, and data science classes to their employees.  

In the last year, I've taught people in the US, Europe, Israel, India, and China — and my schedule is packed solid months in advance, with courses scheduled in each of these companies.

In addition to my in-person courses, I make a lot of my knowledge available online, via my free newsletter and blog, as well as paid courses. But many of my students had certain feelings about online courses. And that is... 

Online courses and books about Python will never make you fluent

If you’ve learned Python through taking online courses, reading books, watching tutorials, or browsing forums, you’ve probably discovered something:

They only teach you basic concepts––they don’t help you become a well-rounded programmer that can understand any problem and quickly develop the best solution.

So what are these resources missing? What is it that’s going to take you from a “good enough” Python programmer to a fluent one that has full command of the language?

Practice. The very sort of practice I offer in Weekly Python Exercise.

What students say

WPE is the best investment one can make. There are free MOOCs out there. I tried, but stopped before the end because they don't teach, they just show how to do some stuff.

I was a total python noob when I started.  I just wanted to learn the syntax, how to look at problems and find the solution.

WPE provided both.  Of course I did a lot of reading too but your teaching is instrumental in drilling some concepts into our brains.

Now, I'm doing CS level homework without thinking about the Python side.  

Jean-Pierre Bianchi

It works! The WPE has been very helpful in advancing my knowledge in Python. The exercises covered areas that I otherwise would have had a very difficult time finding information for. I would truly recommend this to anyone wanting to expand their understanding of Python.

Bill Kohler

I got what I wanted. I learned a lot of features of the language and had a fun time doing it. I also got to apply what I learned when programming for work.

I've told my friends and colleagues about WPE — because it's a great way to improve your Python.

Beirne Konarski

A warning before I go any further...

Most people who start learning Python on their own eventually hit a wall: they start getting stuck when they’re faced with complex problems that need to be solved with code.

At that point you’re “good enough” to write some code and execute some simple tasks. 

But the issue is that there are a lot of “good enough” Python developers who kinda just stay at this “not-a-total-noob-but-definitely-not-a-pro” skill level. 

And there are far fewer Python developers in that upper skill level who are the ones working on the really cool stuff like machine learning.

So how do you jump that barrier from “good enough” to “hard core” pro developer?

Introducing ... Weekly Python Exercise

WPE is a family of 15-week courses, each at a different level. Each cohort presents 15 problem-and-solution exercises that sharpen your Python skills and improve your fluency. Week by week, exercise by exercise, you'll move from “good enough” to “fluent.”

The best and fastest way to become fluent in any language is by putting yourself in situations where you are challenged to use it in new and unfamiliar ways. That’s called immersion.

But Weekly Python Exercise offers you 2 unique advantages over just pure immersion:

  1. It’s a “safe place” where there are no consequences when you try and fail
  2. You’re given the correct answer to every new problem you’re tasked with solving after you’ve had time to try solving it yourself

WPE is like no other Python course

Weekly Python Exercise is a series of problem-and-solution exercises that are delivered to you by email  (one exercise every week). Here’s how it works:

  1. The course always starts on a Tuesday. On that day, and every Tuesday thereafter for 15 weeks, I’ll e-mail you a new problem  for you to solve with Python code. I include tests written in pytest, both to check your solution and to learn more about testing.
  2. You’ll have 6 days (Wednesday through Sunday) to formulate a solution.
  3. On Mondays (6 days after each problem that’s sent out), I send  the best solution to the previous exercise and an explanation of how I got there.

What do we cover in beginner-level (A) cohorts?

See for yourself: Try a sample of beginner-level WPE here.

Beginner-level cohorts are focused on particular topics:

  • Data structures: Lists, tuples, dictionaries, sets, and files — alone, and in conjunction with one another.
  • Functions and comprehensions: Basic functions, positional and keyword arguments, *args and **kwargs, as well as list, dict, and set comprehensions.
  • Object-oriented programming: Classes, instances, instance attributes, class attributes, inheritance, composition, and magic methods.

What do we cover in advanced (B) cohorts?

See for yourself: Try a sample of advanced-level WPE here.

Advanced-level cohorts
cover a wide variety of topics, including:
  • Unlocking the immense power of decorators – learn how and where to implement them
  • Understanding threading and multiprocessing – and comparing the two of them
  • Advanced object-oriented techniques – finally getting them to “click” in your brain if you’ve been stumped until now
  • How to use lambdas – and exactly why you would use them in certain situations
  • Using functions and nested functions – optimize your programs to be more efficient, expressive, and easily maintainable
  • Passing functions as arguments to other functions – have control over how your functions work
  • The “collections” module – how “namedtuple”, “Counter”, and other classes can make your code shorter, more clear, and easier to maintain
  • Implementing iterators, generators, and the “itertools” module – make your job––and others’––easier by understanding the most important protocol in Python
  • Harnessing Python for consuming web services – automate the gathering of information from the Internet and use it in Python
  • Using Python as a “glue” language – automate translating file formats, retrieving and publishing data with JSON, and executing external programs.

The most common objections to Python courses… and why Weekly Python Exercise is different

“I can get just as good at using Python by just putting in the time and effort to learn it on my own.”

I’m not going to lie to you, this is true. But just how much time are you willing to put in to become fluent? How much time are you able to put in? If you’re like most people, your time is already stretched thin. And learning through trial and error and searching the Internet for answers can take years… especially if you’re looking for solutions for very specific problems.

Weekly Python Exercise is designed to give you the most relevant, widely applicable skills so you quickly understand how to solve a large variety of Python problems. Each 15-week session moves you ahead, advancing your Python knowledge at a level that's right for you..

“Most courses only teach bare basics… they don’t help me understand how to solve most real-life problems.”

That’s true. One of the complaints I get most from Python users about other courses is that they’re too “top level”. The example problems they give you are way too simple… and the problems you face in real life are rarely as cut and dry.

This is literally why I created Weekly Python Exercise: to solve this issue. Every exercise has been thoughtfully constructed to help you cultivate a true mastery of Python through the kinds of challenges you’ll face in real life.

100% Money Back Guarantee (no time limit!)

I’m confident that Weekly Python Exercise is going to help you become fluent in Python. So I’ll put my money where my mouth is. 

If you enroll in Weekly Python Exercise and find at any point that it’s not helping you move towards fluency, just email me and ask for your money back. No need to feel bad. 

I’m not even going to give you a time limit. No 30 or 60 day refund restriction. I’m a reasonable person, and I trust that you are, too!

Testimonials

The exercises are perfect for me because they are right in my "wheelhouse". I have enough background knowledge that the context of the problems is relevant in my experience, yet I can't just rattle off the solutions instantly. I have to puzzle over them as I try to solve them. I do usually achieve my goal of coming up with a solution that I am pleased with prior to the answer coming out on the following Monday. 

The course was really excellent in every significant way.

Doug Blanding

The thing is about programming is that you can read books til you're blue in the face, but you really need to use the language for it to all sink in.  Okay fine, but how can you tell if you’re writing "good code"?  This is where Reuven's Weekly Python Exercises really helped me. The best part is that you're not just working in a vacuum... there's an online community of others working on the same project each week. You not only get to see Reuven's answer, but what others have posted too, so you really get a spectrum of answers, and you learn a lot from comparing your code to others.

Larry Marek

The course requires that you research and try, and then try some more. I learn by doing and stepping through my code. Sometimes this is a quick process, at other times it’s slow and tedious. Either it helps reinforce what I have learned.

I’ve learned more in a short time from your courses than I have from other big name courses.

Alan O'Dannel

Weekly Python Exercise for beginners

Each WPE cohort is 15 weeks long, and contains different exercises. (Yes, this means that if you do all six cohorts, you'll do 90 exercises in total, one per week.) The exercises start on the Tuesday following your signup, and continue each week after that.

Subscribers to my LernerPython and LernerPython+data membership programs get all WPE cohorts for free! Just e-mail me (reuven@lerner.co.il) to get one or more voucher codes.

WPE A courses are best for people with less than one year of Python experience.

WPE A1: Data structures

WPE A2: Functions

WPE A3: Beginner objects

Weekly Python Exercise, advanced topics

WPE B courses are best for people with at least one year of Python experience. Each cohort has a mix of 15 questions on a variety of topics.