Fork me on GitHub

It's great that you want to bring Hedy into your classroom! On this page you'll find all the tips & tricks to make your Hedy lessons run as smoothly as possible.

Introduction Hedy

What's Hedy?

Hedy is a textual programming language, specifically developed for (pre-)teens (10 to 15 years old). In contrast to programming languages for kids, like Scratch, Hedy doesn't use code blocks but textual code. So with Hedy you'll learn how to type code like the real programmers do, but in small steps with playful exercises.

This way Hedy can function as a stepping stone to real programming languages like Python in an accessible and mostly fun way!

Here you can watch a video about the development of Hedy as a programming language.

Target audience

Hedy's developed with middle school and junior high school students in mind (ages 10 - 15). It's important for the students to be able to read well. We recommend not to start with Hedy before the students have achieved at least a 3rd grade reading level. Students (and teachers!) don't need any programming experience before starting with Hedy.

Teaching with Hedy

Hedy is divided into levels, in which new commands are taught.Each level contains a variety of exercises to practice to newly learned commands. The exercises can be done by the students individually, or you can use them in classical instructions. The lesson plans for each level are included in this teacher manual. The lesson plans and exercises are explained step by step, to make sure the less digitally informed teachers should be able to use Hedy too!

Of course Hedy also caters to the creative teachers that love to make their own lessonplans and exercises!

Devices

Hedy is webbased, which means it works on any device with a browser (Google Chrome, FireFox, Edge etc), so laptops, chromebooks, tablets and even smartphones are suitable to use Hedy. There's no need to download anything before working with Hedy, just go to the website and you're all set!

Preparations

Log in

To start programming with Hedy, visit this website:

https://www.hedycode.com/

Click on Login in the upper right corner. Here you can log in with your username and password. Is this your first time using Hedy? Click the green button Create an account.

Mind: Choose a username and password that you can easily remember, or write it down somewhere!

Saving programs

As soon as you are logged in, you'll see the blue banner with My profile and My programs.

In My programs you can find all the codes that you've saved.

You can save your projects easily by giving your project a name in the white bar and pressing the green button Save Code.

Let the programming fun begin!

Teaching with Hedy Level 1

What do the students learn in this level?

Level 1 is the introductory level of Hedy. The students will learn 3 new commands with which they can write their first codes! This level has been made easily accessible for all students, to make sure they'll have a positive first experience in programming.

New commands

print- This command makes text appear in the output screen.

ask - This command allows you to ask a question to the player.

echo - This command allows you to repeat the given answer to your question. Mind: Echo only works in level 1. In level 2 variables are introduced for repeating given answers.

Exercises for level 1

  • Hedy the fortune teller
  • Writing a story

Frequently made mistakes

These are the frequently made mistakes by students in level 1:

  • Students forget to type the commands and write a code without starting with print for example.
  • Students start the commands with a capital letter, even though all letters should be lowercase.
  • Sometimes students will get error messages from their browser that Hedy doesn't work as it's supposed to. The solution is to refresh the webpage.

Lesson Plan 1

This is an example of how you could plan lesson 1. The Hedy lessons are between 30 and 60 minutes each. Lesson 1 is a bit longer on account of setting up accounts with the students. You could also choose to let the students create the accounts beforehand.

Introduction: Activating prior knowledge (5-10 minutes)

  • What do students know about programming?
  • Are there any students with programming experience, like scratch?
  • What is programming exactly? Programming is nothing other than giving instructions to a computer or robot in their own language: programming language. The programming language in this course is called Hedy. It's been developed for students betweens the ages of 10 and 15, so students that are a bit too old for the kids' programming languages, but still have trouble understanding the 'real' programming languages.

Creating an account (10 minutes)

The students create their own account, as shown in the introduction of this manual.

Discovering Hedy (5 minutes)

It's smart to allow your students to mess around for a bit when using Hedy for the first time. This way they can discover level 1 and try all the buttons. This doesn't have to take long.

General instructions of Hedy (5 minutes)

Show your students…

  • The input screen, where you type the code.
  • The output screen, where your code will be executed.
  • the 'Try this' buttons, that allow you to try new commands.
  • The button to save your programs.

Let's get to work! (20 minutes)

Show the 3 commands of level 1 to your students and let them make up codes themselves. When all the students have created their own codes, you can start with the fortune teller exercise. This exercise is worked out step by step in the assignment booklet. Je can choose to let the students work on the exercises independently or you can work on them with the whole class together.

Evaluation (5 minutes)

