My favorite tools for practicing with python and other programming languages

To continue improving my programming skills, I find myself coming back to these tools most often.

Python Morsels for python

While I’m not trying to be a python developer, I do think learning from one is a great way to keep my code readable and efficient. The write ups from the site author, Trey Hunner, are incredibly detailed. While I prefer his written articles, he does offer video recordings with live demonstrations for every topic he covers. He also has a large library of exercises to put what you learn to practice.

When I was first learning python, I was so overwhelmed by the vast number of packages my peers were using to solve problems. How did they know which library to use? Well, experience and practice. This site has been a great way to learn more packages and understand why some are better than others in different use cases. While this is not a free tool, I found it worth the investment since the content is so focused and well organized.

Leet Code for pandas, sql, and other programming languages

A popular site for interview prep, but it also has exercises focused on pandas and sql. Some of the practice problems have write ups from the LeetCode team, which you can compare to your approach. But the more interesting feature is the bench marking, where you can compare your solution’s efficiency to everyone else’s submissions. There are also discussion threads for problems where you can see how others solved it to get ideas for how to improve your approach.

Advent of Code 2025 for problem solving & programming practice

This site publishes programming problems each day leading up to Christmas. The problems build in difficulty, and in recent years, they have even accounted for the widespread use of LLM (large language models) in their question design, making sure they are difficult even with the use of AI, whether it’s chatgpt or claude or whatever tool. You can even look at the exercises for past years. You can also use any programming language to solve the problems, too, so it’s good for python, C, Java, etc.