How to build familiarity with a subject that we know nothing about? This is a million dollar question. I realize the difficulty that we are facing. Different people have different learning styles. For some of us classroom setting might be the right one. Others will rely on some tutorials and visual help. There is also tendency to learn things the right way, whatever that means. It is logical to start with introducing some simple concepts like loops and eventually move on to objects, methods and classes. It does make sense if you are looking from that perspective.
Most of us are guilty of believing that what works for us must be also good for general public. I will advise some caution on that matter. Sometimes, I have my doubts too, whether I’m learning things in a correct way and if I actually wasted some valuable time. There is always some risk associated with it.
I have to admit that I‘m not a big fan of step by step tutorials. Neither I like exercises and programming challenges. I’m sure they are valuable tools. However I would like you to consider couple things before you proceed on your coding venture. Think about what software application is and how it works. It could be desktop, web application or a phone app. You take information from somewhere in form of a file. You store that information in memory or in a database. You perform some manipulation on that data and finally you display it to the end user. You may also take some input, validate it and pass it somewhere else. This is rather general description but it is actually true for most scenarios.
Does learning all these necessary steps seem like a proper challenge? Considering that you might be learning programming on your own and you have limited time to spare, would you devote most of it to do some online exercises or concentrate on things that actually make up elements of an application?
As for doing it the right way, I would strongly advise taking different approach. You probably thinking that in order to do something you need to have enough knowledge. Yes and no. Of course it is better when you expand on subject as much as possible. On the other hand should you wait until you learn everything that is possible on that topic? Let me give some example that is close to learning programming and that is learning foreign language. Imagine that for some reason you find yourself traveling in a foreign land and your vocabulary is very limited. Would you try to communicate your needs with words that you already know, or you would not talk at all because your grammar is incorrect? Maybe you have to build more complex sentences with few words that you are familiar with. After all you are not going to wait until you will get it right. That would seem like a wasted opportunity.
My findings for taking programming skills to the next level prove to be on opposite site to what I just described. So, there is no one rule fits all approach. I will write about in different article.
You are probably thinking what kind a nut job is telling you to disregard all rules, avoid tutorials and build functioning application from scratch when you cannot even write simple method. Yeah, that’s pretty much what I would like you to do. In fact, I would make this mandatory. Fire up Google and ask some questions. Figure out what elements do you need to scan folder. Get file names and paths and show them in some list.
If you serious about programming, you can absolutely do it by yourself.
To be continued…