Shortly evaluate the lesson to check if all the students accomplished to make a code. You can also ask your students how they liked programming (for the first time). Potentially, you could let some students show their codes to the whole class.

Level 2

What do the students learn in this level?

Level 2 introduces variables. This can be a tough concept for the students, but by introducing it in a playful and understandable way, most students will pick it up quickly. Level 2 also allows students to pick a random word from a list of a variable. This allows students to programm their first entry level games, like rock, paper, scissors or the fortune teller. This really increases the students' enthusiasm!

New commands

In level 2 variables are introduced. In the examples below, the variable animals is used, but of course anything could be a variable.

animals is dog, cat - With this command you can create a variable, like animals. You can 'fill' the variable with one or multiple words or numbers.

animals is ask What is your favourite animal? - Mind that ask works differently than in level 1! In level 2 you have to start with a variable before using ask.

print animals at random - Hedy picks a random word or number from the list of animals that you've made.

Exercises with this level

  • Story
  • Fortune Tellen
  • Rock, paper, scissors
  • Who's doing the dishes?

Frequently made mistakes in level 2

These are the frequently made mistakes in level 2:

  • Students make typos in the commands.

  • Students often forget to type the variable when using the ask command (like they were able to do in level 1).

  • Students sometimes tend to forget to type the commands at all, for instance they start their code without typing print first.

  • Students use the command echo, which only works in level 1. In level 2 you can repeat a given answer by using the variable.

  • Students forget to use commas when making a list. For instance, they would make this code: animals is dog cat instead of animals is dog, cat

  • Students tend to use commas after a print command, this is not possible. E.g. they program: print Hello, I'm Hedy instead of print Hello I'm Hedy

  • Students use the name of a variable as a word in a print command, this is allowed from level 3 on.

E.g. They program:

animals is dog, cat, cow
print the best animals are…
print animals at random

Instead they should change the word animals in the second line into something other than animals. For example:

animals is dog, cat, cow
print the best animal is…
print animals at random

Lesson Plan 2

Introduction: Activating prior knowledge (2 minutes)

Briefly discuss the previous lesson with the students: What did they learn and which difficulties did they come across. Emphasize the print and ask commands, because they won't be able to use echo anymore in level 2.

Instruction: What's a variable? (10 minutes)

After the intro, you can introduce the concept of a variable to your students. A variable is a word that can contain a lot of different values, so it can change all the time. This may sound difficult, but I'm sure you've seen variables before without knowing they were a variable. For example: Think of your age. Everyone has a different age, and your age changes every year. Length is such a number too, just like your grades for a test, or the score in a game: All of these numbers are variables.

A variable doesn't have to be a number, it can also be (a list of) words, like your name. You can use this example in Hedy to demonstrate:

name is Hedy
print Hi name!

This shows that you can determine the value of a variable in your code. But you can also ask the player what the variable should be. Like in the next example:

Name is ask What are you called?
print Hi name

Expand on the example by adding the variable age:

name is ask What are you called?
print Hi name!
age is ask How old are you?
print You are age years old

Try it! (10 minutes)

Let your students try to make these codes themselves or let them think of their own versions.

At random (15 minutes)

The fun thing about variables is that you can let Hedy pick a random value from your list. Show your students this example and let them get to work on their own codes afterwards:

Choices is rock, paper, scissors
print choices at random
clubs is FC Barcelona, Bayern Munchen, Manchester United
print the best football club is...
print clubs at random

Student assignment: The fortune teller (20 min)

print I'm Hedy the fortune teller!
question is ask What do you want to know?
print This is what you want to know: question
answers is yes, no, maybe 
print my crystal ball says...
print answers at random

Evaluation (5 min)

Briefly evaluate the lesson with your students to round up the lesson.

Level 3

What will the students learn in this level?

There are no new functions in level 3. The only change is that students have to use quotation marks when using print.

New commands

print 'Hello world' - Quotation marks are used when using print.

Assignments

  • The same smaller assignments as level 2
  • Fortune Teller
  • Haunted House

Frequently made mistakes

These are the frequently made mistakes by students in level 3

  • The same mistakes as level 2.
  • Students forget putting the quotation marks on both sides of the text after a print command.
  • Students use the wrong quotation marks. The correct quotation mark is ' you find in next to the enter button on most keyboards. Different quotation marks like the double marks " or the skewed quotation mark ` (found in the left corner with ~) will not work.
  • Students use quotation marks in the ask command, even though this is not necessary.

Lesson Plan 3

The third lesson is mainly focussed on adding quotation marks to the print command. This is often a struggle for students. Therefore the instruction in this lesson plan is concise, and there is a lot of time scheduled for the students to practice.

