

The Philosophy of Computer Science  - ahmicro
http://www.science.uva.nl/~seop/entries/computer-science/

======
davesims
It seems that this course's curriculum centers on the
hardware/algorithmic/mathematical level more than the semantics and ontology
of modern object programming. The latter is much more philosophically
interesting to me, and to me it's that side of things that gets closer to the
pertinent philosophical questions that are raised by the dominance of
computers in our society.

Also, no reference at all to the massive amount on The Philosophy of
Technology written in the last hundred years? No Heidegger, Ellul, McLuhan?

It seems to me that abstract, domain-level programming concerns like object
hierarchies are more essential than algorithms or binary math to the
intersection between Computer Science and Philosophy. Once you get past the
parallels between, say Philosophical Logic and Digital Logic (the first six
weeks of both classes cover many of the same rules -- DeMorgan, etc.), I think
the most pressing concerns are best addressed within the realm of the
Humanities, Liberal Arts, and a broad Philosophical discourse.

The curriculum I'd like to see might have topics like:

* Christopher Alexander, Aristotle and the Gang of Four: Are Design Patterns Nominalist or Formalist/Realist in nature? (You could go for a while on this one. I'd love to see the GOF's appropriation of Alexander critiqued, and maybe brought into contact with the concerns raised in Heidegger's essay _The Question Concerning Technology_ ).

* Building, Dwelling, Coding

* The Question Concerning Technology Revisited: Are we now Standing Reserves of Information?

* Russell, Pierce, Saussure and the semantics of type systems

* Bergson and Agile -- the relationship between intuition and iterative process

Or something like that. You get the idea (or not...)

~~~
FreakLegion
Those are research topics, not items for a curriculum. Certainly they have the
potential to make interesting papers, but they're far too narrow to support an
entire course of study.

~~~
davesims
Yeah, point taken. Or maybe each one as a graduate seminar or something. That
said it seemed to me a number of topics in the UVA course descriptions were
just as specific. Anyway, these were just titles I pulled out of the air, to
get in the ballpark of issues closer to my philosophical bent.

The real problem is that there aren't any core texts for Philosophy of
Computers, so just about anything you put together is going to end up looking
like research.

I think though for a curriculum I _would_ like to see more basic Philosophy of
Technology and applied philosophical principles, particularly the ontological
status of code and programs, and how we might relate Aristotelian notions of
form to things like object hierarchies.

~~~
FreakLegion
I can't say I've seen any seminars that were quite so specific (plenty of
conferences, though!), but now that you mention it I have seen a few built
around someone's work in progress. Those were, as a rule, amazing experiences,
with the caveat that the topic was still broad enough that everyone involved
could carve out their own path.

I'd probably favor a more Deleuzian vocabulary myself, but it'd be interesting
to see where someone who ran with your ideas ended up regardless.

~~~
davesims
Deleuze -- yes, now we're talkin! There's a whole raft of phenomenologists I'd
like to work in. Levinas, Jonas, Borgmann...

So, I just need to go get a PhD, write my dissertation on the Phenomenology of
Code, then find a position against all odds at some research university, get
tenure, help write a Philosophy of Computers and Technology curriculum...

~~~
FreakLegion
Your odds might not be so bad. It's a tough market for anyone working in
traditional (read: overcrowded) areas [1], but there are precious few folks
working in the intersections, particularly between the arts and sciences [2].
Of course, you'd have to be willing to live below the poverty line for a
while!

I highly recommend working up some paper abstracts and pitching them to
conferences to gauge interest. There are plenty of organizers who won't care
that you aren't affiliated with a university, and that would be a great chance
for you to get in a room and chat with others who share your interest.

1\. [http://chronicle.com/article/Graduate-School-in-the-
Huma/448...](http://chronicle.com/article/Graduate-School-in-the-Huma/44846/)

2\. Purely anecdotal, but I've taken Ph.D. phil and lit seminars at Berkeley
and UO, and never encountered another student who could even code. They must
exist, but they're rare.

~~~
davesims
Ha, yeah it's that poverty line problem (not to mention the geographical
volatility) that kept me out of academics and embedded (as it were) in the
front lines of software development. Not conducive to the raising of the kids.
Maybe someday...

------
ctkrohn
Along similar lines, Scott Aaronson recently wrote a long essay entitled "Why
Philosophers Should Care About Computational Complexity."
<http://www.scottaaronson.com/blog/?p=735>

~~~
gwern
That was a really good essay; I strongly recommend it to anyone who enjoyed,
say, Hofstadter's GEB.

~~~
michael_dorfman
The Stanford Encyclopedia of Philosophy is an amazing resource. Anyone even
casually interested in philosophy should check it out.

------
hxa7241
What is abstraction? Here is an informal casual answer that works quite well.

An abstraction unites something _fixed_ with something _varying_. It specifies
something fixed that ecompasses a set of variants.

For example, an 8 bit number fits this straightforwardly. The number of bits
and their interpretation as successive powers of 2 is what is fixed; the
actual values of the bits is what varies.

It seems quite a good definition: it is simple, and discrete -- it is
_measurable_ , and it very neatly fits software/computation. It is pretty much
built-in to the basics of what we commonly take as computation, the bit -- a
single element (fixed) with two values (varying between 0 or 1). And
everything follows on top of that.

And furthermore, this definition can even be seen as somehow quasi-
fundamental, as inevitably arising in how natural systems behave (well, with a
little imagination maybe -- it is worth a ponder) . . .

<http://www.hxa.name/notes/note-hxa7241-20110410T0910Z.html>

