CALENDAR
subject to change...

ALiCE:
Artificial Life,

Culture & Evolution

ISIS
Information Science & Information Studies Program.

Computer Science
Visual Studies
72
Simulations using Multiagent and Evolutionary Computation

Fall 2009

Lab: Tu/Th 10-12:50
Perkins LINK Classroom "6"

nick.gessler(at)duke.edu

"A New Way of Knowing" Commencement Address, June 15, 2008. Nicholas Gessler, Founding Faculty Member, UCLA Human Complex Systems Program:

In Donald Rumsfeld's controversial career, one statement of his stands out as an admonition against simplistic plans and idealized expectations:

There are known knowns. These are things we know that we know. There are known unknowns. That is to say, there are things that we know we don't know. But there are also unknown unknowns. There are things we don't know we don't know. Donald Rumsfeld

Perhaps, one of these "unknown unknowns" for Donald Rumsfeld was complexity. Perhaps, he didn't know that he didn't know the importance of the complex variety of perceptions, beliefs, goals, plans and actions in the world of social and cultural affairs. For us, in the Human Complex Systems program, social and cultural complexity is a "known unknown." It is the focus of our work. We know that we don't know the often counter-intuitive processes at work in society and culture, processes that interact and co-evolve in a dynamically ever-changing world. It is this complex network of causes and effects that we seek to describe, to understand and to explain in our Human Complex Systems Minor.

For us, complexity is a "known unknown," an unknown that was once thought to be unknowable.

The U.S. Department of Education writes: "The challenges of the 21st century will require new ways of thinking about and understanding the complex, interconnected and rapidly changing world in which we live and work. And the new field of complexity science is providing the insights we need to push our thinking in new directions." A Report of the U.S. Department of Education

Much of complexity science arose from the general discovery of computation in the natural world around us, and the specific quest to build machines, computers, on which to simulate these multi-agent systems. As the power of consumer-off-the-shelf computers has grown, as the languages that we use to talk to computers have become more available, and as both have declined in cost, the desktop computer has become the instrument of choice for exploring our own ideas through simulations written by our own hand. No longer must we exclusively rely on someone else's programmed applications; we can write our own. No longer must we passively accept vague verbal arguments pretending to tell us how the complex world works; we can translate those into would-be worlds. Now, albeit with unrelenting effort, we can build artificial worlds, artificial societies and artificial cultures on our own. We can experiment with the theories and hypotheses they embody on desktop laboratories, evaluating one "what-if" scenario after another. In doing this, we can tell which worlds are plausible and which are not, which ideas at their foundations are credible and which are not. Among a wide range of theoretical explanations we can separate those within the realm of possibility from those that lay outside reality. It is not an easy task, but it is both insightful and necessary. . .

Rushworth Kidder, President, Institute for Global Ethics, reminds us: "In times of fear people turn to fundamentalist mindsets, and I don't mean that only in terms of religion. There's economic fundamentalism; there's political fundamentalism, and so forth. And that's really a reducing of the complexity to very clear black versus white, right versus wrong, issues. When that happens, it is very easy for people to take stark, and harshly polarized, points of view and simply lob bombs back and forth at one another verbally. I think there is no question that that is, to some extent, the nature of the discourse in this country right now. And I long to have us move to an understanding of the complex nature of these things." Rushworth Kidder (President, Institute for Global Ethics). Radio Interview, "The World," November 22, 2005

It is the little things that build the underpinnings for both our highest triumphs and our deepest failures. It is an aphorism of our field to say that complexity arises from the bottom-up: from the seemingly disordered chaos of local rules there arise ordered global patterns of behavior. In this interpretation of emergence, "Both God and the Devil are in the details."

Next year I will be leaving UCLA to build a program in "Artificial Life, Artificial Culture and Evolutionary Computation" at Duke University. I will miss my colleagues here, with whom I worked to build our program in Human Complex Systems. I will also miss the many students I have had who have inspired me with their new insights and ideas and who have pushed me towards confronting the new challenges in our field, just as I have pushed them towards confronting the smallest details of cultural processes. To the many parents who are here, I congratulate you on your daughters' and sons' accomplishments. Your investment in their education has reached one of many levels of fruition. Congratulations to you all. And many "thank you's" to my colleagues, to our students, to their parents, and to our friends…

