3 ms·
> theory of computation, recursion theory and type theory and PL, compilers, complexity theory and algorithms, advanced data structures, concurrency and distrib
by gravypod 11y ago
> theory of computation, recursion theory and type theory and PL, compilers, complexity theory and algorithms, advanced data structures, concurrency and distributed systems etc
All of those are fairly basic topics that most people can pick up in an afternoon or two. These are all things that anyone who has been programming, reading, and interacting in the field of computer science understand. I could understand someone requesting that knowledge be provided to them in a college environment.
What I object to is universities charging for the "well-rounded"-ness that you speak of. Can you please define for me what it means to be well rounded?
From what I have seen is that no, no one can define what it means to be well rounded.
What do you have to do to be well rounded? No, no one can tell me that either.
Some how having gone through a university you are proscribed this trait of being in the "know". You automatically are transformed into a scholar, a person who is now magically "well rounded".
Don't get me wrong, I think that there needs to be a structured curriculum, but only of things you need to understand make it in your respective specialization.
For me, I'd love to get into building compilers, operating systems, digital signal processing, and general software development.
For me, I'd say this is the perfect regiment for me:
* Full understanding of the computer booting process, understanding of modern processor features.
- Write a self hosting operating system, bootloader, and learn to write a BIOS for an example computer
* Software maintenance and revision control
- Following the current industry best-standard practices
* High level math with a focus in signal processing
* Familiarization with X top programming languages at the time of graduation
- This should include standard formatting for each language, understanding implementation details, and full familiarization with X top used libraries and standard library
* Understand logic and problem solving
You may notice that I have annotated some of the things I feel I should learn, others I have not. If I have annotated it, it is because I have learned to do this on my own time and I want to expand that knowledge and I know it will help me professionally. The things I have not annotated are things that I have a basic understanding of, but I need someone to teach me although I am not getting that at a university.
I don't know, maybe I'm wrong about this. I think these are fairly rational claims that I am making. Maybe I'm completely wrong and being able to quote shake-spear will help me when I need to learn the documentation for int 0x13 when I need to load a file on a 30 year old IBM PC when fixing a kernel level bug at some company, or when I need to write software to process data coming from sensors at 100GHz.
Edit: Updated formatting.
- solipsism 11y ago> theory of computation, recursion theory and type theory and PL, compilers, complexity theory and algorithms, advanced data structures, concurrency and distributed systems etc All of those are fairly basic topics that most people can pick up in an afternoon or two. ... I think these are fairly rational claims that I am making Um... no. Not fairly rational claims at all.
- gravypod 11y agoWhen I get into my classes at my university I get the textbook, read into the book a little and say "ok, I remember learning about this from X, Y, and Z project I've worked on". I then go on to goof off in every class, as I am doing right this moment. Nothing I have learned is of substance in my algorithms, computer science, or programming classes that I did not already know before I enrolled. I'm bored, and I want to learn something new. I'm holding out for some 300 & 400 level courses, but from what I hear the courses I am looking forward to on operating systems is nothing more than "This is how you open a file in C" and the data structures classes I look forward to is basically "this is how you define a tree and how you traverse a tree".
- brodawg 11y agoWell, maybe if you listened in class you would realize the benefit of what they're trying to teach you. If you really think you can understand complexity theory, algorithms, and advanced data structures in "an afternoon or two", I think about 90% of it went right over your head.