> 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
Computer science courses that don't exist, but should (2015)
181–190 of 308 posts
Re: Computer science courses that don't exist, but should (2015)
#182CSCI 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.
Re: Computer science courses that don't exist, but should (2015)
#183Re: Computer science courses that don't exist, but should (2015)
#184Re: Computer science courses that don't exist, but should (2015)
#185Earlier 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.
Re: Computer science courses that don't exist, but should (2015)
#186Earlier 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.
Re: Computer science courses that don't exist, but should (2015)
#187Earlier 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.
Re: Computer science courses that don't exist, but should (2015)
#188> 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…
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)
#189think about decompile java apps that don't even have the original version control anymore, change it, and deploy it again
Re: Computer science courses that don't exist, but should (2015)
#190- 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)