Live data from Hacker News

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

prog21.dadgum.com

71–80 of 308 posts

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

#71

The TFA wants the following computer science courses: Unlearning Object-Oriented Programming: a course on specific software engineering techniques Classical Software Studies: a course on the history of software tools Writing Fast Code in Slow Languages: a course on specific engineering techniques User Experience of Command Line Tools: an engineering design course Obsessions of the Programmer Mind: course about engine…

People don’t get this up in arms when there is a math course about using math tools or math history or how math is used to solve actual problems, but for some reason they do about computer science.

If universities offered a major in which students learned to operate telescopes of various kinds and sizes, and then called it astrophysics, people would be mad too.

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

#72

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

>Alan Kay, my favorite curmudgeon, spent decades trying to remind us

Alan Kay giving the same (unique, his own, not a bad) speech at every conference for 50 years is not Alan Kay being a curmudgeon

>we keep reinventing concepts that were worked out in the late 70s and he’s disappointed we’ve been running in circles ever since.

it's Alan Kay running in circles

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

#73

I think it would be a good idea, especially CSCI 3300. (Learning them in a course is not the only way to learn computer and other stuff, but is (and should be) one way to do.) (However, CSCI 2100 shouldn't be necessary if you should learn stuff other than OOP the first time, even if you also learn OOP.)

I really don't understand the modern hate towards OOP. From my experience over the last few decades working with large C and C++ codebases, the former turns into a big ball of mud first.

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

#74
post #28

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

Computer scientists should treat history like civil engineering or physics treat their histories. These are subjects that make objective progress. Art or philosophy might or might not make progress. No one can say for sure. They are bad role models.

At least for history of economics, I think it's harder to really grasp modern economic thinking without considering the layers it's built upon, the context ideas were developed within etc...

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

#75

Earlier quoted context omitted.

You first sentences already suggest one comparison between the histories of computing and philosophy: history of computing ought to be much easier. Most of it is still in living memory. Yet somehow, the philosophy people manage it while we computing people rarely bother.

I always think it is great value to have a whole range of history of X courses. I once thought about a series of PHYS classes that focus on historical ideas and experiments. Students are supposed to replicate the experiments. They have to read book chapters and papers.

That's not that far off the standard physics course, is it? Certainly lots of labs I took were directly based on historical experiments.

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

#76
post #11

"CSCI 4020: Writing Fast Code in Slow Languages" does exist, at least in the book form. Teach algorithmic complexity theory in slowest possible language like VB or Ruby. Then demonstrate how O(N) in Ruby trumps O(N^2) in C++.

Optimizing at the algorithmic and architectural level rather than relying on language speed

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

#77
post #11

"CSCI 4020: Writing Fast Code in Slow Languages" does exist, at least in the book form. Teach algorithmic complexity theory in slowest possible language like VB or Ruby. Then demonstrate how O(N) in Ruby trumps O(N^2) in C++.

One of my childhood books compared bubble sort implemented in FORTRAN and running on a Cray-1 and quicksort implemented in BASIC and running on TRS-80.

The BASIC implementation started to outrun the supercomputer at some surprisingly pedestrian array sizes. I was properly impressed.

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

#79

Earlier quoted context omitted.

People don’t get this up in arms when there is a math course about using math tools or math history or how math is used to solve actual problems, but for some reason they do about computer science.

If universities offered a major in which students learned to operate telescopes of various kinds and sizes, and then called it astrophysics, people would be mad too.

Astronomy isn’t about telescopes yet astronomers spend lots of time studying and doing research regarding telescopes.

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

#80

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

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…

Art and philosophy have very limited or zero dependence on a material substrate

Not true for either. For centuries it was very expensive to paint with blue due to the cost of blue pigments (which were essentially crushed gemstones).

Philosophy has advanced considerably since the time of Plato and much of what it studies today is dependent on science and technology. Good luck studying philosophy of quantum mechanics back in the Greek city state era!

Post reply on HN