Major Studio/Rouvelle/SPRING '05

Monday 3pm-8:40pm.  (Dinner break from 5-6)

2 W13th St., room 1006

 

Contact: james_rouvelle@hotmail.com

 

Course Description:

This studio course explores the concepts of Computation as well as related concepts of Information, Simulation, Ubiquitous Computing, and Interaction Design.

Warning

We will build simple circuits in this class. Students will be expected to work with (and purchase) a micro-controller such as the Basic Stamp as well as other components. The cost will be about $150 per student, but depends on what you build. Programming in Basic will be necessary. In addition to the Basic Stamp2, I will demo a bluetooth device called embeddedblue, in addition, I will demo a serial to Ethernet converter called the xport. I will also provide examples for interfacing micro-controllers to terminal programs such as: Processing, Max/MSP/Jitter, Java, and, if need be, Flash.  A good reference text for this sort of thing is Physical Computing Ð but I bet you already know thatÉ  Two other excellent texts are: Code, by Charles Petzold, and The Pattern on the Stone, by Daniel Hillis.


Introduction


We will study computation from the ground up, and implement physical and virtual computation artifacts and interfaces from aesthetic, technical, social, theoretical and political perspectives.

In addition to the weekly exercises, readings and discussions, we will complete three projects. One will concentrate on interaction and computation outside of the electric computer, this project will be presented in proposal format only.  The second project will concentrate on interface design for memory, and the other on meaningful interactions based on computation, information, and simulation using the hardware and software of your choice. We will think of concepts, simple circuit design, and any other materials covered in class as a medium akin to wood or paper and experiment with materials that can enable simple expressive computational forms. 

Students will be expected to work with Basic Stamp and various sensors/outputs as well as simple circuits. The third class will include an introduction to the Basic Stamp. Students will be expected to purchase ($150) their own materials kit and build their Stamp during weeks three through six. No prior hardware experience is necessary but students must be prepared to get their hands dirty.

The weekly assignments will include readings, summaries of readings, conceptual prototypes and electronics exercises. All weekly assignments will be archived in student web journals and presented weekly in class.

Objectives

In this course, students will read, think, sketch, design, code, solder and build. We will focus on conceptual development, prototyping and implementation of Virtual and Physical Computing artifacts from the perspective of technical proficiency, functionality, aesthetics and personal/social meaning. Readings will emphasize critical thinking, technology, social and design issues.

Readings, lectures, videos tapes and slides will augment the studio practice. Each student will keep a web journal throughout the term to chronicle and share thoughts, ideas and resources. The web journal will be updated weekly. It will serve as a repository for weekly assignments and to document the development process for projects. Include a photo and a short bio. The website will include link(s) to all weekly assignments, link(s) to your previous web work and a RESOURCE section where you will list influential web sites and tools as well as information sources.

Students will be expected to present their weekly assignments in class, speak about their work during evaluations and participate in collective critique process of the work of other class members.

 

­­­­­­­­­­­­­­

Evaluation:

 Grades in this course will be based on regular class attendance, the quality of your work, class participation, and progress.  Tardiness and excessive absences will adversely affect your grade.  Participation in discussions and critiques is mandatory.

 

Projects & Grading:

 Students will be graded by letter, A-F, on all evaluated work.  Work must be completed on time and in full satisfaction of each project goal.  Late work (assignments handed in or posted after the start of in-class critique sessions) will be automatically downgraded by one letter grade.

 

A

Well above the expectations of the course.  Outstanding participation, attendance, and exceptional progress.

B

Above average assignments and participation. No more than one absence.

C

Average execution of assignments, participation, and no more than two absences.

D

Well below average: work, attendance (two absences), projects, and participation.

F

Unsatisfactory: work, attendance (more than two absences), projects, and participation

 

 

Attendance:

Two or more unexcused absences from class may result in failure.  Two unexcused late arrivals, or early departures (eg, not returning from dinner, or other unexplained disappearance) will be marked as the equivalent of one absence.  Absence from a class is not an excuse for skipping a tutorial, reading assignment, or posting an assignment.  You are fully responsible for completing work.

 