On a lighter note, earlier this week I went to see the movie IRONMAN. I encourage you to see it. Two scenes took my breath away: In it you will see a marvelously compelling simulation of a 3D computer graphics terminal of the future. You will also see a wonderfully convincing simulation of a robotic suit. These are both the result of astronomically complex computer calculations. Think of the millions of bottom-up computations that went into this production. Think, for a moment, what might happen if this talent were turned towards modeling the social and cultural issues of our time?

I would also encourage you to attend the upcoming conference on computer graphics called SIGGRAPH, the Association for Computer Machinery's Special Interest Group on Graphics. It will be held at the Convention Center in Los Angeles from August 11th to 15th. There you will see the latest innovations in simulation, largely for the entertainment industry. It is those techniques that we must learn to master. Again, that is SIGGRAPH (spell it out). Some of us will be there…

In this talk I've focused mostly on simulation, the re-creation and re-presentation of social and cultural experience as a formal model. Both experience and reflection are essential to understanding; each informs the other. And, reflecting on reflection itself, you may come to realize that it too is another facet of simulation in… Again, "thank you all," my colleagues, our students, their parents, and our friends. . .

 

And the signifieds butt heads with the signifiers,
and we all fall down slack-jawed to marvel at words!
While across the sky sheet the impossible birds,
In a steady, illiterate movement homewards.

Joanna Newsome,
"This Side of the Blue"
(2004 Drag City Records).

 
 
 

Please look at a previous Course Calendar for an idea of what we will cover.

The theme of this course is how to represent social realities in computer simulations.
How do we construct more reliable, robust and comprehensive representions of the world?
How do we describe, understand and explain cultural phenomena?
Think about the advantages and shortcomings of the following representational media:
Thoughts - Natural Language - Writing
Art, performance, graphics, diagrams, pictures, cinema.
Mechanical, hydraulic and analog computation.
Computation as today's desktops, laptops, gamestations, supercomputers.

Think about these different media of representation
as cognitive/technological adaptations
to our social and physical environments...

We will also devote time to studying "networks of trust, secrecy and deception."
This will include the fields of cryptology, espionage and propaganda.

And, we will devote time working with physical artifacts from the history of computation as
well as programming realworld applications with sensors and actuators.

 
 
Tuesday
Thursday
 
 


Genetic & Evolutionary Computation Conference
Montreal / July 8-12, 2009
CFP due January 28

IEEE Alife 2009
Nashville / March 30 - April 2009
CFP due November 12

ECAL 2009: Darwin Meets von Neumann
European Conference on Artificial Life
Budapest / September 9-12, 2009
Cached Version


IEEE Congress on Evolutionary Programming
Trondheim, Norway / May 18-21, 2009
CFP due November 14


World Summit on Genetic and Evolutionary Computation
Shanghai, China / June 12-14, 2009
CFP due December 20

 
 
Symposium on Cryptologic History

Laurel, Maryland / October 15-16, 2009

   

Starting from scratch, SaveProjectAs is clicked ONLY ONCE at the beginning of an application BEFORE you push the GREEN arrow. Click SaveAll repeatedly.

To resume working on a previously saved project Double-Click on Project1.bdsproj. This will open Borland along with your project.

DO NOT type in or delete event-handlers by yourself. Let Borland do it.

ALWAYS use Borland with your application on the WorkSpace. NEVER use it directly with your USB or CD-ROM. Transfer folders between the WorkSpace and your USB or CD-ROM only when Borland is CLOSED.

 
 
Color Code:
Notes on previous days.
Color Code:
Reasonably certain agenda.
Color Code:
Just notes from last year.
 
Week 0
 

January 8

INTRODUCTION to the course and to Borland and C++ for Windows...

Video: Karl Sims "Evolved Virtual Creatures."

Programming Exercise
Writing a Windows application from scratch, just some frivolous fun...

 
Week 1

January 13

INTRODUCTIONS:
Participant introductions.
The course itself and Borland and C++ for Windows...

Introduction to the origins of computation:
Once over lightly on the cryptographic foundations of computation: The Hebern machine, the Enigma, the Swiss NEMA (Neu Machine) and the Russian Fialka.

PowerPoint Introduction to Artificial Culture.
Networks of secrecy, trust and deception occur in all human activity in all cultures. In the military, psychological operations and intelligence communities these practices are raised to a high art and we will use examples from these domains to shed light on everyday human behavior.
Physically Intermediated Cultural Cognition

