4 ms·
I've seen some "practice oriented" bachelor degrees like "Software Development" that don't cover these topics at all. I think more common is to have a few cour
by the_duke 6y ago
I've seen some "practice oriented" bachelor degrees like "Software Development" that don't cover these topics at all.
I think more common is to have a few courses on it, but as a small part of the curriculum; which is largely forgotten by graduation time.
I guarantee that asking the average application developer about IO ports, out of order execution, cache misses, AST passes, stack machines, how a GC works, or even just how to implement a hash table or tradeoffs between arrays and linked lists will earn you mostly blank, confused stares.
- BossingAround 6y ago> which is largely forgotten by graduation time Let's be honest, 90% of everything you "learn" at university is largely forgotten during graduation time. I've seen folks fresh out of uni who couldn't even run a Java program without an IDE, or who forgot how to write a switch statement. I find it fascinating how inefficient the brain is, and how though it spends huge amount of our resources, it's actually not extremely good at picking up new complex information.
- chrisseaton 6y ago'run a Java program without an IDE' is not a learning outcome of a computer science degree, though.
- BossingAround 6y agoIs it not? If the programme teaches Java, "learning how to compile and execute Java programs" would surely be one of the top priorities of such a course.
- chrisseaton 6y agoOk but you said they could do that using an IDE - why isn't that enough?
- rehemiau 6y agoMaybe because there are no IDEs on servers
- chrisseaton 6y agoIs it the job of a computer scientist to run programs on servers though? That seems like specific technical training, not the subject of a computer science degree.
- marcosdumay 6y agoIt's the job to run programs somewhere. Or do you think all those people entering a CS course expect to work on theoretical research? And from all the places available for running software, the most useful ones (servers, supercomputers, embedded) lack an IDE.
- chrisseaton 6y agoMy point is the precise technical details of how to run one particular language in one particular environment are irrelevant and not the business of a university. You can pick up this practical skill anytime you need. You're supposed to be learning the concepts. You can do that using an IDE. I have no idea how to run an Erlang program on a server. Could I pick it up in five minutes if I needed to? Sure. So why do I need to learn it? Why do you care if I can do it coming out of university?
- marcosdumay 6y ago> Could I pick it up in five minutes if I needed to? Sure. Yes, because you do know the basic concepts of using a CLI, the concepts around building your project, and the concepts of project metadata, build tools and etc. When people can't run their programs without an IDE, it's because they don't know any of that. This is an at minimum 6 months learning of the unwritten culture of a profession. This is not something one can pick up in 5 minutes. It is also a huge signal that those people are missing other fundamental and important pieces of knowledge. (That is, unless the OP is literally complaining that he threw people on a random computer CLI and people couldn't make their code run there. Personally, I have never seen anybody making this point, but I guess it's possible.)
- Rerarom 6y agoA friend of mine taught some Java labs at a university and made a point of testing students on that.
- parenthesis 6y agoSurely it is pretty efficient of the brain to remember things one uses and `forget' things one doesn't use. I say `forget' as `learning something for the second time' tends to be much easier than the first time.
- pcestrada 6y ago"Computer science is no more about computers than astronomy is about telescopes" -Dijkstra