Philosophy+for+Programmers

This is a rough working area for a course outline on "Philosophy for Programmers." The idea is that developers make all sorts of choices that have deeply interesting philosophical implications (and heritages) when they create applications, and this course would start to explore the background of some of these choices, and possibly other ways to address them. The idea is simply to make people more aware of the radical implications of the choices they make in how the technology will then shape what it means to be human. The hope is that it will help influence developers to be more reflective and less reductive in the choices they make. = = =Major Topics= For each topic, we will have one contemporary reading, one reading from the history of philosophy, and one contemporary case study.

Abstraction
e.g. what are the implications of the digital representations of reality, which, when contrasted with the analog world, must always occur at some level of abstraction, however small?

Reification (should this be merged with "Abstraction"?)
In order to develop systems to support human interactions, we are often required to model existing processes, some of which are not explicit or even conscious. In doing so, we run the danger of reify dynamic and emergent phenomenon in a way that can then entrench them further. Is this something that specific to digital technologies or true of technology itself?

Readings
cf Jaron Lanier's I am not a gadget, chapter on this

Readings
- cf Illich, Convivial Tools

Time & Space
Networks offer us the opportunity to perform conventional actions, like conversing, in a way that has a different relationship with time and space. For example, many conversations now occur with people not in the same place at the same time. What are the implications of this? Just because we can, does that mean we should? Are there some activities that should not take advantage of this affordance? How does this affordance effect our sense of self (in relation to Time & Space)?

Readings
- cf Rushkoff's program or be programmer - something from Heidegger on Being & Time

Architectures, Code is Law, Openness and Generativity...
Zittrain, Future of the Internet and How to Stop It Lessig, Code is Law

Quotations / Ideas to explore / Possible Readings / References
First we use shape the tools, then the tools shape us

The master will never be used to overcome the master (Audrey Lorde, get exact quote) - http://lists.econ.utah.edu/pipermail/margins-to-centre/2006-March/000794.html

Illich, Convivial Tools...

Nelson, Gifts from Geeks - http://geeks-bearing-gifts.com/gbgContents.html

different conceptions of how technology and humans interact - determinism, [|Social construction of technology] (cf http://en.wikipedia.org/wiki/Theories_of_technology)

http://en.wikipedia.org/wiki/Unintended_consequence

http://plato.stanford.edu/entries/ethics-it-phenomenology/

http://plato.stanford.edu/entries/computer-science/

http://pcs.essex.ac.uk/

http://www.cse.buffalo.edu/~rapaport/philcs.html (cf [|philcs-complete.pdf])

Andrew Feenberg's Philosophy of technology syllabus

Kevin Kelley, What Computers want from Us also "Better Than Free" - http://www.kk.org/thetechnium/archives/2008/01/better_than_fre.php

http://strandmaps.nsdl.org/?chapter=SMS-CHP-0887

Katherine Hayles "Computing the Human"

Architectures of Open Source Applications - http://www.aosabook.org/en/index.html

computing and ethics - http://www.qcc.cuny.edu/SocialSciences/ppecorino/CISESHV_TEXT/CONTENTS.html

Introducing ethics in Information and Computer Sciences - http://openlearn.open.ac.uk/course/view.php?id=3990


 * **Artifact / tool Approach** ||
 * //View of technology / society relationship// || Technologies are tools that society draws upon to do certain things it would not otherwise be able to do. When tools become incorporated in practices it tends to have a more or less determinable impact on those practices. ||
 * //Approach to ethical implications of technology// || The task of ethics is to analyze the impact of technology on practices by applying existing or new moral theories to construct guidelines or policies that will ‘correct’ the injustices or infringements of rights caused by the implementation and use of the particular technology. ||


 * **Social Constructivist Approach** ||
 * //View of technology / society relationship// || Technology and society co-construct each other from the start. There is an ongoing interplay between the social practices and the technological artifacts (both in its design and in its use). This ongoing interplay means that technological artifacts and human practices become embedded in a multiplicity of ways that are mostly not determinable in any significant way. ||
 * //Approach to ethical implications of technology// || The task of ethics if to be actively involved in disclosing the assumptions, values and interests being ‘built into’ the design, implementation and use of the technology. The task of ethics is not to prescribe policies or corrective action but to continue to open the ‘black box’ for scrutiny and ethical consideration and deliberation. ||

from http://plato.stanford.edu/entries/ethics-it-phenomenology/
 * **Phenomenological Approach** ||
 * //View of technology / society relationship// || Technology and society co-constitute each other. They are each other's condition of possibility to be. Technology is not the artifact alone it is also the technological attitude or disposition that made the artifact appear as meaningful and necessary in the first instance. However, once in existence artifacts and the disposition that made them meaningful also discloses the world beyond the mere presence of the artifacts. ||
 * //Approach to ethical implications of technology// || The task of ethics is to point back to the attitudes and moods that made particular technologies show up as meaningful and necessary. It seeks to interrogate these assumptions and attitudes so as to problematize our ongoing relationship with technology. ||