Participant Reports on Current Issues.
I invite each of you to investigate issues related to the course that appear in the news or are otherwise of interest. As some examples, I have begun some webpages on yellow dot codes, the Eurion constellation, invisible UV markings and algorithms for detecting currency in images. RFID would be another interesting theme to develop.

Programming Challenge 0: Halfway There
Writing a Windows application from scratch, programming on the fly...
Blocking out the code in terms of what jobs (functions) are needed to get the job done.
Your constant friends: Programming Errors.
Pause/Pause and cursoring over variables to reveal their current values.

What you need...
Our PARTICIPANTS page.
Our INDEX pages...
Our SIMULATIONS pages...

What is AGENCY?
agency as causation...
agency as functionality...
agency as sense, think & act ("STA")
complexity as multiagency
multiagent & agent-based-modeling

January 15

DVD Short: "Spy School: Inside the CIA Training Program" a special feature from the movie THE RECRUIT.
Networks of secrecy, trust and deception occur in all human activity in all cultures. In the military, psychological operations and intelligence communities these practices are raised to a high art and we will use examples from these domains to shed light on everyday human behavior.

Remember: Don't let BORLAND see anything other than your desktop (or if you must, your private server space).
Never invoke SaveProjectAs more than once. Never, never, never change its target!
For safety, unplug your USB stick while using Borland.
Never write or delete an event handler yourself. Let Borland do it for you.

Debugging:
Programming Errors are your friends. Don't be afraid of them...
Pausing to probe the values of variables can be an incredibly useful aid.
Don't forget to constantly be thinking of how the code relates to the behavior of the software.
Study the way the software behaves in order to understand how the code works or doesn't work to your expectations.

Review of the Handout and Review of the Fundamentals:
Dos & Don'ts
Borland IDE (Integrated Development Environment)
Windows API (Application Programmers Interface)
Windows & C++ Programming Fundamentals.

Backing up your work:
Remember to back up your project file work on your USB stick and or your private server space.
Remember to click SaveAll after every few successful runs.
How to save versions of your work in different stages:

  1. Close down Borland.
  2. Copy and Paste a duplicate of your entire project folder.
  3. Rename the duplicate folder as version 2 (3, 4 or whatever).
  4. Open that new folder and double-click on Project1.cbproj.

Programming Challenge 0: Halfway There (due next Thursday morning)
Continuation: Writing a Windows application from scratch, programming on the fly...
To re-open your work in Borland, simply double-click on Project1.cbproj.
Some challenges revisited: Keeping the user from entering more than one camp location.

Comment your code profusely...

Some Tweaks:
Adding Color - the ColorRamp function
Pasting-in (stealing) code...
Some enhancements on our simulations pages.

For Tuesday: Study your handouts and see what you can do the enhance your application.

 

 

The Standing Assignment for All Programming Challenges
DETAILS

Explore - Thoroughly familiarize yourself with the application and its behavior.
Enhance - Improve the visualization and the interface and modify the multiagent algorithmic code.
Experiment - Document in color screen shots and text your new "what-if" scenarios.
Enjoy - Be creative! Be bold! Some things will work; some won't.

Week 2

January 20

Adding an Icon - IconEdit32.

Some new visual components:
TTrackBar to select the number of iterations.
TEdit to show the iterations after a run.
TRadioGroup to select the type of visualization.
FormPaint to restore the screen when it is uncovered.
TPanel to create a more logical GUI (graphical user interface).
TLabel to enhance the GUI.

Some new enhancements:
Adding a new function to count the maximum number of hits on a pixel.

We quit at 11:30 for the President Obama's Inauguration. We'll try tuning it in on CNN but I suspect there may be an Internet bottleneck, so keep an eye out for televisions.

January 22

Some new enhancements:
Changing the Properties/Settings/Screen Resolution from 1024x768 to 1680x1050.
A faux shadows function.
Adding sound: Beep(), MIDI and PlaySound()...
Slowing things down for dramatic effect with Sleep().
Going where we haven't gone before: 3D?

Some tweaks to the algorithm (algorithm "bending"):
Changing the divisor.
Changing (corner + point)/2 to (corner - point)/2.

In-Class Individual Practice and Review...

