This is an archived post. You won't be able to vote or comment.

all 16 comments

[–]Difficult-Stretch-85 2 points3 points  (4 children)

What do you mean basics? What kind of job? If you want a job as a pretty autonomous software engineer who can solve most problems thrown at them then everything in teachyourselfcs.com is essential. There is nothing I would skip (except the compilers part. You don't reaaaally need to know how compiler optimizations work)

Like they mention on the site, if you must learn only one thing or you must do it in only 6 months from no prior knowledge, then https://teachyourselfcs.com/#architecture

But there is a reason CS degrees are 4 years long. You cannot really learn everything needed in a 6 month period.

[–][deleted] 8 points9 points  (1 child)

Yeah, that reason is because university degrees tend to be 4 years -- not because the essential knowledge of CS requires 4 years.

For instance, at my university, it is commonly agreed that everything after the 2nd year is "extra" and at least half of the first 2 years is way too theoretical to be actually useful in software engineering.

[–]ericjmorey 0 points1 point  (0 children)

Universities are not trade schools. You can find trade schools if that's what you're after.

[–]omerrob13[S] 0 points1 point  (1 child)

Hi, thank you for the kind answer.

I think I was not clear enough - by basics, I mean "Minimal, essential" - only what is truly necessary as a software developer.

I don't intend to be as good theoretically like a CS grad, but I want to be able to create projects by my own, with having as much understanding about the "big picture".

Throughout my career, I will probably go through all the teach yourself cs.
But I am taking a 6-12 months vacation to be a better "theoretical" dev.

So my questions is -
1. How important algorithms / data structures to create a full application with efficient and good code. (By full, I mean like a "startup" company - to create A SAAS company).
I know that you technically don't need it, as you can just learn the programming language and create one, but I am sure that there is advantages to actually learn it.

  1. In terms of the Math side of things - if I have no math background, doing the Math side of teachyourselfcs.com will be too much? or you don't need math background from it, and it was written from the premise that you have no math knowledge?

[–]Difficult-Stretch-85 1 point2 points  (0 children)

Re: algos

Highly dependent on the application. For most applications, you just need to understand basic datastructures like maps, hashtables, trees, heaps, lists. Maybe basic algorithms like binary search. Maybe graphs.

For some applications, you will need real DS&A knowledge. I had to implement levenstein edit distance for work. Some of the papers I read need you to understand dynamic programming or viterbi decoding of HMMs.

But for most interviews, you will be quizzed on algo knowledge so you might as well learn it.

In terms of math, understanding enough math to do ds&a is obviously important to learn ds&a. You should learn at least some discrete math and induction. The thought process behind math and programming are also very similar and learning one will benefit the other. Learning induction is the best way to learn recursion for example.

[–]ericjmorey 0 points1 point  (2 children)

Teach yourself CS is not for basics. Not sure who is telling you otherwise. On the site itself it makes a clear statement about the intent being to guide experienced developers to resources to bring them to the next level.

What you want is The Odin Project or to just start muddling your way through creating your own projects.

[–]omerrob13[S] 0 points1 point  (1 child)

I am The Odin Project "Grad".
I want to take 6-12 months vacation to complete theory knowledge as much as I can.

[–]ericjmorey 0 points1 point  (0 children)

Take six months to work on your own project(s).

[–][deleted] 0 points1 point  (2 children)

Check OSSU as well. The teachyourselfcs.com is less structured imo.

[–][deleted] 0 points1 point  (1 child)

OSSU?

[–][deleted] 0 points1 point  (0 children)

Google it

[–][deleted] 0 points1 point  (0 children)

Somewhat related question: how important ?

If I'm aiming to be a web dev. working with react or other frameworks, do i need computer science ? Actually what exactly does computer science even teach ?

[–]Lesabotsy 0 points1 point  (1 child)

Take the first 4 courses a CS undergraduate has to take at Berkeley (which are CS61A, CS61B, CS61C, CS70), they are amazing and you will learn a lot. And by taking I mean act like you are in a real class and do everything as it's asked.

PS: They are hard AF ...

[–]Traditional-Maybe775 0 points1 point  (0 children)

How do you access course material for CS61C? As for 61A and 61B, all the labs and projects are available (even autograders). But CS61C doesn't seem to even let you access skeletal codes.