r/learnprogramming • • 3d ago

Learning Java

Hello. I’m trying to learn Java, I’ve done the mooc.fi course a while back. I understand the ground principles of Java but I cannot “make” something out of nothing, always questioning myself and get stuck.

I was thinking of going the way everyone seems to recommend by building your own projects. The problem is if im going to make something like a small banking account where u can deposit and withdraw etc. Found some good projects for beginner/intermediate.

What do I do when I’m stuck or don’t know my next step?
Do I google or ask AI for help (not making it write my code).

Any tips would be appreciated, like what did you guys do?
Mainly what I’m asking is like when u don’t know the next step and how do u figure it out ?

1 Upvotes

17 comments sorted by

View all comments

1

u/ShimonEngineer55 2d ago

Learning and skill development aren’t exactly the same. Skill development is a part of learning, but it is around the 3rd step in the learning cycle and comes after the very basics. Like I have to understand what variable scope is in theory before I can develop that skill with projects. Someone isn’t going to be able to gain much from a project until they’ve found the meaning in what they’ve learned which requires some background knowledge, and until they target what they need to know. Those are two critical steps that come before someone can gain much from projects which is skill development.

It’s annoying and pedantic from the standpoint of how people with no structure learning system learn. I 100% agree because someone with no learning system just goes in and does stuff and actually consciously taking steps to learn isn’t really on their mind. But to people with a structure system there’s actually a major difference between the project phase and skill development, and the beginning phase which is simply finding meaning and targeting gaps in knowledge.

For example, it’s difficult to implement a program that requires functions that don’t mutate objects if someone doesn’t understand the basics of functional programming or mutations. If they don’t understand scoping, or lexical closures, that can be a challenge too no matter how many projects they do because they never filled in the basic gaps in their knowledge before jumping to step three with limited background knowledge.