Explore - get to know it!
Experiment - describe & explain it's behavior!
Enhance - add new functionality!
Enjoy - play with it!

 
 
Week 3

January 27

Programming Challenge 0: Halfway There
Due Today.

Participant demonstrations...

Video: Jeffrey Ventrella "Disney Meets Darwin."

Evolutionary Computation and Multiple Agency
The "Evolutionary Concert Tour," revisiting the travelling salesman problem.
Evolution after Charles Darwin and Alfred Russel Wallace,
how the mechanisms are encoded in the software:

  • Recombination: Reverse, Shuffle, Rotate with preset and random parameters.
  • Reproduction: Asexual, sexual, "orgiastic" (multisexual).

The fitness landscape.
Modifying the fitness function:

  • Shortest distance
  • Longest distance
  • Penalty/Bonus for crossing boundaries
  • Optimizing paths to visit alternating versus same households
  • Moving everything into 3D, the "Travelling Ferengi Problem."

What other fitness criteria could we add without too much difficulty?
Please hand in your ideas and discuss them on Thursday?

January 29

Programming Challenge 0: Halfway There
A few more p
articipant demonstrations...

Video: Karl Sims "Galapagos."

Evolutionary Computation and Multiple Agency
The "Evolutionary Concert Tour," continued...

Modifying the fitness function:
What other fitness criteria could we add without too much difficulty?

The fitness landscape, a visual metaphor derived from a two-variable problem,
where the fitness of combinations of the two variables is plotted as the elevation:

  • Smoothness or ruggedness of the landscape.
  • Local optima versus global optima.
  • Evolution procedes by hill-climbing.
  • How reproduction and recombination ("mutation") climb hills.

The combinations pathways in the ECT is vastly larger than the 2d example above.
How do we visualize the fitness landscape for the ECT?
By plotting the optima we discover, but we don't know what the slopes look like...

More "Nuts & Bolts" issues:

  • Bits, bytes and hexadecimal codes.
  • ASCII code: the Tektronix Chart and the full ASCII chart.
  • Notepad.
  • SynEdit.
  • Writing to "Save" and reading from "Open" a file (deferred until GOL)
  • Decrypting ASCII "text" data. (Handout)

For next Tuesday, please try to solve these coded messages:
to be posted this afternoon

Note: I will be in Los Angeles and incommunicado until Tuesday....

 
Week 4

February 3

Programming Challenge 1: Conway's Game of Life:
An introduction to multi-agent massively-parallel programming with cellular automata...

If some features of your application don't work properly, please check them against the
GOL source code
that we developed today.

 

February 5

Using the Windows Accessories / Calculator / Scientific to compute binary and hexadecimal representations.

Mirek's Cellebration
A generalized 2d 2state application:
Try B1L3 with a single dot.
Try B1L34 with three contiguous dots.

Some variations on Conway's GOL:
Using CAs as "trap-door" functions.
ColorRamping deaths or births.
When does the simulation "end?" Plotting the population through time.

Programming Challenge 1: Conway's Game of Life:
continued...

If some features of your application don't work properly, please check them against the
GOL source code
that we developed today.

Enhance the application. You might include several buttons which introduce new (seed) patterns on the screen. Experiment and Explore the GOL and prepare an ethological study of several aspects of that world in detail: e.g. relative proportions of various species, interaction of species with single cells, different initial conditions, designing creatures with special behaviors, etc.

