<?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>programming &#8211; Technology for Learners</title>
	<atom:link href="https://technologyforlearners.com/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>https://technologyforlearners.com</link>
	<description>Learn to use Technology and use Technology to Learn</description>
	<lastBuildDate>Sat, 30 Jul 2022 17:26:07 +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>programming &#8211; Technology for Learners</title>
	<link>https://technologyforlearners.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Spotlight On: High &#038; Low-Level Languages</title>
		<link>https://technologyforlearners.com/spotlight-on-high-low-level-languages/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=spotlight-on-high-low-level-languages</link>
					<comments>https://technologyforlearners.com/spotlight-on-high-low-level-languages/#respond</comments>
		
		<dc:creator><![CDATA[Will Fastiggi]]></dc:creator>
		<pubDate>Tue, 10 Jan 2017 00:23:09 +0000</pubDate>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[assembler]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[high-level languages]]></category>
		<category><![CDATA[interpreter]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[low-level languages]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<guid isPermaLink="false">http://technologyforlearners.com/?p=2316</guid>

					<description><![CDATA[<img width="150" height="150" src="https://technologyforlearners.com/wp-content/uploads/2017/01/2017-01-09-at-22.54-150x150.png" class="attachment-thumbnail size-thumbnail wp-post-image" alt="" decoding="async" />Depending on the task to be performed, computer programs can be written in high-level languages or low-level languages.  Most programmers write programs in high-level languages such as Java, Python, Visual Basic and many more. High-level languages are portable and can be used on different types of computers.  They use English and mathematical symbols in its [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="150" height="150" src="https://technologyforlearners.com/wp-content/uploads/2017/01/2017-01-09-at-22.54-150x150.png" class="attachment-thumbnail size-thumbnail wp-post-image" alt="" decoding="async" /><p>Depending on the task to be performed, computer programs can be written in <strong>high-level languages</strong> or <strong>low-level languages</strong>.  Most programmers write programs in high-level languages such as Java, Python, Visual Basic and many more.</p>
<p><strong>High-level languages</strong> are portable and can be used on different types of computers.  They use English and mathematical symbols in its instructions, therefore requiring no knowledge of the computer hardware and enabling the programmer to focus on the problem to be solved.  High-level languages have several advantages insofar as they are easier to:</p>
<p>&#8211; read and understand</p>
<p>&#8211; write in a shorter time</p>
<p>&#8211; debug at the development stage</p>
<p><strong>Low-level languages</strong> relate to the specific hardware of a particular type of computer.  They can refer to machine code, the binary instructions that a computer understands, or an assembly language that needs to be translated into machine code.  Few programmers write code in a low-level language because it is difficult to understand, but those who do, do so for the following reasons:</p>
<p>&#8211; to make use of special hardware</p>
<p>&#8211; to write code that does not take up much space</p>
<p>&#8211; to write code that performs a task quickly.</p>
<p>Low-level languages come in two categories:</p>
<p>&#8211; <em>Machine Language</em> &#8211; language that is directly understood by the computer (binary notation , 0s and 1s), and it does not need to be translated.</p>
<p>&#8211; <em>Assembly Language</em> &#8211; the first step to make machine language more readable by humans.  An assembly language consists of a set of symbols and letters.  It can be called the second generation language because it no longer uses 1s and 0s to write instructions, but terms like MOVE, ADD, SUM and END.  Many of the early computer programs were written in assembly languages, but they are still used for Operating Systems and electronic devices, which use very precise timing and operation of computer resources.  While easier to understand than machine language, assembly languages are still quite difficult to understand, which is why high-level languages have been developed.</p>
<p>Any high-level language program though, must be translated into binary before a computer can use it.  This process is done by a utility program called a translator.  There are several types of translator, each one performing a different task:</p>
<p>A <strong>compiler</strong> is a computer program that translates a program written in a high-level language to the machine level language of a computer.  Everything is translated and compiled once by the compiler, and then can be used many times afterwards.  One of the advantages therefore, of using a compiler, is that compiled code tends to be faster because it has all been executed in one step prior to its execution, and the source code (the high level language originally used) is hidden.</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-2318" src="https://technologyforlearners.com/wp-content/uploads/2017/01/Compilers.png" alt="Compiler" width="774" height="257" srcset="https://technologyforlearners.com/wp-content/uploads/2017/01/Compilers.png 774w, https://technologyforlearners.com/wp-content/uploads/2017/01/Compilers-300x99.png 300w, https://technologyforlearners.com/wp-content/uploads/2017/01/Compilers-330x109.png 330w, https://technologyforlearners.com/wp-content/uploads/2017/01/Compilers-690x229.png 690w" sizes="(max-width: 774px) 100vw, 774px" /></p>
<p>An <strong>interpreter</strong> on the other hand, interprets and translates a program written in high-level language to low-level language line by line.</p>
<p><img decoding="async" class="aligncenter size-full wp-image-2319" src="https://technologyforlearners.com/wp-content/uploads/2017/01/Interpreters.png" alt="Interpreter" width="580" height="233" srcset="https://technologyforlearners.com/wp-content/uploads/2017/01/Interpreters.png 580w, https://technologyforlearners.com/wp-content/uploads/2017/01/Interpreters-300x120.png 300w, https://technologyforlearners.com/wp-content/uploads/2017/01/Interpreters-330x132.png 330w" sizes="(max-width: 580px) 100vw, 580px" /></p>
<p>An <strong>assembler</strong> translates a program written in a low-level language (assembly language) into machine code so that it can be directly used by a computer to perform a required task.  Once a program is assembled the machine code can be used again and again to perform the same task without re-assembly.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://technologyforlearners.com/spotlight-on-high-low-level-languages/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lego Mindstorm &#8211; a practical approach to learn programming</title>
		<link>https://technologyforlearners.com/lego-mindstorm-a-practical-approach-to-learn-programming/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=lego-mindstorm-a-practical-approach-to-learn-programming</link>
					<comments>https://technologyforlearners.com/lego-mindstorm-a-practical-approach-to-learn-programming/#respond</comments>
		
		<dc:creator><![CDATA[Will Fastiggi]]></dc:creator>
		<pubDate>Sat, 12 Dec 2015 10:51:38 +0000</pubDate>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[blockly]]></category>
		<category><![CDATA[Lego Mindstorm]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[robotics]]></category>
		<guid isPermaLink="false">http://technologyforlearners.com/?p=1903</guid>

					<description><![CDATA[<img width="150" height="150" src="https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2257-1-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="" decoding="async" />Lego Mindstorm is a robotics construction set that provides learners with a fun, practical approach to learning computer programming.  Included in each set (whichever version you get) is a &#8216;brick&#8217; computer that controls the system, a set of sensors and motors, as well as lego parts to create the mechanical system.  We have recently been [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="150" height="150" src="https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2257-1-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="" decoding="async" /><p>Lego Mindstorm is a robotics construction set that provides learners with a fun, practical approach to learning computer programming.  Included in each set (whichever version you get) is a &#8216;brick&#8217; computer that controls the system, a set of sensors and motors, as well as lego parts to create the mechanical system.  We have recently been running a series of lessons using the robots with Class 3 (4<sup>th</sup> graders/Year 5), and it’s proven to be a memorable learning experience.</p>
<p>Children were put into groups, and within each group, the following roles were assigned:</p>
<ol>
<li>The role of the <strong>Reader</strong> is to read the instructions from the manual carefully, and then communicate these instructions to the Identifier and Builder.</li>
<li>It is the job of the <strong>Identifier</strong> to find and sort the pieces for each stage of building the Lego Mindstorm robot.</li>
<li>Finally, it is the responsibility of the <strong>Builder</strong> to assemble the pieces together.</li>
</ol>
<figure id="attachment_1904" aria-describedby="caption-attachment-1904" style="width: 1024px" class="wp-caption aligncenter"><img decoding="async" class="wp-image-1904 size-large" src="https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2257-1-1024x764.jpg" alt="Building a Lego Mindstorm" width="1024" height="764" srcset="https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2257-1-1024x764.jpg 1024w, https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2257-1-300x224.jpg 300w, https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2257-1-330x246.jpg 330w, https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2257-1-690x515.jpg 690w, https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2257-1-1050x784.jpg 1050w, https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2257-1-776x580.jpg 776w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-1904" class="wp-caption-text">From left to right: Builder, Reader, Identifier.</figcaption></figure>
<p>By organising the groups in this way, each learner gets the opportunity to develop a different skill – e.g. communication, listening, collaboration or resilience.  Children then continue this activity over the course of a few lessons, and each lesson their role is changed to allow everyone the opportunity to develop a broad skillset.  By doing so, the process of just building the robot itself (before any programming is done) becomes a worthwhile experience for all.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-1906" src="https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2243-1024x764.jpg" alt="IMG_2243" width="1024" height="764" srcset="https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2243-1024x764.jpg 1024w, https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2243-300x224.jpg 300w, https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2243-330x246.jpg 330w, https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2243-690x515.jpg 690w, https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2243-1050x784.jpg 1050w, https://technologyforlearners.com/wp-content/uploads/2015/12/IMG_2243-776x580.jpg 776w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>&nbsp;</p>
<p>In order to assist students with this process, I made a Stop Animation video (it also helped me learn to build the robot myself!):</p>
<p><iframe title="Tutorial Video for Making a Lego Mindstorm" width="1290" height="726" src="https://www.youtube.com/embed/fP2bgGj7hSs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p>Once built, the students take their robots to the labs in order to start programming.  The robots are connected to the computers via USB, which can then start to be programmed using the Lego Mindstorm NXT software.  This makes use of simple drag and drop programming blocks that the children are already quite familiar with from having played <a href="https://blockly-games.appspot.com/" target="_blank" rel="noopener">Blockly programming games</a>.  The software is easy to use, as it&#8217;s very visual, includes lots of video tutorials and provides clear instructions on how to get the robot to do different things.  The tasks on the software are presented in numerical order of complexity with really easy tasks first &#8211; for example, how to program the robot to display a smiley face, how to get the robot to say &#8220;hello&#8221;, how to get the robot to spin, etc.  As the children learn to program the robots to perform simple tasks, they can chop and change the code in order to get the robots to perform increasingly complex actions, involving a range of different movements, sounds and images on the screen.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-1910" src="https://technologyforlearners.com/wp-content/uploads/2015/12/FullSizeRender-41-1024x987.jpg" alt="Lego Mindstorm NXT" width="1024" height="987" srcset="https://technologyforlearners.com/wp-content/uploads/2015/12/FullSizeRender-41-1024x987.jpg 1024w, https://technologyforlearners.com/wp-content/uploads/2015/12/FullSizeRender-41-300x289.jpg 300w, https://technologyforlearners.com/wp-content/uploads/2015/12/FullSizeRender-41-330x318.jpg 330w, https://technologyforlearners.com/wp-content/uploads/2015/12/FullSizeRender-41-690x665.jpg 690w, https://technologyforlearners.com/wp-content/uploads/2015/12/FullSizeRender-41-1050x1012.jpg 1050w, https://technologyforlearners.com/wp-content/uploads/2015/12/FullSizeRender-41-601x580.jpg 601w, https://technologyforlearners.com/wp-content/uploads/2015/12/FullSizeRender-41.jpg 2007w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>In just minutes, the different groups had grasped how to program their robots.  By the end of just one session, they had created all sorts of different programs using Lego Mindstorm NXT, and it was fun for everybody to then watch the robots in action.  (I recorded this short video clip below to provide a glimpse of one robot in action after it had been programmed by the children).</p>
<p>&nbsp;</p>
<p><iframe title="Lego Mindstorm" width="1290" height="726" src="https://www.youtube.com/embed/xnOj3x3D7MU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p><iframe title="Lego Mindstorm" width="1290" height="726" src="https://www.youtube.com/embed/0sq0hh8c8Dc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p>Lego Mindstorm provides the perfect opportunity to get children involved in a group project in which they can easily see for themselves the value of programming.  Creating a robot from scratch is not easy, but the sense of accomplishment after it&#8217;s built makes it worth the time and effort.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://technologyforlearners.com/lego-mindstorm-a-practical-approach-to-learn-programming/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Scratch Tutorial for Teachers</title>
		<link>https://technologyforlearners.com/scratch-tutorial-for-teachers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=scratch-tutorial-for-teachers</link>
					<comments>https://technologyforlearners.com/scratch-tutorial-for-teachers/#respond</comments>
		
		<dc:creator><![CDATA[Will Fastiggi]]></dc:creator>
		<pubDate>Sat, 06 Dec 2014 09:51:03 +0000</pubDate>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Computer Science Education Week]]></category>
		<category><![CDATA[computing curriculum]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[quiz game]]></category>
		<category><![CDATA[Scratch]]></category>
		<guid isPermaLink="false">http://technologyforlearners.com/?p=982</guid>

					<description><![CDATA[<img width="150" height="150" src="https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-featured-image-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Scratch Tutorial for teachers" decoding="async" />[accordion] [item title=&#8221;Step-by-step screenshot prompts for programming a quiz show in Scratch&#8221;] [embeddoc url=&#8221;https://technologyforlearners.com/wp-content/uploads/2014/12/Quiz-Show-Screenshot-Prompts.docx&#8221;] [/item] [/accordion] &#160; In the run up to Computer Science Education Week (8th to 14th December), I delivered a Scratch training session for  my teaching colleagues.   As they do not normally  teach computing, I wanted to give them an idea of what Computer [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="150" height="150" src="https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-featured-image-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Scratch Tutorial for teachers" decoding="async" /><p>[accordion]</p>
<p>[item title=&#8221;Step-by-step screenshot prompts for programming a quiz show in Scratch&#8221;]</p>
<p>[embeddoc url=&#8221;https://technologyforlearners.com/wp-content/uploads/2014/12/Quiz-Show-Screenshot-Prompts.docx&#8221;]</p>
<p>[/item]</p>
<p>[/accordion]<br />
<a href="https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET.jpg"><img loading="lazy" decoding="async" class="aligncenter  wp-image-985" src="https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-1024x394.jpg" alt="Scratch INSET for teachers" width="993" height="382" srcset="https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-1024x394.jpg 1024w, https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-300x115.jpg 300w, https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-330x127.jpg 330w, https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-690x265.jpg 690w, https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-1050x404.jpg 1050w, https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-1506x580.jpg 1506w" sizes="(max-width: 993px) 100vw, 993px" /></a></p>
<p>&nbsp;</p>
<p><a href="https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-2.jpg"><img loading="lazy" decoding="async" class="alignleft  wp-image-986" src="https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-2-300x234.jpg" alt="Scratch INSET 2" width="231" height="180" srcset="https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-2-300x234.jpg 300w, https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-2-1024x798.jpg 1024w, https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-2-330x257.jpg 330w, https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-2-690x538.jpg 690w, https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-2-1050x819.jpg 1050w, https://technologyforlearners.com/wp-content/uploads/2014/12/Scratch-INSET-2-743x580.jpg 743w" sizes="(max-width: 231px) 100vw, 231px" /></a>In the run up to Computer Science Education Week (8th to 14th December), I delivered a Scratch training session for  my teaching colleagues.   As they do not normally  teach computing, I wanted to give them an idea of what Computer Science is all about and explore some ways that programming concepts could be incorporated into lessons.  Scratch is a good application to start with, as it has an intuitive graphical interface and is one of the main tools that we use in computing lessons to teach children how to code.</p>
<p>I decided that the best way to demonstrate the benefits of a tool like Scratch for use in the classroom would be to demonstrate how a basic program such as a quiz game could easily be created, and then used in a lesson.  As the process to build a quiz game can be quite time-consuming though, I provided everyone with the final Scratch file in which to change the visual elements and edit the code.  We then went to work using the Scratch program as a template to customise and build our own purpose-built quiz games for use in the classroom.</p>
<p>For those who might be interested, I have also made this two-part video (below) to show how a quiz game can be built from start to finish in Scratch.  The quiz game itself covers the main programming techniques and knowledge required for the Key Stage 1 and Key Stage 2 Computing curriculum.  This includes creating a programming sequence (from design to code), selections (conditional if statements), repetition (repeat and forever loops), variables (strings and lists) and the inputs and outputs.</p>
<p>&nbsp;</p>
<p><iframe title="Scratch Tutorial first part" width="1290" height="726" src="https://www.youtube.com/embed/m5lGjRwakJQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p><iframe title="Scratch Tutorial second part" width="1290" height="726" src="https://www.youtube.com/embed/5GS9iBWrHNI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p>The final game can be played online here: <a title="Scratch Quiz Game" href="http://scratch.mit.edu/projects/37950462/#fullscreen" target="_blank" rel="noopener">http://scratch.mit.edu/projects/37950462/#fullscreen</a></p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://technologyforlearners.com/scratch-tutorial-for-teachers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
