Hacker News new | past | comments | ask | show | jobs | submit login
Computer science is a liberal arts degree (bellmar.medium.com)
92 points by mbellotti on May 21, 2022 | hide | past | favorite | 146 comments



I think the author is conflating vocational education with university curriculum.

It is often the case that universities offer courses that are much more theoretical than the practical application, even medical studies to some extent begin with very high level concepts and theories; the reason for this is because they’re attempting to optimise for better understanding of the underlying foundations of the discipline than for any particular job.

Vocational qualifications are extremely handy, but they have a bit of a bad reputation these days. Code academies are not seen as prestigious, despite being the authors ideal. The game assembly (TGA) is one such vocational studies program in southern Sweden with an excellent reputation in the local community for churning out quality (junior) game devs that are ready to work, but suffers with backend programming sections still; since most people who do game dev do not enter to be in the backend.

I would be extremely happy to return to apprenticeships, I would have killed for one going into this industry, but given that employers only care about getting new mid-levels or seniors and not investing in what they already have: it’s always going to be a losing battle as the invested talent atrophies and leaves to go to other places.


That’s not the point of view the author is advocating though. It’s not that they think CS is not practical enough.

To me, what they’re saying is that CS has a point of view that is so narrow and constructed from such a limited perspective that it’s actually harmful to society as a whole.

i.e. CS is removed from science as a whole, not by virtue of being too theoretical but as a result of being applied, but in a very skewed fashion. CS practitioners have a lot of power in society and ethical norms are lacking, so this has consequences.


The author isn't the only one confusing the two, a very large % of kids in college confuse the two. They don't even know what they (or their parents) are actually buying, just that it's the required training for a career, thus they assume practical skills are what they are getting.


This is because companies have basically made university vocational training. They don't want to train their employees, so they want the universities to do it. This harms both universities (as institutes of learning) and students, imo, but the companies come out ahead so it pushes on sadly.


Do you have a citation? Every year I get a new load of CS degree students who can tell me what a nondeterministic automaton is, but don't know how to write a PR or write/maintain code in project longer than 1000 lines.


Well, maybe that's why FAANG and the startups cargo culting those companies love to ask Leetcode questions that are closer to academic CS than everyday software engineering.

On the other hand, university courses that cover algorithms and data structures tend to be more about using the Master theorem and doing theoretical proofs than trying to do merge intervals or do 3sum.


From the article:

"If the point of a CS education is to prepare people to work in software (and that assertion is debatable!)"

The author uses a premise, while acknowledging that the reader might not agree with the premise. That's not conflating anything.

And the author's suggestions are far from "vocational"... they just move out of the limited field we call computer science.


I'm struggling to see where in the article the author suggests that her ideal is code academies, although maybe you get that impression from some other source. To me it seemed clear they she is advocating for a change in approach for academic education itself, and not in a "giving students more readily marketable skills" way, but rather almost the opposite: less narrow, technical focus, more critical thinking and multidisciplinarity.


Ah, the ever green tradition of humans to define very fuzzy categories and then debating enlessly about what stuff belongs to what category.


Often the category is a language phenomenon. The language or the word spawns a philosophical debate but nobody realizes that it's just a poorly defined arbitrary word/category and the whole debate is actually centered around a language quirk.

For example what's the difference between a boat and a raft? At what point is a water vehicle a boat and at what point is it a raft? Any debate on this is simply a linguistic debate disguised as a philosophical one. There's a gradient from boat to raft and people are just debating about a positional problem of where the line of delineation falls. This example is obvious though.

Less obvious is the word "life." When is something classified as living and when is it it classified as not alive? Is a rock alive? Is a plant? Is a deep learning dall-e 3 alive? Is a human alive? Is a brain dead human alive? Seems like a deep philosophical argument but my point here is to say that this argument is as pointless as the boat and the raft.

This thread is the same thing. Pointless debate on whether CS is a liberal arts or not? It's a debate on linguistics. You're all just trying to debate about definitions of arbitrary words. Nothing interesting.


If you were stuck on a desert island, would you prefer a boat or a raft to rescue you? I'd pick boat everytime.

Words do have meaning and in a sense it's all we have.

Approaching CS as a series of abstract mathematical problems to solve can make you a very good programmer. Finding the right place in society to sell your .exe's is sometimes better solved by a programmer with a liberal arts education.


>Approaching CS as a series of abstract mathematical problems to solve can make you a very good programmer. Finding the right place in society to sell your .exe's is sometimes better solved by a programmer with a liberal arts education.

Liberal arts is like a business degree. You don't need a business degree to be good at business. In fact, the business degree is largely useless when it comes to business.

But this is besides the fact. The point is I don't actually care whether you call CS a science, a math, or a liberal arts major. It's not a profound question at all. It's more of a question I would classify as stupid. The debate around it occurs because although the question is stupid, it is deceptively profound... Similar to the question of, "what is life?"

> If you were stuck on a desert island, would you prefer a boat or a raft to rescue you? I'd pick boat everytime.

Oh you mean you want to be rescued by this boat: https://www.amazon.com/Intex-Explorer-3-Person-Inflatable-Fr...

Instead of this raft?: https://www.comfortboats.com/en/home

Again the point is the words have a fuzzy delineation. Where this point of delineation exactly lies is not an interesting or profound question, just like the question of whether or not CS is a liberal art.


I don't think that's what the author is doing. I think the author is arguing that the skills taught in liberal art degrees are often skills that people who do computer science need but don't value. Becuase computer science degrees answer the question of "how to build" not "what to build" but the value is in "what to build".


Apple has capitalized on the liberal arts aspects of tech. They were able to figure out how to make computers useful and desirable to the every-man thanks to it. Without it, computers would have mostly been relegated to the work environment.

I agree computer science needs to change. There needs to be a way to incorporate some of those aspects into a CS degree. If we want the full advantages of tech in our lives.


How to build is still valuable. Imagine if we had a world full of people who knew "what to build" but not how to build it.


We do have that though, right now.


