Conjugation Junction

Please consider the very short computer program below, especially if you're not a programmer and/or if you've studied a foreign language with conjugated verbs.


This fairly simple code conjugates regular French verbs that end with the letters ER. Such a program can be written almost this simply in most computer languages. If you've studied French but not programming, you can probably understand how the program works from the points below.

  • The 1st line creates a set of the 8 standard French subject pronouns.
  • The 2nd line creates a set of the 8 regular ER verb endings. Their order corresponds with the subjects in the 1st set. (For example, "ez" is the verb ending that goes with the subject "vous". They are both the 6th items in their sets.)
  • The 3rd line asks the User which subject they wish to employ.
  • The 4th line asks the User which ER verb they wish to use with their chosen subject.
  • The 5th line simply strips the last 2 letters (the E and the R) off the verb chosen by the User, creating a "root" form to be combined with the appropriate verb ending.
  • The final 4 lines form a "loop", a repeated action. The loop takes the User's choice of subject ("subj") and compares it in turn with each of the subjects in the 8 positions in the subjects set. If a match is found, it jumps to the set of verb endings and selects the corresponding conjugation ("end"). The subject and the verb root are then displayed with the conjugated ending tacked on to the root.

If you studied a foreign language with conjugated verbs, we could use your knowledge and this code as an entry point to a wonderful range of fun and powerful programming concepts including functions, lists, conditional structures, data types, iteration and even exception handling. Your understanding and explicit perception of grammatical structures would be an incredible aid to your assimilation of programming operations, rules and syntax.


Now imagine the converse, trying to take advantage of someone's programming knowledge to teach them French. You'd show them the code above and tell them to use it as an algorithm for conjugating verbs. All they'd need was a list of ER verbs and they'd be set to start speaking French, right?


That's unlikely to be the case, of course. First of all, conjugation of regular verbs is simple and fundamental enough that it should properly be compared directly to one's native language conjugations rather than filtered through the unnecessary metaphor of a computer program. (My understanding of English grammar improved immeasurably from my poor study of French!) Secondly, even putting pronunciation aside, approaching a foreign language as a set of applied mathematical functions is disastrous.


I know because I tried to do it. In Brooklyn middle school, because I snobbily insisted on studying French rather than Spanish, I only ever heard the language in class. As we read no fiction and no one enjoyed speaking with our teacher (in any language), French for me rapidly became a series of abstract linguistic functions based on operations (grammar) and data (vocabulary). At the start, when all verbs were regular and tenses simple, I could get by, but soon with irregular verbs and compound tenses, the mathematics of it all became so encumbering and rife with exceptions that it seemed all but arbitrary. With my poor ear, minimal conversational experience and lack of any non-mathematical appreciation for the language, the French I developed was robotic: slow, methodical, impersonal and off-putting. When I finally got to France, I was unable to employ even these rude mechanics until I got a handle on how to present myself in a language not my own.


Legislatures in several of the United States are now considering whether to permit students to study computer programming in place of foreign language at the high school level. Folks have written eloquently elsewhere about why this substitution is so damaging to learning:

  • The study of a foreign language increases one's learning abilities in all areas.
  • A foreign language is the gateway to other cultures and one of the few outward looking elements of the education many young people get in this country.

I would humbly add the following:

  • Studying a foreign language makes it easier to learn computer programming for all the reasons demonstrated with the code above.
  • Knowledge of a programming language facilitates foreign language learning only on the most impractical, dehumanizing level.

Tellingly, it is not experts in computing or linguistics who are pushing these curriculum changes. It is elected officials, seizing on a simple mechanism to "teach kids to code", one that will not require any more thoughtful alteration of curriculum. These measures would decrease the likelihood that future programmers would study foreign languages, thereby handicapping their learning development in all subjects, including especially computer programming. Such students would actually have a harder time becoming the best programmers they can be, let alone the best global businesspeople or world citizens they can be. 

Sure, Spock.

