Live data from Hacker News

Teach Yourself Computer Science

teachyourselfcs.com

201–210 of 273 posts

Re: Teach Yourself Computer Science

#201

Having gone through all of these course myself, I'm wondering if this stuff is really relevant to today's workforce? Compiler Design? How to build an Operating System? I remember in a job writing my own BNF grammer and a a parser for it to optimize something or other and I got back basically "WTF" on the code review. I would say database fundamentals is a must, so is networking. But honestly the rest is iffy. When wa…

While most programmers are web and mobile application developers, not all are. Yes, there are people out there doing systems programming, contributing to the Rust compiler, and all those things. Further, debugging a system is harder than writing the system and much, much harder if you do not have a suitable store of background information.

Insert story about explaining to my aerospace engineer buddy why

    for i in 1..n:
      s += y
for strings s and y was fine on one browser and very, very slow on another.

When was the last time I wrote a red-black tree? Never. I've never had to write a red-black tree. If I need one right now, I'd have to go look it up. (But then, I'm charging $5 for hitting the pipe with a hammer and $95 for knowing where to hit the pipe with the hammer.) On the other hand, I had to build some damn data structure or other last week, and that is a very similar problem. Don't miss the forest for the trees.

Should programming be a large part of CS? Yes, absolutely. Doing these things in practice is a big part of learning them, and that's why a person with an undergrad degree in CS is employable and a person with an undergrad degree in Archaeology isn't.

Re: Teach Yourself Computer Science

#202

Earlier quoted context omitted.

To be fair, this isn't "teach yourself the skills necessary to be successful in a development job," it's "teach yourself computer science."

I'm being sincere when I ask: what would you do with a self-taught CS background? I understand many of the larger companies require an understanding of CS principles, but, if not to be a successful developer, how useful is a self-taught CS education? What do you do with it if not software development? In my somewhat limited experience, the more CS-focused folks hold PhDs, and sometimes I feel it's more about the cred…

Keep in mind that "successful software developer" is a fuzzy term. You can be a successful developer if you are gluing APIs together for an internal enterprise web app and making six figures per annum. You can also be an unsuccessful developer in those same circumstances, if your ambitions are different.

The "CS focused people" that you typically hear about usually have Ph.D.s because you usually hear about (and from) people doing fancy new things. There are many other "CS focused people" out there just keeping the lights on, or rather keeping the backbone routers from being swamped under their own routing tables.

Re: Teach Yourself Computer Science

#203

IMAO this Type 1 and Type 2 comparison is ridiculous. And in this context Type 2 seems to me being more related to continuous and more pragmatic learning. I have done CS and I can't remember using any of it to make money. Do CS because you love the subject and crave for more knowledge about it. Do the Type 2 stuff if you need a job/money.

One of my favorite interview questions was "What happens when you type a URL into a browser address bar and hit return?" My answer went into opening a TCP connection and DNS lookups because I'm a networking guy. And I've had the fun opportunity to explain to someone that "no, the application is fine. No one can reach it because NASA has a split-DNS monstrosity that is currently broken. Again." And then there was Friday, when I was helping someone get set up in our development environment; she was able to get to the web interface of Gitlab, but not check out a project. I haven't heard back because she had a meeting, but I'm betting it was because she was on the wrong VPN configuration.

The problem with "type 2" stuff is that building a system is easier than debugging the same system, and "it works on my machine" isn't always an appropriate answer.

(But resigning and getting a (hopefully better paying) job before the excrement hits the rotary impeller is always an appropriate answer, I guess.)

Re: Teach Yourself Computer Science

#204

> If you’re a self-taught engineer or bootcamp grad, you owe it to yourself to learn computer science. No, you don't. I know all these topics and I don't recommend anyone working in a corporate environment to learn any of this. It'll likely result in you resenting your job, your peers and the entire software industry. --- I gave my heart to know wisdom, and to know madness and folly: I perceived that this also is vex…

> It'll likely result in you resenting your job, your peers and the entire software industry.

Jokes on you I resent my job and the industry already.

Re: Teach Yourself Computer Science

#205

Can anyone with a CS undergrad from an elite US college (Stanford, Berkeley, MIT, Carnegie Mellon) comment on whether they feel their undergrad covered 100-200 hours worth of these subjects? As someone with an Australian CS degree, I feel like my curriculum covered less than half of this properly.

Let's see; a one semester class is 3 hours/week, 15 weeks, or 45 hours of lectures. The semi-official ratio was to expect 2-3 hours of work in addition to the lectures (haha, yeah, I slacked off a lot), so that would be 135-180 hours. The books chosen sound appropriate. Sounds about right to me.

This was UT Austin, which may or may not, now or ever, be an "elite US college", and it was 30 years ago. (Holy crap, where's my walker?)

Re: Teach Yourself Computer Science

#206
post #110

Earlier quoted context omitted.

That's definitely strange. I studied at a university in the Netherlands which implemented what I think was a European standard curriculum, and what this article mentions is a subset of the first two years of the undergraduate degree if I remember correctly. Some elective courses are missing, and AI though it is mentioned. We also used many of the books mentioned here. Also back when I did it there were more seperate…

I feel like a lot of my coursework was overstuffed with learning and re-learning waterfall vs agile, and fluff subjects like 'user-centred design' and 'professional computing practice'. The latter was basically 'how to make a resumé' and 'how to not be an arsehole in email'.

Where was this?

Re: Teach Yourself Computer Science

#207

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.

It's remarkable how the course goes from zero to several complete projects in different domains and technologies in just a few weeks. CS50 is a real stepping stone.

Re: Teach Yourself Computer Science

#209

Is this computer science books? Seems like great computer engineering books but I have only read a few of the suggested ones. Is there any math or science in those books (aka, could I write a paper from it)? Anyone that have read them that care to chip in?

I think you have a very strange definition of computer science.

There isn't enough math, but there's nothing in the undergrad CS curriculum most places to "write a paper from".

Re: Teach Yourself Computer Science

#210

Earlier quoted context omitted.

Having an actually solid foundation when you're being paid 300K to be expert isn't "enlightenment". It's "appropriately qualified". Hacking the hiring process has a good effort vs reward ratio, but it's also high risk. The risk is that obvious gaps in the candidate's background surface after starting the position. Which usually doesn't turn out well: best case career stagnates and worst case the candidate ends up on…

Then would you provide any actionable advice? I understand your concern about not gaining implicit knowledge while surrounded by peers, but I’ve gained “the ability to think” through my other course of study, and your concerns don’t seem to be attached to a solution. Rather, it seems like a desperate attempt to gatekeep over an increasingly egalitarian field. And sorry, but there isn’t much communication to be learne…

Don't look for a FAANG job? There are plenty of enterprise IT jobs where the primary skill is putting together a web app to look like some designer's Photoshop, with pay 3-4x the median US.

"Once I get through hiring season, I’ll worry about covering the remaining material before I begin work."

Someone who has spent the time wading through this stuff might consider that somewhat insulting. Your future co-workers, say.

Post reply on HN