{"id":375,"date":"2007-12-11T00:14:00","date_gmt":"2007-12-11T05:14:00","guid":{"rendered":"https:\/\/www.tameri.com\/wordpress\/poetponders\/?p=375"},"modified":"2025-06-23T19:09:44","modified_gmt":"2025-06-24T00:09:44","slug":"students-programming-for-the-future","status":"publish","type":"post","link":"https:\/\/www.tameri.com\/csw\/2007\/12\/11\/students-programming-for-the-future\/","title":{"rendered":"Students Programming for the Future"},"content":{"rendered":"<p>Visalia Direct: Virtual Valley<br \/>\nJanuary 2007 Issue<br \/>\nDecember 11, 2007<\/p>\n<p style=\"text-align: center\"><strong>Students <a class=\"zem_slink\" title=\"Computer programming\" href=\"http:\/\/en.wikipedia.org\/wiki\/Computer_programming\" target=\"_blank\" rel=\"noopener wikipedia\">Programming<\/a> for the Future<\/strong><\/p>\n<p>Twenty-five years ago history was made. The Commodore 64, the first home computer to sell more than a million units, shipped just in time for the Christmas season of 1982. A year earlier, I had received what might still be the most important gift I have ever received: a <a class=\"zem_slink\" title=\"Commodore VIC-20\" href=\"http:\/\/en.wikipedia.org\/wiki\/Commodore_VIC-20\" target=\"_blank\" rel=\"noopener wikipedia\">Commodore VIC-20<\/a>.<\/p>\n<p>Thanks to Apple, Atari, Commodore, and a dozen smaller computer manufacturers, the late 1970s and early 1980s were an amazing time in computing history. By 1993, Commodore was bankrupt, Atari was sold off in pieces, and Apple was struggling to compete against IBM and a legion of \u201c<a class=\"zem_slink\" title=\"Personal computer\" href=\"http:\/\/en.wikipedia.org\/wiki\/Personal_computer\" target=\"_blank\" rel=\"noopener wikipedia\">PC<\/a> clones.\u201d<\/p>\n<p>I am extremely glad I grew up during the personal computer revolution. A generation earlier, I might have built crystal radios and box cameras. Instead, I was learning to manipulate bits and bytes to produce sounds and images. I was thrilled the first time my VIC-20 played a \u201csong\u201d I had converted to BASIC code. (It was \u201cHouse of the Rising Sun,\u201d from a \u201cHits of 1973\u201d songbook.)<\/p>\n<p>With my fond memories of learning to program, it is natural to assume that I believe teaching programming to most students would be a great thing. When I speak to parents and teachers about technology and education, I am inevitably asked not if we should teach programming, but when and how.<\/p>\n<p>\u201cAren\u2019t there even better tools today?\u201d I was recently asked by an elementary school teacher.<\/p>\n<p>I suggested a focus on skills, like word processing or even using graphics software like Adobe Photoshop. Students are more likely to use Microsoft <a class=\"zem_slink\" title=\"Microsoft PowerPoint\" href=\"http:\/\/en.wikipedia.org\/wiki\/Microsoft_PowerPoint\" target=\"_blank\" rel=\"noopener wikipedia\">PowerPoint<\/a>, Word, and Excel than to write the next great video game.<\/p>\n<p>The teacher challenged me with a great question: \u201cDidn\u2019t learning calculus help you even if you don\u2019t use it daily?\u201d Her suggestion was that learning to program helped me in ways that might help other students.<\/p>\n<p>I admit that learning calculus did have some benefits. Calculus was about analyzing a problem, breaking it into pieces, and then finding the solution to what had appeared incredibly complex. I learned that the most complex problems are really collections of easier problems.<\/p>\n<p>Did learning programming teach me similarly valuable lessons? Absolutely. This teacher was right: learning to program was more than learning BASIC, Pascal, or assembly language.<\/p>\n<p>In those early years, you could learn to program by copying lines of BASIC from various magazines. BYTE, PC Magazine, Compute, InCider, and numerous other publications included \u201cprogram listings\u201d you could type, save, and modify. Typing the programs in order to play games or use applications taught me a lot, not only about programming but also about patience and logic.<\/p>\n<p>Inevitably, I\u2019d make mistakes when typing three pages of computer code. Learning to debug a computer program means learning how to analyze problems. A willingness to admit error, and to correct the error, is something more people need. Eventually, I was coding my own games and applications.<\/p>\n<p>This wasn\u2019t a skill learned in a classroom, or by reading books that started with simple (and useless) examples. I learned to program by copying games I wanted to play. I had a motivation that most classroom exercises can\u2019t match: I was willing to work a week in order to play a version of Pac-Man or Donkey Kong on my computer.<\/p>\n<p>I can get students excited about software applications because the results are something of interest to them. Students learn to use Adobe Illustrator because they want to create pictures, not because they are interested in Bezier curves or advanced color theory.<\/p>\n<p>The programming course I took in high school didn\u2019t lead to \u201cfun results\u201d and didn\u2019t excite me in the least. Getting a computer to print \u201cHello World\u201d ten times is not exciting. Sorting a list of words? Sorry, but that\u2019s not fascinating.<\/p>\n<p>Thankfully, this teacher\u2019s question propelled me on a search for the best tools and techniques to teach programming. It turns out there are some great tools.<\/p>\n<p>LEGO Mindstorms (http:\/\/mindstorms.lego.com\/) are fully programmable robots made with a mix of familiar <a class=\"zem_slink\" title=\"LEGO\" href=\"http:\/\/www.lego.com\" target=\"_blank\" rel=\"homepage noopener\">LEGO bricks<\/a> and new robotic pieces. You can buy vision sensors, sound chips, robotic hands, and more. Now, that\u2019s fun. Teachers are using these LEGO robots to teach everything from math to English.<\/p>\n<p>The <a class=\"zem_slink\" title=\"Lego Digital Designer\" href=\"http:\/\/ldd.LEGO.com\/\" target=\"_blank\" rel=\"homepage noopener\">LEGO Digital Designer<\/a> is available for free at the LEGO Web site. You can build both traditional and Mindstorm projects onscreen. I had my students use \u201cLDD\u201d to create toys and write about their creations. These students, some of whom struggle with English, were so excited that they produced fantastic manuals for their toys.<\/p>\n<p>Programming a LEGO robot reminded me of LOGO, a computer language famous for its \u201cturtle\u201d that drew shapes on a screen. I thought LOGO was dead, but I was wrong. The Massachusetts Institute of Technology has created <a class=\"zem_slink\" title=\"StarLogo\" href=\"http:\/\/en.wikipedia.org\/wiki\/StarLogo\" target=\"_blank\" rel=\"noopener wikipedia\">StarLogo<\/a>: The Next Generation. StarLogo is free, with lots of sample lessons and activities for the classroom (http:\/\/education.mit.edu\/starlogo-tng\/).<\/p>\n<p>As dubious as I was, it turns out that StarLogo is fun! I spent a couple of hours creating \u201cbreeds\u201d of turtles to guide. This felt more like SimTurtle than programming. Instead of writing code, you \u201cdrag-and-drop\u201d commands, which snap together like LEGO bricks. Despite how much fun I was having, I was also creating \u201creal\u201d computer programs. Elementary and even high school students used to \u201cvirtual pets\u201d seem to enjoy StarLogo. You can\u2019t beat the price, either.<\/p>\n<p>Having as much fun as I did 25 years ago, I sought more fun ways to use programming the classroom. Stumbling into SqueakLand was another pleasant surprise (<a href=\"http:\/\/www.squeakland.org\/\">http:\/\/www.squeakland.org\/<\/a>). Students use Squeak to create \u201cvirtual toys\u201d in the <a class=\"zem_slink\" title=\"Smalltalk\" href=\"http:\/\/en.wikipedia.org\/wiki\/Smalltalk\" target=\"_blank\" rel=\"noopener wikipedia\">Smalltalk programming language<\/a>. There are \u201csqueaker\u201d Web pages where students share their creations worldwide.<\/p>\n<p>I am impressed with what students are creating. Squeak toys, created by students as young as eight and nine, are simple but wonderfully creative. My favorite toy was a dancing flamingo created by a young girl named Lauren. I\u2019m willing to bet that Lauren had more fun creating the flamingo than I did printing \u201cHello World.\u201d<\/p>\n<p>The \u201cgood old days\u201d of computer programming aren\u2019t dead, after all.<\/p>\n<p>Based on my own classroom experiences, maybe programming does have a place in our classrooms. My students used math and English skills that will help them no matter what career paths they follow.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visalia Direct: Virtual Valley January 2007 Issue December 11, 2007 Students Programming for the Future Twenty-five years ago history was made. The Commodore 64, the&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/www.tameri.com\/csw\/2007\/12\/11\/students-programming-for-the-future\/\">Continue reading<span class=\"screen-reader-text\">Students Programming for the Future<\/span><\/a><\/div>\n","protected":false},"author":2,"featured_media":1880,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"iawp_total_views":13,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[5,2,4,650,7],"tags":[17,62,108,114,320,330,436,499,566],"class_list":["post-375","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-csw","category-columns","category-education","category-programming","category-teaching","tag-8-bit-computers","tag-basic-language","tag-commodore","tag-computers","tag-logo-language","tag-magazines","tag-programming","tag-software","tag-virtual-valley","entry"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.tameri.com\/csw\/wp-content\/uploads\/sites\/2\/2023\/12\/Virtual-Valley-Banner-v2-1.jpg?fit=1920%2C1279&ssl=1","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfiw78-63","_links":{"self":[{"href":"https:\/\/www.tameri.com\/csw\/wp-json\/wp\/v2\/posts\/375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tameri.com\/csw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tameri.com\/csw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tameri.com\/csw\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tameri.com\/csw\/wp-json\/wp\/v2\/comments?post=375"}],"version-history":[{"count":1,"href":"https:\/\/www.tameri.com\/csw\/wp-json\/wp\/v2\/posts\/375\/revisions"}],"predecessor-version":[{"id":1789,"href":"https:\/\/www.tameri.com\/csw\/wp-json\/wp\/v2\/posts\/375\/revisions\/1789"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tameri.com\/csw\/wp-json\/wp\/v2\/media\/1880"}],"wp:attachment":[{"href":"https:\/\/www.tameri.com\/csw\/wp-json\/wp\/v2\/media?parent=375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tameri.com\/csw\/wp-json\/wp\/v2\/categories?post=375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tameri.com\/csw\/wp-json\/wp\/v2\/tags?post=375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}