I'm a freshman computer science major with no previous background in the field. I chose this degree because I'm interested in game development and would eventually like to work for a game company. I learn beginner material fairly quickly through online videos and free courses, so I'm considering studying for around 10 hours a day. However, I'm not sure whether that would be productive or just a way to boost my ego.
I've started learning Java because I'm interested in programming and backend development, although I haven't reached object-oriented programming yet. Should I follow a specific study schedule, or focus more on building projects? What methods have helped you learn programming efficiently?
4 Answers
Make the learning process enjoyable instead of treating it like a competition. Working through interactive lessons, solving exercises, and creating small programs will usually be more effective than forcing yourself through ten hours of passive study. Java is a perfectly reasonable first language for learning programming and object-oriented concepts. You can explore C++ later if your game-development goals require it, but you don’t need to start there immediately.
Watching tutorials can make programming feel easy because you’re following someone else’s solution. The real learning happens when you close the video and build something yourself. Spend a small amount of time reading or watching lessons, then use most of your time writing code, debugging, and making small projects.
So by projects, you mean actually building things rather than just completing exercises from a course?
There isn’t one universal number of hours. Ten hours per week might be reasonable, while ten hours every day is probably difficult to sustain unless you have a very specific plan. Focus on learning the next concept you need and make sure you’re still sleeping, exercising, and taking breaks.
I usually study in long blocks during the week, but I’ll try to make the schedule more sustainable instead of forcing a fixed number of hours.
Build a foundation in variables, conditionals, loops, methods, classes, parameters, data structures, and eventually references and memory concepts. Once you understand the basics, connect them to the theory behind them and implement small examples yourself. For college courses, a practical guideline is to spend roughly one to one and a half hours studying and doing homework per credit hour each week, then adjust based on the class and your progress. Consistency and meaningful practice matter more than hitting an impressive daily total.

I tried C++ first and found it intimidating, so I’ll focus on programming fundamentals with Java before deciding whether to learn it later.