{"id":836,"date":"2011-02-23T11:00:03","date_gmt":"2011-02-23T16:00:03","guid":{"rendered":"http:\/\/www.playthepast.org\/?p=836"},"modified":"2011-02-22T11:49:11","modified_gmt":"2011-02-22T16:49:11","slug":"practical-necromancy-begins-with-latin","status":"publish","type":"post","link":"http:\/\/www.playthepast.org\/?p=836","title":{"rendered":"Practical Necromancy* Begins with Latin"},"content":{"rendered":"<p>In my previous <a href=\"http:\/\/www.playthepast.org\/?p=559\">&#8216;Practical Necromancy&#8217; post<\/a>, I made the argument why we should toy with history, using the <a href=\"http:\/\/ccl.northwestern.edu\/netlogo\/\">Netlogo <\/a>agent based modeling environment.<\/p>\n<p>Let me tell you today what happened when I introduced the idea of simulating the past to my first year students. The phrase &#8216;digital history&#8217; does indeed appear in the title of the course, yet a significant proportion of the class told me during the first week that they were technophobes, that they could post an update to Facebook, but don&#8217;t ask them to do anything more complex! You can see how this is a wee bit of a challenge.<\/p>\n<p>The solution though presents itself when we remember the benefits of simulation:<\/p>\n<blockquote><p>Benefit #1: Crystallization of one&#8217;s own thoughts on history. If I can\u2019t express it, I can\u2019t code it.<\/p>\n<p>Benefit #2: To critique the simulation, one has to perform a close-reading of the code, a prime historical skill.<\/p>\n<p>Benefit #3: Seeing where what did happen fits into the realm of  then-possible outcomes; a way of assessing the impact of Caesar\u2019s  decision <em>not<\/em> to cross the Rubicon as it were.<\/p><\/blockquote>\n<p>I firmly believe that one of the most important benefits of learning to program is that it provides the discipline necessary to engage closely with texts, to take them apart to understand what the author, the programmer, intended to happen. I built my lesson around Benefit #2, but to ease them into the idea, I introduced them to <a href=\"http:\/\/www.wheelockslatin.com\/chapters\/one\/index.html\">Chapter 1 of Wheelock&#8217;s Latin Grammar.<\/a><\/p>\n<h2>Why Latin?<\/h2>\n<p>I&#8217;m no Latinist. But even a glancing familiarity with the language (or with any language&#8217;s grammar, for that matter) helps to put the student into the correct mindset for dealing with code. Grammar forces us to look at syntax and construction, and how elements combine to create meaning.<\/p>\n<p>The meaning of a word in Latin depends on its function in the sentence. That meaning is signaled by the combination of a root word and a stem. The verb &#8216;to praise&#8217; has as its stem <em>laud <\/em>; the first person in the present tense is indicated by the addition of &#8211;<em>o <\/em>: <em>laudo <\/em>I praise; I am praising; I do praise.<\/p>\n<p>We spent a considerable portion of that first day working through Chapter 1 of the Latin grammar. The average Canadian student these days has no knowledge of how grammar actually works, so we had a bit of remedial work to do. The idea that word forms change with meaning, that the structure of a sentence &#8211; which words modify which others &#8211; can be deduced from the forms of the words <em>even when you don&#8217;t know what the word actually means <\/em>was a bit of an eyeopener.<\/p>\n<p>And programming is rather like composing a sentence in Latin. In Netlogo-speak, you have &#8216;primitives&#8217; that fit together in particular ways (like when in Latin you put a feminine noun with an adjective, the adjective takes a feminine ending to show agreement with the noun); you put these together into a single unit of meaning, called a procedure. In Latin and English, we&#8217;d call that a sentence.<\/p>\n<p>We then looked at the <a href=\"http:\/\/ccl.northwestern.edu\/netlogo\/models\/Termites\">&#8216;Termites model <\/a>that comes bundled with Netlogo. I hid all of the code related to setting up the world and its displays, and had them concentrate on the main run-time procedures. I showed them how to recognize an &#8216;if&#8230;then&#8217; type construction, and how to know where a procedure started and stopped. Then, I ask them to scan the code, and sketch out which procedures came first, any loops they encountered, to follow that through to the end of the model. They were to highlight any bits of code they didn&#8217;t understand.<\/p>\n<p>Of course, at the end of the exercise, lots of the individual bits of code were highlighted, but as a class, they were able to develop the flow chart of how this simple model works. They&#8217;d begun the process of learning how to close-read the code of a simulation. And if you don&#8217;t know how the pieces fit together, how can you trust the results of the model? If you don&#8217;t know how the pieces fit, how can you know what it means?<\/p>\n<p>Let me conclude with some remarks by<a href=\"http:\/\/alunsalt.com\/2011\/02\/04\/the-value-of-models-in-history\/\"> Alun Salt<\/a> on my last post:<\/p>\n<blockquote><p>[&#8230;]One of the benefits of computer  models is that reading code requires close-reading which is a useful  historical skill. Yes it is, but my gut reaction is why learn  close-reading for history by examining code, when you could  close-reading for history by examining historical texts? The gut is not  noted for its large number of brain cells, and this example demonstrates  why mine is no genius. Close-reading for code should be simpler. It  should be unambiguous and lacking the complexities of meaning that words  in historical text have. It\u2019s an easier way of learning the skill that  you can then take into more complex situations effectively making a  shallower learning curve.<\/p><\/blockquote>\n<p>Having examined the way the code is written, my students are now looking at what the code produces, where it breaks down, and what emerges when you let thousands of individuals, interpreting the same instructions under different circumstances, interact. As one student said, &#8216;It&#8217;s kinda creepy&#8217;.<\/p>\n<p>(Image <a href=\"http:\/\/www.flickr.com\/photos\/beinecke_library\/5246265705\/sizes\/l\/in\/photostream\/\">cc Beinecke Library<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In my previous &#8216;Practical Necromancy&#8217; post, I made the argument why we should toy with history, using the Netlogo agent based modeling environment. Let me tell you today what happened when I introduced the idea of simulating the past to my first year students. The phrase &#8216;digital history&#8217; does indeed<span class=\"more-link\"><a href=\"http:\/\/www.playthepast.org\/?p=836\">Continue Reading<\/a><\/span><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[15],"tags":[42,37,21,88],"coauthors":[],"class_list":["entry","author-graham","post-836","post","type-post","status-publish","format-standard","category-articles","tag-counterfactual","tag-historical-thinking","tag-simulation","tag-teaching"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/www.playthepast.org\/index.php?rest_route=\/wp\/v2\/posts\/836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.playthepast.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.playthepast.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.playthepast.org\/index.php?rest_route=\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"http:\/\/www.playthepast.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=836"}],"version-history":[{"count":8,"href":"http:\/\/www.playthepast.org\/index.php?rest_route=\/wp\/v2\/posts\/836\/revisions"}],"predecessor-version":[{"id":846,"href":"http:\/\/www.playthepast.org\/index.php?rest_route=\/wp\/v2\/posts\/836\/revisions\/846"}],"wp:attachment":[{"href":"http:\/\/www.playthepast.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.playthepast.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=836"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.playthepast.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=836"},{"taxonomy":"author","embeddable":true,"href":"http:\/\/www.playthepast.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcoauthors&post=836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}