Reuven Lerner: My Newest Course: Hoppy (hands-on Projects In Python)

Congratulations! You’ve finished a Python course, or even two. You’re now a certified Python programmer.
And yet, when it comes time to start a new Python project, you aren’t sure where to start. The blank screen in front of you doesn’t fill you with excitement and creativity. Rather, it fills you with self-doubt and dread.
It’s even worse, of course, if the project is part of your job.
You’re not alone in feeling this way. That’s largely because real-world Python projects go far beyond what you’ll learn in a typical class:
- You’ll need to use, write, and integrate a variety of data structures, modules, and functions
- You’ll want to write and use automated tests using “pytest”
- You’ll want to use modern Python tools, including black, ruff, and uv
- You’ll use modern AI tools, such as Copilot, ChatGPT, and Claude
- You’ll get feedback from colleagues who can not only help you to improve your project, but also learn from your successes and failures
- You’ll want to use some packages, both from Python’s standard library and from PyPI, to learn on the strength of the open-source community
- If you’re writing an open-source library or package, you’ll want to distribute it on PyPI
I constantly encounter people who know the basics of the language, but are frustrated when it comes time to create, manage, and distribute their own project. This has become especially acute over the last few years, as the set of Python tools has become more modern and robust — but also more complex.
How can you improve your skills, and get over these feelings of frustration and doubt?
You could write a toy project. But you’re likely to be more invested in, and thus learn from, a small, real-world project that you choose, and that is meaningful to you.
You could learn on your own. Yes, you could. But why should you make the same mistakes that I and many others have made, when we can help you to avoid them? And besides, learning with others always helps to clarify things.
You could decide to learn over time, little by little. That’s fine, but there are a dozen or so tools and techniques to learn, and there’s limited time in the day. And each of them will save you time, energy, and frustration down the road.
HOPPy, Hands-On Projects in Python
HOPPy is a live, collaborative, six-week course that will give you the knowledge and confidence you need to create and distribute maintainable software projects using Python. I plan to run a new cohort of HOPPy every few months, each with a different focus.
The first cohort, which starts on March 30th, will concentrate on writing a library distributed on PyPI.
Here’s how HOPPy works:
- Theme: Each cohort has an overall theme and topic, such as Web development or command-line utilities, or API consumption, or data analysis. You’ll choose a project that fits within that overall theme. The precise goals and implementation, though, will be up to you.
- Weekly tasks: Each week, I’ll assign you some additional tasks to make your project more robust, useful, and/or maintainable. I’ll also give you feedback, to help you move ahead and increase the chances that you finish with a working (if minimal) project.
- Peer feedback: At each weekly Zoom meeting, you’ll both give and receive feedback with your peers. At the first meeting, you’ll get feedback on the basic idea. In subsequent weeks, you’ll present what you’ve done since the last meeting. You’ll learn to critique other people’s code, and to accept constructive criticism from others.
- Outside of class: Most of the real work in HOPPy will be done outside of class. Meetings won’t be for coding or debugging, but rather for sharing, demonstrating, and getting feedback. We’ll have a private Discord channel where you can ask questions, share insights, and give each other feedback and help.
The goal? To learn, together, how to create a modern Python project, one that is meaningful to you, and will thus keep you motivated to continue.
By the end of this course, you won’t feel embarrassed or nervous about a new project’s blank screen. Rather, you’ll be excited to dig in and start creating something amazing. And when you start a new Python-related job? You’ll know what to do, and will be able to hit the ground running.
Schedule for HOPPy 1
The first HOPPy cohort will begin on Sunday, March 30th, and will meet six times.
The theme for this cohort will be: Distributing a library on PyPI. You’ll create a module containing one or more functions that do something awesome (for some definition of “awesome”). People will be able to `pip install` your package and then use it on their own systems.
At the end of the six-week class, you will have a project on PyPI – one that reflects your personal interests, and which you created from scratch.
Each HOPPy meeting will be two hours long, and will take place on Zoom. (All sessions will be recorded, but I hope that you’ll be able to attend most of them.)
Sunday, March 30th: Kickoff
- Meet your cohort
- How can/should you use AI tools?
- Learn how we’ll communicate via Git and Discord
- Brainstorm and refine project ideas
Sunday, April 6th: Modern packaging tools
- Integration of PyCharm, ruff, black, and uv
- Review of selected projects
- Peer review
Monday, April 14th: Adding tests
- Testing with pytest
- Review of selected projects
- Peer review
Monday, April 21st: Type checking
- Type hints and mypy
- Review of selected projects
- Peer review
Sunday, April 27th: Publishing to PyPI
- How to use uv for publishing
- Review of selected projects
- Peer review
Sunday, May 4th: Demo day
- Show off what you’ve done!
- (And get final feedback)
Is HOPPy right for you?
HOPPy assumes that you are comfortable (but not necessarily fluent) with basic Python data structures, as well as writing functions, modules, and objects. (If the cohort’s topic is data analysis, then you’ll be expected to know about Pandas, as well.)
If you’ve been looking to sink your teeth into a larger project, one that’ll give you experience that can help you to find a new job or just advance in your current one, then HOPPy might well be for you.
Who can join?
I plan to run 3-5 HOPPy cohorts each year. Each will have a different theme, meaning that you can participate in more than one cohort, learning different skills from each one.
I’m capping the number of participants at 25.
Participation is only open to subscribers to one of my LernerPython membership programs, either the base LernerPython subscription (for Python and Git) or the Python+Data level (which includes data-analysis topics and exercises). Each HOPPy cohort costs $750 fee, beyond your usual subscription payment.
Current participants in PythonDAB (my twice-a-year Python data-analysis bootcamp) can participate in HOPPy without any additional charge.
Upon completion of the course, you’ll get a certificate/letter from me, indicating your completion.
What if I don’t have an idea?
The first brainstorming session is for coming up with an idea – and if you can’t come up with anything, I’ll be there to help and suggest things!
I’ll also be there to make sure that you don’t bite off more than you can chew, making plans that you won’t be able to accomplish during our six-week cohort.
Who am I?
I’m Reuven, a full-time instructor in Python, Pandas, and Git. I work with companies around the world, helping to train their engineers. But I also teach individuals who want to improve their skills, via my https://LernerPython.com platform.
People rave about my courses, and how they clarify topics that were previously hard to understand. But people also enjoy the fact that I give people personal attention, reviewing their code and helping them to improve their skills.
Here are some statements from people who took my courses over the last few months:
- The examples and exercises that Reuven gave were very good. One of the best instructors.
- Reuven was a great presenter and his teaching style was fantastic.
- Reuven is great!! He has a unique teaching style and relates to all of us very well. I appreciate the humor he throws in too, keeps us going.
- Reuven is an excellent teacher, very knowledgeable and easy-going. He was prepared to cover a lot of ground in a short time.
- Reuven is a fantastic instructor. His teaching style makes the content not dry at all but very interesting, and easy to follow.
- Learning while doing is very important. More training offerings should use this same method as Reuven with his Jupyter notebook, practical sample data, constant Q&A, exercises, etc. I found his teaching style very easy to follow.
- The instructor exceeded my expectations. He shared great lessons with easy-to-understand explanations.
- The instructor is great. He communicates the topics very well and is always willing to stop to take additional time to go over questions and/or code.
If you put in the work, then after six weeks you’ll have a simple – but real and working – project published on PyPI. And you’ll know how to do it for more projects, too.
Want to level up your Python skills?
Sign up for a free webinar to learn more about HOPPy, how it works, and what you’ll learn.
- Thursday, March 20th
- 9 a.m. Pacific / 12 noon Eastern / 4 p.m. London / 5 p.m. Paris
- Sign up, and you’ll receive a Zoom link 10 minutes before we start.
- (And yes, the webinar will be recorded!)
- https://store.lerner.co.il/about-hoppy-1
Or if you’re already sure that HOPPy is for you, then e-mail me at reuven@lerner.co.il (or DM me on the LernerPython Discord server) to get the signup link.
Questions?
Send questions my way via e-mail, at reuven@lerner.co.il.
The post My newest course: HOPPy (Hands-on Projects in Python) appeared first on Reuven Lerner.