Activating prior knowledge and instruction quotation marks(10 minutes)

Start off the lesson by repeating the commands learned in the previous lesson. Explain that level 3 requires you to add quotation marks to your codes after using the print command. The code below shows the importance or practicality of using quotation marks. Mind: Show your students the code in level 2 first!

pet is dog, cat, bunny
print You get this pet: 
print pet at random

You'll see that the word pet is line 2 doesn't work. It's been changed to the value of the variable pet even though you meant to use it as a normal word. In level 3 this problem is solved by using the quotation marks. The quotation marks tell Hedy that everything between the quotation marks is supposed to be a normal word, that should be printed. Everything outside of the quotation marks is a variable or a command. Show this example in level 3.

pet is dog, cat, bunny
print 'You get this pet: '
print pet at random

Note that the quotation marks are used to tell Hedy what text should be printed. This means you can't use quotation marks for other purposes like contracting words or possession apostrophe. Show your students that this means this code will not work, because of the apostrophe in line 2.

pet is dog, cat, bunny
print 'You'll get this pet: '
print pet at random

Fix it by removing the apostrophe.

pet is dog, cat, bunny
print 'Youll get this pet: '
print pet at random

Before the students get to work, pay attention to the frequently made mistakes: There should always be a quotation mark before and one after the text you want to print. So always check whether all print commands have 2 quotation marks. Students must use the right quotation marks. The correct quotation mark is ' you find in next to the enter button on most keyboards. Different quotation marks like the double marks " or the skewed quotation mark (found in the left corner with ~) will not work.askdoes not require quotation marks, onlyprint` does.

Let's get to work! (15 minutes)

Remake your level 2 codes with quotation marks in level 3.

The Haunted House (20 minutes)

After the students remade their level 2 fortune teller assignment in level 3, they can get started with the haunted house.

Evaluation

Wrap up the lesson by evaluating what the students learned in this lesson.

Level 4

What will the students learn in this level?

Level 4 introduces the if and else commands, which creates a lot of options. This results in lots of new and fun possibilities for the students, but can also be confusing to them as the chance of making a mistake increases considerably. The codes will also become a bit longer than in the previous levels, which makes it harder for students to detect their own faults.

New commands

if name is Hedy print 'nice' else print 'boo!' - This command allows you to let Hedy give two different responses; a response for when the name is Hedy, and one for all the other names.

Assingments

  • Hedy de Waarzegger
  • Spookhuisgame

Frequently made mistakes

These are the frequently made mistakes by students in level 4:

  • Mistake: Students put else on the next line, but it should be in the same line as the if command. Code:
if name is Hedy print 'nice'
else print 'boo!'

Solution: Else should be in the same line as if.

if name is Hedy print 'nice' else print 'boo!'
  • Mistake: Students use apostrophes after a print command.
print 'I'm Hedy'

Solution: Don't use apostrophes.

print 'Im Hedy'
  • Mistake: Students forget to use the print command when using an if command.
if name is Hedy 'nice' else 'boo!'

Solution: Use print twice when using both if and else.

if name is Hedy print 'nice' else print 'boo!'
  • Mistake: Students use different names for the same variable.
horse is ask What is your horse called?
if me is Bonfire print 'nice' else print 'boo!'

Solution: Always use the same name for your variable (also check whether the variable name is singular or plural (answer/answers)).

horse is ask what is your horse called?
if horse is Bonfire print 'nice' else print 'boo!'
  • Mistake: Students forget to type both of the quotation marks after print, when using if and else.
if name is Hedy print nice else print 'boo!

Solution: Always use two quotation marks (both in front of and behind the text) for each print command in your code.

if name is Hedy print 'nice' else print 'boo!'
  • Mistake: Students use quotation marks around a variable.
if 'name' is 'Hedy' print 'nice' else print 'boo!'

Solution: Don't use quotation marks around a variable.

if name is Hedy print 'nice' else print 'boo!'
  • Mistake: Students give names to variables that consist of multiple words.
Chosen door is ask Which door do you choose?

Solution: A variable name should always just be one word.

chosendoor is ask Which door do you choose?
  • Mistake: Students want multiple answers to be correct, when using if.
if name is Jesse, David, Souf print 'you are funny' else print 'you are not funny'

Solution: Unfortunately, this is not allowed. You can only pick one name for each if command. On the other hand, you can use multiple if commands in one code, like the example beneath:

name is ask What is your name?

if name is Jesse print 'you are funny'