Readings:

Readings and tutorials will often be delivered through the web - via links (URLs). Critiques will frequently be initiated from various topics covered in the readings - in other words, please use the concepts you read about in discussion of fellow students' work.

 

Food and Drink in the Computer Labs:

No.

 

Weekly Schedule

________________________________________________________________________

 

Week 1

Introductions

in class:

Introductions; course overview, resources, setting up personal/class blogg at www.blogger.com , and registration matters.

Timeline of Computing from Wikipedia

The Greatest Moments of Computer History are Speeding Up

 

Some preliminary terms:

Process: is a series of tasks that result in a goal

Computation: is the act of determining the specific tasks and the instructions to accomplish those tasks that need to be performed to reach the goal. If one can specify a sequence of tasks and related instructions which when followed will result in the completion of the goal then the problem is thought to be computable. Computation is about breaking a process into a series of tasks.  Often these tasks must be performed in a specific sequence, where, for example, the performance of task 2 is predicated on the performance of task1, etcÉ A series of tasks leading to a specific result is called an Algorithm.

Algorithm: A series of tasks leading to a specific result. Do you hear that echo?

Functional Abstraction: lets us manipulate information without worrying about the details of its underlying representation.

Data: Representation of facts, concepts, or instructions in a formalized, symbolic manner suitable for communication, interpretation, or processing by humans or by automatic means. Any representations such as characters or analog quantities to which meaning is or might be assigned.

Information: a difference that makes a difference:  a perceptible, experiential, and meaningful change of state. Information is stimuli that have meaning in some context for its receiver.  Some (if not all) kinds of information can be converted into data and then passed on to another receiver. Relative to the computer, we can say that information is made into data, put into the computer where it is stored and processed as data, and then put out as data in some form that can be perceived as information. Information must have a means of its representation. If we had the right kind of magic microscope, we should always be able to see the digits that represent whatever information is present. Information is never "just thereÓ.

Simulation: the act of transposing the internal, symbolic processes and resulting data of a computation into the sensual domain of a human.

Here are two simulations:

Hubble Spacetelescope Ð scroll down and to the left to Òhow Hubble images are madeÓ

UCSD Supercomputer visualizations

Game of Life Applet

 

Assignment:

Read:

The Computer: a tool for thought experiments Ð Frank Dietricht, Sections I and II

Prepare:

Prepare a brief (10 min) presentation on your work to present to class next time.  The point of this is for me to get to know you.

 

________________________________________________________________________

 

Week 2

On Computation and the physical world

 

First letÕs see your worksÉ.

Then weÕll review, then:

Discussion on Dietrcht Text, with examples of works mentioned in the text

Some Definitions.  Reference to Code, by Charles Petzold, and The Pattern on the Stone, by Daniel Hills.

 

Assignment: readings:

  1. The Last Question, by Isaac Asimov
  2.  God is the machine, Kevin Kelley, from Wired Magazine.

****DONÕT Worry about ----ˆWrite a brief code for the virtual Turing Machine, TM - Java Applet

 

If you would like a comprehensive review of the BS2 Ð IÕll go over this in class next time

 

PLEASE BRING YOUR PHYSICAL COMPUTING SUPPLIES TO OUR NEXT CLASS

 

________________________________________________________________________

 

Week 3

Discuss readings,

Summarize with concepts of descriptive/causative language.  General purpose computer vs. specific purpose computer.  Recursion, Finite-State Machine Concept of digital groundÉ

 

God is the Machine

 

1. Cellular automata n.) A system made up of many discrete cells, each of which may be in one of a finite number of states. A cell or automaton may change state only at fixed, regular intervals, and only in accordance with fixed rules that depend on cells own values and the values of neighbors within a certain proximity.