Discursive Challenge 0: Ed Fredkin's "Digital Philosophy:"
Please read:
"A Finely Mottled Universe" (please check the "BlackBoard" for it's appearance).
"A New Cosmogony" on the web.
Discuss Fredkin's notion of "other" in relation to cellular automata, reality and other "relevant" philosophies or epistemologies.

Conway's Life Glossary (a creature directory)
Various ways to seed Conway's world with specific creatures...
Creating a palette of TImage transparent bitmaps (.bmp) which look like buttons...
(The bottom-left pixel will be taken as the transparent color and the RGB values must be dead-on exactly the same.)
Using a TComboBox or TRadioGroup to select creatures...

Note: I will be in Tucson and incommunicado until Tuesday....

 
Week 5

February 10

Programming Challenge 1: Conway's Game of Life:
continued...

Executable won't run on any other PCs?
Be sure that Project/Options/Linker/Linking "Dynamic RTL" is UNchecked!
Be sure that Project/Options/Packages "Build with runtime packages" is UNchecked!
Then press the green Run arrow...

Application start-up:
In the form constructor event-handler: reset(RANDOM).
In the PaintBox OnPaint event-handler: showThisWorld().

The TMainMenu component.
The difference between
random() and Randomize().
Cleaning up the graphics with DoubleBuffered = true.

Using the MouseDown event to draw on the PaintBox.
Using a transparent bitmap TImage on a TPanel as a palette of "creatures" to be chosen for a MouseDown event.

Changing the Cursor property of a visual component.

FileSave and FileOpen dialogs...

February 12

Programming Challenge 1: Conway's Game of Life: DUE TODAY:
Participant demonstrations...

Discursive Challenge 0: Ed Fredkin's "Digital Philosophy": DUE TODAY:
Discussion...

Programming Challenge 2: Evolutionary Concert Tour (ECT) Revisited:
In preparation for EVOLUTION WEEKEND:

Please see what you can do to tweak and enhance the ECT application...
We download the zipped project files and open them in Borland.

What you might try:
Implement some of the other selection criteria that we discussed two weeks ago.
Implement some other reproduction criteria (sexual, orgiastic, hybrid, etc.).*
Implement some other recombination or "mutation" mechanisms.*
How do these changes compare with the original evolutionary parameters in terms of speed of arriving at an optimum or in terms of the shape of the fitness landscape?
Why do you think the changes produced different results?


*It would seem best to pick operations that only produce valid offspring...

How would you go about evolving a solution to Sudoku?
(Solving the "pattern" of numbers rather than the precise numbers themselves.)
How would you go about evolving a solution to a monoalphabetic substitution cipher?

Please prepare to turn in your modified project files.
Discuss in writing the code you wrote or modified and the results you observed.
Discuss in writing answers to the questions above.


12 February 1809
to
19 April 1882
Week 6

February 17

Video: National Security Agency.
Johnny Depp narrates...
I would like you to think about the role of the intelligence communities, specifically their practices of cryptography and cryptanalysis, as the catalysts for the development of the computer as we know it. These are state-level actors managing "networks of trust, secrecy & deception" through both human agency and technology, but beneath the state-level, all the way down to the level of the individual, these same processes take place. We, as individuals, groups and corporations, manage our own "networks of trust, secrecy & deception," in equally complex ways, though perhaps less vigorously and with fewer resources. Please be thinking about how we interact with others, and how we sculpt our own personas and our material and physical environments to further our own ends. Think about how cognition does not exist solely in our heads, but also in our physical surroundings. Think about the "media" through which cognition operates and how information passes from one medium to another and is, in this process, changed. Think about how "physically intermediated cultural cognition" could be written into the computer simulations we are working with...

Programming Challenge 2: Evolutionary Concert Tour (ECT) Revisited:
In class work on the challenge...

February 19

Programming Challenge 2: Evolutionary Concert Tour (ECT): DUE TODAY:
Participant demonstrations and discussions...


PROGRAMMING CHALLENGE 3: Schelling's Segregation Model and
Diffusion Limited Aggregation, an introduction to the user's view...

Let's see what we can do to put more "smarts" into the agents' heads...

 
Week 7

February 24

PROGRAMMING CHALLENGE 3: Schelling's Segregation Model and
Diffusion Limited Aggregation, an introduction to the coder's view...

Let's see what we can do to put more "smarts" into the agents' heads and more complexity into the environment...

Maps - Thinking About Intermediation.
How are maps designed (how they convey visual or tactile information to the user and how the physical characteristics of the medium in which that information mediate that process) in difficult social and physical environments and situations (think about emergency and military situations where "getting it wrong" can cost lives)?
Situation maps.
War rooms.
Kuwait sand table.
Google Earth:
38°15'57.38"N
105°57'22.43"E
Google Earth sandbox.

The Sluis digital elevation model: explanation, application.
The color bitmap .bmp.

Some added tweaks:
A) The neighborhood has been expanded to 48 cells which also means that a 24 cell ring neighborhood is available.
B) The application can now accommodate assimilation. Note that a modification must be made to keep the program from halting.
C) Demo of some new patterns which emerge with ring neighborhood rules.
D) What about mixing segregation and assimilation rules?

February 26

