{"id":1185,"date":"2016-11-10T20:26:26","date_gmt":"2016-11-11T04:26:26","guid":{"rendered":"http:\/\/hybridclassroom.com\/blog\/?p=1185"},"modified":"2016-11-10T20:26:26","modified_gmt":"2016-11-11T04:26:26","slug":"teaching-cs-am-i-doing-it-right","status":"publish","type":"post","link":"https:\/\/www.hybridclassroom.com\/blog\/?p=1185","title":{"rendered":"Teaching CS: Am I doing it right?"},"content":{"rendered":"<p>Teaching CS: Am I doing it right?<br \/>\n=================================<\/p>\n<p>by Richard White<\/p>\n<p>2016-11-10<\/p>\n<p>I&#8217;ve been teaching Computer Science in one way or another for a decent part of my teaching career, from courses using BASIC and Pascal on standalone PCs (pre-Internet!) back in the 80s to courses using Python and Java currently. I&#8217;d like to think I mostly know what I&#8217;m doing by this point.<\/p>\n<p>It&#8217;s interesting to note, however, that there is a wide variation on how teachers work with students in a computer science classroom. From the AP Computer Science teaching community, I&#8217;ve heard of teachers who:<\/p>\n<p>* have their students use Linux workstations exclusively<br \/>\n* have their students learn Java exclusively through graphics programming (Processing language)<br \/>\n* have their student use web-based Java compilers\/interpreters<br \/>\n* have their students learn how to interact with a server<br \/>\n* have their students turn in all assignments on paper only<br \/>\n* have their students retrieve lessons and submit assignments using GitHub<br \/>\n* teach Java by having their student write mobile apps<\/p>\n<p>It&#8217;s a stunning variety of strategies given that we&#8217;re all teaching the exact same course with the exact same curriculum. <\/p>\n<p>And maybe that&#8217;s a strength of computer science, that there are lots of ways to make it happen. Whether you use Linux or OS X or Windows, whether you program using a terminal or an IDE, whether your programs interfaces are text-based or graphical&#8230; we&#8217;re all teaching computer science.<\/p>\n<p>If there&#8217;s a downside to this variety, it&#8217;s that we may be tempted to feel that some of the other strategies&#8211;old ones that we haven&#8217;t had time to consider, or new ones that have just been recommended to us&#8211;might be better (more interesting? more effective? more appealing to students?) than what we&#8217;re currently doing. And so we feel compelled to give these new strategies some consideration.<\/p>\n<p>In the last few years there has been an explosion of interest in Coding (which is not quite the same thing as Computer Science, but we&#8217;ll take what we can get, eh?). Hadi Partovi&#8217;s Hour of Code, MIT&#8217;s block-based Scratch language, the Raspberry Pi, the Arduino, the College Board&#8217;s new AP Computer Science Principles curriculum&#8230; and these are just the most popular of the recent technology and CS-based innovations that might merit some consideration by me, with an eye toward possibly incorporating some of them into my teaching toolbox.<\/p>\n<p>How much should I stay the course and stick with what I think works best? How much of my limited professional time should I invest in consider these other possibilities?<\/p>\n<p>More than teachers in any other subject area, we teachers of Computer Science need to wrestle with these questions. It&#8217;s a <i>de facto<\/i> part of our job description.<\/p>\n<p>What is <i>your<\/i> specialty in teaching CS\/technology? What topics do you add to your courses, because those topics work, or they&#8217;re part of your pre-existing skill set? Do you feel pressure to always be looking at The Next Big Thing?<\/p>\n<p>For related reading: <a href=\"http:\/\/blog.acthompson.net\/2016\/11\/too-many-cs-teaching-resources.html\">http:\/\/blog.acthompson.net\/2016\/11\/too-many-cs-teaching-resources.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Teaching CS: Am I doing it right? ================================= by Richard White 2016-11-10 I&#8217;ve been teaching Computer Science in one way or another for a decent part of my teaching career, from courses using BASIC and Pascal on standalone PCs (pre-Internet!) back in the 80s to courses using Python and Java currently. I&#8217;d like to think &hellip; <a href=\"https:\/\/www.hybridclassroom.com\/blog\/?p=1185\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Teaching CS: Am I doing it right?<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[87,88,57],"tags":[],"_links":{"self":[{"href":"https:\/\/www.hybridclassroom.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1185"}],"collection":[{"href":"https:\/\/www.hybridclassroom.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hybridclassroom.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hybridclassroom.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hybridclassroom.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1185"}],"version-history":[{"count":1,"href":"https:\/\/www.hybridclassroom.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1185\/revisions"}],"predecessor-version":[{"id":1186,"href":"https:\/\/www.hybridclassroom.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1185\/revisions\/1186"}],"wp:attachment":[{"href":"https:\/\/www.hybridclassroom.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hybridclassroom.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hybridclassroom.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}