Python Problem-Solving Bootcamp
Want to become a better programmer, like Zeya above?
I am looking for highly-motivated individuals that want to stay ahead of the curve!
If that's you, keep on reading π
Train your problem-solving skills
The Python Problem-Solving Bootcamp is a bootcamp focused on writing code.
Throughout the bootcamp you will solve 42 programming puzzles over the course of 21 days.
By going through those 42 challenges, you will be practising your Python skills, and writing code is the best way to improve your coding skills.
But there's more to it.
You will be getting 2 challenges/day.
From the 1st of December, to the 21st of December, you'll get 2 challenges per day.
Does that sound scary?
Good! If it does, then it's because it is an excellent growing opportunity.
If you only do what is easy, you will not improve... But you are highly-motivated, and so are your peers!
The point of solving these challenges is learning transferable skills that you'll use in your Python code.
We won't be regurgitating algorithms and data structures that you'd learn in a CS degree.
That's ridiculous.
Instead, we'll be learning about Python syntax that can make your life easier.
Things like conditional expressions, Boolean short-circuiting, data-driven conditionals, comprehensions, and more.
We'll also learn about modules that are staples of Pythonic and efficient code, like functools, itertools, and collections.
Furthermore, the problems themselves often exercise your I/O and data parsing skills, so the problems we'll be solving will be highly practical.
All of this comes with a price:
It's hard work.
But you are not alone.
By joining the bootcamp, you will get access to a private Discord community, where you can exchange ideas and hints about the challenges with your peers!
If you think you can improve passively, then this bootcamp isn't for you, sorry π’
But, if you are passionate about learning and improving, and are willing to work, you will find that this bootcamp is very rewarding.
But wait, there's still more to it.
The goal of the bootcamp is for you to solve the 2 challenges each day, but you are encouraged to explore alternative solutions, different approaches, new ideas!
You learn more about the pros & cons of a solution when you compare it to other solutions!
That's where I come in π
Learn from in-depth analysis of multiple solutions
By the end of the day, after you've had time to solve the problems, I will send you a Jupyter notebook with:
- an in-depth analysis of the challenges of the day & different approaches;
- code-reviews of different implementations;
- actionable tips to tackle similar problems in the future.
(You can read the analysis of the first 2 problems, for free, here.)
In fact, Zeya, a previous participant, wrote:
I've become a better coder thanks to him.
To top it all off, when the bootcamp is done, I will send you an ebook with a compilation of all the challenges, analysis, code-reviews, tips, everything!
With the ebook, you will be able to go back to everything we've done, study all the materials, and deepen your understanding even further.
Your Python education is a serious issue and I don't take it lightly.
Will McGugan, creator of the Textual, Rich, and PyFilesystem Python packages (with over 45,000 GitHub stars!), says:
So, Will likes my way of teaching.
But what if you don't?
If that happens, you can ask for a full refund, with no questions asked!
You just have to ask for the refund in your first four days of bootcamp, ok? π
Otherwise, it's just like going to a restaurant, eating the full meal, and then complaining that the food was terrible! (Seriously, did you know that there are people who do this..?)
Requirements
There are no requirements for this bootcamp.
All it takes is for you to know some Python and to be willing to learn a lot more.
For example, you don't need to be an algorithm expert, and you also don't need to know fancy data structures.
That's because we will be drawing the challenges from Advent of Code: the challenges from Advent of Code are very practical and they teach you transferable skills, like handling I/O or data parsing.
Like Sundeep puts it, Advent of Code is designed to make you think, not regurgitate some algorithm you memorised in university because they forced you to:
All in all, even if a problem ends up being more difficult for you, remember:
I'll break it down for you with the notebook review, and I'm sure you'll be able to understand the problem and the solution.
Don't take it from me! Take it from Mike, a well-known Python author:
Can you trust me to teach you?
Yes, you can!
For a combination of factors!
First, you can get a taste for my work if you head over to my blog, where I write about Python, programming in general, and mathematics.
You can also check my free Python book here.
On top of that, I do my homework! I always do extensive research, both about the challenges and the solutions, to make sure I teach and explain everything the best way possible.
I am proud to say that many others have given me a feedback similar to what Guilherme says:
In fact, Sundeep is a recurring reader on my blog because he appreciates the way I explore different topics, and how I present them so well:
You are still reading this? Hats off to you!
What are you waiting for?
Don't let your Python skills stagnate, sign-up for the bootcamp right now!
You can get access to the full bootcamp, with all the benefits I described above, or you can just order the final ebook with the problem/solution reviews.
The next step is for you to sign up now for the bootcamp.
After that, you will receive an email with instructions for you to set everything up, so that we can start well on the 1st of December!
If you have any questions whatsoever, you can reach out to me on Twitter or via email (to rodrigo@mathspp.com).
I'll be happy to clear any doubts you might have.
You can also check the FAQs π.
Frequently Asked Questions
What Advent of Code year are we solving?
We'll be solving problems from the year 2021.
The problems don't get outdated, though, so it is ok to be solving Advent of Code 2021 even if it is 2023.
What if the bootcamp is too fast?
The default pace of the bootcamp is 2 challenges / day to make sure this is an experience that pushes you to your limits.
However, the problems will be online and you can access them at any time, so you can actually solve the problems at your own pace.
Want to do 1 challenge / day? Go ahead! You only have time to do 1 challenge / week? Be my guest!
Just bear in mind that the Discord community is more likely to be engaged during the initial period, but there will be always someone willing to help you, myself included.
What if the bootcamp is too difficult?
Difficulty is a subjective thing and, therefore, is very difficult to measure.
However, from my experience, all Advent of Code problems are approachable by someone with little computer science knowledge, provided they think about the problem for long enough.
You can head over to the Advent of Code website and check past year's problems.
I won't tell you which problems we'll be solving, but they are there!
Additionally, you can read this long comment explaining what you need. In short, it is more important that you know how to think about problems than a good programmer.
Just remember: if you start from the beginning, when you get to the harder problems, you will have improved a lot already!
What if I can't pay for the bootcamp?
This bootcamp has purchasing power parity discounts enabled, which means you can get a discount if you are from a poorer country.
Sadly, I won't be offering this bootcamp for free β I've tried to do so in the past and the people who got access for free never showed up or dropped out after a couple of days.
Will I get a certificate of completion?
When the bootcamp is over, you can get a certificate stating how many problems you solved, out of the 42.
However, if you only want to join the bootcamp because of the certificate, you are doing it wrong!
What matters is what you can build with Python.
So, after the bootcamp is over, I can give you a certificate, but what you should do is take your new and improved knowledge to build projects with Python: those tend to be more important when you are in a job interview, for example.
Do I need to be online at a specific time each day?
No. The bootcamp is fully asynchronous, because we all live in very different timezones.
The idea is that you can log in to the Discord server at any time and chat with the people that are there. I will try to be around for the most part of my day, as well.
The good thing about Advent of Code is that there are thousands of people out there that have tackled the same problems you are tackling. You are encouraged to harness the full power of the Internet and of other communities to come up with the best solutions possible.