Steganography - information hiding vs. Cryptography - information encipherment
The one-time pad... A Russian OTP.
Generating random ont-time-data: vacuum tube noise, radiation.
Radiation as a function of altitude in aircraft.
Deniable encryption...
Hiding information in images, sound files, text, etc...

Discursive Challenge 1: Contemporary Asymmetric Cryptology & Steganography: Keeping in mind the video "National Security Agency," and the notion of "physically intermediated cultural cognition," what are the asymmetric methods that are thought to be in use today by "terrorists" (insurgents) and states? What are the logistic, technological, economic and cultural contexts of these communications? (Journals, conference proceedings and the Web (perhaps Wikipedia) may be among your best sources although the library may have books on the subject.)

PROGRAMMING CHALLENGE 3: Schelling's Segregation Model and
Diffusion Limited Aggregation, continued...

How is space represented? Cellularly, as location and as bitmap channels...
How is time represented? Agent/Spaces are polled randomly...
How are agents represented? Minimally, as the spaces themselves...
Agent/Space types: Cyan, Magenta, Yellow, Silver...
Agent/Space types: White (barriers) and Black (empty space)...
Writing rules...

 
 

Evolution On the Web

Alife Fusebox
Dawkin's Biomorphs
Rob Saunder's
GenArt Evol

John Mount's
Genetic Art IV

Week 8

March 3

PROGRAMMING CHALLENGE 3: Schelling's Segregation Model and
Diffusion Limited Aggregation, enhancing the application, continued...

March 5

PROGRAMMING CHALLENGE 3: Schelling's Segregation Model and
Diffusion Limited Aggregation, DUE TODAY.
Participant Demonstrations...

Discursive Challenge 1: Contemporary Asymmetric Cryptology & Steganography. DUE TODAY.
Discussion...

Video: Artificial Life (VPRO Amsterdam)

 
 

March 10

SPRING RECESS

March 12

SPRING RECESS

 
 
NEXT: GPS, FLOCKING, REALWORLD INTERFACING, "REALITY MINING"...
 
Week 9

March 17

!!! Any late programming & discursive challenges and must be in by next Tuesday !!!

!!! Be Thinking of a Course Project !!! (Start early.)

Segregation/Assimilation Revisited:
RGB gradient-climbing on a color bitmap image emulates "painting with smart particles."

Discursive Challenge 2: Contemporary ALife, ACulture, EvoComp Research. DUE TODAY
Search the Web to find out what is currently going on in the fields of Artificial Life, Artificial Culture and/or Evolutionary Computation. Search for current research by the artists and scientists interviewed in Thursday's video, by presenters at the various conferences in the links above, by David Fogel, John Koza, or anyone in the field. What is his/her research project? What is the question under study and the philosophy invoked to discover answers? What algorithms are used? How does the researcher's work differ from traditional scientific practice? Present (in writing) an overview and critique (with citations). Be prepared to present your investigation in class...

Discursive Challenge 3: Philosophy of ALife, ACulture, EvoComp Research. DUE TODAY
Discuss (critique, compare, contrast, comment), in writing, citing possible applications in your own field, the philosophies, epistemologies and ideas presented in the four articles handed out in class:
TIME Magazine 1950, "Can Man Build a Superman?" a.k.a. "The Thinking Machine."
Marvin Minsky, Public Lecture, Nara, Japan (1996).
Gessler, Nicholas, "Review: On the Order of Chaos" (2007) and
"Intermediation & Emergence" (2008).

PROGRAMMING CHALLENGE 4: Flocking, Herding, Schooling, Crowd behavior...
An introduction to the User's side...
Familiarize yourself with how it works.
Experiment...

March 19

Eventually, we will be displaying some of your work publically in the ISIS space: See Warehouse. Consequetly, pay attention to the aesthetics of your application as well as its complex functionality...

Changing the "LOOK" of your applilcation: Graphics
Getting away from Windows and Buttons...
Using drop-down Menus...

PROGRAMMING CHALLENGE 4: Flocking, Herding, Schooling, Crowd behavior...
An introduction to the Programmer's side...
Practice enhancing the simulation ...

 
Week 10

March 24

PROGRAMMING CHALLENGE 4: Flocking, Herding, Schooling, Crowd behavior...
Adding new behavioral rules.
Changing the imagery.
In-class work on simulation...

March 26

Video: Robofest Osaka 2001

