Hacker News new | comments | show | ask | jobs | submit login
Ask HN: What level of math is required to complete the teachyourselfcs subjects?
17 points by pilatesfordogs 11 months ago | hide | past | web | favorite | 2 comments

I had to look up teachyourselfcs[1]. I haven't tried the resources, but the subject matter appears to cover standard undergrad BS in CS concepts.

The simplest answer is just to parity the math courses of a Berkeley / MIT / Stanford CS degree, although it will likely be a little overkill, especially if you intend to limit yourself to a strict subset of TYCS. For example, databases and networking generally require very different math prereqs than computer graphics or machine learning.

You will need a high school level of math (grammar school math, algebra, trigonometry, basic stats) to be able to program most things.

Discrete math is used heavily in many parts of CS (it is integral to understanding how to accurately negate programming expressions).

You should probably understand calculus at a high level, although my experience with actual calculus usage in my career is zero.

Probabilities are used heavily in concepts like caching / performance, which will touch OS, arch, data structures, and likely others. For this, you should find a "statistics for engineers" type of course / book for undergrads, which may or may not make use of calculus to prove some of the statistical concepts.

Linear algebra is used heavily wherever graphics cards are used, so graphics, video, machine learning, etc. Linear algebra will likely have calculus as a prerequisite.

Modulo math is used heavily for cryptography and some data structures (hash tables). An undergrad will get a few days or weeks of this, and probably not an entire course.

Set theory and graph theory are used sporadically. Networking, distributed systems, etc will make use of them.

Hope this helps.

[1] https://teachyourselfcs.com/

Thank you very much, this is exactly what I needed to know. (I had no idea about TYCS but I started learning through MIT's opencourseware and realised I strongly lacked in the math department.) This list is excellent, I'll definitely use it as my learning roadmap. Again thank you.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact