There is no substitute for knowing CS50 exists for learning to program. There is no substitute to "Speed Secrets" (the book) for learning to drive fast, etc, etc.
The problem is that, as a beginner, you don't know what's good. As a beginner, you don't know that this really will prevent any knee instability:
http://www.moveforwardpt.com/assets/cbe46e14-86d6-4ed1-8d53-... (PDF warning)
or these really are ALL great exercises:
I wish I had someone give me these things as a kid. I would have wasted much less time.
I decided to give this course a go after reading the eye-opening paper The Structure and Interpretation of the
Computer Science Curriculum , and then discovered the edx course in HN  .
Although having programmed for many years it totally changed the way I look at programming; I followed this with the sadly unfinished but still excellent How to Design Classes , which consistently extends this initially FP approach to OO. To check how this approach is language neutral, have a look at Design Recipes in C .
Another neglected but wonderful resource is MIT OCW Elements of Software Construction (the 2008 version) , which, like the above, is centered around design rather than coding.
What did I get out of all this? A systematic approach to programming.
However, since we're in the 'you don't know what you don't know' thread, I really have to ask. Are Jeff's training exercises really that good?
I can tell you for sure that the exercises I linked are great and essential. I have found them on my own over years, and it was a breath of fresh air to see someone present them.
On the other hand, a topic that interested me for a while was rate of protein absorbtion (i.e. "Can we only absorb 16 grams of protein in a sitting, and eating anything over that is a waste."). Jeff presents a strong opinion, which is that there is no limit, but I don't think his logic is solid. Seems like the issue is still very much under debate, and while what he says makes sense, I doubt he knows it to be fact, though he presents it as such.
On the other hand, I do buy into the whole "physical therapist" part of his brand. But you can't keep pushing new videos telling people to do the same 5-10 exercises.
If "teaching yourself" means trying to find resources to learn something you're interested in, why would that make you an idiot?
Don’t need a teach for that instruction though.
we all have blindspots, much more when we're just starting something new.
You don't need "a good teacher and a structured education system" to identify that, because what's essential in a domain is not a function of you. It's a function on the domain itself. Or, in other words, it's enough for a good teacher somewhere to identify important areas and create some structure, and everyone can benefit. You don't need that teacher for yourself (but you might want to read his book).
Lack of stress and plenty quality time for learning and the discipline and motivation to follow through and the ability to focus on a single topic for a long period are the unspoken basic requirements to do this succesfully.
I suspect that the popularity of these types of articles is that it resonates deeply with highly motivated, self directed learners.
Same goes for articles targeting productivity geeks, and anything self-help related
Unfortunately what is "hard" changes every year, so you need to be a continuous learner.
Trying to negotiate that up-front, though, is hard. Most employers don't like paying much for education and research, and they don't like people who want to work less than full-time, either.
 - not saying use your job time to learn CV-padding stuff; just if you suddenly need to work on a codebase in a language you don't know, don't be afraid to read an actual book instead of minimal amount of StackOverflow answers needed to kill your fist ticket.