PROGRAMMING CHALLENGE 4: Flocking, Herding, Schooling, Crowd behavior...
Version 18: Some enhancements to the "Banking" behaviors we began on Tuesday.
Remember that new "thing" agents require image coordination.
Collisions? Try: if(myDirection ?= directionToNN && distNN < radius) myDirection++
In-class work on simulation.

 
Week 11

March 31

PROGRAMMING CHALLENGE 4: Flocking, Herding, Schooling, Crowd behavior...
DUE TODAY:
Participant demonstrations...

PROGRAMMING CHALLENGE 5: Physical and Real-World Computing.
INTRODUCTION - Smartening up your computer. Connecting sensors and actuators...

EZLINK on eBay
The EZLINK card.

Physical Computing & Real World Interfacing:
RFID
Radio Frequency Identification
Phidgets      
GPS
Global Positioning Systems
Garmin GPS-12      
Magnetic Stripe Readers/Writers        
AD/DA Converters National Instruments EZIO Arduino Phidgets
Sensors &
Actuators
Bally Virtual Reels      
True Randomness Background Radiation      
Universal Aerial Video Platform UAVP      


Robotics:
MIT Leg Lab
Boston Dynamics: Little Dog, RoboHex, RiSE, Big Dog

April 2

FLOCKING SIMULATION:
Two bugs have been corrected:
The "Add" button now adds agents with sexual consistency.
The "Boundary" and "Behavioral" sonifications will not run simultaneously and the checked items in the "Sonification" menu operate correctly.

PROGRAMMING CHALLENGE 5: Physical and Real-World Computing.
Smartening up your computer. Connecting sensors and actuators...

Working with the EZIO board:
Applications which talk to the EZIO - "Realworld Interfacing."
The EZIO board itself and how to talk to it.
A reed relay board to boost the EZIO's power:
xxxxxpartially wired
xxxxxwired and ready to go
xxxxxconnected to six stepper motors
.

 
Week 12

April 7

Flocking revisited: moving the two banks (moveTargets())...

PROGRAMMING CHALLENGE 5: Physical and Real-World Computing.
Work in class on EZIO challenge.
A Telephone application.
A Stepper-Motor scanner.
Modifications to the Bally Reel driver.

April 9

ATSAC The Los Angeles Automated Traffic Surveillance & Control Center: Realworld and evolutioanry computing.

A laser gun

PROGRAMMING CHALLENGE 5: Physical and Real-World Computing.
Work in class on EZIO challenge.
A Telephone application.
A Stepper-Motor scanner.
Modifications to the Bally Reel driver.

 
 
If Classroom #6 is locked, go to the Library Circulation Desk (one floor up).
Tell them you are from my class. They should then let you in.
Please be sure to lock up (the cabinet and the door) when you leave.

 
Week 13

April 14

A re-organized RealWorld applications page and some new RealWorld applications:
For today's roll, please swipe your Duke (or any other card) near the rack at the back...
The Omnilux Tower...
The Laser Galvanometer...

PROGRAMMING CHALLENGE 5: Physical and Real-World Computing.
DUE TODAY:
Participant Demonstrations

COURSE PROJECT
In-class work...

April 16

The German ENIGMA machine:
The stimulus for the development of the computer.
Wikipedia entries on the Swiss "NEMA" and Russian "FIALKA."
In-class decryption exercise with the "NEMA" rotor machine.
"The Liberty Incident."

COURSE PROJECT
In-class work...

 
 
Please make sure to have everything turned in by the end of class, April 21st. I will be out-of-state for the Summer.
 
 
I will be available to help on programming challenges on Monday, from 10 until Noon.
I will be in Classroom 6. If it is not available, I'll be looking for another PC on that floor.
Please ask where those may be, there are some scattered near the printers, and some clustered at a lower level near the CIT offices.
 
Week 14

April 21

Coffee, cookies & refreshments:

Course evaluations: Supplementary questions:
1) Would you prefer to have coding examples printed out for you rather than working with them on the Web?
2) Would you prefer to have readings printed out for you rather than reading them on the Web?
3) Would you prefer to have more or fewer readings on the philosophical, cultural, scientific and cultural issues?
4) Would it be useful to have periodic objective quizes?

Course Project Presentations...

!!! Have a Great Summer !!!

 
No Final

No Final

No Final