I don't see many movies or much TV, but I did manage to catch Star Trek Into Darkness. (Yes, force me to capitalize the preposition there...) I'm a fan of both old Star Trek and Benedict Cumberbatch, the latter because of his fantastic work in the wonderful PBS Sherlock.

          The film recently triggered a personal epiphany. Cumberbatch will always invoke Sherlock Holmes for me, no matter how many starships he crashes into San Francisco. So there, in the penultimate scene of STID, are Spock and ... Holmes, slugging it out on the roof of some flying garbage truck. We all know that Vulcans are super strong, but readers of Arthur Conan Doyle (and watchers of the Robert Downey Jr. films) know that Holmes is preternaturally strong as well, unbending iron fire pokers abused by the mightiest Edwardian titans. Watson keenly describes Holmes' lethal speed, ferocity and brawn in the uncommon instances in which the detective is reduced to physical action. No wonder he and Zachary Quinto's Spock are so evenly matched!


          The rest of the equation should be flooding into your brain:  the obsession with logic, the disdain of emotion, the musical talent, the disinterest in love. Holmes disables villains with a mere wave of his hunting crop. Spock has his Vulcan nerve pinch. Where Spock depends on mind-meld to pull information from witnesses, Holmes charms them into revealing all they haven't given away by their outward appearance. Leonard Nimoy even gave us a Spock with Holmes' physique (tall and gaunt with an imposing nose), who actually declares in one film that he is a descendant of the detective. In fact, Nimoy played Holmes on stage in London and in a short educational video, both in 1976. "Holmes is very much an alien," he apparently declared at the time, "And I felt I could understand him the same way I understood Spock."

          Do we then credit Nimoy with the invention of the Holmes/Spock equivalence? Certainly Star Trek's original writers did not conceive it:  the pilot episode features a female officer as the emotionless character. Is Spock merely Nimoy's incarnation of Holmes or is there a more powerful pop-cultural archetype at work here, joining the two in our mass media consciousness?

          To bring this all back to computer programming, I have to believe that there is something deeper going on. Yes, Spock is certainly an avatar of Holmes, but while the renown of a double may grow beyond that of its original, the generative force of the real McCoy (ha!) can never be dismissed. Modernity, with its globe-spanning immensity, its intelligence-swamping superfluity of data and its faith-defying, deadly randomness, required Holmes, demanded him, the man who could through science and reasoning alone bring light from darkest mystery. 19th century detective fiction builds up to Holmes and 20th century detective fiction defines itself in contrast to him. Doyle tried to rid himself of his greatest character more than once and each time popular outrage compelled his reinstatement. Nimoy's Spock is as much a creation of our need as his choices, a space-age Holmes for a century with no fewer anxieties.

          What is Holmes/Spock but a stand in for the computer? In an age in which functional mechanical computers were being constructed for the first time, Doyle built a human character who exhibited all the operations and behaviors of a thinking machine. In Holmes he presented the human brain as its own computer so convincingly that it took the six decades until Spock for an alter ego to emerge.

          Doyle's skill in framing this computational consciousness makes the Sherlock Holmes stories marvelous tools for teaching a range of topics.  (Check out "The Adventure of the Musgrave Ritual" for trigonometry.) His harnessing of mechanical logic to a human will prefigures the very essence of applied computer science, implying that for the sake of our future, we'd all better keep on reading and writing fiction. As William Blake said (among many other cool things), "What is now proved was once only imagined."

Correspondence in Metaphor

A metaphor doesn't just cover distance when it connects 2 things.  Whether comparing water under pressure to electricity or presenting a threshold guardian in a fairy tale as a model of a while loop, there has to be a fit between the worlds linked by the metaphor.  The more correspondences the metaphor achieves in this comparison, the more useful it should be.

          In order to delve deeper, let's establish some more vocabulary or, rather, borrow from the wonderfully clear Shawn M. Glynn in "Making Science Concepts Meaningful to Students: Teaching with Analogies," (2008):


