{"id":726,"date":"2011-09-25T14:08:14","date_gmt":"2011-09-25T21:08:14","guid":{"rendered":"http:\/\/www.glencora.org\/?p=726"},"modified":"2012-01-28T00:11:07","modified_gmt":"2012-01-28T00:11:07","slug":"thinking-like-a-computer-scientist","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/glencora\/2011\/09\/25\/thinking-like-a-computer-scientist\/","title":{"rendered":"Thinking like a computer scientist"},"content":{"rendered":"<p>I&#8217;m teaching a course called &#8220;<a href=\"http:\/\/teach.glencora.org\/index.php?title=CS160,_Fall_2011\">Orientation to Computer Science<\/a>&#8220;. \u00a0It seems all the engineering departments have such a course at Oregon State. \u00a0It acts as an overview to a degree in a particular field. \u00a0I&#8217;ve been asked to teach it because I&#8217;m <span style=\"text-decoration: line-through\">young and female<\/span> delightful and, apparently, likely to increase retention. \u00a0I&#8217;ll talk more about the class again, I&#8217;m sure. \u00a0I had a &#8220;pre&#8221; lecture on Thursday as part of freshman orientation, welcoming the students in my class, which officially starts next week. (Good thing I wasn&#8217;t still travelling!) \u00a0I told the class that computer science is a way of thinking and that a programmer is not necessarily a computer scientist and a computer scientist is not necessarily a programmer. \u00a0To try to get them thinking like a computer scientist, I used the following exercise:<\/p>\n<blockquote><p>Ask for ten volunteers and have them line up at the front of the room, in no particular order. \u00a0Each person acts as a separate processor. \u00a0The class must then come up with a simple procedure to program into each of the processors so that, upon execution, will sort the students by height from left to right.<\/p><\/blockquote>\n<p>It&#8217;s the first time I tried something like this, and it worked really well. \u00a0With discussion, explanation, etc, it took roughly 15 minutes, but could be stretched to 30 minutes or even an hour if some formality was added. \u00a0The first challenge was just coming up with a procedure that would work for all the processors in line; the first suggestions were of the form &#8220;the guy with the blue hat should move left&#8221;. \u00a0When a reasonable suggestion came up, we needed to work out the bugs: &#8220;do you mean stage left?&#8221; \u00a0Then there was discussion of how long this algorithm takes and how much longer it would take with twice as many people to sort and how the time depends on how unsorted the people are to start with. \u00a0(I would have loved to have longer to give them more formality at this point &#8230; but perhaps that would have been become a little boring.)<\/p>\n<p>Overall, I was very impressed with how good their intuition was (at least among the vocal students) &#8211; I would bet even better than the junior&#8217;s that I am used to teaching, who have, perhaps, had their intuition molded out of them.<\/p>\n<p>Would love to hear other people&#8217;s suggestions of warm-up activities.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m teaching a course called &#8220;Orientation to Computer Science&#8220;. \u00a0It seems all the engineering departments have such a course at Oregon State. \u00a0It acts as an overview to a degree in a particular field. \u00a0I&#8217;ve been asked to teach it because I&#8217;m young and female delightful and, apparently, likely to increase retention. \u00a0I&#8217;ll talk more [&hellip;]<\/p>\n","protected":false},"author":3747,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[106145,106153,106190],"class_list":["post-726","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-active-learning","tag-computer-science-orientation","tag-tcs"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/glencora\/wp-json\/wp\/v2\/posts\/726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/glencora\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/glencora\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/glencora\/wp-json\/wp\/v2\/users\/3747"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/glencora\/wp-json\/wp\/v2\/comments?post=726"}],"version-history":[{"count":1,"href":"https:\/\/blogs.oregonstate.edu\/glencora\/wp-json\/wp\/v2\/posts\/726\/revisions"}],"predecessor-version":[{"id":879,"href":"https:\/\/blogs.oregonstate.edu\/glencora\/wp-json\/wp\/v2\/posts\/726\/revisions\/879"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/glencora\/wp-json\/wp\/v2\/media?parent=726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/glencora\/wp-json\/wp\/v2\/categories?post=726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/glencora\/wp-json\/wp\/v2\/tags?post=726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}