Live data from Hacker News

Teach Yourself Computer Science

teachyourselfcs.com

81–85 of 85 posts

Re: Teach Yourself Computer Science

#81

Earlier quoted context omitted.

I’ve definitely learned that now after 10 years of development experience. But as a curious kid who didn’t just want to memorize and regurgitate it was quite a challenge. I’ve debated restarting mathematics all the way from basic algebra and geometry to see if I’d do any better these days.

I noticed my high school math(s) teachers were very bad at explaining why and what we were doing. Arbitrary example: One teacher kept saying "f(x)" but couldn't explain what a function is. He just said "it's anything", then "don't worry about it". If he had even said "a function is like a machine that takes number(s) as input, changes them with a formula and outputs the new number(s)", I think it would have helped us…

> If he had even said "a function is like a machine that takes number(s) as input, changes them with a formula and outputs the new number(s)", I think it would have helped us grok.

Helpful but not quite right and one of the common misconceptions students seem to carry over from high school.

A function is something that takes inputs out of a set (its domain, e.g. people in this class) and gives you exactly one output with a prescribed data type (e.g. a date. The function than for instance being person -> birthdate). Neither numbers nor a formula are needed.

> I think he understood math(s) so well that he couldn't relate to someone who didn't know what a function was.

I think he probably could, but the syllabus said explicitly not discuss this ("too abstract") and there is time pressure. High school maths mostly is somewhat handwavy and stringing "definitions" together by examples. So you would mostly see lots of examples of functions and the "definition" of 'function' is then simply "things like that".

Re: Teach Yourself Computer Science

#82
post #2

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

I quickly audited all the courses a few months ago, I find OSSU to be much easier to grasp than teachyourselfcs.com because it doesn't always use modern day MOOC's which makes learning things way quicker

You can learn things by a book sure. But if you go on a udemy or coursea or whatever course, there's always Q/A comments with other people working on the same course and that insight is extremely invaluable so this is why I prefer OSSU over teachyourselfcs.com. I prefer MOOC's because there's also some level of accountability as well, you can go for the certificates too but I don't really care too much about them.

OSSU does have way too many topics just pick 80% of them and you should be okay, depending on what your weaknesses are.

Some course overlap in both so you should focus on those first and foremost. These include things like nand2tetris, 3blue1brown's linear algebra, data structures & algorithms (various choices, sedgewick, skienna, etc).

Do your homework on reddit threads as well before picking one or the other.

I like OSSU because it also tells you what the prereqs are clearly as well.

Currently doing nand2tetris because I have a lack of hardware knowledge and the course is fantastic. Also doing a lot of math courses so I can do mathmatical proofs much easier to understand why one algorithm is better than another, or how to derive it based on whoever invented it etc. I prefer a traditional book for math though, but everything else I prefer MOOC's.

Re: Teach Yourself Computer Science

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

I think you may not realize how much your education has shaped the way you think and tackle problems. Understanding goes far deeper than the direct application of knowledge.

Re: Teach Yourself Computer Science

#84

My theoretical knowledge of computer science can be approximated to zero, as is my knowledge of math, but for some time I worked as a programmer with good results; in my best days I could write about two hundred lines of C or Pascal in a few hours, then go home without testing them because the machine wasn't available and be complimented the following day because they compiled and worked without any errors. I still f…

I have found that reading (auto)biographies of persons in the field I am interested in has helped me. These alerted me to the original problems that the mathematicians were trying to solve and the struggles they faced.

Re: Teach Yourself Computer Science

#85
post #69
post #68

Earlier quoted context omitted.

When you say "concrete language (most probably C)" are you referring to using one language throughout each subject?

Not one language per subject. A separate subject to have basics strong. I feel learning C as a subject and getting concepts like pointers right might prove useful while learning datastructures and algorithms. The article assumes learning a language is very easy. But for a self taught programmer its easy to fall into the trap of straightaway going to high level language like dynamically typed languages. It would be mo…

Late reply, but looks like C is covered in the Computer Architecture section. How deep does it go into C? That I don't know.
Post reply on HN