Weekly Python Exercise: Advanced topics 3 by Reuven M. Lerner

Weekly Python Exercise: Advanced topics 3

Python practice for experienced developers, on a variety of topics.  Cohort starts November 5th, 2019. 

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?

Here are just some of the things you could do if you were fluent in Python:

  • Deliver better and faster results at your job or for your clients
  • Become an in-demand developer and get a satisfying, well-paying career
  • Figure out solutions yourself instead of searching the Internet for someone else’s
  • Write more readable and efficient code that’s a piece of cake to maintain
  • Have enough confidence to teach Python to new developers
  • Develop your own personal projects that you’re passionate about

Being fluent in Python makes it easier to do what you want to

There are a lot of “good enough” Python developers who kinda stumble through using Python at work or for themselves, never feeling fully confident that they’re doing it right. 

But having a “good enough” knowledge of Python is like visiting another country with only a “survival level knowledge” of the native language. 

And just like only having a “survival level” understanding of a foreign language, only having a “good enough” knowledge of Python holds you back from doing what you want to do: 

  • It’s frustrating because you have trouble expressing your thoughts and ideas in the way you want to 
  • It’s humbling because you have to constantly seek out help 
  • It’s time consuming because you don’t know how to code efficiently and understandably
  • It’s confusing because you’re often stumped by more complex language

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 alone, I've taught courses for companies in the US, Europe, Israel, and China — and my schedule is packed solid through December 2019, with multiple courses scheduled for each of these countries and 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?

Introducing ... Weekly Python Exercise

WPE is a family of 15-week courses, each at a different level. In each session, we tackle 15 problem-and-solution exercises that sharpen your Python skills and take you 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

Weekly Python Exercise is unlike any 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. When you sign up, you’ll be added to the Weekly Python Exercise cohort (a group of Python developers who are enrolled in WPE)
  2. Starting on November 5th, I’ll send you a new problem each Tuesday for you to solve with Python code, including tests written in pytest that will help you find a solution.
  3. You’ll have 6 days (Wednesday through Sunday) to formulate a solution 
  4. On Mondays (6 days after each problem that’s sent out) I’ll send you the best solution to the previous exercise and an explanation of how I got there

You’ll also have access to the Weekly Python Exercise private forum. In this forum you’ll be able to discuss the exercises with your fellow peers in the Weekly Python Exercise cohort. 

Plus, I’ll host live office hours every few weeks. Here you’ll be able to ask me questions and get clarifications on the exercises. (And if you’re unable to attend any live office hours session, you’ll have access to the recorded version).

Here’s everything that Weekly Python Exercise covers

Each 15-week cohort of WPE covers a different set of topics. But the overall goal is to get you to write more Pythonic, efficient, and easier-to-read code.  For example, we'll cover:
  • Unlocking the immense power of decorators – learn how and where to implement them
  • Understanding threading and multiprocessing – and comparing the two of them
  • Defining classes and object-oriented programming – 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
  • Mastering built-in data types – they’re basic but you’ll never have full command of Python without them
  • Structuring data with combinations of built-in data types – accomplish more and work faster with lists, tuples, and dicts
  • 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
  • Understanding comprehensions – turn files into a list or dict, get unique values from a collection/user input/file, and transform a list of inputs into another list
  • 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
  • Using Python for web development – writing inputs and outputs in a web browser––not the command line
  • Harnessing Python for consuming web services – automate the gathering of information from the Internet and use it in Python
  • Storing and retrieving information with relational databases – discover how Python’s DB-API offers a consistent, database-neutral interface to these databases
  • Using Python as a “glue” language – automate translating file formats, retrieving and publishing data with JSON, and executing external programs

Get access to Weekly Python Exercise!

Don’t wait: Early-bird pricing of $80 is only available through October 29th.

Weekly Python Exercise is NOT an “evergreen” course (that is, a course that you can sign up for at any time and complete whenever).

Rather, it’s a real-time “class” that is delivered to you in separate pieces over the course of 15 weeks.

There are 4 reasons it’s done this way:

  1. So you can collaborate with others in the cohort who are working at solving the same exercises as you (through the private forum)
  2. So each office hours session revolves around the most recent exercises (rather than an unrelated mess of questions about other topics)
  3. So I can keep the exercises current and updated for each new cohort (and you’re not learning outdated or irrelevant information)
  4. So you can learn at the best pace to become fluent in Python (not too fast so you forget, not too slow so you get bored) 

So don’t wait to enroll until it’s too late! 

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.

“Python courses can’t give me feedback or help when I’m stuck like a real person could.”

