Live data from Hacker News

Teach Yourself Computer Science

teachyourselfcs.com

261–270 of 273 posts

Re: Teach Yourself Computer Science

#261

Earlier quoted context omitted.

> being able to solve real problems, soft skills and breaking problems into parts. As well as the ability to self learn and research You are implying, that most people can do that. I think only about 15% of adults can do what you listed.

And only about 50% of people employed as programmers.

And of them only 10-20% do it okay well (I think)

Re: Teach Yourself Computer Science

#262

One thing I'm always amazed by when casually talking to people about what I do is how they don't think they can do it. Many people think that software engineering and programming are some inscrutable thing. Sometimes I try to tell them that it is nothing special, it doesn't take a mega genius or math expert to do it. That the most important skill is just being able to solve real problems, soft skills and breaking pro…

Agree. This is a skill that can be acquired. No great computers scientists or programmers are born, they are made. Unfortunately, a vibrant interest and curiosity in core skills of mathematics, logic, and even writing (communications) is pounded out of lot of people early in life, and it makes computing seem inscrutable, unattainable and probably even boring.

[deleted]

Re: Teach Yourself Computer Science

#263
post #97

Earlier quoted context omitted.

I wonder if there's any TeachYourself Medicine resources?

That would be very dangerous, albeit useful. Making a diagnosis and giving a therapy have different consequences than programming SW and executing code

Trusting doctors can be dangerous too (personal experience)

Re: Teach Yourself Computer Science

#264

Earlier quoted context omitted.

> Many people think that software engineering and programming are some inscrutable thing It's not inscrutable, but it's not something everyone can do. And among those who can , not all of them necessarily enjoy it. It takes a high enough IQ (whatever reservations you might have about IQ tests, there's no doubt they match with programming ability) as well as an appropriate disposition. I mean you wouldn't expect every…

> whatever reservations you might have about IQ tests, there's no doubt they match with programming ability If you happen to have some article or research in mind it'd be interesting to read (Or maybe you read sth long ago and didn't save any links / references)

Have you taken or even just looked at an IQ test? The kind of things they make you do just look like the type of tasks a programmer has to handle day in and out.

Re: Teach Yourself Computer Science

#265

Earlier quoted context omitted.

> whatever reservations you might have about IQ tests, there's no doubt they match with programming ability If you happen to have some article or research in mind it'd be interesting to read (Or maybe you read sth long ago and didn't save any links / references)

Have you taken or even just looked at an IQ test? The kind of things they make you do just look like the type of tasks a programmer has to handle day in and out.

Raven's Progressive Matrices.

I would expect good results to be strongly correlated with an ability to learn and be good at software -- and therefore I was curious about if you had read something related to that.

> just look like the type of tasks a programmer...

Hmm, I think RPM looks very different from writing code. Maybe you had other tests in mind? (Then I'm curious about which?)

Re: Teach Yourself Computer Science

#266
The recommendation of "Crafting Interpreters" is pretty weird. I would argue that more important than the specifics about compilers is a high-level understanding of various ideas in programming language design, and be able to understand the building blocks of different languages and compare the trade-offs of using one language compared with another. Dan Grossman from the University of Washington has an excellent course Programming Languages on Coursera: https://www.coursera.org/learn/programming-languages/, which I think would be far more relevant to modern programmers than studying compilers specifically.

Re: Teach Yourself Computer Science

#267
post #180

One thing I'm always amazed by when casually talking to people about what I do is how they don't think they can do it. Many people think that software engineering and programming are some inscrutable thing. Sometimes I try to tell them that it is nothing special, it doesn't take a mega genius or math expert to do it. That the most important skill is just being able to solve real problems, soft skills and breaking pro…

> the most important skill is just being able to solve real problems, soft skills and breaking problems into parts. As well as the ability to self learn and research. Seeing a very non-technical friend of mine being completely immersed in games like "Factorio" and "Satisfactory" where the entire game is essentially just putting constantly more complex and valuable resources together in automated ways is fascinating t…

I think a major difference between most games and real problem solving at work is that the environment is massively simplified and a lot of wrinkles when dealing with the real world are ironed out. In most games you can just relax and not think too hard, I would say, and reap massive rewards, while in real life, rewards come in much more intangible forms after much harder struggling.

This could also explain why many would rather just play games than solve real-world problems when they come home from work. It requires a bit of discipline, desire and resolve I would say. But one should also realize that the rewards of actually going out to solve real-world problems and interact with real people are so much sweeter than the virtual rewards you earn in simplified and idealized games, in many aspects. I would also say that while many don't do it at home, there are still many people that do, and do an amazing job at it.

Re: Teach Yourself Computer Science

#268

Earlier quoted context omitted.

I strongly recommend OSSU! Both books and MOOCs have their place, and sometimes a MOOC is easier to stay motivated, provided a schedule, and exercises of appropriate number and difficulty. I really like reading books too, but sometimes the completion-ist part of me is too strong and I shouldn't really do all the exercises.

In comparison with teachyourselfcs OSSU looks lame, serious. Structured badly, tons of links & strange YouTube channels. TYCS has chapters and 2-3 best resources about, ideal for this case. For beginners I highly recommend Harvard CS50, the best of the best course available for free and paid too.

I agree that there seem to be a variety of links, but most of the courses linked there are of very high quality and I don't seem to see the "YouTube channels" that you're referring to. One thing I was unsatisfied with with TYCS is how it lists Crafting Compilers for the compilers/PL section of the curriculum. I would argue that more important than the specifics about compilers is a high-level understanding of various ideas in programming language design, and be able to understand the building blocks of different languages and compare the trade-offs of using one language compared with another. Of course, if you go through SICP as an entry point to computing, as suggested in TYCS, then you might be somewhat better off, but it's still not the same as a dedicated course on PL itself.

Dan Grossman from the University of Washington has an excellent course Programming Languages on Coursera: https://www.coursera.org/learn/programming-languages/, which I think would be far more relevant to modern programmers than studying compilers specifically. And I'm glad to see this course listed under the "Core Programming" section of OSSU.

Re: Teach Yourself Computer Science

#269
post #12

Whenever i have someone ask me where to get started on CS - i give them a few options tiered to try and ensure some stickiness/higher utility for them specifically. ~Some Existing Touch Point With CS Teachyourselfcs.com is definitely in the conversation - in general I recommend it to friends who have a pre-existing "gateway" to the field (software engineer or otherwise). The page talks about progressing from "type 2"…

+1 for recommending OSSU. The courses listed there seem to mostly be of very high quality, and I'm glad to see the two courses listed under the "Core Programming" section are the two that are among the best I've ever seen. The course Programming Languages by Dan Grossman is definitely much more helpful and insightful in the area of PL than the "Crafting Compilers" book listed in TYCS.

Re: Teach Yourself Computer Science

#270
post #32

Has anyone here learned a subject by going through one of these "teach yourself" lists? I've learned most of what I know about computers on my own, but it wasn't from following a list of textbooks. And when I've tried to follow a course like this for other subjects, despite my initial interest, I've found myself unable to make it through more than a couple chapters of the first textbook before running out of steam. B…

I would say MOOCs are usually much easier to follow than books. Great courses can really change your whole perspective. The list of MOOCs listed in OSSU are generally of very high quality and I would highly recommend them.
Post reply on HN