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.
Mordechai (Moti) Ben-Ari from the Weizmann Institute of Science, Israel has programmed the Marching Orders Unplugged activity in Scratch which can be downloaded in a zip file of the complete set of activities . Please read the ReadMe.txt for documentation.
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.
A nice extension to this module is a Kinaesthetic Learning Activity (KLA) activity developed by Paul A. G. Sivilotti to introduce CS concepts to high school girls is Software Engineering: "Mars Pathfinder" . This activity illustrates the fact that a program is a series of instructions that tells a computer exactly what to do. So, a computer scientist must design the program carefully, to be sure that the computer will do the right thing. Please note that this activity requires the use of a Lego Rover robot.
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
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.
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.
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.
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.
Merchant Taylors' School UK in it's free course on Moodle aimed at AS Computing has section called Fundamentals of Programming that has the following resources centred around Pascal and Delphi programming languages :
Misha Leder, a Software Engineer at Google has the following related activities
Greenfoot is a combination between a framework for creating two-dimensional grid assignments in Java and an integrated development environment (class browser, editor, compiler, execution, etc.) suitable for novice programmers. While greenfoot supports the full Java language, it is especially useful for programming exercises that have a visual element. In greenfoot object visualisation and object interaction are the key elements.
The Greenroom is a community site for teachers using the Greenfoot software. Its purpose is to share experiences and material, and to offer a platform for discussion and support. The goal is to help all of us to find inspiration, help each other, find interesting material, and ultimately to improve our teaching. If you are a teacher, you can apply easily to join and use the resources there.
Karel the Robot website with fundamentals and activities is an excellent method for introducing students to computer programming is described by Richard E. Pattis in his book titled Karel the Robot . By initially limiting the student's language repertoire to easily grasped imperative commands whose actions are visually displayed, the Karel approach quickly introduces students to such concepts as procedures and the major control structures. Although originally based on Pascal, the Karel approach has been used successfully with several different computer programming languages. These pages describe a version of Karel that uses the C / C++ language.
Mordechai (Moti) Ben-Ari from the Weizmann Institute of Science, Israel has programmed Karel the Robot programs in Scratch in Scratch . These programs provide a framework for implementing Karel the Robot programs in Scratch. The correspondence is not precise, but the learner who knows Scratch can experience robot programming without learning a new programming language and environment.
Jo Edkins has two simple ways to introduce programming below:
NONAMESITE.COM has some online games/activities that teach basic steps in programming below. Please be aware that this site is growing and pays to check regularly for new activities: