Live data from Hacker News

Teach Yourself Computer Science

teachyourselfcs.com

81–90 of 273 posts

Re: Teach Yourself Computer Science

#81

how much of this curriculum is necessary for a FAANG job? I’d love to go through all of them, but I’m constrained with work as well, so I’ll have to prioritize.

The FAANG interview process is pretty standardized, if you're pressed on time I suggest you learn and master just 2 things: data structures and system design.

> The FAANG interview process is pretty standardized

Not really. It is standardized at some FAANG companies but not others.

Re: Teach Yourself Computer Science

#82

Earlier quoted context omitted.

What does it say about our industry if learning all this makes workers hate what they do ? By this logic we should cut down on advanced education so people stay content in dull jobs.

Isn't reduced education a method for keeping people content in most situations?

[deleted]

Re: Teach Yourself Computer Science

#83
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 think these should be used more as a guide and dependency graph of study subjects rather than a rigid schedule. So, instead of going from first textbook until the last, maybe you just look at what interests you the most in the list and then check if you have the necessary prerequisites.

I plan to eventually complete most of the materials, but I take huge, sometimes multi-year detours. I've done SICP and nand2tetris books, it took around a year each (not fulltime obviously, also I went a bit harder on 2nd half of the nand like writing unit tests and building AST for the compiler instead of the easier approach suggested in the book). Then I decided I wanted to go do OS, but before that to learn C to be able to implement my own stuff, so I also worked through K&R book.

On the other hand I'm pretty bad at doing "real world" things, full of edge cases and details, and try to avoid them as much as possible, so I may not be an example of someone getting value in a practical sense. I feel that I've grown better as a programmer but I can't say how much of it can be attributed to my home studies and how much just to the experience on the job itself.

Re: Teach Yourself Computer Science

#84

> 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…

If you're a self-taught engineer without computer science knowledge, you'll find that you simply cannot work on the lower parts of the stack. Fine for you, perhaps, but it's not wise to limit your own career possibilities.

Re: Teach Yourself Computer Science

#85
post #10

Main updates as of May 2020: Computer Architecture: added Computer Systems: A Programmer's Perspective as first recommendation over nand2tetris. Compilers: Crafting Interpreters added as first recommendation over dragon book. Distributed Systems: added Designing Data-Intensive Applications as first recommendation over Distributed Systems . Online availability of some video lectures has changed as well.

My school actually use the same book for Computer Systems (similar to CMU's 15-213) but less intensive. I wonder what parts the 400-level course use for Computer Architecture.

Harvard also uses the CS:APP for their first systems course, CS61.

Re: Teach Yourself Computer Science

#86
At 200 hours per subject, it would take 2 years to complete if studying part-time (20hr/week) during only the working weeks of the year (92 weeks). If you're uncomfortable working+studying 60-70hrs a week, it would probably take 4 years.

Are there blog posts around where people share their experience of undertaking and completely this endeavour?

Re: Teach Yourself Computer Science

#87
post #74
post #63

I like to compare CS to medicine. Most topics of it aren't difficult to understand, but overall it's just a lot of information. If you want to get a comprehensive CS-education, you have to accept that it takes years of studying, learning and practise.

Agree with this. I’ve got a medical degree as well as self taught developer for 15+ years. The longer you do it, the easier it becomes as the knowledge just kind of seeps through immersion. But I can imagine for a mind that’s new to either topic can feel quickly overwhelmed without significant motivation to overcome that learning inertia.

Would you say CS is generally easier, with a smaller body of fundamentals, and a front-end JS dev could swap places with a back-end C# dev and the two would get up to speed a lot faster than an orthopedist and cardiologist, with all the specialized information in those two fields? Medicine just comes off like a lot more memorizing of an enormous volume of disparate information compared to programming.

Re: Teach Yourself Computer Science

#88
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 just finished the distributed systems section of teachyourselfcs and I now have a solid understanding of a lot of concepts I previously only shallowly understood. When I started learning, the recommended textbook was Distributed systems: Principles and Paradigms (the new recommendation is Designing Data-Intensive Applications) and the recommended course was MIT 6.824. 6.824 is the first online course that I have co…

How long did it take you to complete it on your own, including the exercises?

Re: Teach Yourself Computer Science

#89
post #18

I wonder if anyone here has tried this (or other) self taught CS successfully while not being a "self-taught engineer or bootcamp grad". What if you are a designer or PM type with several years experience in software industry? Is it productive to skip real experience or actual classes to get into CS/engineering?

I'm a PM turned programmer, I did both.

I started with Harvard's CS50 and web programming in Node independently, and I ended up with a masters in software engineering and can now push production-ready code (mostly in React/Node by choice, although studying university-level classes has exposed me to different paradigms and languages: C, Java, OCaml...)

I whole-heartedly recommend concurrently studying first principles and a couple of applied technologies. They serve different purposes but are ultimately connected in the big picture. University courses very rarely teach how to make real-life projects. Conversely, learning real-life technologies rarely shows you the theoretical principles that fuel them, at least not explicitly. React/Redux for example have really interesting ideas on managing state drawn from functional programming. To churn out React code, you certainly don't need an FP course or formally studying the pains of managing state in programs, but I found it to be immensely helpful. Same with many other areas: studying systems and networking will help you with many back-end technologies, compilers can help you understand many different programming languages, etc.

I don't think there's a program that teaches both, because it's probably impractical to design it. Simply pick one theoretical route like Teach Yourself CS and a couple of applied technologies, and work on them simultaneously.

Re: Teach Yourself Computer Science

#90
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"…

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.

Post reply on HN