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
________________________________________________________________________
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
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.
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Ó.
Here are two simulations:
Hubble Spacetelescope Ð scroll down and to the left to Òhow Hubble images are madeÓ
UCSD Supercomputer visualizations
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.
________________________________________________________________________
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:
****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
________________________________________________________________________
Discuss readings,
Summarize with concepts of descriptive/causative language. General purpose computer vs. specific purpose computer. Recursion, Finite-State Machine Concept of digital groundÉ
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:
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:
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:
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:
Perhaps
these quotes by Francois LaChance might be useful. But first some definitionsÉ.
|
|
|
|
|
|
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
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: references and materials page Ð check it out.
Jitter: video tracking
There are some objects