{"id":1250,"date":"2024-12-29T17:44:25","date_gmt":"2024-12-29T17:44:25","guid":{"rendered":"https:\/\/blogs.kcl.ac.uk\/proged\/?page_id=1250"},"modified":"2024-12-29T17:44:25","modified_gmt":"2024-12-29T17:44:25","slug":"guidelines-for-teaching-programming","status":"publish","type":"page","link":"https:\/\/blogs.kcl.ac.uk\/proged\/guidelines-for-teaching-programming\/","title":{"rendered":"Guidelines for Teaching Programming"},"content":{"rendered":"<p><em>In December 2024, I published a series of blog posts revisiting guidelines for programming teaching that I had thought and written about over the last 25 years. Here they are.<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1204 size-large\" src=\"http:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-1024x502.png\" alt=\"\" width=\"584\" height=\"286\" srcset=\"https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-1024x502.png 1024w, https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-200x98.png 200w, https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-100x49.png 100w, https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-768x376.png 768w, https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-1536x752.png 1536w, https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-500x245.png 500w, https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides.png 1931w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/p>\n<p style=\"padding-left: 40px\"><strong><a href=\"https:\/\/blogs.kcl.ac.uk\/proged\/2024\/12\/19\/guidelines-for-teaching-programming\/\">Introduction: Guidelines for Teaching Programming<\/a><\/strong><\/p>\n<p style=\"padding-left: 40px\"><strong><a href=\"https:\/\/blogs.kcl.ac.uk\/proged\/2024\/12\/19\/guideline-1-objects-first\/\">Guideline 1: Objects First<\/a><\/strong><br \/>\n<strong><a href=\"https:\/\/blogs.kcl.ac.uk\/proged\/2024\/12\/19\/guideline-2-dont-start-with-a-blank-screen\/\">Guideline 2: Don\u2019t start with a blank screen<\/a><\/strong><br \/>\n<strong><a href=\"https:\/\/blogs.kcl.ac.uk\/proged\/2024\/12\/19\/guideline-3-read-code\/\">Guideline 3: Read Code<\/a><\/strong><br \/>\n<strong><a href=\"https:\/\/blogs.kcl.ac.uk\/proged\/2024\/12\/20\/guideline-4-dont-use-hello-world\/\">Guideline 4: Don\u2019t use \u201cHello World\u201d<\/a><\/strong><br \/>\n<strong><a href=\"https:\/\/blogs.kcl.ac.uk\/proged\/2024\/12\/21\/guideline-5-show-program-structure\/\">Guideline 5: Show program structure<\/a><\/strong><br \/>\n<strong><a href=\"https:\/\/blogs.kcl.ac.uk\/proged\/2024\/12\/22\/guideline-6-illustrate-the-process\/\">Guideline 6: Illustrate the process<\/a><\/strong><br \/>\n<strong><a href=\"https:\/\/blogs.kcl.ac.uk\/proged\/2024\/12\/26\/guideline-7-creativity-or-open-closed\/\">Guideline 7: Creativity (or: Open &amp; Closed)<\/a><\/strong><br \/>\n<strong><a href=\"https:\/\/blogs.kcl.ac.uk\/proged\/2024\/12\/26\/guideline-8-use-a-spiral-approach\/\">Guideline 8: Use A Spiral Approach<\/a><\/strong><br \/>\n<strong><a href=\"https:\/\/blogs.kcl.ac.uk\/proged\/2024\/12\/28\/guideline-9-programming-for-the-many-not-the-few\/\">Guideline 9: Programming for the many, not the few<\/a><\/strong><\/p>\n<p>Starting from mid-January, I will complement these guidelines with a series of posts offering concrete examples how each of these pieces of advice can be put into practice. Check back later if you are interested.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In December 2024, I published a series of blog posts revisiting guidelines for programming teaching that I had thought and written about over the last 25 years. Here they are. Introduction: Guidelines for Teaching Programming Guideline 1: Objects First Guideline &hellip; <a href=\"https:\/\/blogs.kcl.ac.uk\/proged\/guidelines-for-teaching-programming\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":179,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1250","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/pages\/1250","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/users\/179"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/comments?post=1250"}],"version-history":[{"count":1,"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/pages\/1250\/revisions"}],"predecessor-version":[{"id":1251,"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/pages\/1250\/revisions\/1251"}],"wp:attachment":[{"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/media?parent=1250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}