<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rodocodo</title>
	<atom:link href="https://test.rodocodo.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://test.rodocodo.com</link>
	<description>coding game for children, ages 4-11</description>
	<lastBuildDate>Wed, 09 Jun 2021 17:42:03 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.5</generator>

<image>
	<url>https://test.rodocodo.com/wp-content/uploads/2020/02/cropped-rodocodo-icon-1024x1024-1-32x32.png</url>
	<title>Rodocodo</title>
	<link>https://test.rodocodo.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Demystifying coding for teachers in 4 easy steps</title>
		<link>https://test.rodocodo.com/demystifying-coding-for-teachers-in-4-easy-steps/</link>
					<comments>https://test.rodocodo.com/demystifying-coding-for-teachers-in-4-easy-steps/#respond</comments>
		
		<dc:creator><![CDATA[Chi]]></dc:creator>
		<pubDate>Thu, 25 Feb 2021 18:27:00 +0000</pubDate>
				<category><![CDATA[Coding]]></category>
		<guid isPermaLink="false">https://test.rodocodo.com/?p=1565</guid>

					<description><![CDATA[Learning to code is scary! Popular culture (especially films) makes you think you have to be a tech genius to understand coding. Plus, it doesn&#8217;t help that code looks like gobbledygook! And it only gets worse with the incomprehensible jargon. The good news is that you’re already good at the most difficult part of coding. &#8230;<p class="read-more"> <a class="" href="https://test.rodocodo.com/demystifying-coding-for-teachers-in-4-easy-steps/"> <span class="screen-reader-text">Demystifying coding for teachers in 4 easy steps</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[
<p>Learning to code is scary!</p>



<p>Popular culture (especially films) makes you think you have to be a tech genius to understand coding.</p>



<p>Plus, it doesn&#8217;t help that code looks like gobbledygook! And it only gets worse with the incomprehensible jargon.</p>



<p>The good news is that you’re already good at the most difficult part of coding. Thinking!</p>



<p>To prove this, we’re going to write a program to count words.</p>



<p>Let’s start demystifying coding in 4 easy steps. Starting with:</p>



<h2 class="wp-block-heading">Step 1 &#8211; Ensure you understand the problem</h2>



<p></p>



<p>Even though I’m sure you already know how to count words. Let’s look at the problem anyway.</p>



<p>Read the sentence below and answer the question it poses.</p>



<pre class="wp-block-preformatted"><strong><em>How many words are in this sentence?</em></strong></pre>



<p>Your answer should be 7.</p>



<p>Can you explain how you identified each word? Have a think about it and then click to reveal some potential answers.</p>


<input type='hidden' bg_collapse_expand='69bdd097ec6cf1077821716' value='69bdd097ec6cf1077821716'><input type='hidden' id='bg-show-more-text-69bdd097ec6cf1077821716' value='Show Answers'><input type='hidden' id='bg-show-less-text-69bdd097ec6cf1077821716' value='Hide Answers'><button id='bg-showmore-action-69bdd097ec6cf1077821716' class='bg-showmore-plg-button bg-orange-button bg-zoom '   style=" color:#4a4949;">Show Answers</button><div id='bg-showmore-hidden-69bdd097ec6cf1077821716' ></p>
<pre><em>* I didn’t really think about it - I just counted the words.<br>* I recognised the words and counted them.</em></pre>
<p></div>


<p></p>



<p>Those are both valid methods and you may have come up with a different one.</p>



<p>Now, take a look at the sentence below and count the number of words.</p>



<pre class="wp-block-preformatted"><strong><em>Τι λέει αυτό?</em></strong></pre>



<p>I’m guessing that you can’t read Greek. But I bet your answer is 3.</p>



<p>How did you count the words here? Especially if you can’t read Greek. Take a moment to think about it and then click to reveal my answer.</p>


<input type='hidden' bg_collapse_expand='69bdd097ec7ec7098627604' value='69bdd097ec7ec7098627604'><input type='hidden' id='bg-show-more-text-69bdd097ec7ec7098627604' value='Show Answer'><input type='hidden' id='bg-show-less-text-69bdd097ec7ec7098627604' value='Hide Answer'><button id='bg-showmore-action-69bdd097ec7ec7098627604' class='bg-showmore-plg-button bg-orange-button bg-zoom '   style=" color:#4a4949;">Show Answer</button><div id='bg-showmore-hidden-69bdd097ec7ec7098627604' ></p>
<pre><em data-rich-text-format-boundary="true">A space separates each word. So even though I don’t understand the words, I can see where each word begins and ends.</em></pre>
<p></div>


<p></p>



<h2 class="wp-block-heading">Step 2 &#8211; Find a general solution to the problem.</h2>



<p></p>



<p>Let&#8217;s look at both sentences. </p>



<p>Is there a rule that we can come up with that will enable us to count the words in both sentences?</p>



<pre class="wp-block-preformatted"><strong><em>How many words are in this sentence?</em></strong>
<strong><em>Τι λέει αυτό?</em></strong></pre>



<p>Think about it then click to reveal the answer.</p>


<input type='hidden' bg_collapse_expand='69bdd097ec93a1094105668' value='69bdd097ec93a1094105668'><input type='hidden' id='bg-show-more-text-69bdd097ec93a1094105668' value='Show Answer'><input type='hidden' id='bg-show-less-text-69bdd097ec93a1094105668' value='Hide Answer'><button id='bg-showmore-action-69bdd097ec93a1094105668' class='bg-showmore-plg-button bg-orange-button bg-zoom '   style=" color:#4a4949;">Show Answer</button><div id='bg-showmore-hidden-69bdd097ec93a1094105668' ></p>
<pre><em>You can count the spaces instead of the words.</em></pre>
<p></div>


<p></p>



<p>So it would look like this.&nbsp;</p>



<pre class="wp-block-preformatted"><em>How <strong>(1)</strong> many <strong>(2) </strong>words <strong>(3)</strong> are <strong>(4)</strong> in <strong>(5)</strong> this <strong>(6) </strong>sentence. <strong>(7)</strong></em>
<em>Τι <strong>(1)</strong> λέει <strong>(2) </strong>αυτό? <strong>(3)</strong></em></pre>



<p><em>Note: There is always one less space than words in a sentence. This can be fixed by adding an extra space at the end.</em></p>



<p>So now we have a rule that enables us to count words in both English and Greek. In fact it will work for dozens of languages including French, Italian, Spanish, Portuguese, and so on.&nbsp;</p>



<h2 class="wp-block-heading">Step 3 &#8211; Turn your solution into an algorithm</h2>



<p></p>



<p>Now let’s imagine we have to write some step-by-step instructions for someone to follow so they can count words in a sentence in any of these languages. What would the steps be?</p>



<p>You might describe it as follows: start at the first letter, and then check each letter in turn to see if it’s a space. Keep track of how many spaces we count.</p>



<p>Or in a step-by-step fashion:</p>



<pre class="wp-block-preformatted">1.&nbsp;&nbsp;&nbsp;set counter to 0 
2.&nbsp;&nbsp;&nbsp;move to first letter of sentence 
3.&nbsp;&nbsp;&nbsp;repeat until end of sentence 
4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if letter is a space 
5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add 1 to counter 
6.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move to next letter in sentence</pre>



<p>Let’s see this in action. </p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="720" height="405" src="https://test.rodocodo.com/wp-content/uploads/2021/02/wordcount-algorithm-animation-0-optimize.gif" alt="WordCount Algorithm Animation" class="wp-image-1609"/><figcaption>WordCount step-by-step animation</figcaption></figure></div>



<p>There is a formal definition for this list of steps. Do you know what it is?</p>


<input type='hidden' bg_collapse_expand='69bdd097ec9f34049324326' value='69bdd097ec9f34049324326'><input type='hidden' id='bg-show-more-text-69bdd097ec9f34049324326' value='Show Answers'><input type='hidden' id='bg-show-less-text-69bdd097ec9f34049324326' value='Hide Answers'><button id='bg-showmore-action-69bdd097ec9f34049324326' class='bg-showmore-plg-button bg-orange-button bg-zoom '   style=" color:#4a4949;">Show Answers</button><div id='bg-showmore-hidden-69bdd097ec9f34049324326' ></p>
<pre><em data-rich-text-format-boundary="true">Algorithm</em><br><em data-rich-text-format-boundary="true">A sequence of (step-by-step) instructions to complete a specific task, or solve a specific problem.</em></pre>
<p></div>


<p></p>



<p>Yes, that’s right. The formal (or technical) name for those step-by-step instructions is an algorithm. </p>



<p>The classic example of an algorithm is a recipe. But wordless step-by-step instructions like Ikea, or Lego instructions are also algorithms.</p>



<p>Look at these activities that we do in our every day lives. </p>



<ul class="wp-block-list"><li>Tying shoe laces </li><li>Washing a sink full of dishes</li><li>Adding multiple digit numbers</li></ul>



<p>All these activities are algorithms. I bet you can think of multiple techniques for doing each of them.  For example when adding multiple digit numbers you could use column addition, a calculator, or use one of many mental arithmetic strategies.</p>



<p>Now that we have an understanding of what Algorithms are lets investigate what coding (or programming) is.</p>



<h2 class="wp-block-heading">Step 4 &#8211; Convert the algorithm into a program.</h2>



<p></p>



<p>I’m guessing that when you think of people coding. You think of them typing instructions like those in the screenshot below into a computer.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="1000" height="563" src="https://test.rodocodo.com/wp-content/uploads/2021/02/wordcount-code-csharp.png" alt="WordCount Function C#" class="wp-image-1575" srcset="https://test.rodocodo.com/wp-content/uploads/2021/02/wordcount-code-csharp.png 1000w, https://test.rodocodo.com/wp-content/uploads/2021/02/wordcount-code-csharp-300x169.png 300w, https://test.rodocodo.com/wp-content/uploads/2021/02/wordcount-code-csharp-150x84.png 150w, https://test.rodocodo.com/wp-content/uploads/2021/02/wordcount-code-csharp-768x432.png 768w, https://test.rodocodo.com/wp-content/uploads/2021/02/wordcount-code-csharp-20x11.png 20w" sizes="(max-width: 1000px) 100vw, 1000px" /><figcaption>Code in a programming language called C# (pronounced C Sharp)</figcaption></figure></div>



<p>You may think that a major requirement is understanding what all the text means, and why it&#8217;s different colours. Or knowing why the lines are indented as they are. Or understanding what all the weird symbols (semi-colons, full-stops in odd places) mean.</p>



<p>And you’d be correct, but there’s more to it.</p>



<p>You could understand what all those things are, and still not know how to code.</p>



<p>So what is coding then? </p>



<pre class="wp-block-preformatted">It's problem solving.</pre>



<p>To be more specific, it&#8217;s the whole process we just went through above from step 1 to step 3. Where we were trying to count the number of words in a sentence. This process ended with us being able to write step-by-step instructions (an algorithm) to explain how to do it.</p>



<p>Let&#8217;s review the process. We did the following:</p>



<ol class="wp-block-list"><li>Manually counted the words in English.</li><li>Counted the words in Greek (a language we can&#8217;t read).</li><li>Looked for a rule that would work whilst counting words in both English and Greek.</li><li>Identified that counting spaces was a simple substitute for counting words in both languages.</li><li>Created step-by-step instructions to explain the process.</li></ol>



<pre class="wp-block-preformatted">1.&nbsp;&nbsp;&nbsp;set counter to 0 
2.&nbsp;&nbsp;&nbsp;move to first letter of sentence 
3.&nbsp;&nbsp;&nbsp;repeat until end of sentence 
4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if letter is a space 
5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add 1 to counter 
6.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move to next letter in sentence</pre>



<p>In other words we solved the problem of counting words in a sentence and came up with an algorithm to do so.</p>



<p>Notice that we did all this without using any coding terminology.</p>



<p>We could have done it all with pen and paper.</p>



<p>Coding often involves thinking through a problem in your head, on paper, or discussing with others. I solve my most tricky problems in the shower for example.</p>



<p>The final part, typing into a computer, is only done when you already know the solution (the algorithm).</p>



<p>Once we’ve done that, converting that algorithm into code is incredibly simple (if you understand the programming language).</p>



<p>Admittedly C# looks intimidating if you aren’t familiar with it and most people would think of this as the most difficult part.</p>



<p>Luckily, programming languages are much simpler to learn than real languages. They all follow simple rules, but once you’ve learnt the rules for one language it&#8217;s very easily transferable. They are all based on the same building blocks.</p>



<p>For example, I&#8217;ve used over 14 programming languages commercially and know even more. Yet I&#8217;m definitely <strong>not</strong> a &#8220;rockstar&#8221; coder. I have no innate talent for languages &#8211; I only know English.</p>



<h3 class="wp-block-heading">Converting our algorithm into code</h3>



<p></p>



<p>It&#8217;s outside the scope of this guide to teach you a programming language. So instead I&#8217;m going to show you how easy it is to convert a well written algorithm into code in two different languages.</p>



<p>Below is the same code that you saw above. I didn&#8217;t mention this before, but it&#8217;s actually the C# code of the algorithm that we created earlier in step 3. </p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="1000" height="563" src="https://test.rodocodo.com/wp-content/uploads/2021/02/image-1.png" alt="Demystifying coding. WordCount algorithm to C#" class="wp-image-1568" srcset="https://test.rodocodo.com/wp-content/uploads/2021/02/image-1.png 1000w, https://test.rodocodo.com/wp-content/uploads/2021/02/image-1-300x169.png 300w, https://test.rodocodo.com/wp-content/uploads/2021/02/image-1-150x84.png 150w, https://test.rodocodo.com/wp-content/uploads/2021/02/image-1-768x432.png 768w, https://test.rodocodo.com/wp-content/uploads/2021/02/image-1-20x11.png 20w" sizes="(max-width: 1000px) 100vw, 1000px" /><figcaption>C# WordCount function alongside the algorithm used to create it.</figcaption></figure></div>



<p><strong><em>Notice how each step in our algorithm (on the right) corresponds to one line of code in the program. </em></strong></p>



<p>I&#8217;m sure you&#8217;ll agree that if you understood the language it wouldn&#8217;t take much effort to convert the algorithm into a program. It&#8217;s simply a line for line substitution.</p>



<p>Let&#8217;s take a look at the code for another language that you are probably more familiar with. Scratch. It looks way less intimidating than C#. But because the example below is using the same algorithm, the program logic (the order of the commands) is exactly the same as the C# example above. </p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1000" height="563" src="https://test.rodocodo.com/wp-content/uploads/2021/02/image-2.png" alt="Demystifying coding. WordCount algorithm to Scratch" class="wp-image-1569" srcset="https://test.rodocodo.com/wp-content/uploads/2021/02/image-2.png 1000w, https://test.rodocodo.com/wp-content/uploads/2021/02/image-2-300x169.png 300w, https://test.rodocodo.com/wp-content/uploads/2021/02/image-2-150x84.png 150w, https://test.rodocodo.com/wp-content/uploads/2021/02/image-2-768x432.png 768w, https://test.rodocodo.com/wp-content/uploads/2021/02/image-2-20x11.png 20w" sizes="(max-width: 1000px) 100vw, 1000px" /><figcaption>Scratch WordCount custom block alongside the algorithm used to create it.</figcaption></figure></div>



<p><strong><em>N</em></strong><em><strong>otice again how each step in the algorithm corresponds to one line of code in Scratch.</strong></em></p>



<h3 class="wp-block-heading">What is a program?</h3>



<p></p>



<p>We already defined an algorithm as&#8230;</p>


<pre><em data-rich-text-format-boundary="true">Algorithm</em><br><em data-rich-text-format-boundary="true">A sequence of (step-by-step) instructions to complete a specific task, or solve a specific problem.</em></pre>


<p>So do you know what the definition of a program is?</p>


<input type='hidden' bg_collapse_expand='69bdd097ecab29091827437' value='69bdd097ecab29091827437'><input type='hidden' id='bg-show-more-text-69bdd097ecab29091827437' value='Show Answer'><input type='hidden' id='bg-show-less-text-69bdd097ecab29091827437' value='Hide Answer'><button id='bg-showmore-action-69bdd097ecab29091827437' class='bg-showmore-plg-button bg-orange-button bg-zoom '   style=" color:#4a4949;">Show Answer</button><div id='bg-showmore-hidden-69bdd097ecab29091827437' ></p>
<pre><em>Program</em><br><em>A sequence of (step-by-step) instructions to make a computer (or robot) do something specific.</em></pre>
<p></div>


<p></p>



<p>If you compare the two explanations you&#8217;ll notice that they are almost the same. The only difference is that a Program is created specifically to run on a computer.</p>



<h2 class="wp-block-heading">Conclusion</h2>



<p></p>



<p>The trick with coding is to always start with the problem, and make sure you understand it fully. The most important part of the coding process is everything you do <em>before</em> you start writing code. Writing code should always be the last thing you do. </p>



<p>Let&#8217;s review our 4 steps again:</p>



<figure class="wp-block-table aligncenter is-style-stripes"><table><tbody><tr><td><strong>Steps</strong></td><td><strong>What we did</strong></td></tr><tr><td>1. Make sure you understand the problem.</td><td><em>Counted the words in English and Greek manually.</em></td></tr><tr><td>2. Try to find a general solution to the problem.</td><td><em>Figured out that counting spaces worked in both languages.</em></td></tr><tr><td>3. Turn your solution into an algorithm.</td><td><em>Created the step-by-step instructions to count words.</em></td></tr><tr><td>4. Convert the algorithm into a program.</td><td><em>Converted the algorithm into code (C# / Scratch)</em>.</td></tr></tbody></table></figure>



<p></p>



<p>Some tips for your class:</p>



<ol class="wp-block-list"><li>If they aren&#8217;t used to creating algorithms. Consider giving them ready-made algorithms and asking them to write programs based on them.</li><li>Once they&#8217;re comfortable creating programs from algorithms. Encourage them to solve the problem by coming up with an algorithm before letting them test it on the computer.</li></ol>
]]></content:encoded>
					
					<wfw:commentRss>https://test.rodocodo.com/demystifying-coding-for-teachers-in-4-easy-steps/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
