> By the end of my studies, this guide was only about 20 pages of bullet points.
Would love to see those 20 pages! On the other hand, maybe that defeats the point... Is there advice or resource you might want to pass along to someone considering walking the same path?
I'm seconding this. I've got a little bit of coding experience under my belt but I've already gone through 2 fruitless years of schooling and I can no longer do physical work because of an injury gained from my last job. Instead of wasting my time for another 2-3 years getting bits and pieces, I'd be really interested in your condensed essentials!
Hey rexstjohn, great article. It would be interesting to see those notebooks of yours, I'm sure many people would be interested if you uploaded them to your site, or linked them to HN.
"You just divide that shit in half and move the bigger ones to the right and the smaller ones to the left. Then you do that shit over and over again until its sorted."
Between that and an actual working, sane quicksort implementation there is a large number of rakes in the grass for you to step on.
Explaining where these rakes are, what they look like and how to avoid them involves a surprisingly lengthy, tedious discussion which can made much, much shorter and less tedious if you can use words that refer very precisely to things that the teacher expects the student to already know: "Academic Nonsense-Speak".
One can choose to learn things in a sensible order, assimilating each new little tidbit of knowledge with only a little effort as it is supported by all the "Academic Nonsense-Speak" one already knows.
Or one can decide they just need this one thing and nothing else, and shout "how I mine for quicksort? codez in plain english plz" into the void, and get back a sentence or two of plain english like the above; and stumble towards their goal from there by trial and error, cursing loudly and asking for more help and bemoaning people's reluctance to just answer in plain English all the while, as one steps on all the rakes one by one.
I see a lot of this on SO. It probably doesn't even take very much longer, in all. To each their own.
(Mind, I in no way am defending US education costs or textbook publishing practices. That is a very separate discussion to that on jargon.)
Where I think your argument falls flat is when you compare good teachers to bad ones.
Good teachers explain things so that students can understand - and explain the rakes.
Bad teachers put up walls of academic nonsense-speak - point at it with a laser - and expect you to know what they are teaching already.
Not all Academic Speech is "nonsense speak". For example - many students really learn the material from supplementary material (good academic speak) vs textbook (nonsense speak).
What about the advanced mathematics courses that are obligatory in computer science? Calculus, linear algebra, discrete math, probability, boolean algebra, statistics, and others? I see no mention. Lacking these, I doubt one could be accepted for an advanced degree in CS in a reputable university.
What about academic writing?
Knowing the vocabulary so that you wouldn't be that guy in the room speaking in sentences where you could just use a concept?
General understanding how academia works? Raising money, realising the potential of every other person in the room?
People tend to forget that "Computer Science" is _science_. The guy seems to be focusing on something that would be called Software Engineering course in the UK.
Good on you for having the discipline for acually following through with this. As someone once told me, everything that will probably be taught in college is already on the internet somewhere.
I think learning how to learn is one of the most important things for programmers to learn.
In europe you could do almost the same. Most courses can be exempt. Only the social courses and the final can't. You can do those in 1 year. Masters have this too.
Would love to see those 20 pages! On the other hand, maybe that defeats the point... Is there advice or resource you might want to pass along to someone considering walking the same path?