coding

SCRATCH

scratch-logo

SCRATCH is the last programming tool for children we will discuss. Scratch is a visual and object oriented programming language. The language is developed by MIT. Scratch works with building block instead of with code written in text. This reduces syntax errors. The building blocks fit into one another like LEGO blocks. Scratch is particularly useful for creating animations and games.

The actors, or objects, are called Sprites. A Sprite can have several Scripts. Below a screenshot of a Scratch program with two Sprites dancing. On the righthand side the actual code. The fact that you have to write the same ‘dancing ‘ code twice, namely for both Sprites, means that the program is not truly object oriented.
There is a large Scratch community and once you have an account you can easily share programs. The Scratch program and interface can be switched to almost any language you wish.

scatch-program

Michal Armoni and Moti Ben-Ari, researchers in Israel, observed that students did not pick up the concepts of computer science while working with Scratch. They developed a textbook to enforce that concepts were learned while programming. The result is a 30 page textbook with lessons, aimed at grade 9 and 10 students, which requires a lot of reading. Maybe you as a teachers could use the textbook and pick out ideas to encourage the learning of programming concepts, using tasks, questions, reflection and at times instruction.

See the textbook Computer Science Concepts in Scratch,  based on Scratch 1.4 !

Note:
SCRATCH is an object oriented programming language.
LOGO (Turtle Academy) is a functional programming language.
Java Script (Code Monster) is a scripting language and more a functional than an object oriented programming language.

LOGO Turtle Academy

turtle-logoTurtle Academy uses the programming language LOGO. LOGO is designed for educational purposes. There are many different LOGO dialects. Turtle Academy can be used to introduce programming to children ( 7 – 12 years old).  Turtle Academy offers 20 lessons which kids can use to work on by themselves, or rather in pairs.

Turtle Academy (LOGO) uses simple commands that must be written/typed in by the user in order to move the turtle around on the screen. Children learn to type very precise and correctly. Children learn to interpret the feedback given by the program when a command or coding is not completely correct. Based on the feedback the user must still figure out what exactly is wrong and how this should be changed.

It is important that you as a teacher/supervisor encourage the children to predict how the turtle will move based on certain command(s), or which commands are required to make the turtle move or draw certain patterns. This fosters thinking and lifts the children beyond the trial-and-error strategy.

LOGO is suitable to create graphics. However, it can also be used to calculate based on input from the user. For example: “Which table of multiplication do you want?” The program can write the time table with its results on the screen. This type of program provide the children with insight in what a computer(program) is also good at: namely, calculate super fast with big numbers.

When using Turtle Academy Lessons the user types just one command at a time. After a while you will want to see and write a program that consist of several commands and command lines. Create your own account to be able to:

  • use the option Playground
  • save your own programs
  • type and edit programs that contain several command lines. See example below.

logo-screendump2

 

Pair Programming

pair-programmingPair programming is a part of eXtreme Programming, an agile system development methodology. In Pair Programming two programmers sit together behind one computer. One is coding and the other reviews while communicating about the best solutions. The programmers frequently changes roles. Findings from different sources show that de results of the products contain less errors, are of a higher quality, and cost less man hours !

Research in the industry as well as in class indicates that starting programmers and students who practise pair programming are more confident and learn from each other tips on programming language, and design skills.  Girls show a higher interest in the subject when pair programming is used in class.

pairs-working-ipad2Children (and many adults) learn much more when they work together on one PC. This is not only because two people see and know more than one, but because working in pairs demands (verbal) communication, which is crucial for learning and understanding. Children do also benefit from working in pairs on one PC or iPad when working on programs and tasks that require problem solving skills.

Examples of activities on a computer that require problem solving skills:

Literature/research on Pair Programming:

A. Cockburn, L.Williams. (2001). The Costs and Benefits of Pair Programming,

Williams, L. et all. (2002). In Support of Pair Programming in the Introductory Computer Science Course. Computer Science Education, Vol. 12, Issue 3.

“Student pairs are more self-sufficient which reduces their reliance on the teaching staff. Qualitatively, paired students demonstrate higher order thinking skills than students who work alone.”

Liebenberg, J. , Mentz, E. & Breed, B. (2013). Pair programming and secondary school girls’ enjoyment of programming and the subject Information Technology. Computer Science Education. Vol. 22, Issue 3.

“Girls’ motivating for (programming and) computer science was much higher when they were allowed to work in pair. Girls’ confidence in the subject was higher in the pair programming classes.”

“A critical mass of girls is required to make girls enjoy and choose computer science and careers. Pair programming is an important means to reach that goal.” 

Pair Programming with kids, adolescents? Read the blogs and use one of the following programs:

Code Monster

code-monsterCode Monster uses a programming language that is also used by professionals namely JavaScript. This language is used in website design. Code Monster is from Crunchzilla and offers four different tutoring programs. Code Monster and Code Maven are similar. Code Monster is suitable for age 10-15. Use at a younger age is possible but will often result in trial and error in stead of understanding the concepts and principles. Code monster offers Lesson Sections that introduce a topic and build up in level of difficulty and complexity.

Children (and adults) learn much more when they work in pairs on a computer. This does not only concern programming. The reason is not only that two see and know more than one, but working together enforces (verbal) communication, which is crucial for learning and understanding.

Using Code Monster some pupils will move forward before they have even tried to write the code themselves. Encourage the pupils to think and try first. In order to encourage thinking before trying (trial and error) you as a teacher/instructor could give the pupils a new task every now and then, whereby they have to write the code (on paper?) first. Show the different solutions to the class (using a projector or a SmartBoard) and discuss the different solutions. Afterwards check the result in Code Monster.

codemonster-ex1

screenshot Lesson 30/59

 

 

Bee-Bot – programming a robot

beebot_blinking_leftBee-Bot is a robot that can be programmed by young children (age 5 – 8). Bee-Bot is based on the computer language LOGO. Bee-Bot is easy to use and challenges children to experiment. It can be used to learn logical thinking, planning, estimating, sequencing, to formulate expectations (hypotheses) etc.

 

beebot-mat

Example of a Bee-Bot mat.

You can buy the mats, but you can also design and make your own mats. As a teacher you will be able to come up with ideas that fit the children’s interest, level and the curriculum.