Its just as arbitrary as "why do you like me?" "we happened to be in the same bar, which is randomness+a bit of factors based on our personalities" just because a computer is not causing you to randomly meetup at say a party, bar, concert doesn't mean its more or less based on randomness + a few factors based on your personality, location, age, etc (more or less what dating sites use)
This may be thinking back on things with rose tinted glasses, but I learned to code in qbasic when I was 12 or so at a Boys and Girls club after school and fell in love. It was entirely effortless and fun to me. I think the difference is at that point I wasn't trying to program to enter some lucrative career and be a startup guy (where are these "coders" going to be once the market dies down and a new industry is hot? probably trying to do that). For me it was something I loved immediately, and while obviously there are really hard problems, the coding part was effortless
I first learned on a variant of BASIC myself when I was in elementary school, and it was effortless then -- but that's a profoundly different thing from learning the professional tools/design patterns/development styles to get hired in a specific domain. As somebody who picked it up again after a long break, the whole point was not 'getting hired in some hot new lucrative industry,' but 'god, please let somebody hire me to do this thing that is so much more mentally satisfying than the last few things I've done for a living.'
From that perspective, I absolutely understand the urgency here, and appreciate how this article talks about how the moment when the tutorials break off is when the real learning begins.
At the time "design patterns" were somewhere in the distant future, development style was something you had rather than something you learned, and the list of professional tools was really short. I'm sure this is part of what made it incredibly fun.
I think today's students would also have a lot more fun if they ignored all the opinionated garbage about which flavor-of-the-month checkboxes they need on their resume. Figure out what you like and get really good at it. Many top employers are looking for passion, pragmatism, and adaptability rather than specific tools and libraries.
I may have been to harsh in my assessment. But still, how many of these people are sitting down and working on some puzzle/problem/project they find interesting vs saying I know I need rails, and angular to make web apps and then just going through tutorial after tutorial. How many of them are actually interested in it in and of itself. I learned how to program very far away from the concept of writing an app that I could deploy to heroku.
I'd always thought that programming might be interesting. Picked up BASIC for dummies and basically built my career from that moment. It's crazy how stuff like that can happen.
I feel like that might be the wrong question. If you wanted to really study formal computer science you could learn things like model theory. If you want to study the analysis of algorithm run times you may want to study something like complex asymptotics. Do you want to study math for computer science or do you want to study math that helps in most applications of computer science (graph theory, linear algebra, etc etc).
Thanks for this. Edited the question a little to hopefully clarify things. I'm mostly going back to Coursera just out of pure curiousity, but was hoping I could take something that has some relevance to my career in Web Development (practical side, so more of your latter statement).
Sounds like Linear Algebra would be good to learn.
"changing them when they become a problem" is a huge understatement. changing economic systems is incredibly complex and extremely hard to predict. even just engineering enough people to collectively act is very difficult.
I have a feeling if this person had actually gone to school for CS they would have thought it equally useless. Most CS programs don't concentrate on say building iOS apps etc.
I learned iOS myself, and I know it would be harder for me if I didn't learn different flavors of programming languages and basic data structures at school.
I don't know how good people are at evaluating the usefulness of knowledge and skills they've acquired, but I'd believe there is some kind of bias. I tend to think things I know are trivial and can be learned easily. But I've also seen smart but non-CS background people cobbling poorly written code together only to make it work and he wished he has taken some CS classes while at school as well.
It might be true that smartest people can learn everything on their own, but by definition 'most people' aren't the smartest.
Not sure I agree. When I was a child I knew my family was struggling, but had I actually been burdened with knowing how far behind we were on paying for housing etc I might have had a nervous break down. There is some information that may be to heavy for a kid
I thank my parents for shielding me from the dollars we didnt have. Only know looking back do I realize how tight times must have been. Sharing that yoke with the children would have hurt all of us a little.
Yeah, I guess I wasn't thinking about people who are really struggling. There might be a point where it is bad enough that it would be too heavy for a kid.
Volunteering for a volunteer project is noble. Volunteering so that someone else can take your fair share of profit is not so much. If you are taking a hit in salary for society at large then I would compliment you on your generosity. If you are taking a hit so that someone else in your company can take more money I would suggest you reevaluate your decision
Heh, oh don't worry. I get a very large equity stake and take my fair share of the profit. The great thing about doing these sorts of projects over straight volunteering is that the positive impact on society comes with a business model and large financial incentives.
Nonetheless, I've found it to be an interesting concept. There is indeed a homework from the Coursera ML course for computing and visualizing eigenfaces, and the course (and the Stanford CS229 notes) discuss PCA further. I decided to explore the ideas further and distill it into a blog post specifically on eigenfaces.
Goal is for it to serve as a condensed tutorial on an interesting topic! I definitely learned a bunch writing it, and it may be interesting to others who have yet to come across to concept.
The author never implied that this was their own original discovery. Unless they ripped the entire article off, this is just a tutorial on how to work with Eigenfaces on your own, and an explanation of how they work.