This might be my first post about such topics… which might contradict other (self-claiming) authors who say that they can teach you a programming language in a number of days. For example, “Learn ASP.NET in 7 days”, “Learn HTML5 in a matter of 3 days”. Let me point out a few of the downsides of this type of teaching and learning for new developers, who might fall for this approach.
Who are the Victims?
The most common victims to this type of approach are the young developers… Inexperienced, rushing to learn new things, express-to-impress type of teens and those with a deadline of themselves fall to this type of approach very often. Sometimes, those who cram the rules, types, structures of the language do so.
Remembering never helps you out! You have to understand how things work.
Most usually, the teens who are eager to learn something in a very short span of time are victims to this approach. 7 days? 14 days? Seriously? What is it like… A pond’s challenge! Programming is something that cannot be fed into minds of other people; you cannot move a clock in simple harmonic motion and expect the human to become a programmer once you’re done hypnotizing and brain washing him. It cannot be taught the way we learnt it. It must be taught by lowering our standards to the standard that our student can understand us. Our students come to us to learn… We should educate them, not force them to remember what we said.
Who Claims Such Things?
I have no personal hatred towards those who claim such. In fact, people who are extraordinary in learning and experimenting claim such things. They learn things in a very fast manner. Authors who write a title to their publication in a way, “Learn {subject} in {x} days!” are themselves very quick learners. That is why they expect others to learn the same subject in a very fast manner.
It won’t be false to claim that they actually are geniuses of their era. They have a very resilient grip of their subject and field. But not all fingers are of the same size. Are they?
Discussing the Downsides of this Approach
Now let us discuss, why new programmers should not learn programming or any architecture or a framework using this approach. I would state a few points of mine, you can have your own feelings and opinions and might contradict mine. But… be logical and learn stuff slowly and by understanding what they are to you!
Not At All A True Statement
The first downside that I feel about such content is that they are not at all true. How can someone claim to teach you something in a matter of deadline. I teach programming to a few, some of them learn the concept very quickly. Some take time… Some take a lot of time. For those who take a lot of time, I try to make sure that they at least learn and understand the basic concept and tend to do something with it. I do not expect them to cram to reach the “x” days limit.
More appropriately, such topics for publications are a term for publicity stunt. Because they are more straight-forward, targeted by those who want to make more in less time, the author is challenging himself to be able to teach you more in less days.
Different Psyche Levels
Humans do not have a similar psyche level… And you just cannot expect everyone to be similar when it comes to the ability to learn and understand something. It would be the responsibility of the instructor to teach his/her student in a way that they can surely learn something and not just waste their own time. I have taught people of almost every psyche level… From geniuses to average students. Those who were geniuses asked such questions which led me to go deep inside my mind to extract a scrap of information which I had locked in my limbo for a decade (not really!). Those who were average students had to spend some more time to learn it, they also tried not to understand the concept as to apply it. But just to learn it… To learn it!
I had never been a great instructor. So I have tried giving them a lesson in a way a friend would. Publications claiming to 5, 7 or 30 days time period don’t claim that they would teach programming to those with average mind set. They are of the same period and good use to someone who has the 100% same mental ability as the author had when he was learning the same framework or language.
A book, in any way cannot claim that the readers are expected to benefit from the content. But, claiming something that is not expected or guaranteed should not be used. When an author claims something, he must be able to prove it.
Only Good Side Of This…
The only good side of this approach is that the subject is catchy! ;)
Personal Views
There are many other points… But, I would not want to criticize such content any more. Instead, I would share my views to beginners how can they benefit from less in more time.
Practice Makes You Better!
First of all, I should say that you need to practice what you learn. Practice is something that doesn’t make the applicable task easier, it just makes you better!
You should never think things are getting easier. It is you who have evolved.
What Google might respond to your search as?
I learnt programming in a matter of 2 months. I just learnt C# at that time… Not software programming! There was nothing that I knew about creating an efficient software, writing a good API, creating a web application and so on. The more you practice, the better you get. More errors you get, more you will understand. Sometimes when I go back in time 3 years ago and have a look at my questions, problems that I faced. I laugh. That doesn’t mean things are easy. That means practice has just given me enough understanding of these frameworks that now I can slice and dice them in any way that I want to. It also now has an impact on my social life.
Now, after learning and practicing. I speak less but qualitative. The quality of my speech is great now. I do not speak gibberish (or that I feel like).
There is No Limit to Study
I can build good applications in a matter of a day or two. But that doesn’t mean I should give up learning more and more about such particular platform or subject. I have a good grip over .NET framework, but I believe I should learn more and more.
Every new developer must only focus on the learning part. I remember a lot of good threads where I have participated, ended up in the same conclusion. That you cannot learn anything in a matter of a week, a fortnight, a month or even a year. You need at least to consume 5-10 years to learn something. Yes, if you’re going to cram through the concept for a term test then good, do it. It might even take 3 days for that.
Focus on Something… Put Smaller Time Periods in Your Learning
But to learn something fully, you need to focus on it in a much better way. Give more and more time to it. Let it settle down. Give your education a short time of more like 30 minutes, 45 minutes regularly. Try something, learn something. You would stumble upon more like a million errors before you can think of yourself as a pro beginner! Before you can even enter intermediate level, you will fall into the errors like a million, or billion times.
Do Not Rush!
There is no need to rush. You can learn something in a very easy, smooth and friendly way. For new developers, it is a very good approach to read articles of other developers, read their code. Reading good content, good articles, good code helps you out to understand how they did. Remember they might be better than you (I don’t mean to tease anyone here, sorry if you take my words seriously), so if they did something in one day and you took 3 days. Do not hesitate! It is OK!
Finally. It is you, who knows where you lag. The best learning environment is when there is an instructor available for you. Books, articles, blogs do not teach you in a way they can. If you are a beginner never rely on them. If books were everything there would have been no requirement for a school, institution or university. There would have been great great libraries every where. You should ask your instructor what to do and how to do. Your instructor should help you out… He should be able to know where you lag behind others. He should polish you in a way that you can really get into something.