I'm a second-year IT student focusing on improving my programming logic. I prefer to deeply understand concepts rather than just memorize patterns. In my first year, I mostly copied code from tutorials, but I started solving problems while watching tutorials later on, which felt better. Currently, I'm learning Python for AI and ML, but I'm feeling stuck. I often hear suggestions to 'solve problems,' 'build projects,' and 'practice daily,' but no one explains how to do those effectively. For instance, when solving problems, should I try for 30 minutes before looking at a solution? If I'm confused about the logic, should I look into the theory first or attempt more problems? How do I choose projects that match my skill level? I want to transition from understanding concepts to thinking logically on my own, but when I sit down to solve a problem, my mind goes blank. I want to develop my problem-solving skills instead of just copying existing solutions. What does effective practice look like? Any structured advice would be super helpful!
5 Answers
You might need to rethink how you're approaching problems. Start with really simple coding tasks that teach you basic concepts. For instance, if you're trying to build a number-guessing game, break it down into its components—like taking user input, comparing numbers, and providing feedback. You'll find that systematically tackling problems helps you build confidence and skill over time.
Building small projects can be super helpful. Try creating a basic banking system with a database and a web interface. Once you're comfortable with that, tackle a project using a different architecture, like CQRS. The key is to choose projects that are slightly more challenging than your current skill level to keep pushing your boundaries.
It's all about expanding your current projects. If you have something simple, try to add complexity to it. For example, take a simple game tutorial and tweak it to create a different game. This way, you're applying what you learn and reinforcing your understanding without just following a tutorial word for word.
Let yourself make mistakes! That's where a lot of learning happens. Work through your issues, and if you can't solve something in a reasonable timeframe, it's okay to look up solutions afterwards. Just make sure to understand the thought process behind those solutions.
Generic advice is tricky, but effective practice means putting yourself in situations where you have to think critically. Tackle challenging problems without seeking immediate help, but break them down into smaller tasks. If you're stuck on a concept, revisit your notes with specific questions before jumping back in.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically