6 ms·
as a self taught individual I always find it outstanding how much things they are able to pack in a CS degree and how fast people forget all this stuff after gr
by latenightcoding 5y ago
as a self taught individual I always find it outstanding how much things they are able to pack in a CS degree and how fast people forget all this stuff after graduation.
Like how many of your coworkers from top CS schools remember most of the material in their compilers, cryptography, comp bio courses?
EDIT: To clarify, I'm not criticizing this approach, I think it's great to expose students to as many subfields as possible.
- paxys 5y agoIf you understand a concept well enough you can never really forget it. I did a very similar 4 year CS curriculum and a decade and a half later can still recall pathfinding algorithms, Diffie–Hellman key exchange, red black trees, big-O notation, OCaml, half vs full adders and lots more with a very brief glance at reference material.
- jakelazaroff 5y agoI think part of the point is to expose people to a breadth of sub-disciplines to help them find an area they enjoy.
- jlos 5y agoThe best parts of education is not primarily the material you remember. It's the effect on your thinking patterns as a result of studying and the familiarity with a school of thought. For example, I studied Greek before software engineering. I've forgotten quite a bit, but theres an entirely different set of thought processes I have access to while doing software engineering because of it.
- systemvoltage 5y agoI’d say the best part of education is familiarizing yourself with the domain. You may forget the details but the familiarity and know how about what a Sobel edge filter is useful the next time you encounter such a thing in professional life. Analytical thinking and pattern recognition is indeed also a key benefit of education.
- macromagnon 5y agoCan you expand a bit on how Greek helps? Are you talking about Ancient Greek? I know a few latin derived languages but I never taught about the relation to computer languages.
- Cybotron5000 5y agoI’ve recently been trying to translate a book my dad wrote from modern (‘demotic’) Greek into English. It’s a very slow process for me, as English is my first language and my Greek is very poor. I have to constantly look up a lot of words and puzzle over some sentences repeatedly. I did notice though that Greek (or my dad at least) seems able to communicate ideas in very few words that when translated into English, as directly as I can manage, I find require longer and more ‘flowery’ sentences to achieve the same effect, at least with any degree of elegance or conventional tone. I’m not sure how much of that is due to his writing style (or mine! :) and surely it is a very qualitative, subjective impression, but it does seem to me that Greek is quite an ‘efficient’ language. I’m a terrible, entirely self-taught programmer/copy’n’paste script kiddy, but I would imagine that learning any new language helps with programming on some level (and perhaps maths/logic even more so?): dealing with different symbolic representations, grammars, alphabets, logographs etc. Here’s an article I found on the subject of formal grammars/Chomsky and their influence on computing: https://exaud.com/noam-chomsky-computer-science/ https://exaud.com/noam-chomsky-computer-science/
- jlos 5y agoYes, ancient greek. And I think the connections are mostly indirect. In interpreting literature in another language (Latin, Greek, etc) you spend time analyzing syntax and grammar looking for the idea or intention. Programming is very different, but code does still express and idea or intention. Also, really helps with reading and written communication.
- mxcrossr 5y agoAt least this is what I told the students when I was a TA for a class teaching prolog!
- Supermancho 5y ago> It's the effect on your thinking patterns as a result of studying I've heard this over and over again, but I don't believe there's a shred of evidence for it.
- TchoBeer 5y agoI see this type of like used to justify whatever it is the speaker enjoys being forced on everyone else. Something like "everyone should learn philosophy because it trains the mind" usually means "I like philosophy and wish it was taught more at schools".
- read_if_gay_ 5y agoThe statements you provided are obviously the same thing though, no?
- imtringued 5y agoIf you interpret "the mind" as "my mind" then yes, it can't be more obvious.
- ZephyrBlu 5y agoI strongly believe it's a rationalization for having to spend so much time studying.
- imtringued 5y agoPretty much. jlos is claiming that college educated people have a monopoly on certain thinking patterns, isn't that extremely elitist?
- sgt101 5y agoI think it depends on what you think education is : if you believe that education is going to an elite university then I think it is elitist. If you think education is being exposed to a wide range of ideas and perspectives - a range beyond which you would have found by yourself - then I don't think it is. A kind Aunt with three bookshelves and an open mind can give you an education that you couldn't buy. Would that make you part of the elite? It would be difficult - it could take years - but it's not elitist.
- mohanmca 5y agoThanks! I believe in it! We don't know what we don't know, if we learn only useful stuff!
- VMtest 5y agoSerenityOS creator Andreas Kling is self-taught as well 1. https://www.youtube.com/watch?v=rS6l7p86cyw https://www.youtube.com/watch?v=rS6l7p86cyw | How I got engineering jobs at Apple & Nokia with no degree
- lumost 5y agoI switched into Software Engineering following a physics undergrad and had to self-teach the majority of what I know. 10 years in, I find that many individuals fall into a trap of having forgotten many concepts while also thinking that they weren't useful in practice and a bad memory of having to learn/crunch the topic. This was a significant difference from my experience where most concepts I only picked up as I found them useful/interesting to my work. As such I generally have a sense of pride/enjoyment from seeing an optimal algorithm or simplification of a problem based on concepts in the literature. I think the 4 year CS curriculum could be revamped to focus on semi-practical projects with less focus on individual topics. Crunching algorithms for 2 semesters probably makes aspiring engineers feel that they are simply memorizing pages from a book which are trivially indexed by google.
- bostonsre 5y agoYea, I kind of took a similar route. I was so bored near the end of my business major and tacked on a comp sci minor at the end. Those few classes I took were amazingly interesting then and most are still with me now. I was lucky enough to have a business internship while in school where I was exposed to the tech side of things and that got me extremely interested in and motivated by computer science. I'm often curious about what a full degree would have given me or if I would have had a better career if I went the comp sci route from the start. At least for me, I feel like I've learned close to 99% of what I know now from work and from learning in my free time after school. I feel so lucky to genuinely enjoy my job and be interested in learning more and expanding on my skills even to this day.
- CodeIsTheEnd 5y ago> Crunching algorithms for 2 semesters probably makes aspiring engineers feel that they are simply memorizing pages from a book which are trivially indexed by google. I realize that the majority of engineers will never need to use any of the more advanced topics taught in an algorithms class, but I hope you recognize the irony in this comment; the “trivial indexing” performed by Google is anything but, and, in fact, is only enabled by those very algorithms, implemented dozens of times, in multiple languages, with subtle variations and optimizations and under non-obvious reinterpretations, at every level of the stack.
- erklik 5y agoI did a degree, and I am jealous of how much stuff is packed into this one. Kinda wish I could take this one to be honest.
- izgzhen 5y agoIndeed most CS graduates will forget the content after the exams, but after the process of working through the courses, they are much faster in picking up the knowledge when needed later in their career (and they are also more confident and comfortable about the subject compared to those who are never exposed before)
- okaram 5y agoI think it depends on what you mean by remember ... I think they would have an easier time if they need to re-learn it in the future
- bsder 5y ago> Like how many of your coworkers from top CS schools remember most of the material in their compilers, cryptography, comp bio courses? Nobody forgets a compilers course. A "compilers" course is probably the first CS course where debugging is real--and terrifyingly hard. A compilers course converts a programmer from a "null pointers are bad" person to a "null pointers are evil" zealot. Compilers courses are probably the closest that a CS person will get to PTSD.
- anamax 5y agoHuh? I've taken a compilers course, at Stanford no less. I've written a couple of compilers and some near-compilers. (A very fast simulator can be a lot like a compiler.) I don't think that null pointers are evil. In fact, I like null pointers. My beef with null pointers is that very few languages support multiple null pointers. (No, mocked objects or sentinels are NOT a good substitute.) Yes, I want multiple isNull values that can be distinguished but can't be used. (Python's "lots of things are false and you can create more" is arguably the closest.)
- ruang 5y agoCan the Stanford compiler course be self-taught given the online material? What's missing? I've seen it available on Coursera. And a lot of the current material is available online. But I tried the Coursera one awhile ago and got stuck. I'm finishing a CS degree but there's no dedicated compiler course here.
- addicted 5y agoThe key point isn’t that CS grads need to remember the stuff they learnt. What they need to remember when facing a real life problem is that they had studied about something that was similar to the problem they were solving, and have the ability to look up and easily grok the solution they had studied a decade ago. As someone who is not a CS grad, it’s often difficult to Know where to even start looking for a solution until many years of experience, something that CS grads I’ve worked with and mentored were able to do as interns. Of course, there’s always the flip side that CS grads need to learn to not always apply the fanciest and “coolest” algorithm that they learnt in college because it isn’t always the best approach to a problem, but that’s a much easier skill that can be learned anywhere within months to a few years given the right mentors.
- Breza 5y agoI also think real value comes from learning how to learn about computers.
- catchmeifyoucan 5y agoAgreed. I think it’s primarily reference material. I took an Organization of programming languages course once, and even though I don’t use Prolog everyday, I’m able to jump and think about it if I ever have a case where I’m working with Boolean logic. Alternatively, I don’t know much about semaphores in the OS, but when I think about locks, it’s something I can refer to for more ideas. I wouldn’t say it dramatically improves my life, but it’s just random knowledge that I wouldn’t be intimidated by if I stumbled upon it in the real world
- kiba 5y agoI made an effort of actually trying to retain what I learned, but mostly it just mean that I search just as often though. However, I see the depth of my knowledge in computing isn't that deep. I can now define what a computer is without fumbling for a definition.
- kamaal 5y agoBrain was designed to process information(mostly), not to store mass quantities of information. I mean it's more like a RAM/Cache than Amazon Glacier. If you don't put knowledge into practice it all goes quickly.
- aeyes 5y agoWhat university has taught me is to not give up and to keep looking for the solution, no matter how hard the problem is and how little I know. Sometimes there was no choice but to crunch hard math problems for endless hours. Most people give up too easily when they have no natural interest for the type of problem they are facing. Do I make use of all the material I was shown? No. But it is really nice to have that universal background which, for the majority, I would never have studied on my own. You could ask the same question about middle school or high school - do you really need to know about biology, language or arts to be successful? Do you remember many details? Of course not; general knowledge is still incredible valuable.
- unishark 5y agoPeople will forget stuff over the summer before the next school year even begins. Much less waiting until after they graduate. Material has to be covered repeatedly in a series of courses building on each other. E.g. first you learn basics. Then you apply it in subsequent classes. This is how mastery in learning works for anything. One class on an isolated topic is probably a waste of time in the long run, unless it really makes an impression on you for some reason (e.g., you really love it). Some programs, especially overseas, let people mash together a broad range of classes on disparate topics with mastery in nothing (except perhaps for skill at cramming itself). Those are almost worthless degrees.
- auspex 5y agoI was self taught and then got a CS degree. The degree filled in a lot of holes and actually I could still write a compiler if I had to.
- tester34 5y agoI didn't like it I'd rather take less courses and focus better on some on the other hand this approach allowed me to graduate faster