Teaching Control and Programming
From Schoolforge-UK
Teaching Control and Programming
Basic control concepts can be taught with several interactive and graphical environments such as Logo, Alice and Squeak. These can also be used to delve deeper and introduce programming concepts. Computing is a complex area and people like to use simple systems. However, if we always rely on using simple systems, we will never truly understand how computers work or the logic that they follow. By teaching relatively simplistic computer programming languages we can give students the chance to use computers in a truly dynamic way, allowing them to learn a tool which can solve a multitude of problems.
Currently, at Primary level, Logo is the language of choice for most teachers. However for those students who grasp this quickly, they could move on to more complex languages which are well resourced and free.
Alice is a 3D graphical 'object oriented' virtual world with easy drag-n-drop programming. It is designed to more accessible to girls as well as boys. An online gallery is provided.
The Squeak e-toy plugin is an educational ‘media-authoring tool’ that is effectively Logo 'with knobs on' and suitable for Primary level onwards. It allows you create pictures in a paint program and then animate them by tweaking properties and creating scripts. The SqueakLand site provides resources and community; go play! Alan Kay is one of the 'guiding lights' and so it is not surprising that ‘under the bonnet' is a FLOSS implementation of the Smalltalk programming language called Squeak. Smalltalk was designed by Kay and others 'many moons' ago to be a programming language that anyone could use on a pervasive Dyna-book device. It has also been used in many serious applications and has a pure Object Oriented philosophy.
Python is an excellent choice for students to further their knowledge about how to make a computer do the things they want it to and it doesn't necessarily become very complex. It is high level, productive and interactive (interpretted) and allows many programming styles, including precedural, functional and object-oriented. This alows introducing the basics as well as large scale project management concepts. Many serious programs and systems leverage the fast development times and enormous range of 'batteries included' libraries.