The same can be said about chemical, civil, and mechanical engineering, yet ...


It’s sadly a repeating phenomenon that when anything too humanistic is proposed here, the argument is often dismissed. Here, as just linguistic or even just philosophical. The actual argument gets lost, and nobody here seems interested in the actual papers the author is referencing. To me, the meat of the argument is:

What do the fields/papers (whih the author IS referring to, very concretely) have to offer to the discussion about where the field of CS, and its business applications, should be going?

This way we don’t have to discuss category boundaries. The concrete implications of the arguments are there to evaluate.

That the actual substance is dismissed here out of hand is quite frustrating to me.


All that stuff is easy. Point of education isn’t to give you reading material you can self learn in a few months.

After all, you’d expect best performers in this field to all be from liberal arts colleges like Middlebury. And the folks there are great but it’s not like they’re superpowered compared to the Vanderbilt guys. So it isn’t some sort of game changer.


If all that stuff is easy then why avoid the discussion? You would think you could just tell us why the papers are irrelevant to current tech discussion, instead of just dismissing it with secondary arguments?


The stuff is easy. Telling you why it's not necessary in education is hard. But it's okay. I thought about it and I realized I’d entered a discussion I don’t care that much for. So I’ll apologize and step out. And concede if that helps.


It’s a matter-of-fact discussion, feel free. Thank you for the cordiality.

It seems obvious though, I’m afraid you’ve misunderstood how deep this particular rabbit hole goes.


I mean, it's an accurate characterisation of humans affairs, but I haven't heard any better ideas yet when it comes to figuring what goes into the categories of "good" and "evil".


Those are not binary categories. If stealing is evil, does it mean stealing food because you haven't eaten in 3 days belongs in the same category as genocide? If it doesn't, does it mean stealing is good? And that's just the easiest example.


Well, they may not be binary categories but it's stange that you don't think your particular example belongs to one of the two categories.

You don't think it's evil for people to have to steal food just to avoid starvation? You don't think it's evil that people have to make the choice between stealing and dignity?

Weird.


It’s not really much of a debate.

If I like the thing then it definitely belongs in the category I like. If I don’t like the thing then it definitely belongs in the category I don’t like.


Unfortunately whether paulcole likes something isn’t the only way we categorise things. However just in case it really catches on, could you keep us updated as your tastes change, so we can stay current.


Feel free to reject my reality and substitute your own.


quack, damn you.


I wanted to categorize everything as "categorized" or "uncategorized".

Nothing remains in the latter category for more than an instant.


It’s in the set of all things not in a set.


I wonder if there is an echo in an empty set.


A lot of folks here seem to have a real rose-tinted idea of what CS degrees are actually like. If you took CS more than 10, 15 years ago, you might remember it as a scrappy, fringey degree program, maybe splintered off from Electrical Engineering, a refuge for mathematically-minded nerds to find beauty in the cold algorithmic elegance of computation. That is not what it is anymore, not now that everyone knows you can make six figures right out of college with a CS degree on your CV. At the college I went to, CS is the second largest program, on track to be the largest in the next few years, and Intro to CS is the single most popular class on campus. They cannot hire professors fast enough. They're launching their own coding bootcamp just to keep up with demand. A lot of people are getting this education, and we need to look at what we're teaching them.

And what's on the curriculum? Some good hard math, but also a fair bit of nonsense. Some people in this thread seem to think colleges have been taken over by javascript, and that may be true in some places, but I wish they'd taught us JS, because what they taught me was Java Swing, because a decade ago the ivory-tower tenured professor who wrote that course thought it would be useful for getting us a job and never touched it again. They could've replaced that course with underwater basketweaving and nothing of value would've been lost, let alone any of the excellent humanities topics the author mentions in her post. There is plenty of space in the curriculum to clear out enterprise-driven cruft from fifteen years ago and replace it with some of the useful things the author mentions, without touching any of the core mathematics we all love.

In fact I would go a step further: Having a lot of people who are very good at programming but who don't know anything else is a bad thing for society. This is unique to programming as a discipline - programmers have historically unprecedented power to turn fuzzy, implicit ideas into concrete reality that affects people at massive scale. It's totally ok to let mathematicians, for example, go off and study just mathematics, because mathematicians are harmless. Programmers are dangerous. Without perspective, we will calculate ourselves right into dystopia - we're doing it right now! What good is it going to do any of us to write systems that strip away all our civil liberties with perfect big-O complexity?


> This is unique to programming as a discipline - programmers have historically unprecedented power to turn fuzzy, implicit ideas into concrete reality that affects people at massive scale.

Politics? Economics? Writing?

I don't necessarily disagree on the dangers, but they're certainly not unique to programming. Some German guy wrote a few thousand pages of fairly dense and convoluted economics/philosophy and ninety years later an eight-digit number of Chinese people died as their nation Greatly Leaped Forward.

How? A cascade of people having "historically unprecedented power to turn fuzzy, implicit ideas into concrete reality that affects people at massive scale".

I don't think programming has fucked up anything near this scale yet. I'm sure it will eventually, but it hasn't yet.


It's not that other paths are not powerful but rather that its relatively rare for someone to fuck things up catastrophically with said career paths because society doesn't quite enable philosophers in the same way as SWEs. There is so much money being thrown around, so much critical infrastructure is digitized, and we're increasingly trusting models to make critical decisions.

