Archive: December 31st, 2008

RMI calls

[Experiments,General] (12.31.08, 11:45 pm)

For my eventual monster programming project that will eventually (I hope) be the fruit of my labors as a PhD student (in addition to a big stack of paper that will make up the dissertation), I have been doing a bit of preliminary research. Mainly, I want to plan an architecture that is as clean and clear as possible. A challenge with academic projects is that they often stumble or run into problems after exposure to the outside world. My project is a system for simulating (and interacting with) characters in fictional worlds. This sort of thing requires many architectural layers, and in my experience, lots of trouble can come from letting the layers mingle too much.

So one natural question is: how to keep layers separate, and also have the project be extensible so that it can flourish after emerging from the comforting coccoon of academia? The problems I have run into the most frequently in extending my projects tend to fall under the categories of 1) organization, 2) persistence, and 3) networking. These questions are easily ignored when building experiments and prototypes, but when those are transformed into full fledged development, not having considered them can wreak havoc on a project. So, I’m doing these experiments in trying to figure out good architectures that could be used. I was thinking about networking and discovered the Java RMI framework. I looked at their tutorial which is deliciously short and extremely comprehensible. You would think that this sort of networking would be more cumbersome, but it’s really not.

I think I am going to plan on using RMI and design the character simulation system as a service. This will force me to think of interactions at a client-server level, and also make liberal use of Java interfaces. The RMI framework also relies on serialized objects for communication, so that means that messy and complex objects can’t just be handed from the client to the server. This is the sort of problem that occured with developing persistence in the InTEL project, and the sooner pinned down, the better.

Seymour Papert: Mindstorms

[Readings] (12.31.08, 3:05 am)

Mindstorms was originally published in 1980, and later republished in 1993. A lot of time has passed since both editions. Papert is writing on the use of Logo as a cognitive tool, and encouraging the idea that computation can help the way that children learn and think. Having learned programming through Logo myself, I have found Papert’s conclusions to be remarkably resonant with my own work. In the second edition foreword, Carol Sperry, an educator, remarks on how Papert was hugely influential on education though this book and the promotion of Logo in the classroom. She observes that computation reveals the arbitrariness of language, as well as the variance of potential answers to questions. This book is not about teaching a certain method of thought, a straightforward way of investigating a problem and finding answers. Rather, the book explains how computers might be used to teach metacognition. There is a pervasive theme of embodiment, practice, and activity within the text, making it seem very progressive from a cognitive standpoint.

In the introduction to the second edition, Papert makes a fascinating and outstanding claim: debugging is the essence of intellectual activity (p. xiii). As he explains the issues, omissions, and lack of clarifications of some topics in the original edition, Papert describes these flaws as bugs. The goal is to represent procedural thinking (and literacy) generally, but not tie it down to androcentric or mechanical modes. Papert’s chief examples of learning through computers are about mathematics, but this was not meant to imply that math is the only or most important issue that could be addressed, rather, it was the most accessible example in his perspective.

There are generally two dimensions to my inquiries into cognitive science. One is the study of how the minds of simulated agents might work. The other is to understand how people might interact with simulations in order to learn, feel, and benefit from them. This book falls squarely into that latter category. Papert gives an example of how he played with gears in his childhood, and this helped him learn mathematics in a very tactile manner, referencing the embodied experience with gears in memory while understanding math problems, even at an emotional level. The example of the gears is a review of learning based on practice. This is practical embodied experience working with a system. This understanding is continued and extended into other domains. This sort of argument would, on the surface, support the classic position of knowledge transfer in cognitive science. However, an alternative perspective is that the transfer is metaphorical. The study of learning involves the genesis and origin of knowledge, which is derived from Piaget. Papert studied under and worked with Piaget, so this influence makes a great deal of sense. The understanding of knowledge is cast in terms of models.


The proposal is that computers can help people change (and expand) the way they think. Papert argues that the reason why people are limited in the way they think comes from cultural and economic obstacles. One such obstacle to spreading of scientific knowledge is that people see scientific objects as belonging to others. Frequently, scientific and technical objects may be available, but their operation remains closed and forbidden. A very similar argument can be made with literature. Papert argues that computers will penetrate where other approaches have failed. And, in terms of the pervasiveness of computers, this is fairly accurate.