Cellular automata are - by definition - dynamical systems which are discrete in space and time, operate on a uniform, regular lattice - and are characterized by "local" interactions - from: (http://cell-auto.com/definition/)

 

On Finite-State Machines, from Daniel HillisÕ ÒThe Pattern on the StoneÓ.

 

 

Rechnender Raum, Konrad Zuse

 

 

Some things to think about:

  1. Realize the relationship between what an algorithm is - eg, a series of discreet tasks designed to produce a specific result, and the definition of cellular automata above. 
  2. The Boolean logic gates function as discrete cells. In other words, the computer, as currently understood as a Boolean algebra machine is an example of cellular automata. 
  3. The point of periodicity is interesting.  The flow of electricity through the computer creates a fundamental pulse, or pulses.  Our heartbeats, what other rhythms unite us? 
  4. From the description of the Turing Machine above: software (logic) dependant, independent of the hardware.  As Dietch points out: ÒWhereas nature simply is, the art object is and also exists for ourselves; thus art serves as a means for human consciousness to reduplicate itself. Art is then a method of mirroring the thinking consciousness by externalizing its content. And by becoming an external object that presents itself to the mind, art becomes the manifestation and origin of other mental activities. Therefore, the creation of art and its perception can be understood as a dialectical act of becoming conscious of ourselves. Ò

               A.  Remember that I will ask you to create a proposal for a Òsoftware (logic) dependant/independent of the hardwareÓ work in a few weeksÉ

 

The Last Question:

 

1       What is ÒentropyÓ?  HereÕs a useful definition, but I would like to point out there there are several definitions of entropy, each depending on the system that it is applied to, anyway, for our talk, letÕs go with this definition : In classical thermodynamics, the entropy of a system is the ratio of heat content to temperature, and the change in entropy represents the amount of energy input to the system which does not participate in mechanical work done by the system. This definition comes from here: What is entropy?  We might also need to know what Chaos is Ð as it is mentioned at the end of the story:  so, letÕs imagine a roulette wheel, and define a chaotic system as Ð a system in which a small change in the initial conditions (the throw of a ball, the mass of the ball, the diameter of the wheel, and so forth) can produce a large change in the state to which the system evolves.

a.      LetÕs think about this quote, from media theorist Friedrich Kittler (excerpted from Òon the implementation of knowledge, toward a theory of hardwareÓ, available Kittler Text Hub) .Òto the degree that it appears in binary code, writing gains the enormous power to do what it says. It is no accident that what we call in ordinary speech a statement is called, in programming language, a command. Whatever technical drawing simply puts before the eyes, effectively takes place.Ó

b.     LetÕs look at this old film from 1965, Logic by Machine (part 1) (Yes, this is a VERY dry film, and these mathematicians don't exactly light up the screen with star power, but I still found it very worthwhile. Part 2 is especially interesting, as they get into the philosophical and social implications of these new machines, symbolic reality, artificial intelligence, etc.
The animation is cheap but effective, and the music by Morton Subotnick (who was to become an electronic music pioneer) is creepy and sparse.
(Recommended for those with the patience for it.)

 

Some questions:

    1. Where is the energy input to the system that does not participate in mechanical work done by the system coming from?
    2. How is entropy ÒreversedÓ in the story?

 

 

How Binary Math works

 

On Logic and Switches:

 

  To the ancient Greeks, logic was a means of analyzing language in the search for truth and thus was considered a form of Philosophy.  The basis of AristotleÕs logic was the syllogism.

 

In a Syllogism, two premises are stated, with each one being assumed correct.  From these two premises a conclusion is deduced. 

 

Here is a famous syllogism from antiquity:

 

á       All men are mortal;

á       Socrates is a man;

o      Hence, Socrates is mortal.

 

Here is a modern syllogism, from Lewis Carroll (author of Alice in Wonderland, as well as a Mathematician)

 

á       All philosophers are logical;

á       An illogical man is always obstinate.

 

Any thoughts on a solution to Mr. CarrollÕs syllogism?

 

How about:

á       Some obstinate persons are not philosophers Ð not obvious at allÉ.

 

  For almost two thousand years, mathematicians wrestled with AristotleÕs logic, attempting to corral it using mathematical symbols and operators.  Prior to the nineteenth century, the only person to come close was Gottfried Wilhelm von Leibniz (1648-1716), who dabbled with logic early in life but then went on to other interests.

  Then came Charles Boole.  I will go into BooleÕs life in more detail a bit later, but, for now letÕs consider the title of one of his most influential works from 1854 entitled: An Investigation of the laws of thought on which are founded the mathematical theories of logic and probabilities, often referred to as: The Laws of Thought.  The title of the book suggests an ambitious motivation:  Because the rational human brain uses logic to think,  if we were to find a way in which logic can be represented by mathematics, we would also have a mathematical description of how the brain works.  Remember the timing of this work, and itÕs country or origin: The industrial revolution in England.

 

  Boole invented a kind of algebra that looks and acts very much like conventional algebra.  LetÕs review a few fundamentals of algebra so that we may appreciate the genius of Boole.  When we do conventional algebra, we follow certain rules.  These rules have probably become so ingrained in our practice that we no longer think of them as rules and might even forget their names.

  The first rule is that addition and multiplication are commutative. That means we can switch around the symbols on each side of the operation;

 

á       A + B = B + A

á       A x B = B x A

 

  By contrast, subtraction and division are NOT commutative.

 

  Addition and multiplication are also associative, that is:

 

á       A + (B + C) = (A + B) + C

á       A x (B x C) =  (A x B) x C

 

  And, finally, multiplication is said to be distributive over addition:

 

á       A x (B + C) = (A x B) + (A x C)

 

 

Another Characteristic of conventional algebra is that it always deals with numbers, such as pounds of tofu, or numbers of ducks or distances that a train travels or the ages of family members.  Here is the genius of Boole: he made algebra more abstract by divorcing it from concepts of number.

 

 

In Boolean algebra, the operands refer not to numbers but instead to classes.  A class is simply a group of things, what in later times came to be known as a set

 

The + symbol in Boolean algebra means a union of two classes, and has come to be called a logic OR

The x symbol in Boolean algebra means an intersection of two classes, and has come to be called a logic AND

The 1 in Boolean logic represents  Òthe universeÓ, or EVERYTHING.

The 1 Ð in Boolean logic represents the universe excluding something.

 

Boolean Searching Ð perhaps this will make things more clearÉ

 

To exemplify this, letÕs reconsider the syllogism from the top of the page.

 

Boolean algebra provides a mathematical method for solving syllogisms.  LetÕs look at the first two-thirds of that famous syllogism again, but now using gender-neutral language:

 

á       All persons are mortal;

á       Socrates is a person;

 

LetÕs represent this in a Boolean algebraic expression:

 

  LetÕs use P to represent the class of all persons, M to represent the class of mortal things, and S to represent the class of Socrates.  What does it mean to say Òall persons are mortalÓ?  It means that the intersection of the class of all persons and the class of all mortal things is the class of all persons:

 

Hence, All Persons are mortal = P x M = P, where ÒxÓ is the sign for intersection/AND.  In case you are wondering, it would be wrong to say that P x M = M, Why? Because the class of all mortal things includes EVERYTHING that is mortal, animals, plants, etcÉ

 

To say, ÒSocrates is a personÓ, means that the intersection of the class containing Socrates (a very discrete class) and the class of all persons (a much larger class) is the class containing Socrates:

á       S x P = S

 

Because we know from the first equation that P equals (P x M) we can substitute that into the second equation:

á       S x (P x M) = S

 

By the associative law, this is the same as:

á       (S x P) x M = S

 

But we already know that (S x P) equals S, so we can simplify by using this substitution:

á       S x M = S

 

And now weÕre finished.  This formula tells us that the intersection of Socrates and the class of all mortal things is S, which means that Socrates is mortal.  If we found that (S x M) equaled 0, weÕd conclude that Socrates wasnÕt mortal.  If we found that (S x M) equaled M, the conclusion would have to be that Socrates was the only mortal thing and everything else was immortalÉ

 

  Using Boolean algebra might seem like overkill for proving the obvious fact, but Boolean algebra can also be used to determine whether something satisfies a certain set of criteria.  WeÕll look more into that in a moment.

 

So:

 

Boolean Logic. bool«ē-&n loj«ik) (n.) Named after the nineteenth-century mathematician George Boole, Boolean logic is a form of algebra in which all values are reduced to either TRUE or FALSE. Boolean logic is especially important for computer science because it fits nicely with the binary numbering system, in which each bit has a value of either 1 or 0. Another way of looking at it is that each bit has a value of either TRUE or FALSE.

 

Boolean Logic and Digital Circuits

 

Now lets make a vacation destination computer using the Boolean gates: And, Or, Xor, and Not.  The steps we need to take are to list the qualities we are looking for in a vacation destination and figure out if they are necessary Ð meaning everybody MUST have them, or generally acceptable, meaning everyone is OK with them.

 

Now lets make a list of the features that we are willing to consider.  Lets limit ourselves to five or sixÉ

 

After we have selected the features, and decided how important they are, lets create an expression for our criteria. 

In Boolean Algebra: an >>  

 

We will use brackets to clarify our logic.  Usually we will need to make a few drafts of the expression to make it clear.  When we have arrived at a clear expression, we will convert it into a virtual computer using Boolean Logic Java Applet

 

As a preliminary exercise, letÕs use the Boolean Logic Java Applet and use AND blocks and INVERTERS to construct and OR block.

 

In class Boolean Logic exercise/lab.  HereÕs the problem:  Randy Sarafin told me that he wants a male cat, neutered, either white or tan; OR a white cat, neutered, any color but white; or heÕll take any cat I can find if itÕs black.  Please help Randy by:

  1. Summarize his needs in a Boolean Expression, then
  2. Go to our new favorite toy (Boolean Logic Java Applet) and build Randy a cat computerÉ

 

 

Boolean Logic Tutorial Ð with test at the end!!! Ð but you donÕt have to take itÉ.

 

On Finite-State Machines, from Daniel HillisÕ ÒThe Pattern on the StoneÓ.

 

 

 

HereÕs more from Mr. Hillis:

 

 

Remember that I will ask you to create a proposal for a computer that does not rely on a desktop.  It will be a work of physical computing in a pure sense, where your logic will affect changes in an environment other than the motherboard of a PC.  Think about switches, connectors and registers, and letÕs think too about how the ÒthingsÓ we experience in our world as being external Ð specifically existing is a space separate from our mind Ð may actually be elements of an ongoing, recursive computation (recursion involves inserting a word inside of its own definition Ðwe are continually externalizing aspects of our own mind into an ÒexternalÓ environment in order to define ourselvesÉ  McLuhan often brought up the myth of narcissus Ð narcissus Ð whose name is from the word narcosis Ð narcotic, didnÕt realize he was looking at himself Ð how does this relate to this recursive, reflective, dialectic relationship IÕm describing?) Ð a part of our computed/built environment.  Toward this aim, lets begin to think about objects in our world as switches, connectors and registers (memory devices) Ð as coprocessors to our own computative actions, that change roles depending on who is experiencing with them.  Realize that static objects are neither.  Our physiological processes designed to take in stimuli are constantly active Ð simply because we see a chair does not mean that our eyes are then no longer sending the information into our brains that is experienced as chair.

 

An exercise could be choosing an object and defining what it is computing and how it functions as a mirror, and conveyor and register of memory.  Think about the components of computation: switches, connectors and registers.  Things that we can identify can alternate between all three states, depending on what pattern they are a part of.  Can you pick some thing and describe it as a switch, as a connector, and as a register?

 

A potentially simple example:

Found Photo Project

 

Perhaps these quotes by Francois LaChance might be useful. But first some definitionsÉ.

 

Axiom's of Francois LaChance

á       Recursion

 

 

 


Abstraction is good.  Clear communication about abstraction better.  One is of the life of the mind.  The other, of the life of the mind in a body. 


These boldly stated values are contagious.  The propagation of stances that affirm both feeling and thinking is salutary for bodies and minds contending against anti-erotic and anti-intellectual forces, positions, and effects.  Passionate theorizing fosters a culture of the question and such a culture cannot be disinterested, cannot be insensitive to the manner of posing questions, cannot neutralize inquiry.  To remind oneself of this at the outset is also to remind oneself that passionate theorizing and adequate abstraction, like appropriate technology, contribute to clarity and action.  Theory has consequences.


Abstraction transports one from the given to the possible.  As abstraction moves away from an underlying reality, a putative last instance, it moves towards a form, a portable pattern, a template.  Abstraction is akin to transcoding. In the succession of analytic and synthetic moments, in the movements of separation and recombination, a materialism is feasible, thought and bodily patterns readable.

 

 


Technology, perception and reproduction are ideologically inflected.  This itself is an ideological position.  It is a position that claims that an apparatus orients meanings.  It is also a position that redeploys points of departure in that meanings orient the apparatus.  Of course, meanings and apparatus inflect the orientation.  Such a shell game in a field of axioms, such a bending of metalevel relations, has material consequences for one's understanding and interaction with machines and systems.


Depending on how one constructs one's machines, one may be locked into two-player games and double-bind situations. (n1)   A dialectical understanding of the senses offers alternative games and a machine fuelled by its own activity.


A sensorium is a receiver and a dispatcher.  A sensorium is a semiotic machine.  Such a device is capable not only of sensation.  It remembers; it perceives.  Acts of perception as discrete somatic signals form a sequence.  Sequences and their manipulation are the basis of sorting activities and of stories.  The possibility of treating somatic signals sequentially also ensures that a sensorium can be its own translation device.  One sensory modality can "inform" another.  Indeed, cross-modal encoding acts as a material support for narrativity in cognition.  An interactive sensorium permits a functional but non-reductive approach to narration.  Narratives can serve a mnemonic function or act as an algorithm for problem solving.


For such a machine, perception is communication and furthermore the fundamental unit of human interaction is non-dyadic.  Such design criteria pose a challenge to the reproductive and perceptual models of Marshall McLuhan, Walter Benjamin, Louis Althusser and Mary O'Brien.  Adequate models of reproduction and perception require triangulation.

 

3.0

Asking a question is akin to telling a story.  Drawing a picture is like telling a story.  Both, drawing pictures and asking questions, are ways of orienting.  Both focus attention.  Of course telling stories is a way of orienting.  The circularity of these assertions depends not upon the equivalency of the products, question, picture, story, but the activities, asking, describing, telling.

3.0

3.1

As ways of orienting, all are moments of a relentless semiosis, all rework representations, all participate in some measure of transcoding.  These ways of doing are readily framed as the potential of an object.  What can be described becomes narratable and open to interrogation;  what is askable has a story.  Actions and objects correlate;  praxis bears on semantics.

3.1

 

 

Some artworks:

 

Р      We Edit Life - "Experimenters in visual perception are using computers to create weird and random patterns that never occur in real life to find out what and how people see when these patterns are shown to them. The art of computer graphics is only in its infancy yet it is already stimulating creative thought in far out areas where research is likely to get complex and unwieldy. If offers not only the means to quicken the pace of discovery but an ideal of communicating what we may discover" - We Edit Life., by vicki bennett Ð check her site, youÕll like it.

We Edit Life was commissioned in Spring 2002 by Lovebytes in partnership with the Studio of the North, funded by the European Regional Development Fund and the Regional Arts Lottery Programme. We Edit Life is now available for purchase on a compilation DVD called "Volatile Media".

This is some next-level stuff, people

 

-    Marcel van der Drift Ð doors of perception 7 videos.

 

 

Tech:

Introduction to Physical Interaction Theory

 

 

Physical Computing

BS2_Tutorial

Physical Computing: references and materials page Ð check it out.

 

Jitter: video tracking

There are some objects