I'm a sophomore majoring in computer science with a concentration in AI. I'm taking a semester away from computer science courses to catch up on math, and my last programming class was focused on Python. I didn't do much programming over the summer, so I'm worried that my skills will be rusty when my next CS course begins. I'd like to reinforce my Python fundamentals and eventually learn Java and C++, but I'm not sure how to organize my studying or what kinds of projects would be most useful. What practice methods work well for beginners, and are there websites with short exercises I can do between classes?
4 Answers
The best way to stay sharp is consistent practice. Try to focus less on collecting languages and more on learning how to program: breaking problems down, designing a solution, testing it, and debugging it. Those skills transfer between languages, while syntax can always be looked up.
Since you already know some Python, use it to rebuild old assignments or make small projects from scratch. A calculator, command-line game, expense tracker, file organizer, or simple text-based application would all work. Start with a basic version, then add features that require you to learn something new. Building things is usually more effective than only watching tutorials.
Short-exercise sites such as Exercism, LeetCode, and Codewars can be handy for quick practice between classes. Use them as a supplement, though, not as your entire study plan. Small projects will give you more experience with planning, organizing code, and debugging. Also, don’t worry too much about forgetting syntax after a break; that’s normal, and being able to reason through a problem and look up details is more important.
I wouldn’t try to learn Python, Java, and C++ all at once. Strengthen your Python fundamentals first, then choose one additional language—probably Java or C++—and learn it through a project. Writing the same small program in two or three languages can help you notice the underlying concepts instead of focusing only on different syntax.

A useful test is to recreate an old assignment without checking the original solution. You’ll quickly see which ideas you actually remember and which ones you only recognize when you see them.