The political element here is very notable and important. Ultimately, this is about expanding mental models. Lakoff would ague that these come from metaphors which are also often very political, and connect to cultural modes of thinking. Papert makes a metaphor of scientific learning as compared to the learning of foreign languages. The comparison is that learning best occurs via immersion than classroom experience.

Piaget argues that children build their own intellectual structures. They learn without being taught. This may be considered or compared to model formation. This idea connects  nicely to Lave in terms of mathematics. Children build with things from the culture, those things are meanings. Meanings understood in this way can also be seen as symbols, specifically cultural symbols. People do learn math practically, but they do not see it as math, because it is not approached the same way that math is taught in the classroom. Papert attributes the difficulty in learning math and science to cultural factors, which is a difference from Piaget.

The turtle in Logo is an object to think with. They are embodied and projected references that help make use of real world understanding and experience. Children can use the turtle easily because it resonates with the way that they might think of a tangible object. Papert spends some time defending the idea of teaching children programming, as programming was generally considered (in the 1980s when the book was first published) to be a complex and difficult skill, best handled by experts.

Computers and Computer Cultures

Two types of thinking are described by Piaget: Concrete and formal. Concrete thinking is more tactile and embodied, whereas formal thinking relies on abstractions. Papert claims that the computer can concretize and personalize the formal. (p. 21) I might argue that this would be because of the computer’s representative and simulative power.

Papert discusses some of the fears of the negative effects of computers. Common fears are that computers would brainwash children and program them, or plug in and be totally engrossed and cut off from the rest of the world. Papert is optimistic in the face of this criticism, and I think that is because he seems to see procedural commands and constructive activity as the default mode of interacting with computers. The historical result is naturally a mix. Computers are pervasive and growing, but interaction sometimes is literate and other times is not.  Papert notably does not argue that the ideal future is inevitable or a given, but that computers can be positive. More positive developments require children to learn epistemological reflection (metacognition), which requires an intervention in the way that education works fundamentally.

Mathophobia: The Fear of Learning

Poetically, the trouble that adults have with understanding the world of children is described as that adults “forget” the wonder of what it is like to be young. Instead, it seems that what is the case is that children do not have strongly formed models of how the world works. Papert discusses the fact that children must learn the conservation of volume in pouring water from a wide glass to a narrow one. The idea that volume is conserved is a model, and a view of the world. Children’s worlds are open, and no models have set in yet, yielding a certain flexibility. Because children are learning and observing constantly, they are more comfortable with the diversity of and incompleteness of models. Maturity is essentially the entrenchment of established models, and the cutting off of others. Instead of seeing adulthood as a state of forgetting childlike innocence, adulthood may be seen as the reduction of the world to a select few models.

Turtle Geometry: A Mathematics Made for Learning

Papert looks at “styles” of mathematics. These are differentiated: Euclid’s mathematics is axiomatic, Descartes is algebraic, and Logo’s is computational. These ostensibly represent the same abstract domain of math, but their perspectives, methods, and metaphors are all very different. The formulation of math as styles relates to the authority of knowledge, that there is one right way to view a situation or a problem. Logo is explicitly playful, and it encourages freedom within its computationally bound space. Interestingly, Logo’s approach to math is differential: the computational manner of drawing shapes relies on changing values with respect to one another, and taking small steps. This approach is the same approach to math used by calculus, but works in a concrete and embodied sense, not a formal one.

Languages for Computers and for People

The emphasis here is on being open to understanding things partially. It is important to acknowledge the value of partial understanding, and not expecting to have the full knowledge of a system. The educational system encourages a view of the world as full of right and wrong answers, and teaches people to fear and reject mistakes.

Microworlds: Incubators for Knowledge

Microworlds are Papert’s term for a constrained system which has some interfaces for play. Working with and constructing microworlds is analogous to theory building. Building incorrect theories is important, especially as false theories are transitional to building better ones. The view that theories are true or false is pervasive, and is a major obstacle to teaching science which is mistakenly thought of in this way. Logo encourages children to build and test their own theories, and Papert describes a method for simulating Newtonian mechanics. Even working with an incorrect model reveals the way in which objects ascribe to physical principles.

Reading Info:
Author/EditorPapert, Seymour
TitleMindstorms: Children, Computers, and Powerful Ideas
Tagsdigital media, cyberculture, specials
LookupGoogle Scholar, Google Books, Amazon