programming

Bee-Bot choreography

Make the most of your Bee-Bots at school and extend the activities beyond grade 4 by challenging the grade 5 or 6 pupils to design a choreography. This requires programming, communication, collaboration and quite a few other skills, such as spatial insight and the ability to mirror paths.

Here grade 6 pupils are working on their design and testing it out.

Advertisement

Hedy – gradually learning a programming language

Hedy is a programming language and a new way to learn a programming language. You will learn the programming language Hedy in a similar way to learning a normal second language; gradually. This means errors in the syntax are allowed at the start. You will start with simple expressions and will learn the syntax (grammar) step by step. There is no need to install something to start programming with Hedy, you can just start in your browser. Hedy prepares you to program in Python later on. Python is a general-purpose coding language, which means that it can be used wider than in web development.

Hedy is text based, unlike Scratch and Logo which are graphical. All three programs have their strengths and weaknesses. You will learn the basic concepts of programming, such as variables and conditional statements (e.g. if-then-else) much easier and earlier in Hedy then in Scratch.

Hedy is being developed now and has a limited set of levels up till now, but it is very easy to get started. Scratch as a programming language encourages more creativity, but can also be frustrating in the beginning. Hedy is much more structured and scaffolded. Different pupils may prefer different approaches to learn programming. As a teacher is is valuable to know the options.

The following video explains why Hedy was developed.

Simulation: Diversity

DiScoro writes about inquiry-based learning, digital resources, and ways to encourage higher-order thinking. We focus on STEM education and the use of technology.


This blog is about two simulations based on the same concept namely Thomas Schelling’s Model of Segregation. The model tries to explain social phenomena and shows for example how difficult is it to build and sustain a diverse community. Schelling tries to explain when and why ghetto forming takes place and under which conditions this can be prevented or even reversed.
In other words, people with shared identities tend to cluster/group together. In most classes boys and girls form their own groups.

The first simulation by Frank McCown is named Schelling’s Model of Segregation. The second is by Vi Hart and Nicky Case and named Parable of the Polygons. The two simulations have different interfaces. Both simulations use two groups. The first simulation has four variables (and a interval timer) whereas the Parable of the Polygons offers different simulations for different variables.

The simulation by Frank McCown can be found if you scroll down on the page. The simulation generates a multitude of questions that can be explored.

    • When do communities remain diverse?
    • When and why does clustering take place even if people are relatively tolerant and open-minded?
    • Can segregated communities be tolerant?
    • Under what circumstances does segregation happen and why?
    • How can a segregated community become diverse?

The Parable of the Polygons contains a group of simulations and uses scaffolding to explore the concept. Contrary to Mc Cown’s simulation the Parable of the Polygons visualise if people are happy or not. Additionally the user can move ONE person and see what happens. The last simulation is a particular interesting one.

 

The Parable of the Polygons could be used as inspiration for the teacher. However, in our opinion the degree of scaffolding will limit the curiosity, thinking and reasoning by the students themselves.

As teachers we have to be careful how to introduce the simulation and how to discuss the issues. Minority groups in class can easily feel uncomfortable. It is up to the teacher to choose the context and vocabulary that suits the class. As you may have observed have we tried to use the word diversity instead of segregation.

Additionally, the simulations can be used by policy makers, but also by students in relation with religion, geography/demography. It has been known in chemistry that seperate molecules and molecules in small quantities react differently than in mass. The same can be observed with people. Individual people can be tolerant and open-minded, but the large group will nevertheless become clustered under certain conditions.

 

 Purchase  Free
 Hardware  PC, iPad
 Requirements  Browser

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.

Computer programming in schools

Programming (or coding) at school is advocated by many. It could be discussed if learning computer programming in primary and (lower)secondary school adds value. There are many other ways to encourage logical thinking, creativity, and problem solving skills. “Steve Jobs would NOT introduce the iPad to his kids. Though he argued that all people should learn to program for at least one year for exemple in high school.  “Learning to program teaches you to think.” (Steve Jobs). He did not send his own children to a school where computers were used in class or where they were taught programming. He believed that learning the knowledge and skills of traditional subjects well was much more important at that age.

Read also Digital Dementia (Manfred Spitzer) if you wish to make a deliberate decision on whether to introduce computer programming to kids in school or not. Manfred Spitzer claims that children require first of all social and physical activities in the real world. Many who advocate programming for kids have links with the IT industry or are highly influenced by it. Nevertheless is programming a much more productive  activity and much more creative than the use of social media and many computer games.

We take up the topic and suggest some programs you could use when you have made the thought-out decision to introduce children to computer programming/coding.

Bee-Bot

beebot_blinking_left Bee-Bot, young children (5-7 år)

 

 

turtle-logoLOGO (7-10 år), Turtle Academy

 

 

code-monsterCode Monster (10-15 år)

 

 

 

scratch-logoSCRATCH (10-15 år)

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: