top | item 29945407

(no title)

omegant | 4 years ago

As someone learning right now this reflects perfectly my frustration with the teaching systems I’ve found.

The first part, let’s say the basic logic of programing is fine and relatively fast to learn. I have no problem with lessons starting there.

Where I find the problem is with the actual translation to real projects with the languaje, how to interface the code with the data, the server and the outside world.

The jump is huge! Of course you can overcome it with effort and stack overflow, but the feeling is like walking in a nice hill with clear views and path, and suddenly arriving to a vertical cliff with no clear routes up. You see others climbing easily, hanging out there, but you don’t even know where to set your first hand.

In my case, I’m starting with javascript in codecademy. The first lessons are more or less clear. Some concepts are harder to grasp or to express in code correctly, but with some exercises and effort you get them.

Then you start with real application stuff (promises, requests, Get, Post) , at first is easy enough, the concepts are not hard (the syntax is a bit harder, or at least the variety of syntax can be confussing). But suddenly you get thrown into AJAX, JSON, Frameworks, boilerplate. All at once, from 0. Copy this code, change this variable, lots of instructions but little learning or at leat a highlevel view of where you are.

I could choose another course, but I rather keep with the good parts in this one and look for the lacking lessons outside, than start hopping schools. Also I have some great friends that are experienced programers that can help me when I get too stuck.

Is interesting how different teachers explain differently. Some lessons are perfect for begginers, clear explanations, useful exercises. But in some lessons you can clearly feel how they are created by people used to teaching experienced programmers. Several concepts or tools thrown at you without further explanation, handwaving lots of steps, repeat this piece of code several times and that’s it.

I know that I can go through the material, google it, see youtube tutorials and classes and advance. I’m doing it, most of you have done it before. Not am impossible task by any means.

Maybe learning to code is easier than ever, but still… I find that it is way more complicated or with a steeper courve than necessary at the level I am currently.

There are lots of great resources to learn, but is difficult to find them structured in a coherent logical way for the learner! Is a bit frustrating TBH.

discuss

order

8192kjshad09-|4 years ago

I think it's pretty normal and not even a problem to not understand everything your first go-around with some new tech.

I really wouldn't expect anybody to actually understand the modern web after one course. These things take time, experimentation, and deliberate practice before they will really sink in.

Moreover, you will always have to try to understand things at some level of abstraction if you want to be productive in any reasonable amount of time. To understand the entire stack of hardware, network, OS, browser, programming language, frameworks, and application code is at-least a decade-long journey.

omegant|4 years ago

This is true, and I expect that. Some concepts take time to understand and even longer to master. What I mostly find lacking is the lack of a high level map. What pieces do what, how they interact, then dive in. But the lack of context makes very difficult to keep plowing.

You don’t really know where you are going while typing boilerplate that barely makes sense, or jumping through 3 ways of writing a function (depending on the version , not on the actual necessity) when you have never used a function in the first place.

This makes harder to understand the concepts and make them stick.

nesarkvechnep|4 years ago

I have a solution which has worked well for decades. Pick a textbook, read it from cover to cover, do the exercises. Don’t pick any textbook but a tried and true one like Structure and Interpretations of Computer Programs or How to Design Programs. I’m forgetting a lot of titles but you get the idea. Yes, these books will not teach you the coolest language on the block ATM, but you’ll be able to solve problems with any language.

It has worked well for me as IMO almost nothing beats a good textbook.