If you think that you will eventually burn out, like in “its just a matter of time”, you should seriously consider switching jobs, work in a less demanding industry, or do something else. There is so much more to life than just this work and nothing keeps you from working just at half the pace. You even might get some different insights from that. Seriously, I don’t want to sound like a total jerk but when this is the approach you choose, it’s going to be needlessly rough.
Your username indicates your attitude, btw. Talk to a friend or professional. Maybe you need some good advice.
> you should seriously consider switching jobs, work in a less demanding industry, or do something else
The cognitive dissonance expressed here is...wow. When you have people to support (or even just yourself), you don't just "switch jobs or industries, or do something else" on a whim when you've become burned out. To trivialize the complexity of handling burnout shows a complete lack of understanding what it is like to burn out.
My username is a holdover from an inside joke 20 years ago in my teens, btw. And I don't think I'm the one who needs good advice.
IMHO That's not at all what they're saying. I think they're suggesting making changes long before that, when one hasn't burned out but feels that it is just a matter of time. As far as general suggestion goes (i.e. not directed at you, though it was a reply to you; this is a public forum after all, so you're essentially a stand-in for a wider group of people), I think they're spot on. It may not be relevant to you specifically, since we don't know the details of your situation.
Having seen others burn out in both startups and enterprises, in and out of tech, my opinion is that the advice of the person I responded to is not sound.
I saw a video about Warren Buffet and he used the analogy of a car. What if you could buy any car you liked, but you only got one car for your life. How would you care for it?
Well, you only get one mind and body (so far as I know). I try to take as good care as I would if I only had one car.
Keep in mind that learn something is very different to understand something. Maybe I understand functional programming, but if I haven't worked on a real project that uses a functional programming language, I probably suck at it.
What works for me is having a project or goal I'm excited about. That motivates me to learn the skills and knowledge to achieve it. Back in my teens, I really wanted to customize a Neopets guild (remember those? ;) ) so I started learning HTML to be able to. After, it was "I really want my own site" so I learned PHP to customize Wordpress and so on.
When I was in school and some of the information I had to learn wasn't directly applicable, I made a game out of testing study techniques. Such as taking annotated screenshots out of Youtube videos (10x better than textbook diagrams and walls of text). This game (which was really about changing my own perception from "ugh, rote memorization" to "let's test study techniques") helped me through the denser materials.
> a body of methods, rules, and postulates employed by a discipline : a particular procedure or set of procedures
I.e. methodology is a set of methods.
As far as I've ever heard or seen this word used, "methodology" is used to mean "a set of methods". Maybe you're a bit confused by the fact that a method can be usually destructured into sub-methods - or conversely, a "methodology" is just a single method in the set of methods one meta-level up.
It feels similar to how I learn in the course of working in a professional environment. Try to do something, get stuck and then go understand the thing you’re stuck on. The idea is that if I start at the destination the necessity for and application of the missing knowledge is much clearer to me. Of course you can go back multiple levels to gain a understanding of something, I tend to stop at the point where I have a practical understanding but I find as I progress the areas I get stuck on tend to have some root base of knowledge that’s further back, perhaps theoretical in nature, learning that makes everything just “click.” (I’m currently doing this to understand deep learning and music composition).
That's the take away here.
AFAIK there are 3 kinds of analysis:
1) execution counting: loops count (n, n^2) etc., with sorting: nlogn, recursion (c^n) - used to prove worst case. You have to be familiar with big O notation.
2) amortised analysis - proves average case
3) proving lower bounds (usually based on tree of possibilites) - proves that something can't be done more efficiently (this might be math heavy)
Just grab some book on algorithms - they usually start with algorithm analysis intro.
The technology to study is exact, and also involved clarification of any words and symbols and meaning that one does not understand.
Everybody can learn anything, there are no stupid kids or students, there are students with misunderstoods and those may be clarified.
Let me guess, all I have to do to walk from San Francisco to New York is take steps. All I have to do to lose weight is eat less.
Its silly reductionism dressed up to sound profound in order to sell an enormous fraud. File it under true but not especially useful.
Remember, the other people posting here are humans with feelings, and they are contributing because they want to be helpful. It’s quite unfortunate that the previous poster was so heavily downvoted based on readers’ knee-jerk reaction to Hubbard’s name.
The claim of the materials on the website is that 3 serious barriers to learning are (1) studying objects or phenomena without ever interacting with them personally, but only treating them abstractly/formally, (2) studying skills/ideas beyond the student’s current level without first covering prerequisite skills/ideas and building slowly, (3) misconceptions stemming from misunderstood words. It does not suggest that fixing these 3 things is easy, or will solve every problem in education.
Sure, this seems largely like common sense, and is by no means a revolutionary insight (contrary to the site’s marketing message), but in practice schools often do a terrible job at following this basic advice, and many students e.g. don’t really know how to use a dictionary. It seems this organization has various materials and training for sale. It is at least plausible that these are well produced and useful.
All you really have to do to lose weight is to eat less (where less is defined as "fewer calories").
There's nothing more to it. That's the entire method. Everything else is just there to aid you in accomplishing that goal. This is a perfect example illustrating why simple and easy aren't synonyms. Losing weight is simple (it's literally a single thing you have to do), but far from easy since chocolate is really tasty.
A very odd statement:
* Everybody can learn anything, - no we cannot, for obvious reasons
* there are no stupid kids or students, - fair enough, I agree
* there are students with misunderstoods - assuming a speling mistak, "misunderstandings" doesn't work here either
* and those may be clarified. - Not sure how you clarify a misunderstanding: it is already a misunderstanding, unless you are actually referring to butter for some reason.
From the website linked, we can infer that “misunderstood” is supposed to be “misunderstood word”.