My first year of school focused mostly on C++ syntax, but I still don't feel capable of using it to build complete projects. I currently use VS Code, and my instructors have encouraged me to put in more effort, learn from open-source code, use GitHub, and ask AI for help. The problem is that I often don't understand existing projects, and I struggle to ask useful questions because I don't yet know enough to explain what I'm missing. I feel like I'm lacking practical development knowledge, tools, and experience. My classes still seem heavily focused on theory, and now that I'm a sophomore, we've moved on to Java and frontend web development. What should I learn or set up, and how can I start practicing effectively without constantly switching technologies?
2 Answers
Plan the project before writing code. Write down exactly what the application should do, then sketch the screens or commands involved. For example, a first version could have one screen where the user enters a task, date, and time, saves it to a JSON file or database, and another screen that lists tasks sorted by date. Keep the first version small, make it work, then add one feature at a time. Reading small open-source projects can also help, but don’t worry about understanding every line immediately—run the code, change one thing, and observe what happens.
Start with a very small project and expand it gradually. A command-line to-do list is enough at first: add items, remove them, display them, and save them to a file. Later, you can add dates, a graphical interface, or a database. Projects like this teach you file handling, program structure, state, and how to split code into multiple parts. Nobody builds something huge in one day; they begin with a tiny working version and add features one at a time.
That uncertainty is normal. Pick one language for a project and stick with it until the project is finished. The goal is not to choose the perfect technology; it’s to practice completing something.

I haven’t really practiced building projects before, so I feel pretty lost. I also started computer science because it was a popular major, not because I had much prior experience. When I look for courses, I keep encountering unfamiliar technologies, and school keeps switching languages too. I’m not sure which language I should focus on.