From dc17ca1704897f510d9e639022bf438fcc5a1739 Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Thu, 7 Nov 2024 14:14:56 +0100 Subject: [PATCH 01/17] level 0 and 1 --- content/slides/en.yaml | 145 ++++++++++++++++++++++++++++++++++------- 1 file changed, 121 insertions(+), 24 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index d8450538917..4a8b59a5a91 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -3,12 +3,17 @@ levels: 1: header: Welcome to Hedy! text: Hedy is a programming language. + notes: |- + Ask your students to write down some words that they associate with programming. Do a quick round to hear the answers. 2: header: Programming text: |- Programming is giving instructions to a computer, using the language of the computer. Such a language is called a "programming language". + notes: |- + Unfortunately, computers don't understand normal people language, like English, but they speak in their own language. + Don't panic, you don't have to type in a string of zeros and ones, but we are going to learn to give the computer instructions in a programming language. 3: header: Programming Language text: |- @@ -17,6 +22,8 @@ levels: * Scratch * Python * HTML + notes: |- + Ask the students about their own programming experience, or if they perhaps know someone who works in IT. 4: header: Programming text: |- @@ -24,28 +31,50 @@ levels: * Build interactive stories * Create computer drawings and draw these on paper or fabric * Build your own apps to use on your phone + notes: |- + This may sound really difficult, but we are going to learn programming step-by-step. 5: header: Programming in Hedy text: In Hedy we use special codes, like `{print}`. code: '{print} Welcome to Hedy!' + notes: |- + Let's take a look at Hedy. In Hedy we use code words (commands) to give the computer an instruction. + We type these instructions in the left screen. This is what we call code, or a program. 6: header: Programming in Hedy text: Code words will be shown in pink. code: '{print} Welcome to Hedy!' + notes: |- + As you can see, the code words (or commands) turn pink if you use them correctly. 7: header: Programming in Hedy text: We start the code with the Run code button underneath the code. code: '{print} Welcome to Hedy!' + notes: |- + To make the computer follow the instructions you have to 'run' the code. Press the button to show the students what happens. 8: header: Programming in Hedy text: Output appears on the right-hand side. code: '{print} Welcome to Hedy!' + notes: |- + When we run the code, output appears. Output is the result of running our program. The right screen where the output appears, is called the output screen. 9: header: Programming in Hedy text: The output can also be a drawing. code: |- {forward} 100 {turn} {left} + notes: |- + In Hedy we don't only make text appear, but output can also be a drawing, or.... + 10: + header: Programming in Hedy + text: Or the output can be music! + code: |- + {play} C4 + {play} D4 + {play} E4 + notes: |- + Let's go to the first level to get started! 1: 1: header: Welcome to level 1! @@ -60,6 +89,8 @@ levels: `{print}` is used to show text on the screen. code: '{print} Show text on the screen' + notes: |- + Run the code to show the students what happens when a `print` code is run. 3: header: The {print} command text: |- @@ -69,6 +100,8 @@ levels: code: |- {print} Welcome to Hedy! {print} Start programming now! + notes: |- + Run the code and then change to code to something yourself. Show that you can print whatever you like. 4: header: '{ask}' text: |- @@ -78,57 +111,121 @@ levels: code: |- {print} Welcome to your own rock scissors paper! {ask} What will you choose? + notes: |- + Show that the computer now asks you a question. Fill in an answer and also show that once you fill in the answer, nothing happens. + Make your students aware that the computer will only follow your instructions, it will not do anything by itself. This means that if you want the computer to print the answer, you have to give that instruction. 5: header: '{echo}' text: |- - As you could see in the previous example. If you use the `{ask}` command, you can ask a question. - The answer, however doesn't show in the output screen. - - If you do want the answer to show, you can use the final command of this level: `{echo}`. - `{echo}` is used to repeat the answer of an `{ask}`. + To show the answer in the output screen, you can use: `{echo}`. + `{echo}` is never used by itself, always with an `{ask}`. code: |- {print} Hello! {ask} What is your name? {echo} hello + notes: |- + To make the computer repeat the answer back to you, you use the `echo` command. Point out that the answer you've typed in will appear at the end of the sentence. 6: header: Programming! - text: |- - With `{print}`, `{ask}` and `{echo}` you can already create a little story. - This is a good time to try the Parrot, Story and Rock, Paper Scissors adventures. + text: Here you can find a list of the adventures. editor: /hedy/1 + notes: |- + Before we start, show the students the adventures. Don't forget to point out the exercises. This is where the students will have to read what to do exactly in an adventure. 7: - header: Programming! - text: Adventures are shown in tabs. - editor: /hedy/1 - 8: header: Programming! text: The yellow arrow buttons can be used to copy examples. editor: /hedy#print_command + notes: |- + Lastly show the students that they can copy the example code into their programming field by pressing the yellow button. + 8: + header: Let's get started! + text: |- + This is a good time to try the Parrot, Haunted House, Story and Rock, Paper Scissors adventures. + editor: /hedy/1 + notes: |- + These are the first adventures to start with. Once (most of) the students are done, you can introduce the drawing turtle and the `{play}` command. 9: - header: Drawing with the turtle - text: Now that we have seen at text codes, we will now look at drawing codes next. + header: Debugging + text: Debugging a code means getting rid of mistakes in the code. Let's debug this code together. Click the ladybug button to start the debugger. + code: |- + I am DJ Hedy + {print} What song would you like to hear? + {ask} I like that song too! + {print} Next up... {echo} + debug: 'True' 10: + header: Playing music + text: |- + Play musical notes with `{play}` + The notes go: C - D - E - F - G - A - B + Place a number behind the note to pick a scale, the scales go from 1 to 10. + code: | + {play} C4 + {play} D4 + {play} E4 + {play} F4 + {play} G4 + {play} A4 + {play} B4 + {play} C5 + notes: |- + Show the students how to use the `{play}` command in Hedy. This is also a good time to review the classroom rules about headphone usage. + The students can now continue with the music adventure. + 11: header: 'Drawing with the turtle: {forward}' text: '`{forward}` is used to move the turtle forward.' code: '{forward} 50' - 11: + notes: |- + Now that we have seen at text codes, we will now look at drawing codes next. Show the students how to use the forward command. + 12: + header: 'Drawing with the turtle: {forward}' + text: 'How do we go backwards?' + code: '{forward} -50' + notes: |- + Ask the students if they have any idea how to go backwards. The answer is using a negative number, like -50. + 13: header: 'Drawing with the turtle: {turn}' text: '`{turn}` is used to make the turtle turn left or right.' code: |- {forward} 50 {turn} {left} - 12: + 14: header: Debugging - text: Debugging a code means getting rid of mistakes in the code. Let's debug this code together. Click the ladybug button to start the debugger. + text: Using the debugger when drawing code: |- - I am DJ Hedy - {print} What song would you like to hear? - {ask} I like that song too! - {print} Next up... {echo} + {forward} 50 + {turn} {left} + {forward} 100 + {turn} {left} + {forward} 50 + {turn} {left} debug: 'True' - 13: - header: Let the programming fun begin! - text: Enjoy the adventures in level 1! + notes: |- + The debugger can come in handy when making a drawing. The students can now continue with the rest of the adventures of this level. + 15: + header: Let's review! + text: What did you learn today? + notes: |- + Ask the students to list what they've learned today. + 16: + header: Let's review! + text: |- + Which adventure did you like best? Why? + + Which adventure did you like least? Why? + + notes: |- + Ask the students for their opinion. + 17: + header: Show and tell! + text: Would anyone like to show the class a program they've made? + notes: |- + Let some students show their work to the class. + 18: + header: Sneak peek into the next level... + text: |- + In the next level you'll learn how to use a variable to make your programs even more interactive! + And you'll learn to use the `{sleep}` command to pause your code! 2: 1: header: Welcome to level 2 From ca281b10cd8303a60849c13211d375051f70cb75 Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Thu, 7 Nov 2024 15:07:53 +0100 Subject: [PATCH 02/17] level 2 --- content/slides/en.yaml | 104 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 100 insertions(+), 4 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index 4a8b59a5a91..d88f228adb4 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -235,13 +235,19 @@ levels: A variable is a word that can be used to store information. For example: a name, age or favorite sports team. + notes: |- + Students might have a hard time understanding the concept of a variable. We found that giving the students multiple examples of variables will help them grasp the concept better. 2: header: Variables - text: To make or 'set' a variable we use the `{is}` command + text: To make or 'set' a variable we use the `{is}` command. The name of the variable comes before the `{is}` and the value of the variable behind it. code: |- name {is} Hedy age {is} 15 {print} name is age years old + notes: |- + Show the students how the variables work. Point out that the names of the variables in the last line are replaced with the values of the variable. + Ask students if they could think of another variable (length, shoe size, haircolor etc.) and add your own examples to the code. + The students can now make the Rock, paper, scissors adventure. 3: header: Interactive text: |- @@ -253,6 +259,9 @@ levels: code: |- name {is} {ask} What is your name? {print} Hello name + notes: |- + Now our programs can get really interactive. The user can give input that is used in the program. + Ask the students to come up with their own examples. 4: header: Multiple variables text: Now that we use variables, we can use multiple variables instead of just one `{echo}` command. @@ -261,6 +270,9 @@ levels: {print} Hello name age {is} {ask} How old are you? {print} name is age years old. + notes: |- + Point out that the `{echo}` command is no longer needed, so it will no longer work in Hedy. + The students can now make Rock, Paper Scissors part 2 and Haunted House. 5: header: Sleep text: You can also use the `{sleep}` command to pause the code for a while. @@ -268,6 +280,9 @@ levels: {print} My favorite colour is... {sleep} 2 {print} green! + notes: |- + Show the students the sleep command. Ask them what they think the 2 stand for. + Change the 2 into another number to show that they can decide how long the code will be paused. 6: header: Sleep 5 text: |- @@ -279,7 +294,66 @@ levels: {print} My favorite colour is... {sleep} pause {print} green! + notes: |- + Show the code and if you want you can even change the 10 to an {ask} command. + The students can now work on these adventures: Parrot, Story, Music and Restaurant. 7: + header: Drawing with variables + text: |- + In level 1 you've learned how to use {forward} 100. + Now you can use a variable too. + code: |- + distance {is} {ask} Hwo far should i go? + {forward} distance + notes: |- + Show the students that they can use variables with the drawing turtle now too! + Run the code multiple times with different answers, to show the use of variables. + 8: + header: Drawing with degrees + text: |- + Before you could {turn} {left} or {turn} {right}, now we can use degrees! + code: |- + {forward} 100 + {turn} 45 + {forward} 100 + notes: |- + Show the students the code. In the next slide we'll show multiple angles. + 9: + header: Degrees + text: |- + A full circle is 360 degrees. + Half a circle is 180 degrees. + A right turn is 90 degrees. + A left turn is 270 degrees. + + You can fill in any number you want. + code: |- + {turn} 90 + {forward} 100 + notes: |- + Make sure the students understand degrees. They may have learned this already in maths, but it might be completely new to them. + If the students have never heard of degrees before, it might be nice to show them a degree wheel. You could even print one out for them. + Use the example code on the slides to show the students multiple angles. + 10: + header: Degrees and variables + text: |- + Degrees can be variables too! + code: |- + degrees {is} {ask} How many degrees should the turtle turn? + {turn} degrees + {forward} 100 + notes: |- + Show the students that you can make the amount of degrees a variable as well. + 11: + header: Drawing with color + text: |- + You can now use `{color}` to set a color when drawing. + code: |- + {color} green + {forward} 100 + notes: |- + Show the students that they can use multiple colors. They can use the white color to make 'invisible' lines (as the background is white as well). + 12: header: Debugging text: Debugging a code means getting rid of mistakes in the code. Let's debug this code together. Click the ladybug button to start the debugger. code: |- @@ -292,9 +366,31 @@ levels: {print} Here you go! A filling donut with toping! {ask} Have a nice day! debug: 'True' - 8: - header: Let the programming fun begin! - text: Enjoy the adventures in level 2! + notes: |- + The students can now finish all the adventures of this level. + 13: + header: Let's review! + text: What did you learn today? + notes: |- + Ask the students to list what they've learned today. + 14: + header: Let's review! + text: |- + Which adventure did you like best? Why? + + Which adventure did you like least? Why? + + notes: |- + Ask the students for their opinion. + 15: + header: Show and tell! + text: Would anyone like to show the class a program they've made? + notes: |- + Let some students show their work to the class. + 16: + header: Sneak peek into the next level... + text: |- + In the next level you'll learn how to make a list and let the computer pick a random item of that list! 3: 1: header: Welcome to level 3 From bfff6071d7e36d8d486d014254670a284a78e0dd Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Fri, 6 Dec 2024 10:30:43 +0100 Subject: [PATCH 03/17] Annelies' comments --- content/slides/en.yaml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index d88f228adb4..7ace530b652 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -90,7 +90,7 @@ levels: `{print}` is used to show text on the screen. code: '{print} Show text on the screen' notes: |- - Run the code to show the students what happens when a `print` code is run. + First let the students guess what they think the output will be. Then run the code to show the students what happens when a `print` code is run. 3: header: The {print} command text: |- @@ -153,6 +153,19 @@ levels: {ask} I like that song too! {print} Next up... {echo} debug: 'True' + notes: |- + **How to debug a code** + Watch this video to see how the debugger works, or read the instructions. + Of course you could just look at the code and find the mistakes yourself, but we also have some tools to help you. + Click on the ladybug ๐Ÿž button beneath your input field. This starts the **debugger**. With the debugger you can run a program line-by-line. + If there is a big mistake in your code (like in the debugging adventures) the debugger will tell you to fix the big mistakes first. Read the error messages to find out how to fix the mistakes. + If the major mistakes are gone, the debugger will run your program line by line. + To run the next line, click on the โญ๏ธbutton on the right. Is the line doing what it's supposed to do? Great! Click the button again to run the next line until your program is working perfectly. + To stop the debugger, click on the ๐Ÿ›‘ button in the middle. + To start running your code from the top, click the ๐Ÿ” button on the left. + Did you get stuck on a line of code and do you want to try your program without that line? + You can disable a line of code by clicking in front of the line number. A sleeping emoji ๐Ÿ˜ด will appear and the line will be crossed out. + The line will now be skipped when running the code. To reactivate the line, simply click the sleeping emoji and the line won't be skipped anymore. 10: header: Playing music text: |- @@ -220,7 +233,7 @@ levels: header: Show and tell! text: Would anyone like to show the class a program they've made? notes: |- - Let some students show their work to the class. + Let some students show their work to the class. You can do that by going to the class page and clicking on the students' adventures. 18: header: Sneak peek into the next level... text: |- @@ -282,7 +295,7 @@ levels: {print} green! notes: |- Show the students the sleep command. Ask them what they think the 2 stand for. - Change the 2 into another number to show that they can decide how long the code will be paused. + Change the 2 into another number to show that they can decide for how many seconds the code will be paused. 6: header: Sleep 5 text: |- From a18876b0cb0337c4b624724d37351bba28c518b1 Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Fri, 6 Dec 2024 11:25:38 +0100 Subject: [PATCH 04/17] Level 3 slides update --- content/slides/en.yaml | 62 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 5 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index 7ace530b652..3bd729dd3d1 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -415,6 +415,8 @@ levels: Separate the items on your list with a comma. code: animals {is} dogs, cats, kangaroos + note: |- + Ask the students to write down an example of a list of their own. 3: header: At random text: |- @@ -424,25 +426,50 @@ levels: code: |- animals {is} dogs, cats, kangaroos {print} animals {at} {random} + notes: |- + Run the code a couple of times and show the students that the output is different every time. 4: header: At random in a sentence text: You can use the `{at}` `{random}` command in a sentence as well. code: |- animals {is} dogs, cats, kangaroos {print} My favorite animal is animals {at} {random} + notes: |- + Again, show the students that the output changes when the code is run a couple of times. + You can also change the order of the words, to show that `{print} animals {at} {random} are my favorite animal` is allowed too. + Now ask your students to write down a print and at random command beneath the list they made and swap their code with another student. + Let the other student predict a possible output for the program. + Shortly discuss some answers in class. 5: + header: Let's get started! + text: |- + This is a good time to try the Dice, Rock-paper-scissors, Music, Fortune teller and Restaurant adventures. + notes: |- + These are the first adventures to start with. Once (most of) the students are done, you can introduce the {add} and {remove} commands. + 6: header: Add to text: |- You can add items to a list with the `{add}` `{to}` command. - + code: |- + animals {is} dog, cat, kangaroo + {add} sheep {to_list} animals + {print} I choose animals {at} {random} + notes: |- + The students will hopefully notice that it doesn't really make sense to use the add to command this way, because you could have just put sheep in the list to start with. + The next slide will show how to use the add to in combination with an ask and a variable, to make the program interactive. + 7: + header: Add to + text: |- You can choose what to add to the list or you can use the `{add}` `{to}` command in combination with the `{ask}` command. - This way you can let the player decide what to add to the list. + This way you can let the player decide what to add to the list to make the program interactive. code: |- animals {is} dog, cat, kangaroo like {is} {ask} What is your favorite animal? {add} like {to_list} animals {print} I choose animals {at} {random} - 6: + notes: |- + Run the program multiple times to show that the animal that was picked is now added to the list. + 8: header: Remove from text: |- The opposite of the `{add}` `{to}` command is the `{remove}` `{from}` command. @@ -452,7 +479,9 @@ levels: dislike {is} {ask} What animal do you not like? {remove} dislike {from} animals {print} I choose animals {at} {random} - 7: + notes: |- + Once the students understand the add to, they will probably pick up the remove from command pretty easily. + 9: header: Debugging text: Let's debug this code! editor: |- @@ -466,9 +495,32 @@ levels: {remove} second_choice {to} music_genres {print} I like music_genre {random} best! debug: 'True' - 8: + 10: header: Let's get to work! text: Enjoy the adventures in level 3! + 11: + header: Let's review! + text: What did you learn today? + notes: |- + Ask the students to list what they've learned today. + 12: + header: Let's review! + text: |- + Which adventure did you like best? Why? + + Which adventure did you like least? Why? + + notes: |- + Ask the students for their opinion. + 13: + header: Show and tell! + text: Would anyone like to show the class a program they've made? + notes: |- + Let some students show their work to the class. + 14: + header: Sneak peek into the next level... + text: |- + In the next level you'll learn how to make a list and let the computer pick a random item of that list! 4: 1: header: Welcome to level 4 From 4d7f8d70d4c2c26424be7295568b945812f9c246 Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Fri, 6 Dec 2024 11:50:38 +0100 Subject: [PATCH 05/17] adds Learning objectives from the workbook --- content/slides/en.yaml | 44 ++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index 3bd729dd3d1..9467de4cfbf 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -79,9 +79,9 @@ levels: 1: header: Welcome to level 1! text: |- - We will start level 1 by making stories in Hedy! - - We need three text codes to create interactive stories. + By the end of this lesson, you can: + * Write code that prints text + * Create a story with input 2: header: '{print}' text: |- @@ -243,11 +243,9 @@ levels: 1: header: Welcome to level 2 text: |- - In this level you will learn to use variables. - - A variable is a word that can be used to store information. - - For example: a name, age or favorite sports team. + By the end of this lesson, you can: + * Save something in a variable + * Create a story or drawing using variables notes: |- Students might have a hard time understanding the concept of a variable. We found that giving the students multiple examples of variables will help them grasp the concept better. 2: @@ -407,7 +405,11 @@ levels: 3: 1: header: Welcome to level 3 - text: In this level you'll learn how to make a list, add and remove items form your lists and pick a random item off that list. + text: |- + By the end of this lesson, you can: + * Save multiple items in a variable, this is called a list. + * Create a story in which random things will happen. + * Create a drawing in which random thing will be drawn. 2: header: Making a list text: |- @@ -524,7 +526,11 @@ levels: 4: 1: header: Welcome to level 4 - text: In this level you will learn how to use quotation marks. + text: |- + By the end of this lesson, you can: + * understand why quotation marks are needed in programming. + * put quotation marks in the correct places. + * understand error messages about wrongful use of quotation marks. code: '{print} ''print with quotes!''' 2: header: Problem @@ -606,7 +612,10 @@ levels: 5: 1: header: Welcome to level 5 - text: 'In this level you will learn to use 3 new commands: `{if}`, `{else}` and `{in}`.' + text: |- + By the end of this lesson, you can: + * let the computer react to different input. + * use {if} {else} and {in} commands 2: header: if text: |- @@ -675,7 +684,9 @@ levels: 6: 1: header: Welcome to level 6 - text: In this level we are adding maths to our codes. + text: |- + By the end of this lesson, you can: + * use maths in Hedy 2: header: Addition text: If you want to calculate an addition, simply use the plus sign. @@ -740,7 +751,9 @@ levels: 7: 1: header: Welcome to level 7 - text: In this level you will learn how to repeat a line of code as many times a you'd like. + text: |- + By the end of this lesson, you can: + * run a single line of code multiple times 2: header: repeat 3 times text: |- @@ -785,7 +798,10 @@ levels: 8: 1: header: Welcome to level 8 - text: In this level you will learn to use indentation to make the `{repeat}`, `{if}` and `{else}` commands work for multiple lines of code. + text: |- + By the end of this lesson, you can: + * repeat multiple lines of code + * use indentation properly with {repeat} {if} and {else} 2: header: '{repeat} commands before' text: |- From f6ecbdc13fa5f36eb474124b3feed3415ddab392 Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Fri, 6 Dec 2024 12:05:29 +0100 Subject: [PATCH 06/17] Matching the workbook exercises with the slides --- content/slides/en.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index 9467de4cfbf..e6fb4df6418 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -102,6 +102,7 @@ levels: {print} Start programming now! notes: |- Run the code and then change to code to something yourself. Show that you can print whatever you like. + Make workbook exercise 1 and 2. 4: header: '{ask}' text: |- @@ -125,6 +126,7 @@ levels: {echo} hello notes: |- To make the computer repeat the answer back to you, you use the `echo` command. Point out that the answer you've typed in will appear at the end of the sentence. + Make workbook exercise 3. 6: header: Programming! text: Here you can find a list of the adventures. @@ -144,6 +146,7 @@ levels: editor: /hedy/1 notes: |- These are the first adventures to start with. Once (most of) the students are done, you can introduce the drawing turtle and the `{play}` command. + Make workbook exercise 4 and 5. 9: header: Debugging text: Debugging a code means getting rid of mistakes in the code. Let's debug this code together. Click the ladybug button to start the debugger. @@ -258,7 +261,7 @@ levels: notes: |- Show the students how the variables work. Point out that the names of the variables in the last line are replaced with the values of the variable. Ask students if they could think of another variable (length, shoe size, haircolor etc.) and add your own examples to the code. - The students can now make the Rock, paper, scissors adventure. + The students can now make the Rock, paper, scissors adventure. Make workbook exercise 1. 3: header: Interactive text: |- @@ -272,7 +275,7 @@ levels: {print} Hello name notes: |- Now our programs can get really interactive. The user can give input that is used in the program. - Ask the students to come up with their own examples. + Ask the students to come up with their own examples. Make workbook exercise 2 and 3. 4: header: Multiple variables text: Now that we use variables, we can use multiple variables instead of just one `{echo}` command. @@ -284,6 +287,7 @@ levels: notes: |- Point out that the `{echo}` command is no longer needed, so it will no longer work in Hedy. The students can now make Rock, Paper Scissors part 2 and Haunted House. + Make workbook exercise 4 - 6. 5: header: Sleep text: You can also use the `{sleep}` command to pause the code for a while. @@ -448,6 +452,7 @@ levels: This is a good time to try the Dice, Rock-paper-scissors, Music, Fortune teller and Restaurant adventures. notes: |- These are the first adventures to start with. Once (most of) the students are done, you can introduce the {add} and {remove} commands. + Make workbook exercise 1, 2 and 3. 6: header: Add to text: |- @@ -483,6 +488,7 @@ levels: {print} I choose animals {at} {random} notes: |- Once the students understand the add to, they will probably pick up the remove from command pretty easily. + Make exercise 4 and 5. 9: header: Debugging text: Let's debug this code! @@ -500,6 +506,8 @@ levels: 10: header: Let's get to work! text: Enjoy the adventures in level 3! + notes: |- + Make workbook exercise 6 and 7. 11: header: Let's review! text: What did you learn today? From 8490d543f5f7a5be3dd0e8d51181ba53b6e2577b Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Fri, 6 Dec 2024 12:17:47 +0100 Subject: [PATCH 07/17] debugging in level 0 --- content/slides/en.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index e6fb4df6418..afe1f02a12a 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -75,6 +75,30 @@ levels: {play} E4 notes: |- Let's go to the first level to get started! + 11: + header: Programming in Hedy + text: |- + Sometimes you make a mistake in your code. You can use the debugger to find the mistake (bug) and fix it. + code: |- + print Debugging means finding a mistake + print You can run the code line-by-line + prnt This makes it easy to find the bug + print And fix it! + print Or click on the sleep emoji to disable a line of code + debug: True + notes: |- + **How to debug a code** + Watch this video to see how the debugger works, or read the instructions. + Of course you could just look at the code and find the mistakes yourself, but we also have some tools to help you. + Click on the ladybug ๐Ÿž button beneath your input field. This starts the **debugger**. With the debugger you can run a program line-by-line. + If there is a big mistake in your code (like in the debugging adventures) the debugger will tell you to fix the big mistakes first. Read the error messages to find out how to fix the mistakes. + If the major mistakes are gone, the debugger will run your program line by line. + To run the next line, click on the โญ๏ธbutton on the right. Is the line doing what it's supposed to do? Great! Click the button again to run the next line until your program is working perfectly. + To stop the debugger, click on the ๐Ÿ›‘ button in the middle. + To start running your code from the top, click the ๐Ÿ” button on the left. + Did you get stuck on a line of code and do you want to try your program without that line? + You can disable a line of code by clicking in front of the line number. A sleeping emoji ๐Ÿ˜ด will appear and the line will be crossed out. + The line will now be skipped when running the code. To reactivate the line, simply click the sleeping emoji and the line won't be skipped anymore. 1: 1: header: Welcome to level 1! From 7b7f03522a9ea833c896da5c3740cfe342ad0e27 Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Fri, 6 Dec 2024 13:48:29 +0100 Subject: [PATCH 08/17] Level 5 --- content/slides/en.yaml | 132 +++++++++++++++++++++++++++++++++++------ 1 file changed, 114 insertions(+), 18 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index afe1f02a12a..c4d294fa2c8 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -406,6 +406,7 @@ levels: {ask} Have a nice day! debug: 'True' notes: |- + Model how to use the debugger. The students can now finish all the adventures of this level. 13: header: Let's review! @@ -527,6 +528,8 @@ levels: {remove} second_choice {to} music_genres {print} I like music_genre {random} best! debug: 'True' + notes: |- + Model how to use the debugger. 10: header: Let's get to work! text: Enjoy the adventures in level 3! @@ -554,7 +557,7 @@ levels: 14: header: Sneak peek into the next level... text: |- - In the next level you'll learn how to make a list and let the computer pick a random item of that list! + In the next level you'll learn how to use quotation marks! One step closer to real python code! 4: 1: header: Welcome to level 4 @@ -563,7 +566,8 @@ levels: * understand why quotation marks are needed in programming. * put quotation marks in the correct places. * understand error messages about wrongful use of quotation marks. - code: '{print} ''print with quotes!''' + code: |- + {print} 'Use quotes!' 2: header: Problem text: 'In the previous levels, you might have come across this problem:' @@ -571,16 +575,27 @@ levels: name {is} Sophie {print} My name is name debug: 'True' + notes: |- + Let the students predict the output. The problem is that if you use the variable name, you can no longer use the word name in your text. + The output of this code will be 'My Sophie is Sophie'. 3: header: Fixing it with quotation marks text: |- In this level we will fix this problem by using quotation marks. This also makes our code look more like 'real' Python code. + code: |- + name {is} Sophie + {print} 'My name is ' name + notes: |- + The computer now knows the difference between the text 'name' and the variable name. + Show the students that the computer now prints 'My name is Sophie'. + A student might say you could have also easily fixed this problem by giving the variable is different name. That is true, but it is an important skill in programming to show the computer different types of data and for yourself to know the difference between normal text and variables. 4: header: Quotation marks with print text: Each time you use the `{print}` command you need to put the text that you want to appear on the screen in quotation marks. - code: '{print} ''print with quotes!''' + code: |- + {print} 'Use quotes!' 5: header: Quotation marks with ask text: This also goes for the `{ask}` command. @@ -601,15 +616,28 @@ levels: code: |- name {is} Harry {print} 'Hello ' name ', how are you?' + notes: |- + Make workbook exercise 1, 2 and 3. 8: header: Quotation marks and contractions text: |- Be careful! Now that you are using quotation marks, you can't use apostrophes in contractions. Please try to print a contraction like "you're" or "I'm" in the screen below and see what happens.... - code: '{print} ''This won''t work!''' + code: |- + {print} 'This won't work' debug: 'True' 9: + header: Fix it! + text: |- + If you have to use an apostrophe in your text, use double quotes to fix the problem. + code: |- + {print} "I'm using double quotes" + {print} "It's easy to do!" + notes: |- + You can now let the students make all the adventures before the 'clear command' adventure. + Make workbook exercise 4 and 5. + 10: header: Clear text: |- In this level you'll also learn the {clear} command. @@ -624,7 +652,9 @@ levels: {print} '1' {clear} {print} 'SURPRISE!' - 10: + notes: |- + Run the code and show the students the program. You will notice that you cannot read the 3, 2, 1. Add sleep commands before the clear commands to fix the program. + 11: header: Debugging text: Let's debug this code! code: |- @@ -638,9 +668,35 @@ levels: {print} 'I love the colors {at} {random} one!' choice {is} {ask} Which one do you like? debug: 'True' + notes: |- + Model how to use the debugger. + Make workbook exercise 6. 11: header: Ready, Set, Go! text: Enjoy the adventures in level 4! + 12: + header: Let's review! + text: What did you learn today? + notes: |- + Ask the students to list what they've learned today. + 13: + header: Let's review! + text: |- + Which adventure did you like best? Why? + + Which adventure did you like least? Why? + + notes: |- + Ask the students for their opinion. + 14: + header: Show and tell! + text: Would anyone like to show the class a program they've made? + notes: |- + Let some students show their work to the class. + 15: + header: Sneak peek into the next level... + text: |- + In the next level you'll learn how to make the computer react differently to different input! 5: 1: header: Welcome to level 5 @@ -652,48 +708,65 @@ levels: header: if text: |- The `{if}` command allows you to choose between two options. - In this example the computer will print 'nice' if the given answer is Hedy. - If the answer is not Hedy, the computer will do nothing. code: |- name {is} {ask} 'what is your name?' {if} name {is} Hedy {print} 'nice' + notes: |- + Show how in this example the computer will print 'nice' if the given answer is Hedy. + If the answer is not Hedy, the computer will do nothing. 3: header: Don't forget to print text: |- When using the `{if}` command, don't forget to use the `{print}` command. This code will not work! - code: '{if} name {is} Hedy ''nice''' + code: |- + {if} name {is} Hedy 'nice' debug: 'True' + notes: |- + Run the code and fix the bug. 4: + header: Conditionals + text: |- + The code that follows after an if is called a conditional. + code: |- + {if} name {is} Hedy {print} 'nice' + notes: |- + Ask the students what they think the conditional is. + Make workbook exercise 1 + 5: header: else text: |- When using an `{if}` command, you can also add an `{else}` command. + code: '{if} name {is} Hedy {print} ''nice'' {else} {print} ''boo!''' + notes: |- If the answer is Hedy, the computer will print 'nice'. But if the answer is something else the computer will print 'boo' - code: '{if} name {is} Hedy {print} ''nice'' {else} {print} ''boo!''' - 5: + 6: header: Long lines text: |- You might have noticed that your lines can get very long when you have both an `{if}` and an `{else}` command. - You can choose to separate commands and put them on 2 lines, like this: code: |- {if} name {is} Hedy {print} 'nice' {else} {print} 'boo!' - 6: + notes: |- + If your students don't mind using two lines, we recommend that you'll start using two lines right away. + This makes the program less messy and comes in handy in later levels. + Make workbook exercise 2 and 3 + 7: header: Another new command text: |- If you have practised with the `{if}` and `{else}` commands, you can also try the `{in}` command. - - With `{in}` you can let the computer check if an item is in a list, for example: - - Please note that Hedy is case sensitive. This means that if you answer "Green" instead of "green", Hedy will print "meh". code: |- pretty_colors {is} green, yellow favorite_color {is} {ask} 'What is your favorite color?' {if} favorite_color {in} pretty_colors {print} 'pretty!' {else} {print} 'meh' - 7: + notes: |- + With `{in}` you can let the computer check if an item is in a list. Show the example. + Please note that Hedy is case sensitive. This means that if you answer "Green" instead of "green", Hedy will print "meh". + Make workbook exercise 4, 5 and 6 + 8: header: Debugging text: Let's debug this code! code: |- @@ -710,9 +783,32 @@ levels: {else} Alright {print} Thank you. Please head to gate A22.' debug: 'True' - 8: + 9: header: Let's go! text: Enjoy the adventures in level 5! + 10: + header: Let's review! + text: What did you learn today? + notes: |- + Ask the students to list what they've learned today. + 11: + header: Let's review! + text: |- + Which adventure did you like best? Why? + + Which adventure did you like least? Why? + + notes: |- + Ask the students for their opinion. + 12: + header: Show and tell! + text: Would anyone like to show the class a program they've made? + notes: |- + Let some students show their work to the class. + 13: + header: Sneak peek into the next level... + text: |- + In the next level you'll learn how to use maths in Hedy! 6: 1: header: Welcome to level 6 From 2494fcfc265142328d408dc07b6a3a3778ce01c6 Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:25:23 +0100 Subject: [PATCH 09/17] level 6 --- content/pages/en.yaml | 6 ++--- content/slides/en.yaml | 58 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 60 insertions(+), 4 deletions(-) diff --git a/content/pages/en.yaml b/content/pages/en.yaml index 93222338b22..3d16d0e70cf 100644 --- a/content/pages/en.yaml +++ b/content/pages/en.yaml @@ -2085,7 +2085,7 @@ workbooks: lines : 4 - type : text contents : |- - ### Exercise 2: Maths with ask and variables + ### Exercise 3: Maths with ask and variables You can also save a sum in a variable, compare it with an `ask` and run it with an `if`. We'll practice that now. Predict the output of these programs. @@ -2124,7 +2124,7 @@ workbooks: lines : 1 - type : text contents : |- - ### Exercise 3: Input + ### Exercise 4: Input You'll be shown an output. Write a program that could produce this output. Please note: Multiple answers can be correct. Choose whatever you want, as long as it's correct. Fill up all the lines, so look carefully at the amount of lines! @@ -2146,7 +2146,7 @@ workbooks: 14 is a random multiple of 7 - type : text contents : |- - #### Exercise 4: Programming words + #### Exercise 5: Programming words We have learned to use some new signs in our code. Which signs are used in these cases? - type : define word : "times" diff --git a/content/slides/en.yaml b/content/slides/en.yaml index c4d294fa2c8..dcbbbeee2cc 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -808,29 +808,40 @@ levels: 13: header: Sneak peek into the next level... text: |- - In the next level you'll learn how to use maths in Hedy! + In the next level you'll learn how to use maths in Hedy! 6: 1: header: Welcome to level 6 text: |- By the end of this lesson, you can: * use maths in Hedy + notes: |- + Ask your students to predict when they would need maths in a code (for example calculating a price, an amount of people, points in a game etc). + You could also ask them to predict what they think this would look like. They will mist likely come up with + and - themselves. 2: header: Addition text: If you want to calculate an addition, simply use the plus sign. code: '{print} ''5 plus 5 is '' 5 + 5' + notes: |- + Briefly show your students the example code. 3: header: Subtraction text: If you want to subtract, you can use the minus sign. code: '{print} ''5 minus 5 is '' 5 - 5' + notes: |- + Briefly show your students the example code. 4: header: Multiplication text: If you want to do multiplications, you can use the asterisk. code: '{print} ''5 times 5 is '' 5 * 5' + notes: |- + Briefly show your students the example code. 5: header: Division text: You can use the slash for division. code: '{print} ''5 divided by 5 is '' 5 / 5' + notes: |- + Briefly show your students the example code. 6: header: Summary text: In summary, you can use +, -, * and / to do maths. @@ -839,6 +850,10 @@ levels: {print} '5 minus 5 is ' 5 - 5 {print} '5 times 5 is ' 5 * 5 {print} '5 divided by 5 is ' 5 / 5 + notes: |- + Please note that the maths code does not need quotation marks. + Let your students predict what the output would look like if you did puth the maths code inside the quotation marks. + The students can now make the music adventure and workbook exercise 1 and 2. 7: header: The = symbol text: |- @@ -847,6 +862,8 @@ levels: code: |- name = Hedy answer = 20 + 4 + notes: |- + Briefly show your students the example code. 8: header: Calculations with variables text: 'You can use calculations with numbers, but you can also use variables to do calculations, like this:' @@ -855,6 +872,17 @@ levels: number_2 = {ask} 'Fill in the second number:' correct_answer = number_1 * number_2 {print} number_1 ' times ' number_2 ' is ' correct_answer + notes: |- + Show the students the example code and have them take a look at the placement of the quotation marks. + If you've made tehm come up with some examples of how to use maths in Hedy in the previous slides, ask them what they think this code would look like. + For example, if a student came up with the answer 'calculating points of a game' they could now come up with the code: + ``` + if answer = correct_answer + points = points + 1 + else + points = points - 1 + ``` + If you think this is too hard for your students to do individually or in pairs, you could do this exercise together with the whole class. 9: header: Debugging text: Let's debug this code! @@ -873,9 +901,37 @@ levels: total_price = total_price * 0.25 {print} 'That will be total_price please' debug: 'True' + notes: |- + Debug this code together with your students. 10: header: Let's get to work! text: Enjoy the adventures in level 6! + notes: |- + The students can now make all the adventures in this level. + Make workbook exercise 3, 4 and 5. + 11: + header: Let's review! + text: What did you learn today? + notes: |- + Ask the students to list what they've learned today. + 12: + header: Let's review! + text: |- + Which adventure did you like best? Why? + + Which adventure did you like least? Why? + + notes: |- + Ask the students for their opinion. + 13: + header: Show and tell! + text: Would anyone like to show the class a program they've made? + notes: |- + Let some students show their work to the class. + 14: + header: Sneak peek into the next level... + text: |- + In the next level you'll learn how to repeat a line of code multiple times! 7: 1: header: Welcome to level 7 From 13865c295bbd501c143b6049b672c6ebcd3a5942 Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:27:48 +0100 Subject: [PATCH 10/17] small fix --- content/slides/en.yaml | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index dcbbbeee2cc..d54fac377d4 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -671,15 +671,15 @@ levels: notes: |- Model how to use the debugger. Make workbook exercise 6. - 11: + 12: header: Ready, Set, Go! text: Enjoy the adventures in level 4! - 12: + 13: header: Let's review! text: What did you learn today? notes: |- Ask the students to list what they've learned today. - 13: + 14: header: Let's review! text: |- Which adventure did you like best? Why? @@ -688,12 +688,12 @@ levels: notes: |- Ask the students for their opinion. - 14: + 15: header: Show and tell! text: Would anyone like to show the class a program they've made? notes: |- Let some students show their work to the class. - 15: + 16: header: Sneak peek into the next level... text: |- In the next level you'll learn how to make the computer react differently to different input! @@ -979,6 +979,29 @@ levels: 6: header: Ready Set Go! text: Enjoy the adventures in level 7! + 12: + header: Let's review! + text: What did you learn today? + notes: |- + Ask the students to list what they've learned today. + 13: + header: Let's review! + text: |- + Which adventure did you like best? Why? + + Which adventure did you like least? Why? + + notes: |- + Ask the students for their opinion. + 14: + header: Show and tell! + text: Would anyone like to show the class a program they've made? + notes: |- + Let some students show their work to the class. + 15: + header: Sneak peek into the next level... + text: |- + In the next level you'll learn how to make the computer react differently to different input! 8: 1: header: Welcome to level 8 From 29b68dc13edf17c97b9249f1863b49769f3a9f5c Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:03:35 +0100 Subject: [PATCH 11/17] Level 7 --- content/slides/en.yaml | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index d54fac377d4..c73b58fb087 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -941,19 +941,21 @@ levels: 2: header: repeat 3 times text: |- - If you want to repeat a line of code, you can use the `{repeat}` 3 `{times}` code. - If you want to repeat the line more times, simply change the number. - - For example: If you are programming a story where your character shouts for help for 5 times, it could look like this: + Predict the output of this code: code: |- {print} 'The prince kept calling for help' {repeat} 5 {times} {print} 'Help!' {print} 'Why is nobody helping me?' + notes: |- + Let your students predict what the output would look like. + Explain that if you want to repeat a line of code, you can use the `{repeat}` 3 `{times}` code. If you want to repeat the line more times, simply change the number. For example: If you are programming a story where your character shouts for help for 5 times, it could look like this: 3: header: Don't forget the print command text: When using the repeat command, do not forget the `{print}` command. code: '{repeat} 5 {times} ''Help!''' debug: 'True' + notes: |- + Debug this code with your students. 4: header: Repeat an ask command text: You can also repeat an `{ask}`, `{if}` or `{else}` command multiple times. @@ -961,6 +963,8 @@ levels: {repeat} 2 {times} answer = {ask} 'Did you know you could ask a question multiple times?' {if} answer {is} yes {repeat} 2 {times} {print} 'You knew that already!' {else} {repeat} 3 {times} {print} 'You have learned something new!' + notes: | + Again let the students predict the output. 5: header: Debugging text: Let's debug this code! @@ -976,15 +980,19 @@ levels: {print} 'Hurray! {else} 'That's a shame... Oh well... time to build a shelter and find some food.' debug: 'True' + notes: |- + Debug this code with your students. 6: header: Ready Set Go! text: Enjoy the adventures in level 7! - 12: + notes: |- + Your students can now make all the workbook exercises and all the adevntures of this level. + 7: header: Let's review! text: What did you learn today? notes: |- Ask the students to list what they've learned today. - 13: + 8: header: Let's review! text: |- Which adventure did you like best? Why? @@ -993,15 +1001,15 @@ levels: notes: |- Ask the students for their opinion. - 14: + 9: header: Show and tell! text: Would anyone like to show the class a program they've made? notes: |- Let some students show their work to the class. - 15: + 10: header: Sneak peek into the next level... text: |- - In the next level you'll learn how to make the computer react differently to different input! + Now that you've learned how to repeat one line of code, it's time to repeat multiple lines at once! 8: 1: header: Welcome to level 8 From 6526e24218db73e1adbb03cce3dd9ede9b31df10 Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:22:26 +0100 Subject: [PATCH 12/17] Level 8 --- content/slides/en.yaml | 78 ++++++++++++++++++++++++++++++++---------- 1 file changed, 59 insertions(+), 19 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index c73b58fb087..983ff21a0d8 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -1020,61 +1020,69 @@ levels: 2: header: '{repeat} commands before' text: |- - In the previous levels, the `{repeat}` command looked like this: - - You could only repeat one line of code. + The repeat command. code: '{repeat} 5 {times} {print} ''Help!''' debug: 'True' + notes: |- + Remind the students that they learned how to use the repeat command in the previous level. + You could only repeat one line of code. This level you'll learn how to repeat multiple lines of code. 3: header: '{repeat} commands now' text: |- - In this level you can repeat multiple lines of code. To do this you must tell the computer which lines belong together and should be repeated. - You do this by using indentation. - - Use 4 spaces (or one tab) at the beginning of each line that you want to repeat, like this: + What do you think the output will be? code: |- {repeat} 5 {times} {print} 'Hello everyone' {print} 'This will be printed 5 times' + notes: |- + First let your students predict the output again. Then explain: + In this level you can repeat multiple lines of code. To do this you must tell the computer which lines belong together and should be repeated. + You do this by using indentation. Use 4 spaces (or one tab) at the beginning of each line that you want to repeat. 4: header: '{repeat} commands now' text: |- - If you want to, you can continue after the `{repeat}` command without indentation. - The lines that do not start with indentation will not be repeated. + And what would this code look like? code: |- {repeat} 3 {times} {print} 'Hello!' {print} 'We are done repeating!' + notes: |- + aks the students which lines they think will be repeated and run teh code. + Explain: If you want to, you can continue after the `{repeat}` command without indentation. + The lines that do not start with indentation will not be repeated. + The students can work on these adventures: Fortune teller, sing a sing and music. + Make workbook exercise 1 and 2. 5: header: if and else before text: |- - The same goes for the `{if}` and `{else}` commands. - These were the commands before: + What will the {if} and {else} commands look like with indentation? code: |- {if} name {is} Hedy {print} 'nice' {else} {print} 'boo!' debug: 'True' + notes: |- + This is what the {if} and {else} have always looked like. What will they look like now that we can use indentation? 6: header: if and else now text: |- These are the `{if}` and `{else}` commands now. - Each line after the `{if}` and `{else}` commands start with indentation. code: |- name = {ask} 'What is your name?' {if} name {is} Hedy {print} 'Welcome Hedy' {else} {print} 'Welcome programmer!' + notes: |- + Show the students that using indentation isn't just giving you the extra work of adding a tab, but it is very useful. Demonstrate how you can now type multiple lines after an {if} or {else} instead of just one by adding some lines of code to the example. 7: header: stopping the indentation - text: Just like with the `{repeat}` command, you can stop using indentation and the lines will always be shown. Not just if the statement is true. + text: Predict the output code: "name = {ask} 'What is your name?'\n{if} name {is} Hedy\n {print} 'Welcome Hedy'\n{else}\n {print} 'Welcome programmer!' \n{print} '3..2..1.. Start programming!'" + notes: |- + Let your students predict the output of the code and instruct them to take a careful look at the indentation. + Just like with the `{repeat}` command, you can stop using indentation and the lines will always be shown. Not just if the statement is true. + Make workbook exercise 3, 4, 5 and 6. 8: - header: if statements inside if statements - text: |- - You might have thought of trying to put an if command inside a repeat command, or inside another if command. - For now, this is not possible yet. In the higher levels, it will be allowed, but for now let's focus on practising the `{if}` `{else}` and `{repeat}` commands with proper indentation first. - 9: header: Debugging text: Let's debug this code! code: |- @@ -1097,9 +1105,41 @@ levels: price * 2 {print} 'That will be ' price ' euros please' debug: 'True' - 10: + notes: |- + Debug this code with your students. + 9: header: Let's check out the adventures! text: Enjoy the adventures in level 8! + notes: |- + Your students can now work on all the adventures in level 8. + 10: + header: Let's review! + text: What did you learn today? + notes: |- + Ask the students to list what they've learned today. + 11: + header: Let's review! + text: |- + Which adventure did you like best? Why? + + Which adventure did you like least? Why? + + notes: |- + Ask the students for their opinion. + 12: + header: Show and tell! + text: Would anyone like to show the class a program they've made? + notes: |- + Let some students show their work to the class. + 13: + header: Sneak peek into the next level... + text: |- + Next level we will see what happens if we put an {if} inside another {if}... + code: |- + {if} level = 8 + {if} student = curious + {print} 'See you next level!' + debug: True 9: 1: header: Welcome to level 9 From 14bfc20b6e4413f3f76b00fd1cb0324029888ee9 Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Fri, 31 Jan 2025 13:00:54 +0100 Subject: [PATCH 13/17] Update en.yaml --- content/slides/en.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index 983ff21a0d8..6a8fa42c4f4 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -35,14 +35,14 @@ levels: This may sound really difficult, but we are going to learn programming step-by-step. 5: header: Programming in Hedy - text: In Hedy we use special codes, like `{print}`. + text: In Hedy we use special 'keywords' or 'commands', like `{print}`. code: '{print} Welcome to Hedy!' notes: |- Let's take a look at Hedy. In Hedy we use code words (commands) to give the computer an instruction. We type these instructions in the left screen. This is what we call code, or a program. 6: header: Programming in Hedy - text: Code words will be shown in pink. + text: Keyords will be shown in pink. code: '{print} Welcome to Hedy!' notes: |- As you can see, the code words (or commands) turn pink if you use them correctly. From 10869168f1ff70142dc3b1a2c20a08a69edaa259 Mon Sep 17 00:00:00 2001 From: MarleenGilsing Date: Fri, 31 Jan 2025 12:03:16 +0000 Subject: [PATCH 14/17] =?UTF-8?q?=F0=9F=A4=96=20Automatically=20update=20g?= =?UTF-8?q?enerated=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- messages.pot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/messages.pot b/messages.pot index df218262776..deadf1bb74b 100644 --- a/messages.pot +++ b/messages.pot @@ -1,7 +1,7 @@ # Translations template for PROJECT. -# Copyright (C) 2024 ORGANIZATION +# Copyright (C) 2025 ORGANIZATION # This file is distributed under the same license as the PROJECT project. -# FIRST AUTHOR , 2024. +# FIRST AUTHOR , 2025. # #, fuzzy msgid "" From 3295879cf6e10dd905546f50d970262c7c43ca82 Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Fri, 31 Jan 2025 13:17:26 +0100 Subject: [PATCH 15/17] level 9 --- content/slides/en.yaml | 78 ++++++++++++++++++++++++++---------------- 1 file changed, 48 insertions(+), 30 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index 6a8fa42c4f4..c671d7f07bb 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -1144,12 +1144,14 @@ levels: 1: header: Welcome to level 9 text: |- - In this level you can use multiple lines of code after an `{if}` or after a `{repeat}` command. - - You can even put a `{repeat}` command within another `{repeat}` command. + By the end of this lesson, you can: + * nest {if} and {repeat} commands + * use indentation properly with {repeat} {if} and {else} + notes: + Using an {if} command inside another {if} command is called nesting. 2: - header: Multiple lines after `{repeat}` - text: You are allowed to combine `{repeat}` and `{if}` in this level. + header: Nesting with `{repeat}` + text: You are allowed to combine `{repeat}` and `{if}` in this level. This is called nesting. code: |- {repeat} 3 {times} food = {ask} 'What do you want?' @@ -1157,16 +1159,20 @@ levels: {print} 'nice!' {else} {print} 'pizza is better' + notes: + Run the program twice, once with 'pizza' as the answer and once with a different answer. 3: header: Indentation matters! - text: Indentation is very important to tell the computer which lines should be repeated and which lines should only be ran once. + text: Indentation is very important to tell the computer which lines should be repeated and which lines should only be run once. code: |- {repeat} 3 {times} {print} 'This line will be repeated...' {print} 'This one too...' {print} 'but this one will not!' + notes: |- + Repeat to your student the importance of using indentation properly. Run the program and ask the students what would happen if the last line would also start with indentation. 4: - header: Multiple lines after `{if}` + header: Nesting with `{if}` text: You can also use multiple lines after `{if}` code: |- continue = {ask} 'Do you want to continue?' @@ -1189,28 +1195,8 @@ levels: {print} 'We will continue' {else} {print} 'You are not sure' - 6: - header: An `{if}` inside a `{repeat}` - text: |- - Now that you can use multiple lines of code after these command, you can also put them within each other. - Check it out: - code: |- - {repeat} 3 {times} - food = {ask} 'What do you want?' - {if} food {is} pizza - {print} 'nice!' - {else} - {print} 'pizza is better' - 7: - header: Mind the indentation - text: Mind that the fourth and sixth line of this code starts with 8 spaces of indentation. - code: |- - {repeat} 3 {times} - food = {ask} 'What do you want?' - {if} food {is} pizza - {print} 'nice!' - {else} - {print} 'pizza is better' + notes: |- + Play around with the indentation and show the students what happens if you remove the indentation of the second {if} command, for example. 8: header: Debugging text: Let's debug this code! @@ -1229,9 +1215,41 @@ levels: {print} 'Fun!' {print} 'Thanks for filling in the safety questions everyone. Enjoy your jump!' debug: 'True' + notes: |- + Debug this code with your students. 9: - header: Let's go! + header: Let's check out the adventures! text: Enjoy the adventures in level 9! + notes: |- + Your students can now work on all the adventures in level 9. + 10: + header: Let's review! + text: What did you learn today? + notes: |- + Ask the students to list what they've learned today. + 11: + header: Let's review! + text: |- + Which adventure did you like best? Why? + + Which adventure did you like least? Why? + + notes: |- + Ask the students for their opinion. + 12: + header: Show and tell! + text: Would anyone like to show the class a program they've made? + notes: |- + Let some students show their work to the class. + 13: + header: Sneak peek into the next level... + text: |- + Next level we will learn to use the {for} command. + code: |- + animals = dog, cat, blobfish + {for} animal in animals + {print} 'I love ' animal + debug: True 10: 1: header: Welcome to level 10 From ca3d996368084ad4db85a0f484f31a5a38c6a115 Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Fri, 31 Jan 2025 13:17:59 +0100 Subject: [PATCH 16/17] level 9 fix --- content/slides/en.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index c671d7f07bb..0fc28371d3c 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -1197,7 +1197,7 @@ levels: {print} 'You are not sure' notes: |- Play around with the indentation and show the students what happens if you remove the indentation of the second {if} command, for example. - 8: + 6: header: Debugging text: Let's debug this code! code: |- @@ -1217,17 +1217,17 @@ levels: debug: 'True' notes: |- Debug this code with your students. - 9: + 7: header: Let's check out the adventures! text: Enjoy the adventures in level 9! notes: |- Your students can now work on all the adventures in level 9. - 10: + 8: header: Let's review! text: What did you learn today? notes: |- Ask the students to list what they've learned today. - 11: + 9: header: Let's review! text: |- Which adventure did you like best? Why? @@ -1236,12 +1236,12 @@ levels: notes: |- Ask the students for their opinion. - 12: + 10: header: Show and tell! text: Would anyone like to show the class a program they've made? notes: |- Let some students show their work to the class. - 13: + 11: header: Sneak peek into the next level... text: |- Next level we will learn to use the {for} command. From 7d6e33194d02218ffc25b170717036f4f767b78c Mon Sep 17 00:00:00 2001 From: MarleenGilsing <80678586+MarleenGilsing@users.noreply.github.com> Date: Fri, 31 Jan 2025 13:38:42 +0100 Subject: [PATCH 17/17] Level 10 --- content/slides/en.yaml | 46 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/content/slides/en.yaml b/content/slides/en.yaml index 0fc28371d3c..6886f012f48 100644 --- a/content/slides/en.yaml +++ b/content/slides/en.yaml @@ -1253,14 +1253,20 @@ levels: 10: 1: header: Welcome to level 10 - text: 'In this level you will learn a new command: `{for}`.' + text: |- + By the end of this lesson, you can: + * use the {for} command 2: header: The for command - text: With for you can make a list and use all items on that list. `{for}` creates a block, like repeat and if so all lines in the block need to start with indentation (4 spaces). + text: With for you can make a list and use all items on that list. code: |- animals = dog, cat, blobfish {for} animal {in} animals {print} 'I love ' animal + notes: |- + Show the students how the {for} command creates a block taht starts with indentation. + Run the code and show teh students what happens. + Then ask the students to write their own version of a program with {for} in it. 3: header: The for command text: 'Here you see another example of the `{for}` command:' @@ -1269,6 +1275,8 @@ levels: names = mom, dad, Emma, Sophie {for} day {in} days {print} names {at} {random} ' does the dishes on ' day + notes: |- + Go around the room to let teh students share the programs that they came up with. Then show this next example and let the students predict the output. 4: header: Debugging text: Let's debug this code @@ -1284,9 +1292,41 @@ levels: {print} 'Come and watch our show tonight!' {print} 'Tickets are only available at the counter debug: 'True' + notes: |- + Debug this code together. 5: - header: Time to program! + header: Let's check out the adventures! text: Enjoy the adventures in level 10! + notes: |- + Your students can now work on all the adventures in level 10. + 6: + header: Let's review! + text: What did you learn today? + notes: |- + Ask the students to list what they've learned today. + 7: + header: Let's review! + text: |- + Which adventure did you like best? Why? + + Which adventure did you like least? Why? + + notes: |- + Ask the students for their opinion. + 8: + header: Show and tell! + text: Would anyone like to show the class a program they've made? + notes: |- + Let some students show their work to the class. + 9: + header: Sneak peek into the next level... + text: |- + Next level we will learn to use the {for} command in a different way. + code: |- + {for} counter {in} {range} 1 {to} 10 + {print} counter + {print} 'Ready or not. Here I come!' + debug: True 11: 1: header: Welcome to level 11