So, the familiar concept is the analog; the unfamiliar one is the target. Glynn and colleagues offer that the systematic comparison of the concepts' features can be called a mapping.  Mappings depend upon elaboration, the cognitive process of constructing relations between what is already known and what is new.

          When mapping the features of a water circuit to those of an electrical circuit, the example above offers 4 correspondences, probably enough to qualify it as an elaborate analogy. (Contrast it with the bare-bones assertion "electricity is like water", a simple analogy lacking any elaboration.) In an elaborate analogy, each correspondence contributes to a learning scaffold extending from the analog to the target. "Elaborate analogies provide a rich, situated context for learning. By systematically mapping verbal and visual features of analog concepts onto those of target concepts, analogies can facilitate the cognitive process of elaboration. Elaborate analogies have been found to increase students' learning of target concepts and their interest in the concepts." (Paris & Glynn, "Elaborate Analogies in Science Text:  Tools for Enhancing Preservice Teachers' Knowledge and Attitudes". 2004)

[Phew! We have to be careful with this powerful teaching tool because of the discrepancies that exist within mappings and the confusion they can produce.  For example, electricity does behave like water under pressure in many ways, but a cut wire does not spew electricity in the way that a burst pipe gushes water. Most metaphors are imperfect, but the useful ones leave you revealing the correspondences rather than explaining the inconsistencies.]

          When StoryCode increases the "distance" of a teaching metaphor by using fiction as the analog for a non-fiction target, the correspondences jump out more clearly and are engaged with more interest and energy by learners testing such an intriguing yet not immediately believable metaphor.  This is elaboration at its best, evaluating the consistency of 2 structures, the arbitrary, absorbing fictional analog and the logical, replicable digital target.

          In using fiction, StoryCode gains an additional advantage. Because of the endless variety of human imagination, the number of texts to choose from when selecting one's analog is practically limitless.  If one short story produces too many inconsistencies when mapping its features to your target concept, simply discard the story and find one that fits more closely.  Fiction is numerous and various.  It is also mutable:  with certain acknowledgements and apologies, you can bend or hammer the inconsistencies out of your analog until your mapping achieves a metaphor both broadly and deeply powerful.

          A shared fiction text used as an analog also provides a final, powerful ability.  The shared knowledge used to construct the scaffold for comprehending the target is not anything you must hope your learners have encountered in some other course or in their non-academic lives.  It is precisely what you read in class together that day or for homework or whenever else you shared it, as close and as important to your teaching as the target. It persists throughout the learning and employment of the target concepts.  In a particularly well chosen and elaborate metaphor, the understanding of the analog material will evolve with both its own unfolding plot AND the acquisition of target knowledge, generating 2-way elaboration in a mutually reinforcing dynamic:


          Using literature as one's analog material is the best way I've found to move learners into this zone of intellectual speculation and examination. The challenge involved in mapping the fictional to the digital appeals to both the artistically and scientifically inclined, though each may feel the need to scoff before undertaking it. Have you discovered ways of reaching the same zone?  What are the key factors in getting there?


Distance in Metaphor

StoryCode's teaching practice is primarily one of metaphor, using the the characters and events of fiction to model the operations and behaviors of programming.  I would like to examine the "distance" involved in this metaphor, the dislocation between what we study initially (fictional characters performing fictional acts) and what it is meant to teach us (the intricacies of computer language).  Contrast the leap between creative fiction and digital grammar with that presented in this analogy used in many science classes:

From the excellent paper "Making Science Concepts Meaningful to Students: Teaching with Analogies" by Shawn M. Glynn,    
 /* Style Definitions */
	{mso-style-name:"Table Normal";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
   © 2008

From the excellent paper "Making Science Concepts Meaningful to Students: Teaching with Analogies" by Shawn M. Glynn,  © 2008

          In this analogy, we are asked to consider the behaviors of water in plumbing in order to understand that of electricity in circuits.  Metaphorically, water is electricity.  The "distance" we cover in this metaphor is significant: water and electricity are not nearly the same thing. I would much rather apply my thumb to a running spigot than a dangling live wire!  At the same time, the distance is not astronomical:  water under pressure and electricity are both physical forces.  The "circuits" described above can be built and tested.  They are both common systems used in homes and buildings.  We pay bills for each of them.

          Because of this conceptual proximity, the imagination and mental precision necessary for comprehending the first system is directly applicable to the comprehension of the second.  We can say that the distance in this metaphor is significantly less than that of the literary-to-digital distance covered by a StoryCode metaphor.

          So what of this?  I suggest that short-distance metaphors (if I may coin some terms) are more effective than long-distance metaphors, but only when the learners are well-grounded in the mechanisms of their comprehension. For people who have been neither interested nor educated in plumbing or electricity, the above analogy is not very helpful.  Here in NYC, the analogy below might be more enlightening:


          Now, there are obvious problems with the metaphor of a municipal agency for understanding electric circuits (which we will examine in the next blog post), but we can certainly establish that the distance covered here is greater than that bridged by the plumbing metaphor.  The important question now is whether such increased distance affects a metaphor's educational utility negatively or positively.

          My experience has made me believe that when dealing with learners who are not well-grounded in the mechanisms of comprehension for your particular material, the distance of your teaching metaphor is immaterial, so long as its direction is toward something very familiar to your learners.  In fact, if you are sharing information which you can guarantee is familiar (like a story you've read together), then a large distance is preferable to a short one.  For example, if someone says they are not enjoying Moby Dick, the last thing you should do is subject them to additional information about whaling.  To stimulate greater interest and meaning in the novel for such readers, one needs to create some additional distance between the events of the story and its value.  Likening the whale and Ahab to Biggie and Tupac is a significant metaphorical leap, but the distance covered is precisely its value.

          StoryCode utilizes some of the longest leaps of metaphor ever brought to bear on computer science.  I've never been reticent to make these connections and I test each one as thoroughly as I can.  I deal much more with learner disbelief that a connection could exist than with confusion once the connection is revealed.  What is your experience with the distance of the metaphors and analogies you use to teach? What has been more useful to you, short steps or long jumps? Does anyone know of any research on this concept?

Metaphor, Simile and Analogy

Hi!  Welcome to StoryCodings, the StoryCode blog.  I hope you will join me in exploring the fascinating and fun process of using art to teach science, if I can put it that bluntly.  Let’s start this whole conversation by exploring some terms we’ll have to use repeatedly.

          I like to say that StoryCode is built on metaphor, that the characters and events of well chosen stories form consistent metaphors for the functions and behaviors in computer programming environments. In education, such an approach is more often matched with the term analogy. We all remember these from the SATs: “Pipe is to water as wire is to electricity.” The use of the word as in an analogy, however, invokes the literary device simile rather than metaphor. We are thus left to consider 3 terms for the same teaching technique. Is modeling a digital concept with fiction the creation of an analogy, the employment of a simile or is it the use of a metaphor?

          The differences may seem largely poetic, but I’ll never forget the afternoon my wonderful UFT-provided mentor Roz schooled me in front of my whole gloating class.  I was telling them that a simile is a metaphor that uses the words like or as, that simile is thus a subset of metaphor.  The correction she made has stuck with me all my days:  a simile declares that one thing is like another;  a metaphor declares that one thing is another.

          So which is better to employ:  “wires are like pipes for electricity” or “wires are pipes for electricity”?  While simile may be more strictly accurate, I prefer metaphor.  (It lacks the equivocating like.)  I want to be consistent and helpful, however, and am interested in the perspectives of all who care to comment. That goes for every idea in this blog.


          Magnify the difference between the 2 concepts being compared and the distinctions in these terms become larger.  Consider the chart on the right (which, were I a true “edupreneur”, I would no doubt refer to as an “infographic”). The chart seeks to ingrain an understanding of the relative magnitude of mathematical operations through 3 figures of increasing physical stature and muscular strength. How would you best describe this? Is it an analogy between mathematical operations and physical strength? Is it simile relating mathematical operations to physical strength? Is physical strength a metaphor for mathematical operations?

          I use metaphor for the modeling in StoryCode because it is a more flexible term than either simile or analogy and because of its greater immediacy and conviction:  the princess in “The Lady or the Tiger?" is a binary position point. She’s not like a binary decision point. I would rather over-emphasize a fundamental and be queried later about inconsistencies than present a model with lukewarm conviction. In any case, we are told there are no perfect analogies, so it is the number and density of corresponding elements in a comparison that determines its efficacy. This is explored further in the next post.


Thanks for your interest and please contribute comments, reactions or suggestions!