> CSCI 2100: Unlearning Object-Oriented Programming?? People in tech industry, seem to have no idea how the systems in the wild work. Enterprise Java runs the backbone of operations for all of large business organisations such as banks. It is just as grounded as MS Office is. It is object-oriented software that is running the bulk of production environments of the world. Who is going to maintain these systems for the…
Banks as an example of "getting things done" is laughable. Real industry gets things done: manufacturing, construction, healthcare etc. We could do without the massive leech that is the finance sector.
Computer science courses that don't exist, but should (2015)
251–260 of 308 posts
Re: Computer science courses that don't exist, but should (2015)
#252Earlier quoted context omitted.
Its because CS is not cared about as a true science for the most part. Nearly all of the field is focused on consolidating power and money dynamics. No one cares to make a comprehensive history since it might give your competitors an edge.
Art and Philosophy are hardly regarded as science, either. Actually, less so. Yet...
Re: Computer science courses that don't exist, but should (2015)
#253> CSCI 2100: Unlearning Object-Oriented Programming?? People in tech industry, seem to have no idea how the systems in the wild work. Enterprise Java runs the backbone of operations for all of large business organisations such as banks. It is just as grounded as MS Office is. It is object-oriented software that is running the bulk of production environments of the world. Who is going to maintain these systems for the…
Re: Computer science courses that don't exist, but should (2015)
#254There should be a course on Linux. Not your typical operating systems course where you write a toy OS and teach a bunch of theory, but rather a deep dive into various Linux subsystems, syscalls, tooling, etc.
Re: Computer science courses that don't exist, but should (2015)
#255I'd add classes about: - telling clients that the proof-of-concept is non-conclusive so it's either bag it or try something different - spending innovation tokens in something else than a new frontend framework and/or backend language - understanding that project management methods are tools (not rites) and if your daily standup is 45min then there's a problem
And alway reimplement Perl in NodeJS. For Internet points.
Re: Computer science courses that don't exist, but should (2015)
#256CSCI 2170: User Experience of Command Line Tools. This should exist and the class should study openssl.
Re: Computer science courses that don't exist, but should (2015)
#257I would add debugging as a course. Maybe they should teach this but how to dive deep into figuring out how to learn the root cause of defects and various tools would have been enormously helpful for me. Perhaps this already exists
Yes please. Even senior engineers apply with their debugging abilities limited to sprinkling print-exit over the code. Do you have a moment to talk about our saviour, Lord interactive debugging?
It's old but reliable.
Re: Computer science courses that don't exist, but should (2015)
#258CSCI 0001: Functional programming and type theory (taught in English [0]) For decades, the academia mafia, through impenetrable jargon and intimidating equations, have successfully prevented the masses from adopting this beautiful paradigm of computation. That changes now. Join us to learn why monads really are monoids in the category of endofunctors (oh my! sorry about that). [0] Insert your favourite natural langua…
Re: Computer science courses that don't exist, but should (2015)
#259I would have loved a class on the Theory of Version Control. Unfortunately, I didn't learn about it until my first job after I graduated. Architectures (centralized, distributed), implementations (diffs, patches, full state, etc.), branches, merges, etc.
All of which is to say: yes, this should totally be a course!
Re: Computer science courses that don't exist, but should (2015)
#260After reading this article, I suddenly remembered an elective I took in college called “Software Archaeology.” The professor asked us to reimplement compiler exercises from the 1970s. At the time it felt useless, but later I realized that course taught me more about system design than any modern framework ever did.
Software archaeology in its most literal form would be a fantastic course addition for anyone going into a company with a medium-large codebase > 5 years old. Especially if you end up at a FAANG or something akin to it. Being able to navigate not just a codebase but bugs/tickets attached to it, discussions in documents, old wiki pages that half work, extracting context clues from versioning history, tracing people by…
That company develops most of the court software used in the US.
And it's very unlikely that they have improved their practices in the three years since I had to leave due to burnout.