Live data from Hacker News

Teach Yourself Computer Science

teachyourselfcs.com

1–10 of 85 posts

Re: Teach Yourself Computer Science

#3
post #2

How does it compare to OSSU ( https://github.com/ossu/computer-science/blob/dev/README.md ) ?

At the bottom of the website, the authors compare the two and freeCodeCamp.

How does this compare to Open Source Society or freeCodeCamp curricula?

The OSS guide has too many subjects, suggests inferior resources for many of them, and provides no rationale or guidance around why or what aspects of particular courses are valuable. We strove to limit our list of courses to those which you really should know as a software engineer, irrespective of your specialty, and to help you understand why each course is included.

freeCodeCamp is focused mostly on programming, not computer science. For why you might want to learn computer science, see above.

Re: Teach Yourself Computer Science

#5
This seems like a thought out list of recommendations. I have enjoyed going through some of those books myself. However, the persuasive argument seems rather biased and somewhat toxic. There are many software developers out there, without a strong CS background, who write useful tools used by other developers. Does anybody here use Homebrew? The author admits that Homebrew is not the perfect software, but I think we can all agree that it's highly successful and helps many developers every day.

The field of computer science can be rather punishing if you don't grow up with a STEM mentality. I don't think there's a need to put any more pressure on developers and tell them they are not on a path to make enough money, that they will not work on interesting problems and that they have to spend another 900 to 1800 hours before they are worthy.

We should instead foster a mentality of inclusion and promote learning by getting people excited about spending 100 hours on a particular subject and not persuade people to learn based on the fear of missing out. And we're not addressing the really big elephant in the room. So many bright people spend 900 to 1800 hours developing their CS skills and end up working on trivial things that could just as easily be tackled by somebody with a bootcamp background.

https://www.quora.com/Whats-the-logic-behind-Google-rejectin...

Re: Teach Yourself Computer Science

#6
I have many degrees in computer science, and have used almost none of the knowledge in programming jobs. So, the content is fairly useless, practically speaking. I've also found the more I focus on theoretical elements while at work, the more useless I become. The actually useful elements are big picture, and can probably be taught in one or two classes. Much more useful than technical knowledge are the abilities to reason about systems and solve problems. In my opinion, the CS classes seem to be almost purposefully obtuse.

Re: Teach Yourself Computer Science

#7
post #6

I have many degrees in computer science, and have used almost none of the knowledge in programming jobs. So, the content is fairly useless, practically speaking. I've also found the more I focus on theoretical elements while at work, the more useless I become. The actually useful elements are big picture, and can probably be taught in one or two classes. Much more useful than technical knowledge are the abilities to…

Anyone else concur with yters experience ?

Re: Teach Yourself Computer Science

#8
post #6

I have many degrees in computer science, and have used almost none of the knowledge in programming jobs. So, the content is fairly useless, practically speaking. I've also found the more I focus on theoretical elements while at work, the more useless I become. The actually useful elements are big picture, and can probably be taught in one or two classes. Much more useful than technical knowledge are the abilities to…

Anyone else concur with yters experience ?

I concur.

The way I think about it is that what you learn in class is valuable for understanding the abstractions that you will use in industry. If you’re working in C# or Java, most of the time you don’t care about the cost of memory allocation, method calls, reflection voodoo, file system access, etc... BUT, in those rare situations where the abstraction causes a performance or correctness issue, then all that academic knowledge becomes valuable. I find that the instances of these problems are very rare but when they occur you have an opportunity to deliver a lot of value.

For example, at my job we have a rather slow build. Looking at the logs, it’s because we spend a lot of time doing I/O. Someone had the idea to use symlinks instead of file copies. Badabing, badaboom, we got something like a 3x speed up from doing that.

Re: Teach Yourself Computer Science

#9
post #6

I have many degrees in computer science, and have used almost none of the knowledge in programming jobs. So, the content is fairly useless, practically speaking. I've also found the more I focus on theoretical elements while at work, the more useless I become. The actually useful elements are big picture, and can probably be taught in one or two classes. Much more useful than technical knowledge are the abilities to…

Anyone else concur with yters experience ?

It really depends on what kind of development you're doing.

The majority of software engineers are application developers making CRUD websites or mobile apps, so that perspective is the one to come up most often. I also happen to be one of those developers.

The challenges of application development are related to transforming data, handling asynchronous operations, managing state, and picking elegant abstractions that solve your problems. The intuition for these things is mostly picked up through hours of professional development, seeing good code, and shooting yourself in the foot a couple of times.

While there are some harder problems in app dev which do require deeper computer science understanding, they're extremely rare. I suspect this is different for people doing things like video game development, although I don't have any experience there so I can't speak to that.

Re: Teach Yourself Computer Science

#10
post #6

I have many degrees in computer science, and have used almost none of the knowledge in programming jobs. So, the content is fairly useless, practically speaking. I've also found the more I focus on theoretical elements while at work, the more useless I become. The actually useful elements are big picture, and can probably be taught in one or two classes. Much more useful than technical knowledge are the abilities to…

Is that surprising? Computer Science isn't meant to be a Practical Programming degree.
Post reply on HN