{"id":16440,"date":"2015-09-05T19:47:33","date_gmt":"2015-09-06T00:47:33","guid":{"rendered":"http:\/\/blog.kenperlin.com\/?p=16440"},"modified":"2015-09-05T19:47:33","modified_gmt":"2015-09-06T00:47:33","slug":"generalizable-example","status":"publish","type":"post","link":"http:\/\/blog.kenperlin.com\/?p=16440","title":{"rendered":"Generalizable example"},"content":{"rendered":"<p>A colleague and I were discussing programming examples that we give to our beginning students, to get them motivated.  Of course you want to provide a first example that is reasonably simple, so that students can quickly get to that &#8220;aha&#8221; moment.  But you don&#8217;t want it to be too simple.<\/p>\n<p>Suppose, for example, you are teaching computer graphics, and your first example is drawing a square.  You show them a little computer program that&#8217;s just a few lines long and say &#8220;see, here is all you need to do to draw a square!&#8221;<\/p>\n<p>Ideally you have provided an example program that not only draws a square, but can also be modified in various ways to draw a rectangle, etc.<\/p>\n<p>But then suppose some student asks: &#8220;What if I want to rotate my square by 10 degrees?&#8221;  Too often the answer is: &#8220;Then you need to forget everything I just showed you.  To make a square that can rotate, you&#8217;ll need something more complicated.&#8221;<\/p>\n<p>That&#8217;s a failure mode.  It means that the first program you showed them was too simple.  You worked so hard to provide an accessible example, that you ended up with one that could not be generalized.<\/p>\n<p>I&#8217;m not saying that providing an example for students that is simple yet generalizable is easy.  It is not.  But it&#8217;s worth striving for, because the generalizable example is much more interesting and enlightening for them than the simplest possible example.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A colleague and I were discussing programming examples that we give to our beginning students, to get them motivated. Of course you want to provide a first example that is reasonably simple, so that students can quickly get to that &#8220;aha&#8221; moment. But you don&#8217;t want it to be too simple. Suppose, for example, you &hellip; <a href=\"http:\/\/blog.kenperlin.com\/?p=16440\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Generalizable example&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/16440"}],"collection":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16440"}],"version-history":[{"count":1,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/16440\/revisions"}],"predecessor-version":[{"id":16441,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/16440\/revisions\/16441"}],"wp:attachment":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16440"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}