Yep. It’s extremely frustrating when you get stuck on something that a Python expert could easily help you with… but a lifeless online course just keeps moving forward, whether you’re read or not.

As a Weekly Python Exercise student, you can get help from real people in three different ways:

  1. Through discussions with other students in the private WPE forum
  2. By mentioning me in a forum post so I can respond directly
  3. During live office hours each month with me 

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!

Here’s what former Weekly Python Exercise students have to say

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

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

This course has moved my very basic understanding of python to a very practical level. I even think that this course has given me a great base for further learning and programming style. I highly recommend it, even for people who haven’t programmed a lot. -Jonas

Join the November 2019 cohort today!

15 weeks to greater Python fluency. If you feel like you’ve only been scratching the surface of Python for a few months, a year, or even a few years, Weekly Python Exercise will get you deep under the surface with just an hour a week.

Sign up for Weekly Python Exercise!

Frequently Asked Questions

How much Python do I need to know for advanced cohorts of Weekly Python Exercise?

WPE is a family of courses, each 15 weeks long.  Some are aimed at beginners, while others (like this one) is aimed at more experienced users. 
And when I say "experienced," I mean that you have been using Python every day for at least a few months, and probably even a year. 

If you're unsure, then you can (a) ask me what I think, based on your background, (b) try the sample exercises to see how closely they track your experience, (c) try the beginner-level WPE cohorts, which start every 2-3 months, or (d) sign up, and ask for a refund if it's too hard.  I've had people do all of these.

How long will the weekly exercises take me to complete?

Usually about 1 hour’s worth of work per week on average (if you’ve already been learning some Python basics). If you have no knowledge of Python, it will take longer, since you’ll need to read up on the learning resources I suggest each week.

You call this "Advanced topics 3." What if I didn't take parts 1 and 2?

You can take WPE cohorts in whatever order you want. The beginner-level cohorts are themed, whereas the advanced-level cohorts are always a mix of many different topics that I've found Python developers need to practice and better understand.

What version of Python does WPE use?

Python 3. As of this writing, 3.8 was just released. I don't believe that we'll use any 3.8-specific functionality, so 3.7 or even 3.6 should be fine.

Am I required to participate in the forums or live office hours?

No, of course not! But in my career as a Python instructor, I’ve seen over and over that people who solve exercises together learn and retain more than those who don't.

If you can't make it to office hours, then submit your questions in an email, and I'll answer them — then, when you have a chance, you can view the office hours recording.

Am I really committing to a 4 month long course, 15 weeks in a row?

Yes and no. The content of the exercises, the discussions in the forum, and the topics of the live office hours will be tied to one another, and will reflect the most recent exercises.

But no one is forcing you to do the exercises along with everyone else! You can skip exercises or do them later. The forum and office hours recordings will be available for you to use, watch, and review at any time, forever.

However, I developed WPE to help you start learning Python in the most efficient, effective way possible. And it should only take about an hour each week, which is a very achievable time investment that will yield huge benefits for your career (or other Python-related goals).

Are there any discounts available for Weekly Python Exercise?

Yes, there are 3 discount options:

  • If you join with a group of 5 or more, each person gets 20% off
  • If you’re a student or pensioner, you get 20% off
  • If you live in any country outside the 30 wealthiest countries in the world, you can get a discount (email me for exact discount percentage)

If you’re eligible for any of these discounts, contact me via e-mail, and I'll be delighted to provide you with the appropriate coupon code.

Is there a “trial” version or sample?

You bet!  Just go here:


This is the "mini" version for all  advanced (B-level) WPE courses.  You'll get  two exercises (and their solutions), just as you would in the full version of WPE. This sample squeezes it into five days.

WPE sounds like a great way for my company to improve our engineers' Python fluency. Can we get a white-label edition, with a private forum and on our own schedule?

Yes, absolutely.  Contact me, and we'll discuss the details.

I have a question that isn't addressed here. Can I talk to you for more information?

Yes, absolutely! You can e-mail me at reuven@lerner.co.il.

When will other cohorts be opening?

This is the last WPE cohort scheduled for 2019.  I'll be offering a new beginner cohort starting in mid-January.  I'll be announcing new cohorts to my "Better  developer" list, blog, and Twitter feed when registration is open.

I live in Israel. How do you handle issues like VAT?

If you live in Israel, then please *don't* buy any of my products (including Weekly Python Exercise) via this online platform. I'm obligated to collect VAT from you, and then to pass it along to the government.  Instead, please e-mail me for information about sending me a bank transfer. I'll then add you to the course, but we'll be able to handle it in the standard and legal way. I apologize for this frustration -- believe me, I wish that the platform I use for selling courses would support Israeli VAT, and I keep asking them to do so.