The biggest problem for me always seems to be figuring out what I need to know, rather than finding the resources themselves. For instance, assume you want to learn how to make a simple web app, and have no experience or background in programming, CS, databases, etc. Figuring out where to start and how the puzzle fits together can be really daunting.
You start googling but can't figure out how it all fits together. Javascript, Ruby, Ajax, Python, Rails, Django, Flask, MySQL, heroku, html, css, jquery, bootstrap, appengine, aws, servers, browsers, APIs??? It takes some time to figure out what things even are when you are taking your first steps. Once you realize you pretty much need to know a bit of HTML to make a website, finding a suitable tutorial, while sometimes frustrating, isn't all that hard.
Most people here know how these technologies fit together, but as a beginner I didn't. It took some (frustrating) time to learn how the puzzle pieces fit together, what is optional, what is new, what is proven... etc.
This problem isn't isolated to programming. I think this is a big problem for a ton of self directed online learning. Lets say you convince yourself you would like to become the next Satriani on Guitar, but don't know what scales, triads, or chords are let alone how they are built. Should I concentrate on technique drills, songs, improvization, theory? I have met a huge amount of people who get very intimidated and end out just learning to play songs from guitar tabs, and never progress from a very superficial beginnner level.
Perhaps it is a result of people not wanting to dive in until they can put together a basic mental model of how things work. Regardless, the "roadmap to expertise" problem seems to be real and discouraging for people not willing to just power through it. Can teachers and Tutors be relpaced in providing the direction through the weeds? I'm not sure, but surely solving this problem could be lucrative.
Awesome feedback! And I understand, my background is on computer engineering and even sometimes when starting to learn about something completely new that I had not done before (e.g. web-services/mobile), despite my previous knowledge or background, it can be frustrating. So, how could we fix this?
What was your process to figure it out? What did you search for? Where did you search it? Did you ask someone?
I have been thinking about this problem for a while, but I'm still not really sure how to solve it. I somewhat like the idea of a site with broad topics which narrow down into steps and tutorials, or links to tutorials. I'm not sure if this would really work.
I think I just read, googled, youtubed, and forumed my way out of the box. Surely this can't be the best way.
Agreed. I think the web has insane amount of good resources for pretty much most topics - but knowing what to learn is hard.
It would be awesome, if I can go to a site and say "this is what I want to do, now tell me what I need to learn to achieve it, and the resources needed".
Agreed; it's hard to figure out the right questions to ask.
What might be helpful is a place I could go to that has broad but thorough overviews of topics, where I could learn what I need to learn. Or what my options are.
I think these two commentators (TillE and hodder) have put into words what I have been grappling for many weeks now. And I give can you a specific example.
I've been trying to learn about GUIs and cloud computing. For GUIs, for weeks now I've been saying I know how to program, but I have no idea how I can make something visual. I used Processing, and that was excellent, but then it turned out that it wasn't what I needed (there was no 'delete', so if I rendered a circle, I couldn't delete it). I also looked into Quartz Composer and I thought it was called ngraphics, but Google isn't showing anything called that. It was a Graphics Library for C++. I even installed a VM and Linux (I had to learn how to install a VM and Linux) to try some open-source software instead of trying to learn about GUIs, but that didn't suit my needs either.
So that's GUIs. The other one is cloud computing. I want, say a website and an app, and I want them to submit a form, then the server would do some calculations with these forms and then send back the calculations. I have nothing to say about this. I have no idea where to start. I don't know what this is called. I don't know what to Google.
But having these two people put into words what I have been grappling with is a huge relief. I think I will take a step back and re-evaluate my situation.
Definitely. Meta-learning is something that's tough. Recently I enrolled into CodeSchool.com and there are lots of interesting sounding tutorials. I code in Python and want to be more proficient in web development, the problem I face is, okay, where should I start?
Another example is, if I learned programming in python, what do I do to get to the next level?
Comments
The biggest problem for me always seems to be figuring out what I need to know, rather than finding the resources themselves. For instance, assume you want to learn how to make a simple web app, and have no experience or background in programming, CS, databases, etc. Figuring out where to start and how the puzzle fits together can be really daunting.
You start googling but can't figure out how it all fits together. Javascript, Ruby, Ajax, Python, Rails, Django, Flask, MySQL, heroku, html, css, jquery, bootstrap, appengine, aws, servers, browsers, APIs??? It takes some time to figure out what things even are when you are taking your first steps. Once you realize you pretty much need to know a bit of HTML to make a website, finding a suitable tutorial, while sometimes frustrating, isn't all that hard.
Most people here know how these technologies fit together, but as a beginner I didn't. It took some (frustrating) time to learn how the puzzle pieces fit together, what is optional, what is new, what is proven... etc.
This problem isn't isolated to programming. I think this is a big problem for a ton of self directed online learning. Lets say you convince yourself you would like to become the next Satriani on Guitar, but don't know what scales, triads, or chords are let alone how they are built. Should I concentrate on technique drills, songs, improvization, theory? I have met a huge amount of people who get very intimidated and end out just learning to play songs from guitar tabs, and never progress from a very superficial beginnner level.
Perhaps it is a result of people not wanting to dive in until they can put together a basic mental model of how things work. Regardless, the "roadmap to expertise" problem seems to be real and discouraging for people not willing to just power through it. Can teachers and Tutors be relpaced in providing the direction through the weeds? I'm not sure, but surely solving this problem could be lucrative.
Awesome feedback! And I understand, my background is on computer engineering and even sometimes when starting to learn about something completely new that I had not done before (e.g. web-services/mobile), despite my previous knowledge or background, it can be frustrating. So, how could we fix this?
What was your process to figure it out? What did you search for? Where did you search it? Did you ask someone?
I have been thinking about this problem for a while, but I'm still not really sure how to solve it. I somewhat like the idea of a site with broad topics which narrow down into steps and tutorials, or links to tutorials. I'm not sure if this would really work.
I think I just read, googled, youtubed, and forumed my way out of the box. Surely this can't be the best way.
Agreed. I think the web has insane amount of good resources for pretty much most topics - but knowing what to learn is hard.
It would be awesome, if I can go to a site and say "this is what I want to do, now tell me what I need to learn to achieve it, and the resources needed".
Agreed; it's hard to figure out the right questions to ask.
What might be helpful is a place I could go to that has broad but thorough overviews of topics, where I could learn what I need to learn. Or what my options are.
I understand what you are saying but just to get a better feeling for what you are thinking about, could you give me an example:
If you wanted to learn X, what would be the next kind of answers/sub-topics/topics you would like to get exposed to?
I think these two commentators (TillE and hodder) have put into words what I have been grappling for many weeks now. And I give can you a specific example.
I've been trying to learn about GUIs and cloud computing. For GUIs, for weeks now I've been saying I know how to program, but I have no idea how I can make something visual. I used Processing, and that was excellent, but then it turned out that it wasn't what I needed (there was no 'delete', so if I rendered a circle, I couldn't delete it). I also looked into Quartz Composer and I thought it was called ngraphics, but Google isn't showing anything called that. It was a Graphics Library for C++. I even installed a VM and Linux (I had to learn how to install a VM and Linux) to try some open-source software instead of trying to learn about GUIs, but that didn't suit my needs either.
So that's GUIs. The other one is cloud computing. I want, say a website and an app, and I want them to submit a form, then the server would do some calculations with these forms and then send back the calculations. I have nothing to say about this. I have no idea where to start. I don't know what this is called. I don't know what to Google.
But having these two people put into words what I have been grappling with is a huge relief. I think I will take a step back and re-evaluate my situation.
Definitely. Meta-learning is something that's tough. Recently I enrolled into CodeSchool.com and there are lots of interesting sounding tutorials. I code in Python and want to be more proficient in web development, the problem I face is, okay, where should I start?
Another example is, if I learned programming in python, what do I do to get to the next level?