if name is David print 'you are funny'

if name is Souf print 'you are funny'
  • Mistake: Students give the same answer in ask as the variable name. For example this student made the password 'password'.
password is ask What is the secret password?
If password is password print 'You can enter!' else print 'Access denied!' 

Solution: Choose a different name for the variable.

secretpassword is ask What is the secret password?
If secretpassword is password print 'You can enter!' else print 'Access denied!' 

Lesson Plan 4

Due to the addition of the if command, a lot of possibilities opened up in Level 4. That's why we recommend spending two lessons in Level 4 before continuing to level 5. It offers the students the chance to really get to grips with the if constructions, before going to the next level.

Lesson 4a

Lesson 4a consists of both instruction and practice. Lesson 4b is meant for extra practice and time to spend on the assignments.

Introduction: Activating prior knowledge (5 minutes)

Briefly repeat the previous lesson and also recollect the frequently made mistakes in that level (e.g. forgetting the quotation marks, or using the wrong ones etc.)

Instruction: If constructions (10 minutes)

The if-construction enables Hedy to react in two different ways to the player's answers. Demonstrate using this example:

name is What's your name?
if name is Hedy print 'Access granted' else print 'Access denied'

Let's get to work: The fortune teller (20 minutes)

The students can work on the fortune teller assignment independently, or you could do the assignments step-by-step together with your students.

Evaluation (5 minutes)

Wrap up your lesson with a quick evaluation.

Lesson 4b

Lesson 4b allows the students to work on their projects independently. At the end of the lesson you can choose to quiz your students, to check whether the learning material has been consolidated.

Activating prior knowledge (5 minutes)

Briefly discuss the learning goals from the previous lesson and the frequently made mistakes in level 4. Afterwards the students can rather well immediately get to work on the assignments.

Assignment: Make up the code yourself! (20 - 30 minutes)

In the previous lessons the students usually had to copy the codes from the examples. This lesson encourages the students to think of the codes themselves, because only the output is given to them, and not the codes itselves.

Quiz (10 minutes)

To check on your students' knowledge levels, you can give them a short quiz. TODO Quiz toevoegen.

Evaluation (5 minutes)

Evaluate the lesson with your students to wrap up the lesson.

Level 5

What will the students learn in this level?

Level 5 introduces the new command repeat … times, which allows the students to repeat a piece of their code. Mind that in this level only one line of code can be repeated, from level 7 multiple lines of code can be repeated.

New commands

repeat 3 times print 'Hello' - This command allows you to repeat a command multiple times.

Assignments for this level

  • Hedy the Singer
  • The Fortune Teller
  • The Haunted House

Frequently made mistakes

These are the frequently made mistakes by students in level 4:

  • The same mistakes as in level 4 (see level 4)
  • Students tend to forget words in this command: repeat 3 times print. Especially the words print or times are easily forgotten.

Lesson plan 5

This lesson focuses on the assignment Hedy the Singer. When the students are done with this assignment they can independently go ahead with the other assignments in level 5.

Activating prior knowledge (5 minutes)

A good way to start up your lesson is by briefly repeating all the different commands that the students have learned so far.

Instruction repeat (10 minutes)

The repeat command allows you to repeat a line of code multiple times. In previous levels, if we wanted to program to song Baby Shark, we had to type this code:

print 'Baby Shark tututututudu'
print 'Baby Shark tututututudu'
print 'Baby Shark tututututudu'
print 'Baby Shark'

Now, with repeat, it's much easier to make a code like this:

repeat 3 times print 'Baby Shark tututututudu'
print 'Baby Shark'

Let's get to work: Hedy the Singer! (20 - 30 minutes)

After this short instruction, the students can work on the other songs in the exercises by themselves. Unfortunately, Hedy can only print text and not really sing songs. If you want to hear the computer sing, you could tell your students to copy the output into Google Translate and use the speak-function there. Tip: Only do this if the students have headphones. If the students are done with programming the songs in the assignments. They can continue with the other assignments in level 5.

Evaluation (5 minutes)

Wrap up the lesson with a short evaluation. It might be fun to ask some students to show their (song) code to the whole class.

Level 6

What will the students learn in level 6?

Level 6 allows the students to use maths in Hedy. Hedy can add, subtract, multiply and divide two numbers or variables.

New commands

For addition and subtraction you can just use the + and - signs. Multiplications are done with the * so 5 times 7 is 5*7. The asterisk is found above the 8 on your keyboard, so use shift 8 to type it. Divisions are made with the / (same key on your keyboard as the question mark).