Python Morsels has changed a lot since its first inception back in February 2018. Here are some of the features we've added since then.
Aug. 18, 2021
Learning isn't a straight line; it's more like a spiral (an upward spiral). Reflection is a really important part of completing the learning spiral from one loop to the next.
Many of you have been using reflection on your own to multiply your learning abilities while using Python Morsels. It's time that this finally became an official part of Python Morsels itself.
To that end, at the bottom of Trey's solution walk-through, there's now a learning reflection form.
Aug. 2, 2021
Pretty much since the beginning of Python Morsels I've had this item in my to-do list:
Enough of you have requested this that it's finally been done. All exercise problem and solution statements have syntax highlighting which matches the same color scheme as the code editor on exercise submission pages.
The articles shown at the ends of screencasts have syntax highlighting in their code blocks as well.
July 28, 2021
It's hard to not complete all the bonuses for an exercise, right? Even when some bonuses are much more challenging than others.
Sometimes, one bonus can turn a novice-level exercise into an advanced-level exercise. To make sure you don't get overwhelmed, Python Morsels now includes bonus recommendations for exercises that are in multiple skill levels.
If you receive an exercise in the Novice skill level, you'll get a lower maximum bonus recommendation than if you picked the same exercise from the Intermediate skill level. These are just recommendations of course, so you still don't need to complete all the recommended bonuses (and you can go further than the recommendation, but only if you're up for putting in extra time).
Bonuses that aren't recommended will show up in gray as you solve the exercise so you'll know that they're not recommended.
July 21, 2021
You're working on a Python Morsels exercise, you got the base problem working and now you'd like to attempt the first bonus. But you want to edit your code into something new without losing your current working code. You can now duplicate your solution!
If you hover over a solution a copy icon will appear (it looks like two pieces of paper, one on top of the other). Click it to duplicate your current solutiion.
July 20, 2021
Ever clicked a hint link in an exercise problem statement or a link to a related article on a screencast page and wished the link had opened in a new tab/window (rather than navigating within the current tab)? Well, that's how exercise pages and screencast pages work now.
It might seem like a small change (and it is) but it's hopefully a handy one. No more accidentally navigating away from pages in the middle of writing code or in the middle of watching a screencast.
July 9, 2021
Not sure whether a particular exercise path is for you? You can now preview exercises with an exercise path before you start it.
You can also see which exercises you've already done from that path.
June 28, 2021
The web app now supports Python 3.9 solutions!
Python 3.9 has been out for over 6 months, but the Python Morsels web app hasn't had support Python 3.9-specific features.
We've changed the way we test code to make it easier to upgrade Python versions, so we should support Python 3.10-compatible code much sooner after its release (which should be later this year).
June 21, 2021
You can now customize your screencast watching preferences site-wide.
Want to watch all Python Morsels screencasts with captions enabled by default? There's a setting for that!
Don't like clicking the "play" button and want to auto-play screencasts instead? There's a setting for that!
Or would you prefer to hide the videos and just read the text instead? There's a setting for that too!
May 19, 2021
Python Morsels now includes topic trails!
Topic trails are groups of screencasts that I recommend watching in a particular order.
You can watch topic trails from start to end or you can jump in part way through. Regardless of how you watch/read each screencast, these topic trails will show you the context of the current screencast you're watching in relation to other screencasts on the same topic.
May 13, 2021
For all users with access to the exercise vault, you'll now see the problem statement in your exercise recommendation email each Monday.
Trial users will receive exercise previews and All Access users, you'll receive the full problem text in each week's email.
This has been the most commonly requested feature since we launched the All Access plan a few weeks ago and I'm excited that we've delivered on your requests.
April 27, 2021
Each section of the vault page is now broken into sub-sections.
The first section, "in progress", shows exercises you're currently working on. The next section, "recommended", shows the next exercises we recommend solving. After that is "coming up", which are the rest of the unsolved exercises in that section.
There's also "done" for exercises you've solved and "skipped" for exercises you've skipped.
We hope this new layout is more helpful than the giant list of exercises that showed up previously.
April 13, 2021
Users have requested this for 3 years and we finally made it happen.
There's now an All Access plan in Python Morsels. This plan grants access to the full exercise vault.
Just like Flexible Mode, this plan includes a weekly recommendation email.
The All Access plan replaces the Standard plan and it's $20/mo or $200/yr as well just like the Standard plan was. But if you sign up for the All Access plan by April 30, you'll save $50 each year. See more on the All Access plan sale here.
April 10, 2021
Previously Flexible Mode users could preview the next 3 exercises in each skill level. Now you can preview the next 5 exercises!
There's also a "See what's coming up" link which will show titles for all current exercises in each skill level.
Feb. 24, 2021
Flexible Mode is now enabled for all new accounts. So if you signed up since the day of this announcement, you're already in Flexible Mode!
If you haven't already enabled Flexible Mode, you can find out more about Flexible Mode (and enable it) here.
Feb. 12, 2021
When you finish watching a screencast while logged-in, the little "Watched" toggle will automatically flip and if you have Flexible Mode enabled, you'll get 4 points.
When you scroll all the way to the end of a topics page the "Read" toggle will also flip the same way.
Feb. 12, 2021
If you enable Flexible Mode on your account, your profile page will now show your points on your account.
Jan. 29, 2021
You might notice the exercise submission page looks a bit different. The styling and wording has improved some over the last week, but there's also a couple new features.
The "Test Failures" tab (previously called "View Test Output") now shows the number of failing test cases (including the bonuses). The smaller that number is, the more test methods are passing.
For Flexible Mode users, the points shown when submitting an exercise are also a bit simpler than before. Previously all points you'd received for that exercise would be shown each time you submitted it. Now only the new points are shown.
Jan. 5, 2021
The dashboard page now shows recommendations for which screencast to watch next.
The recommendations are for an early unwatched screencast as well as the latest couple screencasts.
Jan. 4, 2021
If you have Flexible Mode enabled, you'll now receive points for exercises when you solve exercises, watch screencasts, and keep up your learning habit.
You'll get up to 25 points for each exercise solved, 4 points for each screencast watched, and up to 24 habit points every fortnight (14 days) for keeping up your learning habit.
You can see more on how points work on on the points help page.
You'll need Flexible Mode enabled to start earning points.
Dec. 29, 2020
Currently all Python Morsels users get an automatically-assigned exercise every week. If I send you an exercise you don't like, you're stuck with it (though you can always email to ask for a different one).
Flexible Mode adds some flexibility to your weekly (or monthly) exercise routine. With Flexible Mode enabled, you'll get 1 exercise credit each week as well as a suggestion for which exercise to solve next.
If you're not interested in my suggested exercise, you can skip it and choose a different exercise instead.
You can even sample exercises from different skill levels.
This feature is currently in beta and can only be enabled from this page.
If you try this feature out, I'd love to hear your feedback on it.
Dec. 8, 2020
You can now keep track of which screencasts you've watched already. At the moment this is just a simple toggle to make it easier to spot which screencasts you haven't seen yet, but this feature will likely get a bit smarter later on.
Nov. 30, 2020
It's official: Python Morsels now includes weekly screencasts. Whether you're on the monthly exercise Lite plan or the weekly exercise Standard plan, your Python Morsels subscription will now include access to a growing number of screencasts.
Some screencasts will be free for all and some will be premium, just for subscribers. I'm committing to publishing at least one new screencast every week. Each screencast will be between 1 and 5 minutes long. You can find more info on this announcement here.
Nov. 30, 2020
Earlier this year we added a Lite plan to Python Morsels which includes one exercise per month (a more manageable habit for most than one per week).
There's now an annual version of the Lite plan. You can save 17% off the monthly Lite plan (2 months free every 12 months) by switching to annual billing.
Nov. 13, 2020
Missed checking in on Python Morsels screencasts for a couple months and want to see what's new? You can now easily browse all Python Morsels screencasts from the screencasts page!
You can find this page in the Watch link in the top navigation bar.
Oct. 26, 2020
Each problem email will note new additions to the website that were added in the last week.
These additions might be new features (like this new feature) or new screencasts.
Oct. 15, 2020
Want to gift Python Morsels to a friend? You can now!
You can now purchase redemption codes worth 12, 25, or 52 exercise credits.
You can send an exercise bundle to a friend or redeem one for yourself.
Sept. 30, 2020
There's now a button on each exercise submission page that you can use to share your progress on Twitter!
Sept. 16, 2020
You can now share your achievements with friends, colleagues, and future employers.
Aug. 3, 2020
You can now save many different solutions to the same exercise, giving each version a unique name to help yourself keep track of each different way you've solved the exercise.
Want to try out a different approach? Start a new version! You can always delete it later.
July 14, 2020
In addition to the usual skill levels, you can choose to work through short exercise paths on specific Python topics.
This is a way to get deeper practice in one particular Python topic over a number of weeks. There are both novice-level paths and intermediate/advanced-level paths on many topics, including classes, command-line interfaces, decorators, iterators, and even descriptors.
You can find the exercises paths over on the paths page.
June 16, 2020
The pause feature used to be pretty buggy. It would attempt to extend your term end date appropriately whenever you resumed your subscription and it (unfortunately) failed to do so quite frequently.
After discovering that our payment processor didn't actually support our use case for their "paused" billing state, we decided to implement a credit-based system which grants 1 credit each week you're paused.
This means your next billing date never changes based on your pause date but you will be able to retrieve the exercises you've paid for.
May 27, 2020
The exercises list is handy, but it can be hard to navigate once you have a lot of exercises... especially if you've fallen behind on your exercises.
The new dashboard page showcases the exercise you should care about right now.
May 17, 2020
The automated test failures are now grouped into base, bonus 1, bonus 2, etc.
Also the traceback for failing tests includes linked method names which will jump right to the failing test method within the test file.
May 7, 2020
There used to be just a few topics pages.
Now there's more, with even more on the way soon.
Also be on the lookout for screencasts, which will be starting to pop up on topics pages over the next few months.
April 20, 2020
The exercises didn't used to have any hints. After about 6 months of deliberate work adding hints to each exercise, they pretty much all have helpful hint links now!
March 30, 2020
There used to be two discount options: student discounts and a 50% off discount for folks outside of the top 50 countries by nominal GDP per capita.
We now have an income-based discount system instead and there's also a new discount request process which makes it a bit easier to get a discount appropriate for your needs.
March 15, 2020
Feb. 6, 2020
If you've been working on exercises on your own machine and you don't want to copy-paste all your solutions into the web app, you can now bulk import your solutions into the Python Morsels web app.
Feb. 4, 2020
Looking for that one exercise that mentioned
You can use the new search feature for that!
Jan. 3, 2020
Dec. 27, 2019
Dec. 15, 2019
Oct. 15, 2019
Oct. 12, 2019
March 15, 2019
March 1, 2019
Dec. 20, 2018
Nov. 20, 2018
Feb. 2, 2018