<?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/"
	 xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>computer science &#8211; Technology for Learners</title>
	<atom:link href="https://technologyforlearners.com/tag/computer-science-2/feed/" rel="self" type="application/rss+xml" />
	<link>https://technologyforlearners.com</link>
	<description>Learn to use Technology and use Technology to Learn</description>
	<lastBuildDate>Mon, 18 Dec 2023 18:33:54 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://technologyforlearners.com/wp-content/uploads/2022/12/cropped-Logo-symbol-32x32.jpg</url>
	<title>computer science &#8211; Technology for Learners</title>
	<link>https://technologyforlearners.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Using Scratch to Learn Programming Concepts</title>
		<link>https://technologyforlearners.com/using-scratch-to-learn-programming-concepts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-scratch-to-learn-programming-concepts</link>
					<comments>https://technologyforlearners.com/using-scratch-to-learn-programming-concepts/#respond</comments>
		
		<dc:creator><![CDATA[Will Fastiggi]]></dc:creator>
		<pubDate>Fri, 24 Jul 2015 08:30:22 +0000</pubDate>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Boolean logic]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[computing curriculum]]></category>
		<category><![CDATA[Conditional statements]]></category>
		<category><![CDATA[Coordination & Synchronisation]]></category>
		<category><![CDATA[Event Handling]]></category>
		<category><![CDATA[Iteration (looping)]]></category>
		<category><![CDATA[Lists (arrays)]]></category>
		<category><![CDATA[Scratch 2.0]]></category>
		<category><![CDATA[Sequences]]></category>
		<category><![CDATA[Sprites]]></category>
		<category><![CDATA[Threads]]></category>
		<category><![CDATA[User interface design]]></category>
		<category><![CDATA[Variables]]></category>
		<guid isPermaLink="false">http://technologyforlearners.com/?p=1606</guid>

					<description><![CDATA[<img width="150" height="150" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-Sprite1-150x150.png" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Scratch" decoding="async" />Programming is a big part of computer science, and computer science is at the core of our computing curriculum.  Since programming is itself at the core of computer science, it&#8217;s worth taking some time to really get to grips with both programming as a series of concepts and one of the main tools used in [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="150" height="150" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-Sprite1-150x150.png" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Scratch" decoding="async" /><p>Programming is a big part of computer science, and computer science is at the core of our <a title="Reflections on the English Computing Curriculum" href="https://technologyforlearners.com/reflections-on-the-english-computing-curriculum/">computing curriculum</a>.  Since programming is itself at the core of computer science, it&#8217;s worth taking some time to really get to grips with both programming as a series of concepts and one of the main tools used in schools to teach these concepts, Scratch.</p>
<p>Programming simply refers to the art of writing instructions (algorithms) to tell a computer what to do.  Scratch is a visual programming language that provides an ideal learning environment for doing this.  Originally developed by America&#8217;s Massachusetts Institute of Technology, Scratch is a simple, visual programming language.  Colour coded blocks of code simply snap together in certain ways like a jigsaw, eliminating the typing errors that tend to occur when people use text-based programming languages.  Many media rich programs can be made using Scratch, including games, animations and interactive stories.  Scratch is almost certainly the most widely used software for teaching programming to Key Stage 2 and Key Stage 3 (learners from 8 to 14 years).</p>
<p>Scratch is a great tool for developing the programming skills of learners, since it allows all manner of different programs to be built.  In order to help develop the knowledge and understanding that go with these skills though, it&#8217;s important to be familiar with some key programming concepts that underpin the Scratch programming environment and are applicable to any <a href="https://www.lokajittikayatray.com/post/5-most-difficult-programming-languages-in-the-world" target="_blank" rel="noopener">Programming Language</a>. Using screenshots from some of my own <a title="Scratch Projects" href="https://scratch.mit.edu/users/wfastiggi/" target="_blank" rel="noopener">Scratch projects</a>, I have written here the main programming concepts that can be learnt through the use of this application.</p>
<p style="text-align: center;"><strong>Sprites</strong></p>
<figure id="attachment_1797" aria-describedby="caption-attachment-1797" style="width: 497px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" class="wp-image-1797 size-full" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-Sprite.png" alt="Scratch Sprite" width="497" height="410" srcset="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-Sprite.png 497w, https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-Sprite-300x247.png 300w, https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-Sprite-330x272.png 330w" sizes="(max-width: 497px) 100vw, 497px" /><figcaption id="caption-attachment-1797" class="wp-caption-text">The most important thing in any Scratch program are the sprites. Sprites are the graphical objects or characters that perform a function in your program. The default sprite in Scratch is the cat, which can easily be changed. Sprites by themselves won&#8217;t do anything of course, without coding!</figcaption></figure>
<p style="text-align: center;"><strong>Sequences</strong></p>
<figure id="attachment_1807" aria-describedby="caption-attachment-1807" style="width: 161px" class="wp-caption aligncenter"><img decoding="async" class="wp-image-1807 size-full" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-block-1.png" alt="In order to make any program in Scratch, you need to think through the sequence of steps." width="161" height="374" srcset="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-block-1.png 161w, https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-block-1-129x300.png 129w" sizes="(max-width: 161px) 100vw, 161px" /><figcaption id="caption-attachment-1807" class="wp-caption-text">In order to make a program in any programing language, you need to think through the sequence of steps.</figcaption></figure>
<p style="text-align: center;"><strong>Iteration (looping)</strong></p>
<figure id="attachment_1806" aria-describedby="caption-attachment-1806" style="width: 205px" class="wp-caption aligncenter"><img decoding="async" class="wp-image-1806 size-full" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-Repeat-.png" alt="Scratch Repeat" width="205" height="266" /><figcaption id="caption-attachment-1806" class="wp-caption-text">Iteration simply refers to the repetition of a series of instructions. This is accomplished in Scratch using the repeat, repeat until or forever blocks.</figcaption></figure>
<p style="text-align: center;"><strong>Conditional statements</strong></p>
<figure id="attachment_1805" aria-describedby="caption-attachment-1805" style="width: 268px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-1805" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-if-else.png" alt="A conditional statement is a set of rules performed if a certain condition is met.  In Scratch, the if and if-else blocks check for a condition." width="268" height="170" /><figcaption id="caption-attachment-1805" class="wp-caption-text">A conditional statement is a set of rules performed if a certain condition is met. In Scratch, the if and if-else blocks check for a condition.</figcaption></figure>
<p style="text-align: center;"><strong>Variables</strong></p>
<figure id="attachment_1801" aria-describedby="caption-attachment-1801" style="width: 190px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-1801" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-Variables.png" alt="Scratch Variables" width="190" height="135" /><figcaption id="caption-attachment-1801" class="wp-caption-text">A variable stores specific information. The most common variables in computer games for example, are score and timer.</figcaption></figure>
<p style="text-align: center;"><strong>Lists (arrays)</strong></p>
<figure id="attachment_1808" aria-describedby="caption-attachment-1808" style="width: 175px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-1808" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-lists-1.png" alt="A list is a tool that can be used to store multiple pieces of information at once." width="175" height="90" /><figcaption id="caption-attachment-1808" class="wp-caption-text">A list is a tool that can be used to store multiple pieces of information at once.</figcaption></figure>
<p style="text-align: center;"><strong>Event Handling</strong></p>
<figure id="attachment_1802" aria-describedby="caption-attachment-1802" style="width: 203px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-1802 size-full" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-When-key-pressed.png" alt="Scratch When key pressed" width="203" height="96" /><figcaption id="caption-attachment-1802" class="wp-caption-text">When key pressed and when sprite clicked are examples of event handling. These blocks allow the sprite to respond to events triggered by the user or other parts of the program.</figcaption></figure>
<p style="text-align: center;"><strong> Threads</strong></p>
<figure id="attachment_1800" aria-describedby="caption-attachment-1800" style="width: 480px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-1800 size-full" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Threads.png" alt="A thread just refers to the flow of a particular sequence of code within a program.  A thread cannot run on its own, but runs within a program.  When threads launch at the same time it is called parallel execution.   " width="480" height="364" srcset="https://technologyforlearners.com/wp-content/uploads/2015/07/Threads.png 480w, https://technologyforlearners.com/wp-content/uploads/2015/07/Threads-300x227.png 300w, https://technologyforlearners.com/wp-content/uploads/2015/07/Threads-330x250.png 330w" sizes="(max-width: 480px) 100vw, 480px" /><figcaption id="caption-attachment-1800" class="wp-caption-text">A thread just refers to the flow of a particular sequence of code within a program. A thread cannot run on its own, but runs within a program. When two threads launch at the same time it is called parallel execution.</figcaption></figure>
<p style="text-align: center;"><strong> Coordination &amp; Synchronisation</strong></p>
<figure id="attachment_1799" aria-describedby="caption-attachment-1799" style="width: 240px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-1799 size-full" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-broadcast.png" alt="Scratch broadcast" width="240" height="242" srcset="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-broadcast.png 240w, https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-broadcast-150x150.png 150w" sizes="(max-width: 240px) 100vw, 240px" /><figcaption id="caption-attachment-1799" class="wp-caption-text">The broadcast and when I receive blocks can coordinate the actions of multiple sprites. They work by getting sprites to cooperate by exchanging messages with one anoher. A common example is when one sprite touches another sprite, which then broadcasts a new level.</figcaption></figure>
<p style="text-align: center;"><strong>Keyboard input</strong></p>
<figure id="attachment_1798" aria-describedby="caption-attachment-1798" style="width: 434px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-1798 size-full" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-Keyboard-input.png" alt="Scratch Keyboard input" width="434" height="81" srcset="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-Keyboard-input.png 434w, https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-Keyboard-input-300x55.png 300w, https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-Keyboard-input-330x61.png 330w" sizes="(max-width: 434px) 100vw, 434px" /><figcaption id="caption-attachment-1798" class="wp-caption-text">This is a way of interacting with the user. The ask and wait prompts users to type. The answer block stores the keyboard input.</figcaption></figure>
<p style="text-align: center;"><strong>Boolean logic</strong></p>
<figure id="attachment_1803" aria-describedby="caption-attachment-1803" style="width: 397px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-1803 size-full" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-When-I-Receive.png" alt="Scratch When I Receive" width="397" height="157" srcset="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-When-I-Receive.png 397w, https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-When-I-Receive-300x118.png 300w, https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-When-I-Receive-330x130.png 330w" sizes="(max-width: 397px) 100vw, 397px" /><figcaption id="caption-attachment-1803" class="wp-caption-text">Boolean logic is a form of algebra in which all values are reduced to either true or false. The and, or, not statements are examples of boolean logic.</figcaption></figure>
<p style="text-align: center;"><strong>User interface design</strong></p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1809" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-button.png" alt="Scratch button" width="107" height="111" /></p>
<figure id="attachment_1795" aria-describedby="caption-attachment-1795" style="width: 196px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-1795 size-full" src="https://technologyforlearners.com/wp-content/uploads/2015/07/Scratch-user-interface.png" alt="Scratch user interface" width="196" height="170" /><figcaption id="caption-attachment-1795" class="wp-caption-text">Interactive user interfaces can be designed in Scratch using clickable sprites to create buttons.</figcaption></figure>
<p><strong>Concluding thoughts&#8230;</strong></p>
<p>By incorporating these key programming concepts, Scratch makes computer science accessible to all learners. In doing so, it promotes problem solving skills, which are important in all areas of life, not just programming.  The advantage of using <a href="https://scratch.mit.edu/" target="_blank" rel="noopener">Scratch 2.0</a> to do this is that it moves the Scratch programming language to the web, making it easier than ever to learn about, share and remix programs.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://technologyforlearners.com/using-scratch-to-learn-programming-concepts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Teaching computational thinking without using a computer</title>
		<link>https://technologyforlearners.com/teaching-computational-thinking-unplugged-to-1st-grade/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=teaching-computational-thinking-unplugged-to-1st-grade</link>
					<comments>https://technologyforlearners.com/teaching-computational-thinking-unplugged-to-1st-grade/#respond</comments>
		
		<dc:creator><![CDATA[Will Fastiggi]]></dc:creator>
		<pubDate>Tue, 31 Mar 2015 00:21:08 +0000</pubDate>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[abstraction]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[computational thinking]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[decomposition]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[The Barefoot Computing Project]]></category>
		<guid isPermaLink="false">http://technologyforlearners.com/?p=1450</guid>

					<description><![CDATA[<img width="150" height="150" src="https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Computational thinking" decoding="async" />[accordion] [item title=&#8221;Key Stage 1 Crazy Character Algorithms Lesson&#8221;] [embeddoc url=&#8221;https://technologyforlearners.com/wp-content/uploads/2015/03/KS1-Crazy-Character-Algorithms-Activity-PDF-Barefoot-Computing2.pdf&#8221;] [/item] [/accordion] Computational thinking is one of the core objectives that runs through the computing program of study in England from Key Stage 1 to Key Stage 4. Before computers can be used to solve a problem, computational thinking refers to understanding the problem [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="150" height="150" src="https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Computational thinking" decoding="async" /><p>[accordion]</p>
<p>[item title=&#8221;Key Stage 1 Crazy Character Algorithms Lesson&#8221;]</p>
<p>[embeddoc url=&#8221;https://technologyforlearners.com/wp-content/uploads/2015/03/KS1-Crazy-Character-Algorithms-Activity-PDF-Barefoot-Computing2.pdf&#8221;]</p>
<p>[/item]</p>
<p>[/accordion]</p>
<p>Computational thinking is one of the core objectives that runs through the <a title="Reflections on the English Computing Curriculum" href="https://technologyforlearners.com/archives/1429">computing program of study </a>in England from Key Stage 1 to Key Stage 4. Before computers can be used to solve a problem, computational thinking refers to understanding the problem itself and the ways in which it could be resolved. Software engineers and computer scientists for example, routinely engage in computational thinking. As a higher order thinking skill, computational thinking has applications both across and beyond the school curriculum.</p>
<p>There are four key techniques to computational thinking:</p>
<p><em>Abstraction</em> &#8211; focusing on the important information only, ignoring irrelevant details<br />
<em>Algorithms</em> &#8211; developing a step-by-step solution to the problem<br />
<em>Decomposition</em> &#8211; breaking down the problem into smaller, more manageable parts<br />
<em>Logic &#8211;</em> looking for similarities among and within problems</p>
<p>Learning to program is one of the best ways to develop computational thinking, as it uses each one of these techniques. My intention here is to show an example of a lesson in which computational thinking is taught at Key Stage 1 (5 to 7 years) through programming. I took the lesson plan (attached above) from <a href="http://barefootcas.org.uk/" target="_blank" rel="noopener">The Barefoot Computing Project</a> and I taught it to my 1st grade class last week.  It required the children to work in pairs to create step-by-step instructions through pictures.  The pairs then swapped each other&#8217;s instructions, which they used to draw the &#8216;crazy character&#8217; that the other child had in mind.</p>
<p>This sort of lesson is &#8216;unplugged&#8217; (no computer needed) and teaches children about algorithms. Although the children used instructions to make a &#8216;crazy character&#8217;, any set of instructions could be used to introduce algorithms.  Algorithms are a critical foundation for learning to program because without them no program would run. Since this lesson&#8217;s objective was just an introduction to algorithms, only the term &#8216;algorithm&#8217; was discussed explicitly. The other techniques of computational thinking (abstraction, decomposition and logic) were not explicitly mentioned, but the ideas behind them were explained to the pupils using child-friendly language. I include here how the four key techniques to computational thinking are embedded into this lesson.</p>
<p><strong>Abstraction</strong></p>
<p>Abstraction captures only the most important features of the problem, filtering out the details that we do not need. The Tube map for the London Underground for instance, shows the order of the stations and the interchange between lines, typically ignoring physical distances and locations.</p>
<figure id="attachment_1453" aria-describedby="caption-attachment-1453" style="width: 1024px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-large wp-image-1453" src="https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-1024x818.jpg" alt="Computational thinking" width="1024" height="818" srcset="https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-1024x818.jpg 1024w, https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-300x239.jpg 300w, https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-330x263.jpg 330w, https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-690x551.jpg 690w, https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-1050x838.jpg 1050w, https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-726x580.jpg 726w, https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-1453" class="wp-caption-text">In this lesson abstraction is taught by explaining to the pupils that they should keep their algorithms simple, using only use five body parts for their crazy character and that no detail or colouring is needed.</figcaption></figure>
<p><strong>Algorithms</strong></p>
<p>An algorithm is a set of step-by-step instructions to solve a problem. Pupils learn during this lesson that algorithms are the sets of instructions that others can follow to draw their characters.</p>
<figure id="attachment_1452" aria-describedby="caption-attachment-1452" style="width: 1024px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-large wp-image-1452" src="https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-2-1024x764.jpg" alt="Debugging" width="1024" height="764" srcset="https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-2-1024x764.jpg 1024w, https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-2-300x224.jpg 300w, https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-2-330x246.jpg 330w, https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-2-690x515.jpg 690w, https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-2-1050x784.jpg 1050w, https://technologyforlearners.com/wp-content/uploads/2015/03/Computational-thinking-2-776x580.jpg 776w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-1452" class="wp-caption-text">Debugging takes place when pupils think what the algorithm should do and then show their partner to check if the drawing is correct.</figcaption></figure>
<p>&nbsp;</p>
<p>Bugs are explained to the pupils as a mistake in the algorithm, something that does not work in the program as it was intended. Debugging then needs to be done in which pupils think what the algorithm should do, test it to find out (by showing their partner the drawing), work out where it goes wrong and then fix it. For example, when their partner draws the legs at the bottom of the body but they were supposed to be at the top, the algorithm has to be changed accordingly. In other words, debugging is likely to involve adding greater precision to the language used in one or more of the steps.</p>
<p><strong>Decomposition</strong></p>
<p>Decomposition is where pupils break down a problem into smaller parts. For example, pupils here are required to draw the body first, then the eyes, then the legs, and so on. This activity in particular, can help children to see the importance of looking at a problem in stages.</p>
<figure id="attachment_1451" aria-describedby="caption-attachment-1451" style="width: 936px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-large wp-image-1451" src="https://technologyforlearners.com/wp-content/uploads/2015/03/Algorithm-unplugged-936x1024.jpg" alt="Decomposition" width="936" height="1024" srcset="https://technologyforlearners.com/wp-content/uploads/2015/03/Algorithm-unplugged-936x1024.jpg 936w, https://technologyforlearners.com/wp-content/uploads/2015/03/Algorithm-unplugged-274x300.jpg 274w, https://technologyforlearners.com/wp-content/uploads/2015/03/Algorithm-unplugged-330x360.jpg 330w, https://technologyforlearners.com/wp-content/uploads/2015/03/Algorithm-unplugged-690x754.jpg 690w, https://technologyforlearners.com/wp-content/uploads/2015/03/Algorithm-unplugged-1050x1148.jpg 1050w, https://technologyforlearners.com/wp-content/uploads/2015/03/Algorithm-unplugged-530x580.jpg 530w, https://technologyforlearners.com/wp-content/uploads/2015/03/Algorithm-unplugged.jpg 1470w" sizes="(max-width: 936px) 100vw, 936px" /><figcaption id="caption-attachment-1451" class="wp-caption-text">Pupils learn decomposition by having to separate the problem into five distinct steps.</figcaption></figure>
<p>&nbsp;</p>
<p><strong>Logic</strong></p>
<p>Logic requires pupils to look for patterns in problems. By using logic pupils are able to predict what will happen when their partner uses the algorithm to draw the character. They use previous knowledge about what has already happened for steps like this. By both creating and following more algorithms pupils will recognise that they use the same blocks of &#8220;code&#8221; (in this case, written instructions and pictures) time and time again.</p>
<p>&nbsp;</p>
<figure id="attachment_1454" aria-describedby="caption-attachment-1454" style="width: 1024px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-large wp-image-1454" src="https://technologyforlearners.com/wp-content/uploads/2015/03/Logic-1024x1024.jpg" alt="Working in pairs, children use logic to predict what their partner's character will look like based on the algorithm provided." width="1024" height="1024" srcset="https://technologyforlearners.com/wp-content/uploads/2015/03/Logic-1024x1024.jpg 1024w, https://technologyforlearners.com/wp-content/uploads/2015/03/Logic-150x150.jpg 150w, https://technologyforlearners.com/wp-content/uploads/2015/03/Logic-300x300.jpg 300w, https://technologyforlearners.com/wp-content/uploads/2015/03/Logic-330x330.jpg 330w, https://technologyforlearners.com/wp-content/uploads/2015/03/Logic-690x690.jpg 690w, https://technologyforlearners.com/wp-content/uploads/2015/03/Logic-1050x1050.jpg 1050w, https://technologyforlearners.com/wp-content/uploads/2015/03/Logic-580x580.jpg 580w, https://technologyforlearners.com/wp-content/uploads/2015/03/Logic.jpg 1936w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-1454" class="wp-caption-text">Working in pairs, children use logic to predict what their partner&#8217;s character will look like based on the algorithm provided.</figcaption></figure>
<p>&nbsp;</p>
<p>To summarise, the focus on computational thinking in the new curriculum reflects a shift of emphasis from the skills of using ICT to developing an understanding of computer science. Computational thinking, which is the heart of computer science, is not only a useful skill to teach, but it&#8217;s also an important and interesting skill to learn. As I hope to have demonstrated here, the basics of computational thinking can be taught at a very young age (from 5 years) without even using a computer.  Since any set of instructions can be used to teach algorithms, the related ideas of abstraction, decomposition and logic can also be embedded into such a lesson to develop children&#8217;s computational thinking.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://technologyforlearners.com/teaching-computational-thinking-unplugged-to-1st-grade/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Reflections on the English Computing Curriculum</title>
		<link>https://technologyforlearners.com/reflections-on-the-english-computing-curriculum/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=reflections-on-the-english-computing-curriculum</link>
					<comments>https://technologyforlearners.com/reflections-on-the-english-computing-curriculum/#respond</comments>
		
		<dc:creator><![CDATA[Will Fastiggi]]></dc:creator>
		<pubDate>Tue, 17 Mar 2015 01:05:18 +0000</pubDate>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Bee-Bots]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[computational thinking]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[computing curriculum]]></category>
		<category><![CDATA[Scratch]]></category>
		<guid isPermaLink="false">http://technologyforlearners.com/?p=1429</guid>

					<description><![CDATA[<img width="150" height="150" src="https://technologyforlearners.com/wp-content/uploads/2015/03/Computing-curriculum-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Computing curriculum" decoding="async" />Of all the recent changes in the National Curriculum, ICT has undergone by far the biggest shake up.  For starters, it&#8217;s no longer even called ICT &#8211; as of September 2014, the name was officially replaced with &#8216;computing&#8217;.  The change of name reflects both a rebranding of the subject and a shift of focus towards [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="150" height="150" src="https://technologyforlearners.com/wp-content/uploads/2015/03/Computing-curriculum-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Computing curriculum" decoding="async" /><p>Of all the recent changes in the National Curriculum, ICT has undergone by far the biggest shake up.  For starters, it&#8217;s no longer even called ICT &#8211; as of September 2014, the name was officially replaced with &#8216;computing&#8217;.  The change of name reflects both a rebranding of the subject and a shift of focus towards computer science.  Prior to its disapplication, the former education minister, <a href="http://www.independent.co.uk/news/education/education-news/michael-gove-brands-ict-curriculum-a-mess-6287885.html" target="_blank" rel="noopener">Michael Gove</a>, described the old ICT curriculum as a &#8216;mess&#8217;.  In its place, the computing curriculum is intended to be more demanding, more relevant and more interesting.  And as an ICT (now computing) coordinator, I&#8217;ve been reflecting on the change with great interest.</p>
<p>The focus on computer science is really what sets computing apart from ICT.  This explains why much of the media attention given to the new curriculum has focussed on children &#8216;learning to code&#8217;.  It’s worth mentioning however, that whilst &#8216;coding&#8217; is an important skill, which the new curriculum certainly helps to develop, computing is not just about computer science, and computer science is not just about coding.  Although computer science (CS) is at the ‘core’ of computing, the new curriculum also includes information technology (IT) and digital literacy (DL).</p>
<p>What all this means in practice is that unlike its predecessor, ICT, computing is a much more ambitious programme of study.  The opening sentence on the<a href="https://www.gov.uk/government/publications/national-curriculum-in-england-computing-programmes-of-study/national-curriculum-in-england-computing-programmes-of-study" target="_blank" rel="noopener"> National Curriculum website</a> says as much:</p>
<p><em>‘A high-quality computing education equips pupils to use computational thinking and creativity to understand and change the world’.</em></p>
<p>Creativity has long been an important aspect of ICT education in schools, particularly in terms of the opportunities given to students to take on projects and create their own digital content.  The notion of &#8216;<a title="Teaching computational thinking without using a computer" href="https://technologyforlearners.com/archives/1450">computational thinking</a>&#8216; however, is something new.  Computational thinking is about looking at problems as they would be processed by a computer and then using this sort of thinking to solve or understand them.  It involves a set of higher order thinking skills, which software developers and computer scientists draw on all the time.  As a form of critical thinking, computational thinking has applications both across and beyond the national curriculum.</p>
<p>Arguably, the best way to develop computational thinking is to learn to program.  Programming is just one of the skills that <a href="http://news.tltp.co.uk/Press-Releases/New-curriculum-to-make-Britain-the-envy-of-the-world-/801746900" target="_blank" rel="noopener">Nick Gibb</a>, the minister for school reform was talking about when he described the new national curriculum as one that will make England&#8217;s education system the ‘envy of the world’.  Many countries teach programming in secondary schools, but England is the first country in the world to do so from the age of five up.  And why not?  Digital technology is a significant part of all our lives nowadays, so understanding how it works ought to be an entitlement for all.  In doing so, more children can go on to become creators of digital technology rather than just passive users.</p>
<p>&nbsp;</p>
<p><em><strong>Learning Resources</strong></em></p>
<p>How does the greater emphasis on programming skills manifest itself in the new curriculum?  As with the old curriculum, the new curriculum avoids any specific reference to particular hardware or software that a school should use.  Technology, after all, is constantly changing, and as teachers we need to ensure that students get a thorough grounding in the knowledge, skills and understanding underpinning the use of digital technology itself.  Let&#8217;s take a look at the expectations outlined by the National Curriculum programme of study for computing.  I&#8217;m highlighting here the programming elements, as this represents one of the biggest changes.</p>
<p><em>At Key Stage 1, pupils should be taught to:</em></p>
<p><strong><em>&#8211; understand what algorithms are; how they are implemented as programs on digital devices; and that programs execute by following precise and unambiguous instructions</em></strong></p>
<p><strong><em>&#8211; create and debug simple programs</em></strong></p>
<p><strong><em>&#8211; use logical reasoning to predict the behaviour of simple programs</em></strong></p>
<p><em>&#8211; use technology purposefully to create, organise, store, manipulate and retrieve digital content</em></p>
<p><em>&#8211; recognise common uses of information technology beyond school</em></p>
<p><em>&#8211; use technology safely and respectfully, keeping personal information private; identify where to go for help and support when they have concerns about content or contact on the internet or other online technologies.</em></p>
<p>Looking at this, there&#8217;s nothing in the Key Stage 1 expectations that require pupils to use technology more advanced than programmable floor robots such as Bee-Bots – the ability for children to put themselves in the place of a programmable toy is the beginning of programming. In fact, certain concepts such as algorithms can be learned through &#8220;unplugged&#8221; activities in which no computers are needed at all.  There are also some very child-friendly programming apps for the iPad such as Light Bot and Scratch Jr, which provide a gentle introduction to screen-based programming.</p>
<figure id="attachment_1430" aria-describedby="caption-attachment-1430" style="width: 1024px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-large wp-image-1430" src="https://technologyforlearners.com/wp-content/uploads/2015/03/Bee-Bot-1024x723.jpg" alt="Bee-Bots" width="1024" height="723" srcset="https://technologyforlearners.com/wp-content/uploads/2015/03/Bee-Bot-1024x723.jpg 1024w, https://technologyforlearners.com/wp-content/uploads/2015/03/Bee-Bot-300x212.jpg 300w, https://technologyforlearners.com/wp-content/uploads/2015/03/Bee-Bot-330x233.jpg 330w, https://technologyforlearners.com/wp-content/uploads/2015/03/Bee-Bot-690x487.jpg 690w, https://technologyforlearners.com/wp-content/uploads/2015/03/Bee-Bot-1050x742.jpg 1050w, https://technologyforlearners.com/wp-content/uploads/2015/03/Bee-Bot-820x580.jpg 820w, https://technologyforlearners.com/wp-content/uploads/2015/03/Bee-Bot.jpg 1958w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-1430" class="wp-caption-text">Bee-Bots are programmable toys, which are perfect for Key Stage 1 children.</figcaption></figure>
<p>&nbsp;</p>
<p><em>At Key Stage 2 pupils should be taught to:</em></p>
<p><strong><em>&#8211; design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts</em></strong></p>
<p><strong><em>&#8211; use sequence, selection, and repetition in programs; work with variables and various forms of input and output use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs</em></strong></p>
<p><strong><em>&#8211; understand computer networks including the internet; how they can provide multiple services, such as the world wide web; and the opportunities they offer for communication and collaboration </em></strong></p>
<p><em>&#8211; use search technologies effectively, appreciate how results are selected and ranked, and be discerning in evaluating digital content</em></p>
<p><em>&#8211; select, use and combine a variety of software (including internet services) on a range of digital devices to design and create a range of programs, systems and content that accomplish given goals, including collecting, analysing, evaluating and presenting data and information use technology safely, respectfully and responsibly;</em></p>
<p><em>&#8211; recognise acceptable/unacceptable behaviour;</em></p>
<p><em>&#8211; identify a range of ways to report concerns about content and contact.</em></p>
<p>At Key Stage 2, Scratch provides an ideal programming environment. It&#8217;s very easy to use compared to text based programming languages, since programs can simply be built by moving around coloured blocks on the screen.  I have actually included Scratch as a software to be used from the end of Key Stage 1 onwards.  This is because in my experience, even children as young as Year 2 (Grade 1) can quickly get to grips with Scratch and it gives them a head start when they reach Key Stage 2.  Kodu is another example of a graphics based programming software and is a good option for giving children the experience of programming 3D games.  By the end of Key Stage 2, it&#8217;s worthwhile for children to have some experience of a text based programming language. Python is an excellent option to start with, and I&#8217;ve included several <a title="Python Lesson Plans" href="https://technologyforlearners.com/python-lesson-plans">Python lesson plans</a> in the resources section, which can be used with Year 6 (Grade 5) children.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-1431" src="https://technologyforlearners.com/wp-content/uploads/2015/03/Scratch-1024x822.jpg" alt="Scratch programming" width="1024" height="822" srcset="https://technologyforlearners.com/wp-content/uploads/2015/03/Scratch-1024x822.jpg 1024w, https://technologyforlearners.com/wp-content/uploads/2015/03/Scratch-300x241.jpg 300w, https://technologyforlearners.com/wp-content/uploads/2015/03/Scratch-330x265.jpg 330w, https://technologyforlearners.com/wp-content/uploads/2015/03/Scratch-690x554.jpg 690w, https://technologyforlearners.com/wp-content/uploads/2015/03/Scratch-1050x843.jpg 1050w, https://technologyforlearners.com/wp-content/uploads/2015/03/Scratch-721x580.jpg 721w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>&nbsp;</p>
<p>As students move into Key Stage 3, they are expected to learn at least two programming languages, as well as the basics of concepts such as Boolean logic, binary and the fetch-execute cycle.  Productivity tools such as Google Apps for Education are still very relevant, as students need to be able to create presentations, make spreadsheets and word process documents.  These skills complement programming, particularly spreadsheet modelling, which draws on basic functional programming.  What makes such software truly great though, is that it&#8217;s free, online and facilitates collaboration.  The latter point, I think, is particularly important for facilitating the learning process.</p>
<p>&nbsp;</p>
<p><em><strong>Assessment</strong></em></p>
<p>Finally, as with any subject, it&#8217;s important to remember assessment.  In the past, assessment has been one of the most neglected areas in the teaching of ICT.  In my opinion though, the new programme of study for computing makes it easier to judge how well students have grasped key concepts.  Since there are just three core aspects of the computing curriculum (computer science, digital literacy and information technology), and the old levelling criteria has been removed, a more straightforward assessment framework can be applied.  All that is needed is for teachers to<a title="Assessment of Computing" href="https://technologyforlearners.com/assessment-of-computing/"> link assessment directly to the programme of study</a>, ideally involving students in the process where possible.  In this way, students are in a stronger position to ‘<a href="https://www.gov.uk/government/publications/national-curriculum-in-england-computing-programmes-of-study/national-curriculum-in-england-computing-programmes-of-study" target="_blank" rel="noopener">know, apply and understand the matters, skills and processes specified</a>’.</p>
<p>&nbsp;</p>
<p><em><strong>My concluding thoughts&#8230;</strong></em></p>
<p>This is an exciting time to teach computing, but close attention needs to be given to its implementation.  The computing curriculum is without doubt an ambitious program of study, which gives teachers an opportunity to review the technology that they use in class, adapt their teaching approach and move forward with more effective assessment practices.  By developing our students’ knowledge, skills and understanding across the computing curriculum, we can prepare them well for the all-encompassing digital sphere of 21st century life.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://technologyforlearners.com/reflections-on-the-english-computing-curriculum/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
