I've been learning programming for about a year, and while I'm comfortable with basic syntax and concepts, I often struggle with breaking down larger programming challenges into simpler tasks. When it comes to something like developing a small application, I find myself staring at a blank editor without a clue on how to start. I've tried using pseudocode and sketches, but the jump from understanding individual parts to effectively solving real-world problems feels overwhelming. I'm looking for specific strategies or techniques that can help me tackle this skill better. Should I focus on data structures first, outline user interactions, or take another approach? How can I pinpoint the essential components of a project without getting bogged down in edge cases too soon? I'm eager for practical tips that can help me shift from learning through tutorials to being able to solve problems independently.
3 Answers
I suggest starting with a minimal version of your project. Begin with setting up an empty window as your first feature, then gradually add small, manageable features one at a time. This gives you a sense of progress and helps maintain motivation. Make sure to build out a basic user workflow early on to establish a functioning skeleton of your application before fine-tuning the details later.
One approach that has worked for me is starting with the application's specifications. Define what needs to be done, as each requirement usually breaks down into other requirements, creating building blocks for your project. Knowing the end goal helps you build a roadmap to reach it!
Creating modules for each feature and testing them separately can be a game changer. Once you have each module working well individually, you can integrate them into a cohesive application.

Can you give more details about what you mean by modules?