Live data from Hacker News

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

prog21.dadgum.com

21–30 of 308 posts

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

#21

> 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 and philosophy have very limited or zero dependence on a material substrate. Computation has overwhelming dependence on the performance of its physical substrate (by various metrics, including but not limited to: cpu speed, memory size, persistent storage size, persistent storage speed, network bandwidth, network scope, display size, display resolution, input device characteristics, sensory modalities accessibly via digital to analog conversion, ...). To assert that the way problems were solved in 1970 obviously has dramatic lessons for how to solve them in 2025 seems to me to completely miss what we're actually doing with computers.

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

#23

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.

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

#24

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.

CSCI 4812: The Career Lab

Watch as peers increasingly overpromise and accept unethical product requests and deadlines and leave you high, mighty, and picking up the scraps as they move on to the next thing.

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

#25
post #9

It is interesting that no software engineering or computer science course I’ve seen has ever spent any time on CI/CD. Jenkins, Docker, Kubernetes, none of these sorts of things - and I don’t even mean these specific technologies, but moreover nothing even in their ballpark.

Well this has nothing to do with computer science so there's that

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

#26

The Classical Software Studies would be quite useful. Go write a game in 64kb of RAM in BASIC. It would really stretch your creativity and coding skills.

Agreed, it would be very interesting to see some of the care taken for resource management that is lost now because every machine has “enough” RAM and cycles…

There's generally courses on embedded

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

#27

The Classical Software Studies would be quite useful. Go write a game in 64kb of RAM in BASIC. It would really stretch your creativity and coding skills.

I’m e long thought the Gameboy Advance would make a great educational platform. Literally every aspect of the hardware is memory mapped. Just stuff values into structs at hard-coded addresses and stuff happens. No need for any OS or any API at all.

[deleted]

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

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

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

#29
post #9

It is interesting that no software engineering or computer science course I’ve seen has ever spent any time on CI/CD. Jenkins, Docker, Kubernetes, none of these sorts of things - and I don’t even mean these specific technologies, but moreover nothing even in their ballpark.

Personally it felt quite natural once you start to work on real software projects.

I have never felt that way, and I’ve worked on a variety of projects at a variety of companies.

Everyone has a bespoke mishmash of nonsense pipelines, build tools, side cars, load balancers, Terragrunt, Terraform, Tofu, Serverless, Helm charts, etc.

There are enough interesting things here that you wouldn’t even need to make a tool heavy project style software engineering course - you could legitimately make a real life computer science course that studies the algorithms and patterns and things used.

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

#30
I had forgotten about prog21, and I'm impressed how he wrapped up his blog:

> I don't think of myself as a programmer. I write code, and I often enjoy it when I do, but that term programmer is both limiting and distracting. I don't want to program for its own sake, not being interested in the overall experience of what I'm creating. If I start thinking too much about programming as a distinct entity then I lose sight of that.

Programming is a useful skill, even in the age of large language models, but it should always be used to achieve some greater goal than just writing programs.

Post reply on HN