{"id":1222,"date":"2024-12-22T11:09:53","date_gmt":"2024-12-22T11:09:53","guid":{"rendered":"https:\/\/blogs.kcl.ac.uk\/proged\/?p=1222"},"modified":"2024-12-26T13:55:27","modified_gmt":"2024-12-26T13:55:27","slug":"guideline-6-illustrate-the-process","status":"publish","type":"post","link":"https:\/\/blogs.kcl.ac.uk\/proged\/2024\/12\/22\/guideline-6-illustrate-the-process\/","title":{"rendered":"Guideline 6: Illustrate the process"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1223 size-large\" src=\"http:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-6-1024x502.png\" alt=\"Decorative image showing the text &quot;Guidelines for Teaching Programming&quot; and the number 6\" width=\"584\" height=\"286\" srcset=\"https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-6-1024x502.png 1024w, https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-6-200x98.png 200w, https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-6-100x49.png 100w, https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-6-768x376.png 768w, https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-6-1536x752.png 1536w, https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-6-500x245.png 500w, https:\/\/blogs.kcl.ac.uk\/proged\/files\/2024\/12\/guides-6.png 1931w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/p>\n<p style=\"font-weight: 400\">One common pattern of programming teaching \u2013 especially in books and other written material, but also in in-person teaching \u2013 is the focus on the product, rather than the process.<\/p>\n<p style=\"font-weight: 400\">The usual structure is: (1) Here is a problem. (2) Here is a program (involving some new construct) to solve the problem. (3) Here is a discussion\/explanation of the solution and the new construct.<\/p>\n<p style=\"font-weight: 400\">The problem with this is that the solution appears \u2013 apparently in one step out of the ether \u2013 in its entirety.<\/p>\n<p style=\"font-weight: 400\">In novice learners, this creates the impression that this is how experts work: If you know how to program, you will be able to think for a moment, and then just write down the solution.<\/p>\n<p style=\"font-weight: 400\">They struggle with coming up with a working program, and even if they have an idea, they make mistakes, run into compiler errors, have bugs in their code, and think \u201cI am just not a good programmer\u201d.<\/p>\n<p style=\"font-weight: 400\">The fact that we <em>all<\/em> work like this \u2013 write some code, discover mistakes, correct, change our minds, slowly build \u2013 must be one of the best kept secrets in programming.<\/p>\n<p style=\"font-weight: 400\">For you as a teacher this means: Don\u2019t just teach your pupils what the correct program looks like, teach them <em>how to get there<\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One common pattern of programming teaching \u2013 especially in books and other written material, but also in in-person teaching \u2013 is the focus on the product, rather than the process. The usual structure is: (1) Here is a problem. (2) &hellip; <a href=\"https:\/\/blogs.kcl.ac.uk\/proged\/2024\/12\/22\/guideline-6-illustrate-the-process\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":179,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,13],"tags":[],"class_list":["post-1222","post","type-post","status-publish","format-standard","hentry","category-programming","category-teaching"],"_links":{"self":[{"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/posts\/1222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/types\/post"}],"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=1222"}],"version-history":[{"count":2,"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/posts\/1222\/revisions"}],"predecessor-version":[{"id":1234,"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/posts\/1222\/revisions\/1234"}],"wp:attachment":[{"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/media?parent=1222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/categories?post=1222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.kcl.ac.uk\/proged\/wp-json\/wp\/v2\/tags?post=1222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}