Live data from Hacker News

A Self-Learning, Modern Computer Science Curriculum

functionalcs.github.io

21–30 of 32 posts

Re: A Self-Learning, Modern Computer Science Curriculum

#22
post #14

I don't really see Abstract Algebra as a super relevant topic for modern computer science. I agree on Linear Algebra and basic abstract algebra (like group theory, cyclic groups etc, stuff needed for understanding topics like RSA), but stuff like Galois theory and other advanced topics are just not relevant. They still teach you a different way to think about problems (which is good) but rather belong into a math cur…

Galois (finite) fields are very much relevant in error correction codes and cryptography. Any time you want to manipulate bytes (or words) as numbers which you can add/subtract and multiply/divide you end up learning about finite fields. In fact, doing CRC or even XOR sums you are already making the first step towards the topic. A recent problem I needed a solution for: given n blocks of data of equal length generate…

Most people aren't building crypto, though (at least they really shouldn't be).

And maybe the answer found the problem you're describing, not the other way around. You were taught to look for and solve problems a certain way, so problems appear with those characteristics.

Re: A Self-Learning, Modern Computer Science Curriculum

#24
post #14

I don't really see Abstract Algebra as a super relevant topic for modern computer science. I agree on Linear Algebra and basic abstract algebra (like group theory, cyclic groups etc, stuff needed for understanding topics like RSA), but stuff like Galois theory and other advanced topics are just not relevant. They still teach you a different way to think about problems (which is good) but rather belong into a math cur…

I've gotten a lot of use out of group theory and lattice theory, and particularly semigroups and semilattices. What most programmers don't realize is that design patterns (a la Gang of Four), when they aren't working around a language's quirks, are implementing some algebra.

Re: A Self-Learning, Modern Computer Science Curriculum

#25
post #8

For those like me, and like many in the UK, whose maths education ended at 16, I can definitely recommend Khan Academy for learning or relearning pre-calc stuff. The videos are short, the exercises are well thought out and numerous, and importantly the UI is great. For example: https://www.khanacademy.org/math/algebra/

It's good for calculus too - I remember watching his videos on calculus before I went to uni 10 years ago so they may have improved even more now.

Re: A Self-Learning, Modern Computer Science Curriculum

#28
post #14

I don't really see Abstract Algebra as a super relevant topic for modern computer science. I agree on Linear Algebra and basic abstract algebra (like group theory, cyclic groups etc, stuff needed for understanding topics like RSA), but stuff like Galois theory and other advanced topics are just not relevant. They still teach you a different way to think about problems (which is good) but rather belong into a math cur…

I've gotten a lot of use out of group theory and lattice theory, and particularly semigroups and semilattices. What most programmers don't realize is that design patterns (a la Gang of Four), when they aren't working around a language's quirks, are implementing some algebra.

Could you give us some pointers on where to learn more about this connection between design patterns and abstract algebra?

Re: A Self-Learning, Modern Computer Science Curriculum

#29
post #8

For those like me, and like many in the UK, whose maths education ended at 16, I can definitely recommend Khan Academy for learning or relearning pre-calc stuff. The videos are short, the exercises are well thought out and numerous, and importantly the UI is great. For example: https://www.khanacademy.org/math/algebra/

It's good for calculus too - I remember watching his videos on calculus before I went to uni 10 years ago so they may have improved even more now.

I remember looking at the site a few (maybe five?) years ago and everything was a bit of a mess. They've really pulled it together since then. It's really great.

Re: A Self-Learning, Modern Computer Science Curriculum

#30

"Use LibGen if you can't buy these books." This is literally the first guy that recommends something like that in such a literal way. +1.

Not the first one, but it's still not a frequent occurrence.

(So let's use this as a reminder that the same applies for SciHub and scientific papers, with extra suggestion to use SciHub anyway, as researchers were most likely paid already from tax money anyway.)

Post reply on HN