If it were how the social sciences need to embrace computing, that would be a legitimate claim from my experience at University.
At the same time there are usually 2-4 articles per issue that are very good. CACM also presents curated lists of interesting research articles, so (as practitioners) we do not need to sift through every article from every conference proceeding or journal publication talking about how some squeezed an extra tiny incremental fraction of x out of an O(n^x) algorithm or incremental papers discussing how compiler type inference algorithms could be improved this tiny little bit with this one weird trick.
And we occasionally get really insightful practitioner articles as well; for example, some interesting bits of how Google manages their code base, or what an incredibly difficult problems Coverity faces when statically-analyzing (supposedly)-compliant C/C++ code.
The claim that computing is a social science because it has big effect on society is simply bollocks (This was explicitly claimed in the article, heck it had a subtitle "Why Computing Is a Social Science").
The effects of computing to society definitely is social science. But social sciences have exactly zero to offer on how to, as an example, define an upper bound for certain algorithm.
Just as physics has massive impact on the world the actual act of doing physics had nothing to do with social sciences. How on earth does social sciences help me to solve some particularily nasty partial differential equation? How the results are used are yet again part of social sciences as that talks about what happens to society, but the actual physics is completely out of it.
And as I said at the start, the track record of Social Sciences is not too good. I'm quite doubtful they can even say anything valid on the actual matters that fall under it.
I really don't get your point.
Seems to work relatively well.
This obsession with teaching (tech) workers ethics is a bourgeois pastoral fantasy.
Someone needs to read some Foucault.
Shouldn't engineers who design social media algorithms have some basic knowledge of social dynamics and psychology?
Firstly, let’s not reduce decision making to something only software engineers do because typically product managers have huge, even the most, responsibility on product decisions.
Secondly, what makes you think they (incl. engineers) don’t have that basic knowledge? Most software people I know are autodidacts at heart and are interested in social domains just as much. These people are also fed the warm data from their social software systems and can robustly hypothesise on them (they have to) because features based on those hypotheses is applied back to real life next quarter.
If they are following dark patterns, it is not for lack of knowledge on social dynamics or psychology, but because they would follow normativities of growth and engagement rather than social good.
Looking to social sciences, there seems to be a huge variability on how reputable and reliable their knowledge making machinery nowadays works. Hoax paper crises demonstrated that there are at least some weak spots that are very gameable.
I don’t mean this as an insult to social sciences but we could also say if engineers attended church or participated in any religious or spiritual practice to deepen their moral understandings it could be a force of good, but we can’t prescribe that exposure because it would be too ideological. I fear the same might be the motivation here.
Especially the "Web development" example in section 2 seems to be quite off. In fact the counterargument for section 2 seems to be very convincing!
CS/IT is such a broad, rapidly progressing field that you cannot be prepared enough on technical subjects.
As someone who has no formal CS education I'm impacted immensely by this. I don't only need to keep up with current technology (mostly in my free time) but also often had to catch up on topics that my peers learned in University.
I'm not complaining though. I love it. But to say that there is _easily_ enough room for additional, non-technical/mathematical subjects seems to be quite unrealistic! Especially if we look at the hiring practices of our industry. Apparently having a degree is not nearly enough even from a technical standpoint.
As part of my major, I was required to take: two calculus courses, two physics (or chemistry–but almost nobody did) courses, linear algebra, and two discrete math courses. I can confidently say that aside from some very basic physics from the first of the two classes, I have used absolutely none of the knowledge in any of those courses in my life, and if we are just talking about my career (mostly working on Etsy and Trello), then I haven't even used the physics. The rest, I have effectively forgotten completely.
Some of my CS electives also proved not to be that useful for much; for example, my courses on computer graphics, compilers, and operating systems. I retain some basic knowledge from those courses which sometimes come in handy for quickly understanding tangentially-related concepts, but definitely nothing to spend entire semesters on.
Of course, I'm not arguing that nobody who studies computer science should learn the things I've listed, but it seems silly to me to make them required. I took both my calculus and physics courses during my first year of college, and by my third year, I had probably forgotten almost 100% of it. In terms of my career trajectory, and even in terms of the value of knowledge/education for the sake of being knowledgable/educated, it was a complete waste of my time and money.
Often times, I wish I was able to learn a wider variety of things in college.
I think the bigger issue here is that computer science is so tightly coupled with software engineering. I hope that as time goes on, we get better at separating the disciplines in the same way that we've separated other sciences from engineering (e.g. chemistry vs chemical engineering, physics vs mechanical/civil engineering, etc.).
That is not an endorsement of the authors proposal however. I would like to see it go the other way: treat it more like an engineering discipline and as part of that students would be required to attend the engineer ethics course that (almost) all engineering curriculums have.
But even admittedly that's not seeing the forest for the trees. The questionable systems that are built that are the result of many people working willingly together across a variety of disciplines (to the author's suggestion even). I'm not so sure making computing more multi-disciplinary is the right answer because in fact and in practice it's already that way.
At MIT, every undergraduate is required to eight courses in arts, humanities, or social sciences. That works out to taking one arts, humanities, or social science class per semester. Specifically, you have to take one from art, one from humanities, and one from social science. You also have to pick a particular field and take a series of courses in that field.
Caltech is similar, but not quite as structure. Every undergraduate must take 36 units of humanities (Caltech has a different unit scale than most others--one term of most classes earns you 9 units, and there are 3 terms per academic year) , 36 units of social science, and 36 units of humanities or social sciences.
For someone who took the minimum number of units possible to get a CS degree at Caltech, 22% of their coursework would be in humanities or social sciences. 20% for someone who took the average CS course load.
I'd just assumed that it was like that at most other schools too.
Allying it with the bit of universities that have abandoned any idea of the value of ideas being linked to actual evidence though is a terrible idea.
Make it part of the engineering department, those guys get the meeting place between a technical discipline and something that has to actually exist in the real world.
Classic hardcore CS, where people make distributed databases, new algorithms, and robot control systems, worry about proof of correctness, and study automata theory, is part of mathematics.
Machine learning is a branch of statistics.
Seriously, there is the same pattern of vague claims to benefits, one-sided elective requirements while poisoning the well to call anyone who disagrees with them close-minded and evil. Sadly/fortunately interdisciplinary never explicitly teaches this sort of bullshitting. Sadly because it could be useful in these fights, fortunately because we are all better off with a minimium of this crap wasting our lives.
Computing may need more exposure to social sciences, but it absolutely does not belong within the social sciences. (More accurately, product management or program management needs more exposure to the social sciences - those who decide what programs are going to do and how they're going to interact with people and society. Computing in general - algorithms, programming techniques, and so on - doesn't even need that.)