Live data from Hacker News

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

prog21.dadgum.com

181–190 of 308 posts

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

#181
post #39

> CSCI 3300: Classical Software Studies Alan Kay, my favorite curmudgeon, spent decades trying to remind us we keep reinventing concepts that were worked out in the late 70s and he’s disappointed we’ve been running in circles ever since. He’s still disappointed because very few programmers are ever introduced to the history of computer science in the way that artists study the history of art or philosophers the histo…

When I was at RIT (2006ish?) there was an elective History of Computing course that started with the abacus and worked up to mainframes and networking. I think the professor retired years ago, but the course notes are still online. https://www.cs.rit.edu/~swm/history/index.html

To strenghten GPs point a bit: There are courses on conceptual art (1966-72) or minimal art alone. One "History of Computing" course, while appreciated, is not doing its history enough justice.

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

#182
post #88

CSCI 4810: The Refusal Lab Simulate increasingly unethical product requests and deadlines. The only way to pass is to refuse and justify your refusal with professional standards.

Actually a lot of degrees have a relevant ethics class.

Unfortunately "ethics" can also be a sneaky way to insert "politics" into the curriculum.

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

#185

Earlier quoted context omitted.

The history of art or philosophy spans millenia. The effective history of computing spans a lifetime or three. There's no sense comparing the two. In the year 2500 it might make sense to be disappointed that people don't compare current computational practices with things done in 2100 or even 1970, but right now, to call what we have "history" does a disservice to the broad meaning of that term. Another issue: art an…

> The history of art or philosophy spans millen[n]ia. And yet for the most part, philosophy and the humanities' seminal development took place within about a generation, viz., Plato and Aristotle. > Computation has overwhelming dependence on the performance of its physical substrate [...]. Computation theory does not.

Philosophy died with Newton.

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

#186
post #164

Earlier quoted context omitted.

Your experience with bad teachers seems more like an argument in favor of better education than against it. It's possible to develop better teaching material and methods if there is focus on a subject, even if it's time consuming.

If only one genius in California can do it well, it's as good as impossible.

Not really, you only need one really good teacher who can put their knowledge into written or video form so it's easily shared with others. It actually only takes one great mind.

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

#187
post #39

Earlier quoted context omitted.

When I was at RIT (2006ish?) there was an elective History of Computing course that started with the abacus and worked up to mainframes and networking. I think the professor retired years ago, but the course notes are still online. https://www.cs.rit.edu/~swm/history/index.html

To strenghten GPs point a bit: There are courses on conceptual art (1966-72) or minimal art alone. One "History of Computing" course, while appreciated, is not doing its history enough justice.

To be fair, the history of computing is only ~200 years old even if you go back to Babbage and Lovelace. The history of art is literally as old as recorded history.

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

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

Maybe it should be "really learn about object-oriented programming (at a low level)".

Methods are functions, with an implicit argument usually called "self". Unless they are static, in which case, they are just regular functions. Classes are data structures, abstract methods are function pointers, inheritance adding data at the end of an existing data structure. In fact, inheritance is like a special case of composition.

Those who oppose object-oriented programming the most are typically the functional programming guys. But what is a function variable if not an object with a single abstract method, add attributes and you have a closure.

It will all end up as machine code in the end, and understanding how all these fancy features end up on the bare metal help understanding how seemingly different concepts relate.

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

#190
CSCI 2171: User Experience of GUI tools

- Learn how to design a graphical user interface that empowers the users instead of coercing or manipulating them.

- Prerequisites: Any course that used the term "funnel", "user journey", "A/B tests" or "engagement".

- Includes a historical bonus part about "Native UI Toolkits" (not part of the exam)

Post reply on HN