Hacker News new | ask | show | jobs
by a_puppy 827 days ago
I agree with the author that CS should be more integrated with other departments. But the author focuses on requiring CS majors to study French, and I'm more interested in the opposite: why shouldn't we require French lit majors to study Python?

In liberal arts circles, there's a widespread attitude that programming is an alien thing. And this attitude extends to programmers as well; the article portrays "computer people" as an outgroup. I think this attitude is deeply unhealthy. Python isn't some kind of incomprehensible gobbledygook! Basic programming skills should be considered part of a well-rounded education, applicable to many different fields, just like reading, writing, and math.

There are some steps in the right direction:

> [Mark Guzdial] is trying to rebuild computing education from scratch, for students in fields such as French and sociology. He wants them to understand it as a means of self-expression or achieving justice--and not just a way of making software, or money.

This is great, but the author doesn't seem to realize that many people in CS _already_ view programming as a means of self-expression or achieving justice (e.g. the free software movement, PGP, Mastodon). The liberal arts folks are the ones who think CS is just a way of making money.

I wish people would stop portraying computing as an isolated, inaccessible thing; and start viewing it as a part of modern society that every educated person should know the fundamentals of.

3 comments

I think it's only marginally useful for programming to be part of a broad education. You need fairly sophisticated programming (and non-programming, like git, tooling, etc) skills to do most things worth doing and the barrier is only getting higher.

Our society runs on code sure, but it also runs on alloys and we don't expect a well-educated person to know industrial metallurgy either you know? It certainly makes sense to teach some models of computation, computers aren't magic and shouldn't be thought of that way. But it's fine to treat programming as a highly specialized technical domain like actuary or crop science or eye surgery or welding or whatever. Plenty of important useful concrete skills are not taught except to people expecting to use them professionally.

Anecdotally though I know a lot more creative and humanities people who can code than I do programmers who can dance or write a poem. The self-identity of "computer people" has long been as an aggrieved, besieged outgroup. To whatever extent we are alien I think we chose that for ourselves. We can change it but we shouldn't start by blaming anyone else for it.

> I think it's only marginally useful for programming to be part of a broad education.

On the contrary, I think a few semesters of basic computing can teach a lot of valuable skills:

- Basic Python skills are sufficient for a lot of scientific data analysis.

- Computing has become an important part of society; so, understanding how computers work is important for being an informed citizen. E.g. understanding the limitations of Incognito Mode in a web browser; or what Bitcoin is and what it isn't; or the difference between centralized platforms and the fediverse.

- Perhaps most importantly, teaching people Python will help dispel the myth that software is some kind of incomprehensible magic.

Certainly, a few semesters studying Python wouldn't be enough to get a high-paying CS job; but it would be no less valuable than a few semesters spent studying French.

> The self-identity of "computer people" has long been as an aggrieved, besieged outgroup. To whatever extent we are alien I think we chose that for ourselves.

There's a very real history of negative stereotyping about nerds. It's not OK for you to ignore that or pretend it didn't happen. I never consented to be stereotyped, excluded, or treated as alien.

I 100% disagree. Teaching basic programming is teaching how computers actually work.

We're running into tons of computer literature issues right now. Lots of people coming out of highschool today don't know what a file tree is because everything they've used up until this point is in an app or browser.

We don't teach everyone how to be electricians or plumbers, but we do teach everyone the basics of how electricity and plumbing work.

It's important that people understand the basics of how the things they interact with every day work.

There's a tremendous amount of waste and inefficiency in non-technical knowledge work that could be solved if it was expected that a well-rounded education included teaching someone how to do some basic scripting.
How to Design Programs [0] is a great example of computing as another pillar of a well-rounded liberal arts education. The Preface and Epilogue explain this perspective in more detail.

[0] https://htdp.org/2023-8-14/Book/index.html

CS should be more integrated with other departments

it is almost disappointing that we still have not learned this everywhere. this is not new. already when i studied a few decades ago at my university the computer science major allowed you to pick any other field as a minor.

there was no active integration of the fields, but the argumentation was that computer science was applicable everywhere, so any combination would make sense. most other majors did not give you that kind of freedom, and i have not heard from any other universities offering this choice to their CS majors, but i did hear from several that required math as a minor to go along with CS.

i don't know if the reverse was true though. i doubt it. physics definitely required math as a minor and didn't allow a choice. and i doubt many other departments allowed students to choose CS as a minor. it would be a great idea though.

i also agree with you that every student should learn programming, but for me that makes programming a class that should already be required in highschool, and at least be offered in middle school, if not earlier. just like learning english as a second language is required in pretty much every country that is not english native, and in many offered already in primary school.