One dude in a cardboard box down by the river with PyTorch on his laptop can convince your local court to contract with him for a model that predicts recidivism, and then suddenly your county is rejecting bail for black people at an alarming rate because said guy trained his model wrong. Achieving a similar fuck up with a degree in philosophy or polisci would require a _lot_ more work (you'd have to get elected to office or create _more_ racisim!). Software and the power we entrust in it has made fuckups faster and easier than ever, and it's only going to get worse.


> Politics? Economics? Writing?

A good shot, but I don't think good enough. All of those still involve humans changing each other's thoughts by communicating with each other.

A computer program replaces human thought. Depending on the application this may be good or bad, but the point is that once the program is in place, humans don't need to think or talk about it anymore.

I mean, they do, but they won't. After all, there's so much other stuff to think about, talk about, and then replace with software.


As opposed to laws and policies that control the lives of millions? It's not possible for human thought to work at the scale of modern society. Software is not special in that it replaces human thought. Something must 'automate' human decision-making, whether it be software or a civil servant looking at a spreadsheet going through a checklist.


We were taught date structures by a Unix fundamentalist, entirely with C and makefiles. He absolutely despised "Micro$hit", and emails containing any format other than text/plain, but helpfully offered that he could receive email sent from emacs. We worked with some kind of perl-based VCS that I forget the details of.

You're saying students are no longer taught all this??

Levity aside, I do have rosy memories of that course (taken around 2009). It taught me well, though I can see how it probably put a lot of people off, maybe even causing them to abandon programming.


I agree with the other response that programmers usually don't have much say in those decisions that would lead us into a dystopia, but also, in my experience pretty much everyone in STEM fields these days is atleast a junior level programmer, so it's somewhat contradictory to me to say that mathematicians are harmless but programmers are not.

Plus, at least at my university, an engineering ethics class was mandatory in the final year of undergrad. There was also a big general education component (~25% of the degree) that did involve various humanities classes (stuff like "Eastern Religions", "Indian Classical Music" and "History of American Art", an extra language class if you weren't already bilingual etc) and from what I understand, other universities generally have a higher ratio of general education requirements.

So I find it odd to suggest that programmers "don't know anything else", because at least in my experience, they clearly do.


> but I wish they'd taught us JS, because what they taught me was Java Swing

This is an odd criticism. Finding a job using Swing is hard, but jobs using Java are plentiful, and applying what you learn from that class to a different language and framework isn't that big of a leap. It's a leap you'll often take whenever you change jobs.


How many programmers are making those decisions on their own and how many are doing what their PM told them do to, at the command of ever higher ups? It's a weird trend to blame all tech outcomes on programmers who often have the least amount of control over what the systems the build are intended to do.


> how many are doing what their PM told them do to, at the command of ever higher ups?

There will always be sociopaths. The problem is the skilled people who can rationalize enabling them.


How do you account for downstream effects of charitable behavior where the hyperparameters have reached a complex state?


At some point in the 2000s they made everyone at my university teach Java, so the intro to algorithms professor just implemented basic Lisp constructs in Java and taught the whole course with that. I think they added more flexibility and mostly switched to Python for intro classes after I graduated.


My perspective here is probably quite different, because of my cultural background. Here in Germany there is a pretty clear division between CS at a university (Universität), "CS" at a college (Fachhochschule), and "CS" as an apprenticeship (Fachinformatikausbildung). I'm putting quotation marks on the latter two, because calling it a science is already a large stretch in the first case, as I would distinguish between engineering and science, but that's a minor point. The latter two have nothing or very little to do with research, and are all about giving practical knowledge to help people get jobs/get good employees.

> Some people in this thread seem to think colleges have been taken over by javascript, and that may be true in some places, but I wish they'd taught us JS, because what they taught me was Java Swing, because a decade ago the ivory-tower tenured professor who wrote that course thought it would be useful for getting us a job and never touched it again.

You get a BS to understand (hard) concepts. Java makes a lot of sense to teach because of good resources, longevity, and it implementing a lot of the underlying ideas of OOP. Is it a great language? Not at all, but knowing it makes it very easy to learn other OOP languages. My faculty is currently discussing a larger BS reform, and this is one of the topics. We have a course for second semester students called "Intro to OOP". What are the alternatives to Java? Most other OOP languages do not implement all the typical concepts of OOP, or are highly platform dependent, or might be just a fluke. C++ is quite rough, and there is another course teaching OS with C in the same semester. Personally, I think people in the course should be able to choose between writing their assignments in something that compiles to java bytecode, but that massively increases overhead for TAs.

> In fact I would go a step further: Having a lot of people who are very good at programming but who don't know anything else is a bad thing for society.

This I would agree with, and add that this is also really terrible for programmers. Compared to other engineering disciplines, our discipline is massively underdeveloped in the realm of strong guidelines backed up by empirical research. If you look at the subfield of Software Engineering (which I'd say is another misnomer, as this is actually pretty much the only empirical part of CS, and at that mostly a social science), it is hard to find very strong consensus on what and how to do it. Actual practice is, I'd argue, more influenced by medium posts than the papers published in the field. There are a lot of strong opinions, and very little but personal experience to back these things up.

> What good is it going to do any of us to write systems that strip away all our civil liberties with perfect big-O complexity?

I'd also strongly argue that everyone should be educated in ethics, but education in morality does not make a moral person, I think this is one of the really hard problems that universities can try to help alleviate, but not solve alone.


There is a branch of computer science, Human-Computer Interaction (HCI), where exactly the ideas in this article have been playing out for a few decades already.

Earlier this year I wrote about HCI as the intersection of technical craft and social sciences: https://www.designdisciplin.com/hci-profession/

Interestingly the responses I got from people in the HCI field was the inverse of the sentiment in this article. Here it seems that the author is arguing to increase social sciences in CS, and getting pushback. One of my arguments was to increase tech/eng competences in HCI, and I got pushback on that too.


> Earlier this year I wrote about HCI as the intersection of technical craft and social sciences. Interestingly the responses I got from people in the HCI field was the inverse of the sentiment in this article (...) I got pushback on that too.

Some things seem defined not just by intersection but by exclusion. I've experienced both sides. As a computer scientist working in arts and music, I find the "computer music" field builds on a strong affinity. Technology and arts form a natural positive bond, although one meets the occasional purist who only hand-carves their own medieval flutes. It's a fusion intersection to which one can never bring too much humanities nor science. I don't feel out of place discussing philosophy and matrix multiplication in the same breath.

As I matured my interests post 2013 changed focus to digital rights and cybersecurity. It seems to me this area is currently defined by antagonism. It is a human-computer design field, yet is a chasm between human values and rigid thinking where people and systems clash.

In computer music, what is at stake is mostly joy. In cybersecurity what is at stake is power. As in any struggle the technocrats just wanna "hit them harder with more". More cryptography. More lockdown. More central authority. The actual utility, or god forbid 'pleasure' of computing be damned.

But there is another movement emerging in cybersecurity, to which I am affiliated. "Computing in the public interest", or "humanistic computing", whatever you want to call it, where technical concerns are fused on an equal basis with rights, freedoms and responsibilities.

Existing dead centre of that exclusion means getting push-back from both sides. But, to be honest I take that as confirmation that the work is fresh, valid, and essential.


I think we should leave comp sci as what it is.

> The bulk of software work today is about integrating computation into human driven tasks, predicting and anticipating how people think, what they need, how they react to new communication and work methods

Sure. But that is not what comp sci is about. If one wants better programmers then those aspect should be put in a different, more job focused, degrees like Software Engineering.

It’s should be a choice. If people want to focus on maths and computers, then let them focus on maths and computers without other fields. Degrees aren’t just about jobs.


I think your argument is sound, but I disagree. I think that CS degrees should absolutely involve more "humanities."

CS, or any other "STEM" field, cannot be separated from human history, philosophy, ethics. As pure as it might seem, even maths and computers exist within a complex humanities context.


Wrong. Math exist by themselves being properties.


I agree that math exists in of itself, which is what makes math so beautiful in my opinion.

To clarify my argument, I think the learning and usage of math by humans is what introduces such messy yet important ideas to the subject. This is even more true for CS and the classic sciences.


> Degrees aren’t just about jobs

But degrees are used as a gatekeeper for jobs, and the price of a degree, 4 years of lost earnings + $200K, means that the only practical reason to get one, for the vast majority of people, is to get a higher paying job. So in reality, degrees are about jobs, and universities should start acting like it.

I do share your sentiment that it shouldn't be this way, but if you tried to get rid of this system of degrees as job qualifications, the universities would be your main opponent. A degree not about getting a job would have to be more like 1 year & $20K to really get many takers, and that would be much less money and power for the university.


I agree with you mostly. But some random thoughts.

> 4 years of lost earnings + $200K

Yeah I forgot how much US universities cost. I did a double major in LLB and BA and my student loan at the end was less than 50k including some living costs.

I can see why people in US are more focused on job qualification side of a degree if the opportunity cost was that much.


Yeah, anyone saying that you shouldn’t think about money when making perhaps the single largest expenditure in your life* probably doesn’t have your best interests in mind.

* admittedly, a lot of people buy homes that cost more. Still probably in the top 5.


University is purely about compliance for whatever destination that requires this compliance (research or private industry).

In theory it would be better if people do a degree that is relevant to what they want to do but it is employers and the "herd" (the critical mass of people that have the most common/important credential in that industry) that decide which credential to pursue. In other words, degrees are purely about doing something someone else would like you to be doing.

In my opinion all the wishy washy "there must be some understandable reason for this" or "degrees aren't just about jobs" arguments are only there to detract and confuse people and make them have doubts instead of making rational decisions and getting on with their lives. The bullshit becomes bearable the moment you are fully convinced it is bullshit. If you are on the edge and have doubts that it isn't bullshit enjoy suffering through 5 irrational years while believing they are rational.


Yes, but not as the author describes it. The author has a very narrow and circumscribed view of liberal arts. Going back to the beginnings: The “liberal” in Liberal Arts comes from liberate. The arts that free the soul. In its original formulation it had the trivium (rhetoric, grammar, logic) and the quadrivium (geometry, astronomy, music, arithmetic). People like the author commonly associate the whole project with a narrow subset. Well rounded does not just mean we eliminated math from the ciriculum. It should be obvious to most people here that computer science is essential for this in the modern age.


Indeed computer science is not trivial.


Clickbait. Article says it should be. To which I say: the fuck it should. Is a law degree a liberal arts degree? If universities decide CS needs to include some instruction in the human side, they can offer those classes without reclassifying CS as some bullshit.


In the US, law is a graduate degree. A significant majority of law school students already have a liberal arts degree. This is an entirely different case.

On the other point, offering CS degrees as liberal arts degrees wouldn't meant "reclassifying CS as some bullshit" (or, indeed, reclassifying CS at all). There are many fields where some colleges already choose to offer the major as a B.A. while others offer it as a B.S. It's not a difference in the field, it's a difference in what requirements a college implements for getting a degree in the field. In other words, exactly what you suggested should happen.


Application development is a blended skill and computer science is not the only discipline involved.

CS is a mathematical science, not a liberal arts topic. This author is way off base.


"Liberal arts" is not a synonym for "humanities." I am a college professor; the majority of students at all the schools I've been affiliated get a liberal arts degree. This includes math majors, physics majors, etc. And even the historians and philosophers are generally required to take math and science courses as part of their liberal arts degrees.

"Liberal arts" refers to a tradition of education across the major disciplines. It is distinguished precisely by the fact that it includes both the sciences and the humanities.


Thank you for pointing this out. I do prefer to be more accurate than I was.


Mathematics itself is half science and half art.


Agreed, and as such, mathematics rightly belongs to the colleges of natural science. Are you trying to conflate natural science with liberal arts? I might be confused by your comment.


He is trying to erase the distinction when talking about mathematics specifically because it leads you to question your own biases.

Mathematics is neither liberal arts nor natural science. Mathematics is a liberal art. Mathematics is a natural science. Mathematics is both liberal arts and natural science.

Which is the “correct” classification of Mathematics is the sort of pointless quarrel that happens at universities.

There is no right answer - the purpose is to argue and understand all biases/positions. The purpose is respectful human interaction around unresolvable differences.


Mathematics is the most science and least art form possible.

Every other field of study has more artsiness than Mathematics.

However, Mathematics also still has a lot of artsiness to it.


Totally disagree. Mathematics is not a science at all because there is no any possible experiments in the Math fields.

And remember what David Hilbert has told about one of his students who decided to go into arts instead of keep learning Math with him. He told "he did not have enough imagination to become a mathematician".


> there is no any possible experiments in the Math fields.

https://en.wikipedia.org/wiki/Experimental_mathematics

Worth googling too, a wide range of things come up:

https://www.google.com/search?q=experimental+mathematics


Experimental mathematics is not a field of mathematics, but an approach. In the link you have given I found two approaches called experimental mathematics: proofing theorems by computer contrary to proofing with a pensil, and searching new problems contrary to solving some existing ones.


I was responding to your apparent claim that experimentation is not possible in mathematics. Maybe I misunderstood what you meant.

From Halmos' quote from the wiki page:

"Mathematics is not a deductive science—that's a cliché. When you try to prove a theorem, you don't just list the hypotheses, and then start to reason. What you do is trial and error, experimentation, guesswork. You want to find out what the facts are, and what you do is in that respect similar to what a laboratory technician does"

- it sure sounds like he thinks experiment/experimentation a key part of maths.


What evidence would convince you that mathematics is empirical?

If your argument was a tautology then what’s the point?

Would you consider interactive theorem proving to be empirical or not? The sort of experiment you perform is you try to see if the computer accepts your proof or not.


Interactive theorem proving is not an experiment on nature because the theorem priver is itself a mathematical construct.


It sure seems like the goal posts are being moved.

Every experiment is an experiment of nature.

Humans are part of nature. Human constructs are part of nature.

Every interaction that results in the testing or falsification of some hypothesis is a valid experiment. Irrespective of the object being experimented/interacted with.

I am experimenting with (testing/falsifying hypotheses against) your linguistic constructs right now.


I think you're missing the point. Mathematics isn't a natural science, and that's what I was trying to point out. There is a term for doing science on human constructs - it's called social science. Is your thesis that mathematics is a social science?

> Humans are part of nature. Human constructs are part of nature.

Humans physically are part of nature, sure. Human constructs are not considered to be as far as classification in the social and natural sciences.


I am not sure why you are using the phrase "natural science", is there any other kind? Lets revisit with the wikipedia definition:

  Science (from Latin scientia 'knowledge') is a systematic enterprise that builds and organizes knowledge in the form of testable explanations and predictions about the universe.
That seems pretty general and all-inclusive to me. Any knowledge about humans; or societies; or the stuff human societies invent is knowledge about the universe. Because we are part of the universe.

Now, you seem to be trying to differentiate the different sciences from one another - tell us why. What's the purpose of drawing a distinction between science and (what you call) "natural science"?


I am not doing so. I am saying that if you want to classify mathematics as a science on the basis of the existence of theorem validation software on which someone may experiment, then it is a science on human constructs, ie, a social science, and not a natural science.

The argument here for math to be a science is very tortured and contrived, but if it has any even technical validity then it makes the argument for math as a social science.


>if you want to classify mathematics as a science on the basis of ... The argument here for math to be a science is very tortured and contrived,

I am not classifying Mathematics as a science on the basis that you claim. I am not even making an argument! All I am doing is empiricism!

I am observing a fact about the universe: What humans call science is any enterprise which builds and systematically organizes knowledge about the universe. I am also observing that Mathematics is one such enterprise. So it's a science.

If you think society's definition of "science" is too broad - that's fine. If you want to use a narrower definition which renders Mathematics a non-science - that's also fine.

But I am still asking why?

Why does it matter whether Mathematics is classified as a science; or a non-science; or a social science; or a natural science?


In the pyramid of human knowledge physics (a science, according to you) rests on top of mathematics (not a science, according to you).

We had mathematics long before we had physics.

So it is pretty obvious that physic is founded upon a liberal art - mathematics.


> We had mathematics long before we had physics.

I disagree. People haven't had a Mathematics before Pythagoras. All Mathematics people had at that moment was that 1 golden coin + 1 golden coin = 2 golden coins or one copper knife. But trading is not mathematics if not talking about modern things like HFT with broad using of probability theory (and we obviously are talking about ancient times).

Physics is understandable even with way more simple (and way more ancient) species then humans. For example, an ape can take a stick and use more heavy end to make a more powerful hit. Birds seems to understand physics quite well - starting from setting wings while flying and ending to general intelligence of crows.

And BTW why are you concerned that in the pyramid of knowledge (Biology is a science > Chemistry is a science > Physics is a science > Mathematics is a language) there are three sciences and one a non-science?


Mathematics is a language, but then why are you saying there was no Mathematics before Pythagoras? Obviously Pythagoras didn’t invent language! Long before Pythagoras people had been using language for doing and expressing computation.

Pāṇini did it. The Babylonians did it. It then took us a few thousand years to mechanize that knowledge and invent computers as we know them.

As for physics being “understandable” - I think you are conflating the ability to exploit nature with the ability to understand it.

Physics isn’t something “out there”. Available to birds and apes. It it is the body of knowledge (texts, ideas, concepts, formulas, narratives) instrumental to humans navigating nature.

There would be no physics without humans inventing it just like there would be no language without humans inventing it.

I am not at all concerned about the contents; or the structure of the pyramid. I am simply expressing a fact about the pyramid. That which people call science is not founded upon science. It is founded upon the liberal arts, humanities and social constructs (logic, philosophy, mathematics, computation, language) - the pyramid is founded upon human invention.


> Mathematics is a language, but then why are you saying there was no Mathematics before Pythagoras? Obviously Pythagoras didn’t invent language!

He did invent the language. When Pythagoras used to teach some folks the division (mathematical operation required for Trigonometry which is required for building Egyptian Pyramids) he faced with un-understanding of "why we should learn this silly useless numbers?" Then Pythagoras has invented a music (consonance and dissonance at least) and everyone started to learn Math because most of us can hear that numbers which may lead to either consonance or dissonance.

> you are conflating the ability to exploit nature with the ability to understand it.

Yes you are right, I do not see how can you understand Physics/Nature without exploiting anything. And if you are enough successful to exploit something so why not to claim that I have gained some understanding.

> There would be no physics without humans inventing it just like there would be no language without humans inventing it.

I think two instances of "humans" word are extra, that words don't add anything into the discussion of some mathematical and physical concepts.

And I keep staying on my opinion that: if one fly can do something complicated in controllable experiments set by human (kind of pull this rope and get some sugar) and another fly can learn this queue of actions from the trained fly, that means that after the experiment both flies share some physical knowledge about Nature.


>Yes you are right, I do not see how can you understand Physics/Nature without exploiting anything

I am happy to equate exploitation with understanding, but then I don’t see how you could possibly understand Mathematics without exploiting computation.

The pyramids were built at least 1000 years before Pythagoras was even born. If division and trigonometry was needed to build them then the Egyptians understood and exploited division trigonometry before Pythagoras invented the language to explain/teach division and trigonometry.

It is not at all surprising that nobody else could understand (exploit, compute with) a language Pythagoras made up, but eventually he taught (indoctrinated?) some students on how to use his invention.

To compute with; and exploit any language first you must comprehend its grammar and semantics.

Still! The Babylonians could compute the square root of 2 (in practical terms, obviously they didn’t call it “square root of 2”) to arbitrary precision even without having numbers in their Mathematics.

Overall I don’t think we are disagreeing over anything substantial either way. Computation is the controlled manipulation of matter. Manipulating symbols to do useful things is a form of computation.

A fly may have some knowledge sufficient to exploit nature in the moment, but it doesn’t have the knowledge necessary to encode and communicate its knowledge to its peers. And it certainly can’t communicate its knowledge to generations 2500 (or more) years into the future.


The point about Pythagoras is that he made Math really popular and maybe even enough broad to use it for Liberal Arts. The Egyptians which have build pyramids used to keep all their Mathematics in secret, only priests and some high-rankings could learn from their sources - and for limited set of goals.

What about Babylonians, their math (as well as Egyptian's) were too complicated for writing and (unless Greek's) was experienced some lack of integrity. For example, did Babylonians know that the square root of 2 is irrational? Pythagorians knew that exactly.

For me it is much more handy to consider well-known Pythagoras as father of our omnipotent Mathematics instead of some anonymous Babylonian who does not have an epic story about stealing some knowledge from totalitarian company and presenting it to mortals like Robin Good or Prometheas. And in that formulation I consider omnipotent Mathematics to be younger than Physics which even now has not achieved omnipotency level (hint about Theory of Everything).

And sorry but I have nothing to say should a CS be a part of Liberal Arts.


Math is abstract, so I would expect experiments in math to have abstract results. I don't think that makes it less of a science.


Any experiment has an abstract result. For example: If throwing a rock from the tower of Pisa gave us result that acceleration of gravity on Earth is 9.8 m/s^2 then that number will be exactly same for throwing any other materials from any other tower on the Earth.


The result of 9.8m/s^2 is descriptive of a concrete result, isn't it?


Good, he did not have enough imagination to become a mathematician.

[Upon hearing that one of his students had dropped out to study poetry]

- David Hilbert


Do you have an example of an academic field of study that is less of an art and more structured than Mathematics?


I feel like we have a better definition of math than we do of art. Thus it's a lot easier to accurately declare a thing is not math, than it is to accurately declare a thing is not art.


Do you have any better definition of math then "that what mathematicians do"?


William Thurston described mathematics as part psychology [1].

[1] https://mathoverflow.net/a/44213


Surely that is the best definition possible?

Defining is what humans do.

To ask for a better definition of “defining” seems like a dead end question.

Perhaps asking why humans do what they do yields better answers?


> Surely that is the best definition possible?

Obviously the best one which has appeared in this topic.

> Defining is what humans do.

Some computer programs can do defining also, so I do not recommend you to go to some fields of an absurd.

> Perhaps asking why humans do what they do yields better answers?

I think the answer will be "because they can", but I have asked HN just. Let's see, what answers will this question yield? [1]

[1] https://news.ycombinator.com/item?id=31457736


Math and science are liberal arts.


Tell that to all the Berkeley CS BAs.


This is downstream of publish-or-perish.

My point is the people in charge of curriculum and education are all $200K+/yr tenured professors in the style of CS is Knuth and Knuth is CS and that's the end of the convo, so no great surprise that CS curricula are mostly weed-out classes mixed with mathematical theory classes, because the old generation will always tutor the new generation in its own image.

You have to notice that everyone in the author's list of notables is very interesting but has ZERO soft power and none of them are tenured profs or administrative department heads at uni.

My gut level guess of where this is all going by my grandkids generation is there are about 1000 framing carpenters for every 100 general contractors and about 1 structural engineer (your locale may vary, ours has weird snow load problems). So in my grandkids generation "front end" "UI" people will likely come from apprenticeships or 2-year community college at most, whereas you want a "back-end" guy who can do some architecture he's going to have a very technical 4-year, and every company will have maybe one programmer with a classic CS background who does architecture and algo optimization all day.

When I was a young guy, everyone who graduated with a CS degree had to write a language using lex and yacc, maybe not much of a language but you had to get something to compile at minimum. Now I enjoyed that class immensely and it was one of my favorites and I've never used any of the skills since then, but that class is kinda dumb if 95%+ of jobs now will be front end javascript level work.


> but that class is kinda dumb if 95%+ of jobs now will be front end javascript level work.

I think this sentence sums it up more than relating it to publish-or-perish. It comes down to what is the purpose of university. Is it job training, as companies want it to be (because why should they train their employees when they can outsource it; this has led students to expect it to be job training too), or is it actually about learning the fundamentals of why things work, in preparation to go further on in said field. Or just about learning about 'humanity' in general (as universities were more in the past; humanities oriented). I think this is the root issue. To me, university should be (2) and (3), not (1). But companies want it to be (1), and students expect it to be (1), whereas professors want (2) and (3) depending on field, and that's where part of the problem lies.


Let's be careful about conflating the history of university curricula with the purpose of universities. The humanities are much older fields of study than the sciences, and younger still are the applied sciences and engineering. Universities in the 1600s had a mostly humanities focus because that was where the sum of human knowledge pointed us.


It depends on what you think the 'purpose of universities' is. To me, it's either preparing someone for further research in a field or to understand the human nature, so something more along the lines with what the history of university was. Universities should not be for vocational training -- that should either be trade school or on the job learning. But a lot of companies have realized they can outsource some stuff they used to teach on the job to universities, and students thus expect universities to cater towards that. It's a problem, imo.


In Ireland, computer scientists who wrote programs were deemed writers and qualified for Irish arts tax treatment, in the 70s


Copyright, still today and across much of the world, is based on the concepts of authorship and publishing. It works in software in practically the same way as literature.


Not entirely related here, but fwiw historically most European CS split from the math department and in the US most were split off from the electrical engineering department.

Every now and then you notice it in what people do and do not know.


CS is liberal arts because software is used by humans? By that standard pretty much any degree qualifies as liberal arts, including medicine, engineering, law,...

Tbf, that kind of thinking actually goes back to the origins of medieval universities, so there is some case to be made (a lot of universities still award BAs for pretty much every subject). But I guess the true intention here is to lower the barrier in technical terms for claiming CS degrees and SE salaries.


Not just software. All knowledge (computer science, mathematics, physics, biology, etc.) is used by humans.

To what end? That is not a scientific question.

To steal the sentiment from a meme.

Scientist: what is philosophy good for?

Philosopher: I don’t know. What is science good for?

Scientist: Well science has broad application in…

Philosopher: aaaand you are doing philosophy *drops mic*


> aaaand you are doing philosophy drops mic

That approach has been used for great justice in my recent work/life. When you can see that far ahead in the argument because you are correct, you just lead your conversation partner to make your point for you.


Social Science, Ergonomics and Psychology aren't liberal arts subjects. Mediaeval History, French Literature and (arguably) Architecture are examples of liberal arts.

I think there's an argument to be made that computer scientists benefit from studying liberal arts; but I think the author fails to make that argument (let alone that CS is actually liberal arts, as per the subject).


> Mediaeval History, French Literature and (arguably) Architecture are examples of liberal arts.

Wait a minute, what of 7 liberal arts are History and Literature in? I can not see any place for that in both Trivium and Quadrivium.


Trivium and Quadrivium aren't really liberal arts, at least not any more. Trivium was logic, grammar and rhetoric - the basics for understanding and making arguments; quadrivium was music, astronomy, geometry and arithmetic - the "proper" subjects that one might want to argue about.

I'd be inclined to count astronomy, geometry and arithmetic as STEM subjects, rather than liberal arts. But I don't think trivium and quadrivium have been a thing since the Middle Ages, and I'm sure that's not what the author was referring to.


Recommending a book on Marketing Science at the end is what really annoyed me the most about this.


I can comfortably get on board with your analysis that there is an argument to be made but this author fails to make it.


This is a bit like saying civil engineers designing freeway interchanges should know about induced demand.


Ah yes the software developer jack of all trades now needs to add more skills to their bow. Or just hire people in the role of UX design as a specific profession


My life as a full-stacker: When I have to install the database, write the schema, write the app, write the DR policy, and eventually also argue for another developer, I get context switching fatigue and become susceptible to external recruitment.


CS is not a science, certainly not mathematics, it is not about 'seeking the deeper beauty of our [for mathematics: any] reality'.

CS is not engineering, not much actual science or working principles get applied for most of the work done.

CS is design, but design of a 4D artifact, something that moves in time and space, not just 3D. To make things more tractable, we do this in discreet space, not continuous space, which brings its own qualities and issues (e.g. non-locality - there is no underlying strata based on nearness).

Design is concerned also with the who and the why, rather than just the what and the how. Hence a broad education is helpful.


Is there some way to explain to me, a college dropout, why mathematics is a natural science but computations is not?


because math is too difficult to I can't understand what they usually do


If the point of a CS education is to prepare people to work in software (and that assertion is debatable!)

There's a lot of heavy lifting being done by that parenthetical. I don't think the point of a CS education is to prepare people to work in software. It's to teach them the theoretical groundings of computation and how to engage in abstract reasoning about it. It always felt a lot more similar to applied mathematics to me than anything else.

I sense an is/ought conflation from the author. I could agree that software engineering as a profession could benefit from more practitioners with a liberal arts background.

The thing is, I just don't know if that is necessary for more than a self selecting group. A liberal arts degree has more to do with going to a liberal arts institution with a common core curriculum that teaches one how to read, write, and interact critically with great books and history. I had such an undergraduate experience and I felt like a benefitted from it significantly.

It's hard to get into a good liberal arts college, just like it's hard to get into an Ivy League institution. I don't think one can democratize the intrinsically elitist aspects of a holistic liberal arts education because the vast majority of people are simply not interested in it and will never be. The only way I could see that changing is with a vast fundamental overhaul of the K-12 education system that actually prepares citizens from childhood to adulthood for such an education; in which case I think it is then perfectly fine and reasonable to expect the entire adult populous to be prepared to get such an education.

It seems like this is how it works in many European countries. But it's not how it works in the USA, where I live.


Pretty much any four-year college degree that could have a BS attached to it could equally well have a BA attached to it, depending on the course work required. Mathematics with a focus on the history of mathematics and the social / cultural aspects of mathematics, educational in mathematics, etc. would maybe be a BA. Generally, the difference will be something like BS degree students take twice as many calculus and differential equations courses as BA students do.

As to whether one feels better about having a BA vs a BS, in reality most people don't care too much about things like that. A BA may leave more room for classes in other subjects, which can be beneficial. A BS might be better preparation for a grad program in that subject, otherwise your grad program might require a year of in-subject coursework.


This is the direction things have been going in Sweden over the last 15 years, but I think it’s a shame and a waste of human potential.

Why would you need a university CS degree to do UX design and write some JavaScript? There should be other degrees for that to be honest.

I’m hoping this trend will now reverse and “real” software engineers will reclaim their profession, despite now being in the “minority”.

Personally I’ve started calling myself a “deep tech software engineering entrepreneur” to try and distance myself from this “majority” of overeducated JavaScript fiddlers.


Vad...? I would have no idea what you intend by calling yourself that if I hadn't read your comment.

What's the problem with having a computer science education and writing JS? There are ample situations to utilize CS in browser code.


Skimmed the article but it doesn’t have that much content? I’m a developer without a “traditional” CS background (my degree is in bio engineering) but the points mentioned in the article don’t strike me as novel.

Isn’t this why STEM acronym has evolved to incorporate Art, and is now called STEAM?

The post says “but liberal arts is about critical thinking, logic, picking apart complex problems, and ethics.” and I would say the same applies to a technical education.


Yes it is a liberal arts degree: no humans - no need for computation. Understanding ourselves and our needs is necessary for inventing; improving or sustaining any technology.

Yes it is a STEM degree: no rigor - no computation. Understanding how the universe works is necessary in order to exploit matter and convince it to do computations for us.

Everything humans do (STEM included) is for humans; and by humans.

This bipartisan view of universities and faux-conflict isn’t useful.


> no humans - no need for computation.

I would disagree with this statement. I have a pet AI program which can get some work done and gain some cryptocurrencies for that and pay for its hosting for keep doing that work. I am sure the AI will overlive all the humans and it really needs some computations for living.


I disagree with your disagreement.

Why do humans need/invent computation, hosting, cryptocurrencies and AI?

I can’t fathom any data center remaining online for more than a few weeks/months if all humans keeping it running magically disappeared.


> Why do humans need/invent computation, hosting, cryptocurrencies and AI?

Because they use to have some spare time?

> I can’t fathom any data center remaining online for more than a few weeks/months if all humans keeping it running magically disappeared.

That few weeks my pet AI will be refusing your statement that no human means no need for computations.


Then step aside and take a vow of silence.

Let me speak with your AI. Let it refute me by telling me about it’s needs.

Queue excuses…


Science, tech, and math fall under liberal arts. You’re creating a distinction where there isn’t one.


Computer Science is classified as a liberal arts degree at William & Mary: https://catalog.wm.edu/content.php?catoid=24&navoid=3884.


At UC Berkeley (#1 along with MIT, Stanfurd, CMU) Computer Science is a BA degree.


What would be the/a consequence of CS being labelled a liberal arts degree ... ? What would be the benefit ?

There doesn't even seem to be an agreed upon definition of what liberal arts truly are in 2022 so this whole discussion seems quite pointless to me.


So CS has some special need for academic cross-pollination that math and engineering don't share.

If so, I'm shocked. Bellotti asserted this several times without anything to substantiate the claim.

Kill It with Fire was on my reading list. I think I want to read more reviews now.


Have you heard of Facebook?


From the title only, I can deduce why US has to import so many programmers from China and India.


Pentarivium?


Purely semantics. Boring


No, it's not.


[flagged]


This is transphobic.


In the “woke” world of computation this sentence is false. And the previous sentence is true.

The liar’s paradox, decidability and undecidability (being core ideas in computer science) directly imply that it is scientifically undecidable what a man; or a woman is.

Those are (in fact) questions for the liberal arts department and broader society, and the answers are usually settled by social convention and democratic discourse.

A computer scientist will likely understand why the above is true. The rest might be tempted to downvote this assault on their intuitions.

Update: 3 people who don’t understand computer science disapprove of this comment (this is a running score)


Your comment is confusingly written. I have no idea what you’re talking about, or what sentences you are referring to.

Also, you’ll collect a lot more downvotes now that you’re obnoxiously talking about your downvotes.


What is confusing you about my comment?

People who understand computer science also understand exactly what I am talking about. Because I explicitly said what I am talking about: undecidability.

It is scientifically undecidable what a man; or a woman is. That is a question for the liberal arts and broader society.

https://en.wikipedia.org/wiki/Undecidable_problem


Your comment is written like a logic puzzle rather than as prose that’s meant to make sense. Well, at least the start of it is, which can be enough to persuade someone to stop reading an move on


A logic puzzle by a computer scientist? Imagine that!

If you don’t understand the reference to the Liar’s paradox you have self-selected yourself as somebody who doesn’t understand computer science.

Similarly: if you prefer prose (which is for humans) and shy away from logic (which is for computation) your interests are better aligned with the “woke” liberal arts; than with computer science.


There are plenty of talented programmers here who value prose as a means to communicate clearly. Your post failed to do that, and your sarcasm and insults to the intelligence and motives of other commenters are against the spirit of this place.


You mis-spelled reddit.com. Don’t worry, plenty of upvotes for this kind of thing over there.


So vegan Computer Science lmao Why do these type of people like to co-opt and not create something new? Then say something is wrong with these people if they don't like this new "vegan" version.


Two things

1) This is ass backwards. We don't need CS who know about accounting, hr, etc. Jobs of the future will be automated. Dev is an essential skill, the same way English or maths used to be. We need these professionals to learn how to code to "gain one level up", and make the computer do whatever devs are building for them now. 2) Market has needs for a lot of people who know how to program using high level frameworks. CS programs have evolved accordingly. 20y ago, it was a room full of geeks (with the original meaning), coding on freebsd. Program had electronics, assembler, C, you learned to build a compiler from scratch, a virtual machine, a shell, stdio, etc. There was a lot of tinkering with dark bsd flavors. Programs today are at a much higher level, learning how to use react, and frameworks built by others. To the point where I see devs who don't know what OSI means and don't even know how to reinstall windows themselves. I don't think it's bad, I think the need for CS has remained somewhat similar, what we need today is app developers which is very different. You don't need a tech genius to build an accounting app. You need someone who can understand these needs and transfer them into relatively straight forward code over all the abstraction levels built by these tech geniuses.

So I think the claim that CS is a liberal art is preposterous. I think that what people call CS has evolved into two things, CS and App dev, the latter which should start moving to other professionals, and that people didn't realize it yet.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: