Tips for learning CS faster?

A tree is an oversimplified abstraction. How the learning process actually goes is that you build your own trees. Sometimes the trees layer on top of one another (meaning there is some fundamental model that lays under them, which may or may not have been discovered or written about yet). Sometimes trees join or connect when concepts are similar. Sometimes they separate when concepts become distinct enough that the abstract model you use to model them confuses you between the understandings of the two almost the same, but different enough, trees. Sometimes a gigantic tree can represent a single node of another tree, sometimes this gigantic tree is it's own single node, and it grows out of itself, infinitely.

All of this stuff is going to use labels and relations which will swap and confuse you forever, but in a slow enough way that you can always keep up.

The thing I've learned the most since leaving school, is that people don't have epiphany feelings when they are building something amazing. It gets built piece by piece, and you usually have no idea what you are doing, but you have enough of an idea to keep going. When school presents radically, fundamentally mind changing concepts to you, that allow you to think about models and abstractions in ridiculous ways, that's one side of the coin. The other side is that when you are building that stuff, it just gets built. You don't start by sitting at a computer and saying "I am going to program the world". You start by programming stuff that solves problems, and you either use concepts you know from school, or you invent those concepts yourself without realizing it.

It's good to listen to teachers when they say "this is the foundation of computer science", but it's also good to learn how to figure out what your own foundation is, or whether there even is one at all. However, in Lisp, the concept is the atom', in discrete math, it is 'the unit'. Except Perl has things called junctions, which are interesting.

/r/compsci Thread