Computer programs are sequences of instructions that the computer must follow. There are hundreds of computer languages, but all involve giving clear and unambiguous instructions to a devices that doesn't understand meanings.
This activity demonstrates some of the issues that arise when we try to give precise instructions to achieve a desired outcome.
Computing Science Inside Workshop has an activity Algorithm Development which is a nice extension activity to this topic. In this workshop pupils will experience writing and following algorithms. They will be introduced to the concept of an algorithm and be asked to develop basic instructions to complete tasks considering factors such as order and preciseness in their solution. Pupils will have the opportunity to follow a given algorithm and compare their end product with others to assess the effect of ambiguity. The results will show pupils the difficulties that arise from unclear instructions and emphasise the importance of being precise. Pupils will realise the value of accurate, well-tested algorithms through the activities in this workshop, they will become familiar with the process of designing and executing algorithms and its place within Computing Science.
Note: You will need to apply and register in order to recieve the Workshop Pack for this activity.
An older version of this activity can be downloaded in PDF format here. The content is similar to the current version, but there's some extra technical information.
For a comprehensive list of languages used in Education, see Wikipedia: Educational Programming Language. Many educational programming languages position themselves inside a learning path, that is a sequence of languages each designed to build on the others moving a student from easy to understand and entertaining environments to full professional environments.
The Mathmaniacs web site has a lesson on Boolean Logic.
Alice v3.0. The focus of the Alice project is now to provide the best possible first exposure to programming for students ranging from middle schoolers to college students. Drag and drop IDE.
Hiccup: an IDE for kids.
Logo: the classic educational programming environment
Robocode: IDE activities, code, and forum.
Jeroo: IDE activities and teacher notes.
Karel J. Robot: A Gentle Introduction to the Art of Object-Oriented Programming using Java. Simulator, Java classes, and sample textbook chapters.
Squeak. IDE and activities for kids.
An interesting post (and comments) on teaching functional programming to kids, and especially using the familiar context of a Dr Seuss story to introduce the idea
Abbotswood Junior School, UK has lesson plans that demonstrate how to program a set of simple instructions.
To introduce students to the concept of Fuzzy Logic, there is an activity designed by PBS Teachers which demonstrates fuzzy systems use a series of simple rules, based upon experience, much as the human brain does.
Do I.T. has a free course that covers hardware and Boolean logic and logic gates with demo tryout applets.
Paul Gray has developed a kinesthetic activity called Square Chicken Dance to illustrate the idea of the
single-instruction, multiple data style of parallelism using message passing. It is one of several exercises that illustrates parallel programming principles using students.
A project developed by various 6th Grade students at ThinkQuest is a website dedicated to Wikipedia: Logo Microworlds Pro at A Look at Logo Microworlds Pro. This site has several programming activities and lesson plans for teachers.
Sebastian Golze, Thomas Hirsch, and Vinh Hoi Le Chau have developed a website at ThinkQuest dedicated to Logo at LOGO . This site provides opportunities to learn Logo and also sections for contains teachers. This site is available in English, Deutsch, and Français.
ThinkQuest has a website developed by various students dedicated to learning Microsoft QuickBASIC at BASIC Programming.
Algorithms Alive developed by ThinkQuest explains some of the more common searching and sorting algorithms using the Basic language.
A tutorial website for learning Pascal was developed for ThinkQuest by various students is at A Tutorial in Turbo Pascal .
Pascal Programming for Not-So-Literate Programmers developed by various authors teaches basics of Pascal, explains Stacks and Queues, and also has sections on Delphi programming.
To demonstrate the programming concept of recursion , MazeWorks has developed a tryout version of the Towers of Hanoi Problem .
This video shows how to solve "Towers of Hanoi" with 1-4 rings to demonstrate the concept of recursion . Video: Solving Towers of Hanoi .
Try Engineering has an activity called Program Your Own Game that explores the work of software engineers and allows student teams to develop their own computer game using free and simple software. Teams present their game to their class, evaluate other games, and reflect on the engineering experience. Download Full Lesson Plan and Student Worsksheets.