Live data from Hacker News

Computer science courses that don't exist, but should (2015)

prog21.dadgum.com

251–260 of 308 posts

Re: Computer science courses that don't exist, but should (2015)

#251
post #140

> 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.

"Real industry" also has quite a hard time getting things done these days. If you look around at the software landscape, you'll notice that "getting things done" is much easier for companies whose software interfaces less with the real world. Banking, government, defense, healthcare etc. are all places where real-life regulation has a trickle-down effect on the actual speed of producing software. The rise of big tech companies as the dominant economic powerhouses of our time is only further evidence that it's easier to just do a lot of things over the internet and even preferred, because the market rewards it. We would do well to figure out how to get stuff done in the real world again.

Re: Computer science courses that don't exist, but should (2015)

#252

Earlier 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...

Science used to be referred to as philisophy of nature.

Re: Computer science courses that don't exist, but should (2015)

#253
post #140

> 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…

Now do UML.

Re: Computer science courses that don't exist, but should (2015)

#254

There 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.

The Missing Year Of CS Education

https://missing.csail.mit.edu/

Re: Computer science courses that don't exist, but should (2015)

#255

I'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

Only "frackend" is the real framework placement. Beats both frontend and backend.

And alway reimplement Perl in NodeJS. For Internet points.

Re: Computer science courses that don't exist, but should (2015)

#257
post #96
post #45

I 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?

Sometimes logs are the only way.

It's old but reliable.

Re: Computer science courses that don't exist, but should (2015)

#258

CSCI 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…

Also, pure functions fit very comfortably in context windows.

Re: Computer science courses that don't exist, but should (2015)

#259

I 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.

Yes! I was a CS major. But when I got my first job out of school in 2005, I had never encountered version control before. It was very hard learning that from zero, on top of everything else that everyone learns in their first job.

All of which is to say: yes, this should totally be a course!

Re: Computer science courses that don't exist, but should (2015)

#260
post #209

After 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…

I just realized that I spent at least ten years as a professional software archaeologist.

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.

Post reply on HN