diff --git a/content/pages/ar.yaml b/content/pages/ar.yaml index f080c9cefdb..0d9c55b320d 100644 --- a/content/pages/ar.yaml +++ b/content/pages/ar.yaml @@ -12,8 +12,7 @@ home-sections: في كل مستوى جديد نضيف قواعد جديدة، يزيد عدد الأوامر البرمجية التي تعرفها. الأوامر البرمجية هي تعليمات لجهاز الحاسوب. - title: لماذا هيدي متدرجة؟ text: في حين أن جميع لغات البرمجة النصية تقريبًا تحتوي على كلمات رئيسية باللغة الإنجليزية، مثل "for" أو "repeat"، يمكنك إستخدام هيدي بأية لغة! حاليا ندعم 47 لغة مختلفة، بما فيها الهولندية، الإسبانية، العربية، التركية، الصينية والهندية. إذا كانت لغتك غير متواجدة يمكنك دائما ببدء الترجمة إليها. -- title: Multi-lingual programming - text: While almost all textual programming language have keywords in English, such as `for` or `repeat`, Hedy can be used in any language! We currently support 39 different languages, including Spanish, Arabic, Simplified Chinese and Hindi. If your language is not available you can always start a a new translation. +- {} - title: لمن هيدي؟ text: هيدي مخصصة لجميع الأطفال الذين يرغبون في تعلم البرمجة! تستطيع البرمجة باللغة العربية وكذلك باللغة الانجليزية اذا رغبت بذلك. - title: هل أنا بحاجة إلى معرفة برمجية سابقة؟ @@ -25,1125 +24,19 @@ home-sections: إذا أعجبتك هيدي وأحببت أن تدعمنا فنحن نقبل بإمتنان كبير [التبرع](https://github.com/sponsors/hedyorg)! - title: هل أنا بحاجة إلى تحميل أو تثبيت أي شيء؟ text: لا. هيدي تعمل على متصفح الانترنت، وهو البرنامج الذي تستعمله الآن لقراءة هذه الصفحة. ربما متصفح Chrome أو Edge أو Firefox. هيدي تعمل أيضاً على أجهزة التلفون المحمولة أو الأجهزة اللوحية. -- title: Do I need programming experience to teach with Hedy? - text: |- - No, that is not needed. All concepts are explained in the slides and in the interface for learners. - If you create a free teacher's account, you also get access to the teacher's manual with information on how to teach - and frequently made mistakes. -join-sections: -- title: Supporting Hedy - text: '# There are three ways in which you can support Hedy!' -- title: Improving the language - text: |- - The gradual and multi-lingual nature of Hedy create a lot of interesting technical challenges. - Find those issues on [Github](https://github.com/hedyorg/hedy/issues?q=is%3Aopen+is%3Aissue+label%3Alanguage). -- title: Translating Hedy - text: |- - Not a programmer? No problem! Another way to support Hedy is by [translating keywords, error messages, adventures are other content](https://github.com/hedyorg/hedy/wiki/Hedy-Translation-Tutorial) - - This is the current status, help us complete a language, or add a new one! - - Translation status -- title: Help teachers get started - text: |- - Hedy is designed to support teachers in providing programming lessons in class. We have specific teacher features like the option to create a class, customize it and see how your students are doing. - If you like Hedy, you can reach out to schools that you know to help teachers get started! We can help you find schools or teachers via [Discord](https://discord.gg/8yY7dEme9r). -learn-more-sections: -- title: The Hedy foundation - text: |- - Hedy is maintained by the Hedy Foundation (Stichting Hedy), Sportmanstaat 8, 2341 JG Oegstgeest, Dutch Chamber of Commerce number 94013985. - - The board of the foundation consists of: - - * Felienne Hermans, president - * Eelko Huizing, finance - * Renée Merbis, secretary - - The board of Stichting Hedy does not get any financial compensation for their tasks. -- title: A deep dive! - text: |- - Want to know more about Hedy's philosophy and design? Check out this talk Felienne gave at the StrangeLoop Conference in 2022: - - -- title: Hedy in the news - text: |- - Some websites and newspapers have written about Hedy since our release in early 2020. We keep a list here: - * [Tech Optimism - A Solution to the IT Shortage (Dutch), August 2022](https://pom.show/2022/08/12/een-oplossing-voor-het-it-tekort/) - * [Codeweek Podcast, July 2022](https://codeweek.eu/podcast/26) - * [Heise.de (German), Januari 2022](https://www.heise.de/news/Hedy-die-mitwachsende-Programmiersprache-6336264.html) - * [Strumenta, November 2021](https://tomassetti.me/teaching-programming-with-hedy/) - * [Vives (Dutch), CodeWeek Special October 2021](images/Vives-174-Codeweek.pdf) - * [CodeWeek.eu - Haunted House Challenge, September 2021](https://codeweek.eu/2021/challenges/haunted-house) - * [Opensource.com, April 2021](https://opensource.com/article/21/4/hedy-teach-code) - * [IO Magazine, April 2021](https://ict-research.nl/wordpress/wp-content/uploads/2021/04/IO-magazine-NR1-2021_web.pdf) - * [Ingeniería De Software (Spanish), February 2021](https://ingenieriadesoftware.es/hedy-mejor-lenguaje-ensenar-programacion-ninos/) - * [Hello World Magazine, February 2021](images/Hello_World_15_Hedy.pdf) - * [Discoro, January 2021](https://discoro.wordpress.com/2021/01/09/hedy-gradually-learning-a-programming-language/) - * [Felienne wins the Dutch award for ICT research for Hedy, January 2021](https://www.nwo.nl/en/news/felienne-hermans-receives-dutch-prize-ict-research-2021) - * [SlashDot, August 2020](https://news.slashdot.org/story/20/08/17/024248/scientist-proposes-a-new-programming-language-for-teaching-coding-and-python) - * [GenBeta (Spanish), August 2020](https://www.genbeta.com/desarrollo/nuevo-lenguaje-para-ensenar-programacion-a-ninos-como-se-ensena-a-leer-escribir-forma-gradual-niveles) - * [Developpez (French), August 2020](https://programmation.developpez.com/actu/308095/Une-scientifique-propose-un-nouveau-langage-de-programmation-pour-enseigner-aux-enfants-le-codage-informatique-au-travers-d-une-approche-graduelle-implementee-en-Python-sur-13-paliers/) - * [Vives (Dutch), October 2020](images/artikel_vives.pdf) "Met Hedy stap voor stap leren programmeren" - * [Leiden University, April 2020](https://www.universiteitleiden.nl/en/news/2020/03/looking-to-distract-the-kids-while-you-work-from-home-get-them-programming) - * [Mare (Dutch), April 2020](https://www.mareonline.nl/cultuur/computercode-voor-de-kids/) - * [AG Connect (Dutch), April 2020](https://www.agconnect.nl/artikel/stapsgewijs-python-leren-programmeren-met-nieuwe-taal-hedy) -start-sections: -- title: Getting started with Hedy - text: '*Something about teachers accounts, slides etc*' -- title: What other teachers say - text: "A while ago we ran a few short Hedy teachers surveys. \nThe questions span between suggestions of improvement and Hedy’s best features. \nBelow is a testimony of their thoughts:\n\nSimple interface and good examples. *Teacher: 3rd - 6th grades (elementary)*\n\nMultilingual programming and just the gradual programming concept itself. - *US: middle school, 6th-8th grade*\n\nThe gradual nature of introducing programming. *Australia: High school*\n\nThe construction is so good. *Netherlands: Lower secondary school HAVO-VWO*\n\nI can keep the pace of the class. *Netherlands: group 7 en 8* \n\nContinues automatically. *Netherlands: 2 HAVO-VWO*\n\nBoth that the explanation can be in Dutch (and the code in English), and that it builds up with more \nand more possibilities. *Netherlands: Plus class group 7*\n\nThe 'realness' of programming, it resembles how it is in reality. *Netherlands: Plus class group 4 to 8*\n\nStep-by-step activities. Fun activities. *Netherlands: 1e All levels, - 2e VWO/HAVO 2e VWO +, 3e HAVO 3e VWO*\n\nBut Hedy and its gradual levels... what an idea, \nI wanted to personally thank you for creating this. I cannot thank you enough. Also, I have never seen the level of engagement and enthusiasm of my \nstudents, as I have seen with Hedy. We have covered till level 5, and plan to spend one more week on it in classes and labs, \nbefore starting Python. *Pakistan*\n\nI really like Hedy very much and it is also nicely set up, which makes it good to use in primary school. \nHedy's gradual approach works very well. \nThe short explanation at the beginning of each level and the short example programs help to give the children a quick insight into what is new in the chosen level. \nThe different assignments that the children can choose also work very well. \nYou see the children choose assignments that appeal to them and they then get to work with them, \nthrough the levels. Hedy is great fun for children who are good at programming and want to get - a \ntaste of a real programming language. It is good preparation for secondary school as soon as more ICT \neducation is given there. *Netherlands: Oegstgeest Montessori school*\n\n" teacher-guide: -- title: Introduction - key: المقدمة +- key: المقدمة subsections: - title: ماهو Hedy ؟ - text: |- - 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! - If you want to know more, you can watch this video about the development of Hedy as a programming language. - title: الجمهور المستهدف - text: |- - Hedy is 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. - title: كيف يعمل Hedy ؟ - text: |- - Hedy is divided into levels, in which new commands are taught. Each level contains a variety of adventures to practice the newly learned commands. - As a teacher, you get to decide which adventures are available for your students. Will they be making a restaurant, a calculator or a haunted house this level? Within each level, the adventures are arranged from easiest to hardest. - So your students keep getting challenged. The adventures can be done by the students individually, or you can use them in a classical instruction. - - The adventures also include a code example, to make sure the less digitally informed teachers are able to use Hedy too! - Of course Hedy also caters to the creative teachers that love to make their own lessonplans and adventures! - - After programming all the adventures of a certain level, your students can test their knowledge in the quiz. - You can track your students' work and their progress on the class page. - - title: Devices - text: |- + - text: |- هيدي هو مُستند على الويب، وهذا يعني أنه يعمل على أي جهاز يحمل متصفح ويب (مثل Google Chrome، Firefox، Edge، إلخ)، لذا الأجهزة المحمولة مثل أجهزة Chromebook والأجهزة اللوحية وحتى الهواتف الذكية مناسبة لاستخدام هيدي. لا حاجة لتنزيل أي شيء قبل البدء في استخدام هيدي، فقط انتقل إلى الموقع الإلكتروني وسوف تكون جاهزًا تمامًا! - - title: The Hedy Community - text: |- + - text: |- جميع معلمي Hedy ومبرمجيها ومعجبيها الآخرين مرحب بهم للانضمام إلى خادمنا على Discord. هذا هو المكان المثالي للدردشة حول Hedy: لدينا قنوات حيث يمكنك عرض مشاريعك ودروسك الرائعة، وقنوات للإبلاغ عن الأخطاء، وقنوات للدردشة مع معلمين آخرين ومع فريق Hedy. يمكنك هنا العثور على فيديو حول كيفية الانضمام إلى مجتمع Discord. - - title: Hedy and the GDPR - text: |- - Organizations in the EU have to comply with the GDPR (General Data Protection Regulation) when processing personal data. - Because this is a complex issue for many schools, you can use all Hedy programming functionalities without sharing personal data. - The easiest way to do this is to use Hedy without creating accounts for the teacher and students. Without accounts, all functionality is available, with the exception of personalizing levels, saving students' programs and viewing their progress. That is limiting, but there are schools that use Hedy in that way. - - A second way is for a teacher to create an account with an email address without personal data, for example "docent25@email.com". Apart from an email address, which is only required to reset your password, you do not need to share any information when you create a teacher account. - With a teacher account, you can create anonymous accounts for students, e.g. rainbow-student1, rainbow-student2, etc (See 'Teaching preparations' for a detailed manual). This way you can use all functionality of Hedy, including saving progress, without sharing personal data of yourself or your students. - - If the above is not sufficient for your context, we can sign a processing agreement for the processing of your personal data. -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - text: هل ترغب في متابعة البرنامج التعليمي (مرة أخرى)؟ انقر هنا. -- title: Teaching preparations - key: preparations - subsections: - - title: For teachers - text: You can prepare your classes at the For Teachers page. On this page you'll find everything you'll need to teach with Hedy, like your classes, your adventures and slides. All the functionalities of the for teachers page are explained below. - - title: Creating a Class - text: |- - As a teacher, you can create a class for your students. In this class you can see the students' accounts and their programs and you could monitor their progress. - This [video](https://www.youtube.com/watch?v=Y3RTIWftJQg) shows you how to quickly create a class in Hedy. - - title: Duplicate a class - text: |- - Are you teaching multiple classes? Then you don't have to customize each class individually. Simply make a class, costumize the class (see "Customize your Class" to learn how) and then duplicate this class as many times as you want. - You can duplicate the class on the 'For Teachers' page. If you duplicate a class, all the class settings are duplicated as well. This means that all the levels and adventures you've made unavailable for the first class will now be unavailable for the new class(es) as well. - The student accounts and second teacher accounts in your class will not be duplicated into the new class. - - title: Add a second teacher - text: |- - Are you not the only teacher that teaches your class? Then you can now add another teacher to the class. Go to the 'For teachers' page and click on the class. Then choose 'Invite a teacher' and fill in the username of your colleague. - Your colleague will get an invitation on their account to join your class. They can see that invitation message by clicking on their username in the upper right corner of the screen and selecting 'My account'. - Once the other teacher accepts the invitation they can customize the class as well. - To remove a second teacher from your class, go to the class page and remove the second teacher. The teacher who's created the class cannot be removed. - - title: Customize your Class - text: |- - You can customize your class and choose which adventures are available for your students. This way your students won't be overwhelmed by the amount of adventures and levels, and they can specifically focus on the adventures you'd like them to practice with. - Click on your class on the for teachers page and choose 'customize class'. On this page you can select levels, set opening dates, unlock level thresholds and more. - - **Select and order adventures** - - In this section you can select and order adventures. The pink tabs are adventures with new commands. The gray tabs are regular adventures. To rearrange the order of the adventures, you can drag the tabs. However, we do advise you to use the regular order of adventures as the Hedy team made sure the adventures go from easiest to hardest. - If you want to remove an adventure for your students, simply click the cross on the adventure's tab. - - If you want to add adventures, for instance your own adventure or an adventure you accidentally removed, use this menu to add the adventure to your students' adventures. Simply click the adventure you want to add and it (re)appears in the line of adventures. To undo all your changes to the adventures, click 'Reset'. - - **Opening dates** - - With this feature you can set opening dates for the levels. This way you can make a lesson plan before your course begins and not worry about opening new levels each week. In the image above the first level is opened directly, the second will open the 23th of september, and the 3rd level the week after. The other levels are closed. - Don't want to set opening dates? No problem, just leave this section blank. - - **Unlock level thresholds** - - This feature allows you to set a threshold for your students' quiz grade, before they can continue to the next level. For example, if you enter "80" your students have to score at least 80% on the quiz before they are allowed to go to the next level. If they haven't met the threshold, they are not allowed to continue and have to retake the quiz. - Don't want to use the threshold? No worries, just keep this section blank. - - **Other settings** - - There are some other setting that could be useful to you as well. Our first extra setting is 'Mandatory developer's mode'. In developers mode the students only see their input and output screens and the run button. The adventures are hidden and there are no cheatsheets available. This might come in handy in a test situation. - If this option is not selected the developer's mode is available for students too as a voluntary option. - - If you want all your students to be visible in de class highscore, you can select the second option. - With all the other options you can choose to hide some functions or content for your students, this might help them focus more. - - **Save** - - Don't forget to save your changes when you're done customizing your class. - - title: Student Accounts - text: |- - To add students to your class go to the class page by clicking in the class name on the 'for teachers' page. Then click 'add students'. There are 2 ways to let your students join your class: You can create accounts for them, or they could create their own accounts. - - **You create accounts for your students** - The easiest way to add students to your class is by creating an account for them. This can be done by clicking the 'create student accounts' button and filling in the usernames and passwords for them. - The students can login with the username and password that you chose. Afterwards, they can change their username or password if they'd like and they'll still remain in your class. - This [video](https://www.youtube.com/watch?v=eEQvik-Ce5M) shows how to add students to your class in the quickest and easiest way. - - **Students make their own accounts** - Your students can also go to the Hedy website and create their own accounts, just like you did. To get them into your class, they simply have to click the invite link. - You can find the invite link on the class page and send it to your students. Mind that your students have to be logged in to Hedy when they click the link, in order to make it work smoothly. - You can also manually invite a student to your class with the button 'Invite by username'. - - title: Setting preferred language - text: |- - When students create profiles they are supposed to choose a 'preferred language'. Hedy will always be loaded in this selected language. - Changing this language can always be done later on by navigating to 'My account' and 'My personal settings' again. - - - **For non-English speakers** - Not only can you change the language of the adventures to your own language. You can also choose which language the keywords (for example 'print' or 'ask') should be in. - This way you can teach your students to code with English keywords, but you can also let them program in their own language. For example, Dutch students can use the command 'vraag' instead of 'ask'. - If a student wants to switch languages, they can click the keyword switcher. It will switch the keywords from English to the preferred language and back. - Fun fact! Students are allowed program in both English and their own language at the same time! So, if they have trouble remembering some keywords in English, but easily remember other ones they can use both at the same time. - - - **Video** - This [video](https://www.youtube.com/watch?v=QrVZETj4oLM) show you how to set a preferred language and change the keywords to you preferred language as well. - - title: Storing programs - text: |- - When you are logged in, you'll see My programs next to your profile icon. - This option exists for your students too. In My programs you can find all the programs that you've worked on. - By default, programs will be saved to 'My programs' when you run the code, and every 10 seconds, under their default name - and their level (for example: Story 5). If you want to store a program under a new name, just type the new name in the name bar. - Currently, only one program can be saved per level, per tab. - - You (and your students) can also share programs using the share button next to program names. - These programs will be posted on our explore page, for everybody to see and use. - If you want to unshare your program, go to 'My programs' and click 'Unshare'. - - The paper plane icon can be used to hand in programs to the teacher of a class. Programs that have been handed is will no longer be editable. -- title: Teaching with Hedy - key: teaching - subsections: - - title: Teaching with Hedy - text: |- - Hedy contains a lot of different levels that each teach a different new skill. We recommend to teach one level per lesson. - This gives your students the time to fully grasp a new command or concept and practice with it, before moving on to the next level. - We use this structure in our lessons: Introduction, New concepts and commands, let's get to work, puzzels and quizzes. - - title: Slides - text: |- - When giving instructions you might want to use our slides. Our slides are available on the 'For teachers' page. There is a set of slides for each level. In the slides all the new commands for that level are explained. We have aimed to explain why these changes are nessecary or how the new commands come in handy. - We also give some examples of how the new commands can be used. You could of course also use your own slides, or just open Hedy and show your students around the website. Whichever you prefer to give the best Hedy lessons! - - title: Introduction - text: |- - You can start your lessons by activating your students' prior knowledge: What do they already know about the subject, what did they learn in the previous lesson and which mistakes did they make that they've now learned from? - This way all the previously learned commands and frequently made mistakes are fresh in your students' memories, when you start introducing the new lesson. - - title: Introduction of new concepts and commands - text: |- - The new concepts and commands can be very hard for some students to fully understand. - That's why it's of importance to model the proper use of the new commands to your students. - Especially in the lower levels, where some students have no experience whith programming at all, it can be hard for them to understand the new abstract concepts. - Showing a lot of examples makes an abstract concept (for instance: 'What is a variable?') more recognizable and easier to understand ('Look, the variable pet changed into dog'). Our slides could help you with that. - - title: Let's get to work - text: |- - Each level contains different adventures that you can find in the pink tabs. The first pink tab explains the new commands in this level. - The following tabs are adventures that the students can try out and make their own. - The adventures are arranged from easiest to hardest, so we recommend to start on the left and your your way to the right. - The last tab 'what's next' gives a little teaser of what you'll learn in the next level. Of course, you can select the adventures you want your students to do for each level. - They don't always have to make every adventure. Every adventure contains an example code, that the students can try out with the green button. - The example code gets copied to the workfield, where the students can try out the code and adjust it to make it their own. - Stimulate your students to turn the example code into their own projects by adding their own ideas and making their own variation of the adventure. - - title: Quizzes and puzzels - text: |- - To test whether your students have picked up all the new info in the level, you can let them make the quiz. - The quiz contains 10 multiple choice questions about the new concepts and command to that level. - Not every level has a quiz yet, as we are still building the quizzes. - Some levels also contain puzzels. Puzzels show the students a couple of line of code that the students have to put in the right order. - - This [video](https://www.youtube.com/watch?v=lNh5EdZVUwc) shows the quizzes and puzzels. - - title: Evaluation - text: |- - Round up your lesson by having a brief evaluation. What did the students learn? Which hardships did they come across? - How did they learn from their mistakes? And of course: What did they create? - Students are often very proud of their own creations, so it's nice to save a little time and gove your students the opportunity to show their work to their classmates. -- title: Teacher Statistics - key: teacher_statistics - subsections: - - title: Live Dashboard - text: |- - If you would like to keep track of your students' progress, you can make use of the live dashboard. You can find the live dashboard by clicking 'Live statistics' on your class page. - - All the features of this dashboard are explained below. - - title: Level Selection - text: |- - - Firstly, you can select the levels you'd like to see on the dahsboard. Select the levels your students are currently working on by clicking on the number of that level. Deselect levels that you do not want to see by clicking them again. - In this example level 1 and 2 are selected. You can click on refresh to refresh the dashboard and get the most current stats. - - title: Class Overview - text: |- - - In the class overview you can see which adventure your students are working on right now. You can see that one student is working on the 'Rock, Paper, Scissors' adventure in level 1, one is working on the 'Fortune Teller' in level 1 and one student is working on the 'Rock, Paper, Scissors' adventure in level 2. - If you'd like to know which of your students is working on the adventure, simply click the number and their accountnames will appear. - You can also see how many of your students have finished the quiz. In this case, one student finished the quiz in level 1. Again, you can click the 1 to see which of your students it is. - - You can also see one of the students is 'missing' from this overview. That's because he's working on an adventure in level 4, which is not selected. - - title: Student List - text: |- - - Here you can find a list of your students and you can see their individual progress. The blue ring shows you what your students are currently working on. - - It is important to notice that the blue dots means that a students 'attempted' the adventure. This means that they ran a code in this adventure and went on to the next adventure, so this does not automatically mean that they did a good job! - If you want to see how an individual student is getting along, you can click their name in this overview. This is what you see if you click on marleen_h3a for example: - - You see that Marleen is having some trouble programming. She tried to run a program that contains blanks multiple times, so she probably doesn't know that she has to change something in the example code before running it. - In this way this overview can give you a better understanding of what a student is struggling with. - - title: Common Errors - text: |- - - If you're not only interested in individual struggles of your students, but you'd like to know what the whole class seems to be doing wrong, you can use this oversight of common errors. - The most common error messages that your students are recieving will appear in this oversight for you, so you could give some more instructions to the whole class if needed. - By clicking the error, you can see which students are having trouble with this error. By clicking resolve, you'll remove this error from the list. - - title: Overview of programs per adventure - text: |- - - Another useful overview of all the programs your students made in a level can be found on your class page. Go to the class page and click 'Overview of programs per adventure'. Here you'll find this overview. - You could use this overview to check your students' work. If they have made a program in an adventure, an eye appears in your overview. Click the eye to view their work. Did you like it? Then you can check the box and a green tick will appear. - This way you create a nice overview for yourself of your students' results. -- title: Extra Hedy features - key: features - subsections: - - title: Make your own adventure - text: It is also possible for teachers to create your own adventure. [This video](https://www.youtube.com/watch?v=A0zbXpxX4q4) shows you how to create your own adventure as a teacher and add it to your class(es). - - title: Public adventures - text: Would you like to use adventures made by other teachers? Then you can visit our public adventures page. Here you can find all the adventures made by other teachers from all over the world. To find a good fit for you, you can select a level, language and even a tag. Have you found an adventure you'd like to use? Then you can press 'clone' to make a copy of that adventure to your own account. You can edit the clone to your liking and add the adventure to your class in the same way you would your own adventures. You cannot edit the original, so the original will always be safe. Have you made an adventure yourself that you'd like to add to the public adventures? Tick the box that makes your adventure publicly available when creating the adventure! - - title: Explore page - text: |- - On the [explore](https://hedy.org/explore) page you can view the work of other Hedy users. You can try out their programs and use them as inspiration to create something cool yourself. - You can also add a program you've made to the explore page yourself by clicking 'Save and share code' in the coding screen or go to My Programs and click 'Share'. - Don't want to share your work anymore? Simply go to 'My Programs' and click 'Unshare'. - If you want more information about the explore page, check out this [video](https://www.youtube.com/watch?v=26boFjqvS5Q). - - title: My achievements - text: |- - If you click on your username in the topright corner of your screen, you can go to [My achievements](https://hedy.org/my-achievements). On this page you achievements are collected. Your students have such a page as well. - When you hover over the badge with your mouse, you'll see how to earn the badge. There are hidden badges too, of which you'll have to find out yourself how to earn them. - If you want more information on the achievements, check out this [video](https://www.youtube.com/watch?v=-FjmKejukCs). - - title: High Scores - text: |- - On [this page](https://hedy.org/highscores) you can see the high scores of all Hedy users. - In this [video](https://www.youtube.com/watch?v=IqTiUkBVTo8) you can learn some more about the high scores. - - title: Debugger - text: |- - Is your (student's) code not working? There must be a bug (coding mistake) in it! You can use the debugger to find the mistake. - The debugger is the ladybig button in your coding screen. If you press it, you can run your code line by line to find your mistake. - Have you found the mistake? Press the red stop button and the debugger will shut off. - - title: Read aloud - text: Do you want the output of your program to be read aloud? Then you can use the read aloud function that is found under the 'run code' button in your coding screen. - - title: Programmers mode - text: |- - Distracted by all the adventures, or do you want to make a long program? Then check out the 'Programmers Mode' switch at the bottom of your coding screen. - Programmers mode allows you and your students to use a bigger coding screen. - - title: Cheat sheets - text: |- - In every level there is a button with this emoji 🤔. You and your students can find the "cheat sheets" there. On this cheat sheet, you can find all the commands that are usable in this level in their correct form. - So if you've forgotten how a command works, simply take a peek at the cheat sheet! - - title: Other useful features - text: This [video](https://www.youtube.com/watch?v=c4MntPPgl1Y) shows you even more features of Hedy, like the cheatsheets and the keyword switcher. -- title: After Hedy - key: after - subsections: - - title: What to do after Hedy? - text: |- - Congratulations on reaching the end of Hedy! Your students have now learned how to create their own basic code in the Python programming language. - Of course, you could keep programming in our Hedy compiler, but it might be more exciting for your students to transfer to a "real" Python interface. - Would you like to continue teaching Python? Then please visit the Python website to learn how to get started in another compiler. - - Now that your students have a basic knowledge of programming in general, you could also show them around in other textual programming languages. The language might change but the concepts do not, so Hedy will still give them a big advantage. -- title: Answers to the exercises - key: answers - intro: |- - The answers to all the exercises can be found on the public profile of the useraccount 'Hedy_answers'. We often encourage students to use their own creativity in their answers, so these answers are merely a guideline as to what a possible correct answer could look like. - - To go to the 'Hedy_answers' profile, please click here. -- title: Common mistakes - key: common_mistakes - intro: |- - You can learn from your mistakes, especially in coding! - Making mistakes is unavoidable, and a great opportunity to learn, but for teachers it can be a challenge to find the correct fix for a mistake! - Especially as the programs get longer and longer as the levels progress. That's why we've made a list with frequently made mistakes in each level, and their solutions. - levels: - - level: '1' - sections: - - title: Students forget to type commands - example: - error_text: For example they type a sentence without using print. - error_code: Hedy can't print this - solution_text: Teach your students to always start a line of code with a command. - solution_code: '{print} Hedy can print this!' - - title: Students use capitals when typing commands - example: - error_text: Commands won't work if they are in capitals. - error_code: |- - Ask Why does my code fail? - Print Because I'm using capitals. - solution_text: Remove the capitals. - solution_code: |- - {ask} Why does my code work now? - {print} Because I removed the capitals! - - title: Students use echo without ask - example: - error_text: Echo is made to repeat an answer after an ask command. Without ask echo won't do anything. - error_code: '{echo} Your name is' - solution_text: Add an ask command to make it work. - solution_code: |- - {ask} What's your name? - {echo} Your name is - - title: Students want their echo word (variable) to be in the middle of a sentence - example: - error_text: And they are right! That's why they will learn to use proper variables in the next level. - error_code: |- - {ask} Which programming language is the most fun? - {echo} is the best! - solution_text: 'In level 1 we have to keep it at this:' - solution_code: |- - {ask} Which programming language is the most fun? - {echo} The best is... - - title: 'Turtle: Students let the turtle walk off of the screen' - example: - error_text: Often students love to try out big numbers when using the turtle, which causes the arrow to walk off the screen. - error_code: |- - {forward} 300 - {turn} 90 - solution_text: In the example, students tend to think that the turn command doesn't work. Even though it does work, you can't see it happening off screen. Use smaller numbers to prevent this from happening. - solution_code: |- - {forward} 100 - {turn} 90 - - title: "Turtle: Students use the command backward, but that doesn't exist" - example: - error_text: Backward is not a command. - error_code: backward 100 - solution_text: 'To make the turtle go backwards, you use the forward command and a negative number. For example:' - solution_code: '{forward} -100' - - level: '2' - sections: - - title: Students make typos in their commands - example: - error_text: Hedy can't recognize a command with a typo. - error_code: prinnt Don't make typos - solution_text: Teach your students to read the error messages. This way they can find out themselves what went wrong. - solution_code: "{print} Don't make typos" - - title: Students forget that the ask command has changed - example: - error_text: In this level students learn about variables. The ask command requires a variable as well, but students forget this. - error_code: ask what would you like to eat - solution_text: In this level you have to tell Hedy where to save your answer, so it can be used later on. This is called a variable. - solution_code: order {is} {ask} What would you like to eat - - title: Students try to use the `{echo}` command - example: - error_text: For some students it might be frustrating to learn that the `{echo}` command doesn't work anymore. That's why it's very important to explain the advantages of using variables. For example you can use multiple variables in a code, and you can put them anywhere you like in a sentence! - error_code: |- - answer {is} {ask} Why doesn't {echo} work anymore?! - {echo} - solution_text: Use a variable instead. - solution_code: |- - answer {is} {ask} Why doens't {echo} work anymore?! - {print} answer - - title: Students use a variable name or as a normal word - example: - error_text: In the example below the word 'name' is used as a variable, but also as a normal text. The output of this code will be 'Hi my Hedy is Hedy'. - error_code: |- - name {is} Hedy - {print} Hi my name is name - solution_text: So don't use a word you want to use in the text as a variable name. In level 4 this is solved with quotation marks. - solution_code: |- - name {is} Hedy - {print} Hi I'm name - - title: Students use long variable names containing two words. - example: - error_text: A variable should be named with one word. You could use an underscore to connect two words. That counts as one. - error_code: chosen door is ask Which door do you pick - solution_text: Add an underscore. - solution_code: chosen_door {is} {ask} which door do you pick - - title: Students might use two different names for the same variable - example: - error_text: In this example the student has used 'horse' and 'name' for the same variables. - error_code: |- - horse {is} {ask} What is your horse called - {print} Your horse is called name - solution_text: Always check whether the variable has the same name throughout the code. Slight differences can be hard to spot (for example plurals) but they will interfere with the code. - solution_code: |- - name {is} {ask} What is your horse called - {print} Your horse is called name - - level: '3' - sections: - - title: Students try to print whole lists - example: - error_text: A list can't be printed. You can only print one item from the list with {at} {random}. - error_code: |- - groceries {is} apples, milk, chocolate - {print} groceries - solution_text: To print a list of all the groceries, you simply need to put them after a `{print}` command. Else you can use the list to print one item with `{at}` `{random}`. - solution_code: |- - {print} apples, milk, chocolate - - # or - - groceries {is} apples, milk, chocolate - {print} groceries {at} {random} - - title: Students use the name of a variable or list as regular text - example: - error_text: This problem probably occured in level 2 as well. Now it can happen with lists too. - error_code: |- - name {is} Hedy - {print} Hi my name is name - - # or - - animal {is} rhino, bee, swan - {print} The best animal is... animal {at} {random} - solution_text: Don't use the names of variables or lists in regular text to print. In level 4 this problem is solved with quotation marks. - solution_code: |- - name {is} Hedy - {print} Hi I'm name - - # or - - animals {is} rhino, bee, swan - {print} The best animal is... animals {at} {random} - - title: Students forget `{at}` in `{at}` `{random}` - example: - error_text: Like in the example - error_code: |- - birds {is} sparrow, seagull, robin - {print} birds random - solution_text: This problem is solved by adding the word at. - solution_code: |- - birds {is} sparrow, seagull, robin - {print} birds {at} {random} - - title: Students forget to use the `{print}` command when also using the `{at}` `{random}` command - example: - error_text: Or they will sometimes put `{at}` `{random}` at the beginning of the line. - error_code: |- - fruit {is} apple, cherry, banana - fruit {at} {random} - solution_text: Emphasize to your students that you always need a print to print text. - solution_code: |- - fruit {is} apple, cherry, banana - {print} fruit {at} {random} - - title: Students forget to use commas in their lists - example: - error_text: In a list items are seperated with a comma. - error_code: |- - pizzas {is} funghi tonno quattro stagioni - {print} pizzas {at} {random} - solution_text: After each item on your list, there should be a comma - solution_code: |- - pizzas {is} funghi, tonno, quattro stagioni - {print} pizzas {at} {random} - - title: Students try to use `{at}` `{random}` without a list - example: - error_text: For example - error_code: |- - clubs {is} Manchester United - {print} clubs {at} {random} - solution_text: Hedy can't print anything at random, because there is no list to choose from. - solution_code: |- - clubs {is} Manchester United, Bayrn Munchen, FC Barcelona - {print} clubs {at} {random} - - title: Students try to use add/remove without a list - example: - error_text: In the example below 'names' is not a list, but a variable. You cannot add anything to it. - error_code: |- - names {is} Jake - your_name {is} {ask} Who are you? - {add} your_name {to} names - {print} names {at} {random} - solution_text: There has to be a list first, so you have to add a second name to turn names into a list, for example Amy. If you don't want amy on your list, you can use remove to remove it after. - solution_code: |- - names {is} Jake, Amy - your_name {is} {ask} Who are you? - {add} your_name {to} names - {print} names {at} {random} - - title: Students forget to use to/from in add/remove - example: - error_text: Without to/from the add/remove command won't work. - error_code: |- - adventures {is} story, parrot, dice - choice {is} Which adventure do you like best? - {add} choice - {remove} dice - {print} I love adventures {at} {random} - solution_text: Hedy has to know which list the item should be added to/removed from. - solution_code: |- - adventures {is} story, parrot, dice - choice {is} Which adventure do you like best? - {add} choice {to_list} adventures - {remove} dice {from} adventures - {print} I love adventures {at} {random} - - level: '4' - sections: - - title: Students forget to use quotation marks on both sides of the text - example: - error_text: In this level print and ask need a set of quotation marks. One before of the text and one after. - error_code: |- - {print} Hello - mood {is} {ask} 'How are you? - solution_text: Add the correct quotation marks. - solution_code: |- - {print} 'Hello' - mood {is} {ask} 'How are you?' - - title: Students use the wrong quotation marks - example: - error_text: It is important to start your lesson by checking if the students know how to type a quotation mark properly. Else they might use the "double quotes" or the skewed one `. - error_code: |- - {print} `Welcome to the restaurant` - food {is} {ask} "What would you like to order?" - solution_text: 'These are the correct quotation marks:' - solution_code: |- - {print} 'Welcome to the restaurant' - food {is} {ask} 'What would you like to order?' - - title: Students use an apostrophe in their text - example: - error_text: From this level on apostrophes are not allowed. They are often used in English when typing contractions like you're, don't or what's. - error_code: "{print} 'You're not allowed to type this'" - solution_text: You can choose to use the wrong grammar and just leave the apostrophe out. Or you could use the ` as an apostrophe. - solution_code: |- - {print} 'Youre allowed to type this' - {print} 'And you`re able to do this' - - level: '5' - sections: - - title: Students forget to use `{print}` in an `{if}` command - example: - error_text: After students use `{if}` or `{else}` they forget to use a second command like `{print}` or `{ask}`. - error_code: |- - {if} name {is} Hedy 'Great!' - {else} Hedy {is} better! - solution_text: Add the print command to fix it. - solution_code: |- - {if} name {is} Hedy {print} 'Great!' - {else} {print} 'Hedy is better!' - - title: Students might use two different names for the same variable - example: - error_text: In this example the student has used 'horse' and 'name' for the same variables. - error_code: |- - horse {is} {ask} 'What is your horse called?' - {if} name {is} Bonfire {print} 'cool' - {else} {print} 'less cool!' - solution_text: Always check whether the variable has the same name throughout the code. Slight differences can be hard to spot (for example plurals) but they will interfere with the code. - solution_code: |- - horse {is} {ask} 'What is your horse called' - {if} horse {is} Bonfire {print} 'cool!' - {else} {print} 'less cool!' - - title: Students still forget the quotes on both sides - example: - error_text: Using the `if` command can make the code lines very long and students tend to forget to use quotes. - error_code: |- - {if} name {is} Hedy {print} fun - {else} {print} 'meh! - solution_text: Always use 2 quotes in a print command. - solution_code: |- - {if} name {is} Hedy {print} 'fun' - {else} {print} 'meh!' - - title: Students use quotes around variable names - example: - error_text: In this level there are no quotes around variable names. - error_code: |- - {if} name {is} 'Hedy' {print} 'fun' - {else} {print} 'meh!' - solution_text: Remove the quotes to get the code to work. - solution_code: |- - {if} name {is} Hedy {print} 'fun' - {else} {print} 'meh! - - title: Students use long variable names containing two words - example: - error_text: A variable should be named with one word. You could use an underscore to connect two words. That counts as one. - error_code: chosen door is ask Which door do you pick? - solution_text: Add an underscore. - solution_code: chosen_door {is} {ask} 'which door do you pick?' - - title: Students want multiple answers to be correct - example: - error_text: For example this student Hedy to tell all his friends that they are funny, but other classmates would be told that they are not. - error_code: "{if} name {is} Jesse, David, Souf print You are funny {else} {print} 'You are not funny'" - solution_text: |- - You could use the `in` command for that. It is explained in a higher level, but it does already work in level 5. - Another solution is to use multiple if commands and no else command. The disadvantage is that it won't tell the other classmates that they are not funny. - solution_code: |- - friends {is} Jesse, David, Souf - name {is} {ask} 'Who are you?' - {if} name {in} friends {print} 'You are funny' - {else} {print} 'You are not funny' - - # or + - {} +- subsections: + - text: هل ترغب في متابعة البرنامج التعليمي (مرة أخرى)؟ انقر هنا. - name {is} {ask} 'Who are you?' - {if} naam {is} Jesse {print} 'You are funny' - {if} naam {is} David {print} 'You are funny' - {if} naam {is} Souf {print} 'You are funny' - - title: The students make the variable name the same as the value in the `{if}` statement - example: - error_text: In the example below the password is 'password'. This will result in it always being correct. - error_code: |- - password {is} {ask} 'What is the password?' - {if} password {is} password {print} 'Access granted' - {else} {print} 'Acces denied!' - solution_text: Pick a different name for your variable. - solution_code: |- - secret_password {is} {ask} 'What is the password' - {if} secret_password {is} password {print} 'Access granted!' - {else} {print} 'Access denied!' - - level: '6' - sections: - - title: Students struggle with quotation marks - example: - error_text: Some students struggle with adding quotation marks or not. If you add quotation marks, the output screen will literally show '5+5'. - error_code: "{print} '5 + 5'" - solution_text: In this code the output screen will print '10'. - solution_code: '{print} 5 + 5' - - title: Students struggle with the concept of doing maths with a variable - example: - error_text: 'Some students will find it hard to do maths with variables. Try to show them very simple examples, like:' - error_code: |- - age = {ask} 'How old are you?' - {print} 'Next year you will be ' age + 1 - solution_text: Or take it a step further like this. - solution_code: |- - price = 0 - {print} 'Welcome to our burger restaurant' - burger = {ask} 'Would you like a burger?' - {if} burger = yes price = price + 10 - drink = {ask} 'Would you like a drink?' - {if} drink = yes price = price + 4 - {print} 'That will be ' price ' euros please' - - level: '7' - sections: - - title: Students forget one of the word of the repeat command, or they forget the print command - example: - error_text: Make sure that the students know to use both the full repeat command and the print command. - error_code: |- - {repeat} 3 {times} For he`s a jolly good fellow - {repeat} 3 print - solution_text: 'This is the correct code:' - solution_code: |- - {repeat} 3 {times} {print} 'For he`s a jolly good fellow' - {repeat} 3 {times} {print} 'Which nobody can deny!' - - title: Students try to repeat multiple lines - example: - error_text: In this level you can only repeat one line of code multiple times. In this code the student wanted to print 3 different drinks, but it won't work. It will ask the question 3 times and only print the last answer. - error_code: |- - {repeat} 3 {times} drink = {ask} 'What would you like to drink?' - {print} drink - solution_text: You should go to the next level to be able to repeat multiple lines. So on this level you'll have to print everything seperately. - solution_code: |- - drink = {ask} 'What would you like to drink?' - {print} drink - drink = {ask} 'What would you like to drink?' - {print} drink - drink = {ask} 'What would you like to drink?' - {print} drink - - title: Students make programs that take too long to run - example: - error_text: In this level it's very easy to make long-running programs. The students aren't allowed to make programs that take to long to load (to save our servers). - error_code: "{repeat} 100 {times} {print} 'How many times can I repeat this?'" - solution_text: Make sure the programs aren't too long - solution_code: "{repeat} 20 {times} {print} 'This is enough'" - - level: '8' - sections: - - title: Students use the indentation wrong - example: - error_text: Indentation is a new concept in this level, that is hard to use for some students. Make sure they practise some simple snippets before making a whole program with it. - error_code: |- - {repeat} 3 {times} - {print} 'hello' - solution_text: 'This is the correct code:' - solution_code: |- - {repeat} 3 {times} - {print} 'hello' - - title: Students only repeat 1 line when they wanted to repeat multiple lines - example: - error_text: For instance, in the code below the student wanted to take the drinks order of 3 people. But instead the program asked 3 times, but only wrote down one order. - error_code: |- - {repeat} 3 {times} - drink = {ask} 'What would you like to drink?' - {print} drink - solution_text: |- - In the correct code the third line starts with indentation too. This way it belongs to the repeat block and therefore it will be repeated 3 times. - Showing your students these differences can help them understand why we need indentation to make our programs work. - solution_code: |- - {repeat} 3 {times} - drink = {ask} 'What would you like to drink?' - {print} drink - - title: Students want to nest `{if}` statements, or put `{if}` statements inside a loop - example: - error_text: |- - In this level students aren't allowed yet to put `{if}` statements inside other `{if}` statements or inside repeat loops. - In the next level this is allowed. - error_code: |- - birthday = {ask} 'Is it you birthday?' - {if} birthday = yes - {repeat} 3 {times} - {print} 'Hip Hip Hooray!' - solution_text: 'This is the correct code for this level:' - solution_code: |- - birthday = {ask} 'Is it you birthday?' - {if} birthday = yes - {print} 'Hip Hip Hooray!' - {print} 'Hip Hip Hooray!' - {print} 'Hip Hip Hooray!' - - title: Students make programs that take too long to run - example: - error_text: In this level it's very easy to make long-running programs. The students aren't allowed to make programs that take to long to load (to save our servers). - error_code: |- - {repeat} 100 {times} - {print} 'How many times can I repeat this?' - solution_text: Make sure the programs aren't too long - solution_code: |- - {repeat} 20 {times} - {print} 'This is enough' - - title: Students use the `{if}` command to check if the variable value is the same as the variable name - example: - error_text: |- - We have seen this mistake by some of our students. They make a password for their computer, but they make the password 'password'. - In line 2 the computer is asked to check whether the variable password is the same as the variable password, so itself. Which means the answer is always yes. - So with this code the answer will always be 'You can come in' no matter what the player fills in. - error_code: |- - password {is} {ask} 'What is the password?' - {if} password {is} password - {print} 'You can come in' - {else} - {print} 'You are not allowed' - solution_text: You can fix this mistake by adding quotation marks. This way the computer knows that the second password in `{if} password {is} 'password'` is a string value (so normal text) and not the variable name. - solution_code: |- - password {is} {ask} 'What is the password?' - {if} password {is} 'password' - {print} 'You can come in' - {else} - {print} 'You are not allowed' - - level: '9' - sections: - - title: Students make mistakes with indentation - example: - error_text: The hardest part about this level is getting the indentation right. Students love nesting `{if}` statements, sometimes even inside other nested `{if}` statements. Keeping track of indentation can get pretty tough. - error_code: |- - {print} 'Robin is walking downtown' - location = {ask} 'Is Robin going into a shop, or does she go home?' - {if} location {is} shop - {print} 'She enters the shop.' - {print} 'Robin sees an interesting looking book' - book = {ask} 'Does Robin buy the book?' - {if} book {is} yes - {print} 'Robin buys the book and goes home' - {else} - {print} 'Robin leaves the shop and goes home' - {else} - {print} 'Robin goes home' - solution_text: This is the correct code. Try to keep track of all the different constructions when putting `{if}` statements inside other `{if}` statements. - solution_code: |- - {print} 'Robin is walking downtown' - location = {ask} 'Is Robin going into a shop, or does she go home?' - {if} location {is} shop - {print} 'She enters the shop.' - {print} 'Robin sees an interesting looking book' - book = {ask} 'Does Robin buy the book?' - {if} book {is} yes - {print} 'Robin buys the book and goes home' - {else} - {print} 'Robin leaves the shop and goes home' - {else} - {print} 'Robin goes home' - - level: '10' - sections: - - title: Students do not use the for command correctly - example: - error_text: We often see that students try to print the list (in the example animals) instead of the items of the list. - error_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animals - solution_text: The word animals in the last line should be changed into animal. - solution_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animal - - title: Students forget the indentation - example: - error_text: Students tend to forget to use indentation after a for command. - error_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animals - solution_text: You should use indentation after a for command. - solution_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animal - - level: '11' - sections: - - title: Students forget to use indentation - example: - error_text: Make sure that the students use indentation. - error_code: |- - {for} i {in} {range} 1 {to} 5 - {print} i - solution_text: 'This is the correct code:' - solution_code: |- - {for} i {in} {range} 1 {to} 5 - {print} i - - title: Students don't understand the i - example: - error_text: |- - Some students don't understand that i is a variable. i is chosen, because it is used in Python programming, but you could just as easily use a different variable name. - For example, this code: - error_code: |- - {for} i {in} {range} 1 {to} 5 - {print} i - solution_text: Could just as well be replaced with this code. It works the same. - solution_code: |- - {for} banana {in} {range} 1 {to} 5 - {print} banana - - level: '12' - sections: - - title: Students forget quotation marks - example: - error_text: Students need more quotation marks now than in the previous levels. In this example quotation marks were forgotten in the list and in the `{if}` command. - error_code: |- - superheroes = Spiderman, Batman, Iron Man - superhero = superheroes {at} {random} - {if} superhero = Batman - {print} 'IM BATMAN!' - solution_text: 'This is the correct code:' - solution_code: |- - superheroes = 'Spiderman', 'Batman', 'Iron Man' - superhero = superheroes {at} {random} - {if} superhero {is} 'Batman' - {print} 'IM BATMAN!' - - title: Students use quotation marks on numbers they want to use for calculations - example: - error_text: |- - You can use quotation marks on numbers, but only if you want the computer to think of them as text. This means you can't do calculations with the number. - In the example below, you can't do maths with the number 25, because it's in quotation marks. - error_code: |- - score = '25' - answer {is} {ask} 'Do you want a point?' - {if} answer {is} 'yes' - score = score + 1 - {print} score - solution_text: 'This is the correct code:' - solution_code: |- - score = 25 - answer {is} {ask} 'Do you want a point?' - {if} answer {is} 'yes' - score = score + 1 - {print} score - - title: Students use commas instead of periods in decimal numbers - example: - error_text: Decimal numbers can be used from this level on, but you can't use commas. - error_code: '{print} 2,5 + 2,5' - solution_text: 'This is the correct code:' - solution_code: '{print} 2.5 + 2.5' - - level: '13' - sections: - - title: Students confuse `and` with `or` - example: - error_text: Both commands might appear similar, but their functions are very different. - error_code: |- - game {is} {ask} 'Do you want to play a game?' - time {is} {ask} 'Do you have time to play?' - {if} game {is} 'yes' {or} time {is} 'yes' - {print} 'Lets play!' - solution_text: In this case, the person should answer yes on both questions, so you should use `and`. - solution_code: |- - game {is} {ask} 'Do you want to play a game?' - time {is} {ask} 'Do you have time to play?' - {if} game {is} 'yes' {and} time {is} 'yes' - {print} 'Lets play!' - - level: '14' - sections: - - title: Students confuse the < and > signs - example: - error_text: Often, students are already familiar with these signs from maths class. But if your students don't know these signs yet, they might have a challenge with it. - error_code: |- - age = {ask} 'How old are you?' - {if} age < 12 - {print} 'You are older than I am!' - solution_text: 'This is the correct code:' - solution_code: |- - age = {ask} 'How old are you?' - {if} age > 12 - {print} 'You are older than I am!' - - title: Students use the wrong signs for `!=` `<=` and `>=` - example: - error_text: These signs are probably new for most students. Make sure to explain these signs to your students. - error_code: |- - name = {ask} 'What is your name?' - {if} name = 'Hedy' - {print} 'You are not Hedy' - solution_text: 'This is the correct code:' - solution_code: |- - name = {ask} 'What is your name?' - {if} name != 'Hedy' - {print} 'You are not Hedy' - - title: Students forget to use the == sign - example: - error_text: In this level, students are still allowed to use = or is. But on other levels, or in python, they might get in trouble for that. So it is best to train them to use it. - error_code: |- - name = {ask} 'What is your name?' - {if} name = 'Hedy' - {print} 'You are cool!' - solution_text: 'This is the correct code:' - solution_code: |- - name = {ask} 'What is your name?' - {if} name == 'Hedy' - {print} 'You are cool!' - - level: '15' - sections: - - title: Students forget indentation in the while loop - example: - error_text: Indentation is often hard for students. - error_code: |- - answer = 0 - {while} answer != 25 - answer = {ask} 'What is 5 times 5?' - {print} 'A correct answer has been given' - solution_text: 'This is the correct code:' - solution_code: |- - answer = 0 - {while} answer != 25 - answer = {ask} 'What is 5 times 5?' - {print} 'A correct answer has been given' - - level: '16' - sections: - - title: Students forget the brackets - example: - error_text: From this level on lists should be in brackets. - error_code: |- - icecream = 'starwberry', 'chocolate' - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students use the wrong brackets - example: - error_text: From this level on lists should be in brackets. - error_code: |- - icecream = ('starwberry', 'chocolate') - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students forget the quotation marks while focussing on the brackets - example: - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: |- - icecream = [starwberry, chocolate] - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students still use the old at random command - example: - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: |- - icecream = [starwberry, chocolate] - {print} 'I love ' icecream at random ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students forget the quotation marks while focussing on the brackets - example: - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: |- - icecream = [starwberry, chocolate] - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - level: '17' - sections: - - title: Students use `{elif}` like `{else}`, so without a condition - example: - error_text: The `{elif}` command needs a condition behind it. It cannot be used like `{else}`, without a condition. - error_code: |- - color = ask 'What is your favorite color?' - {if} color == 'green': - {print} 'green is nice' - {elif}: - {print} 'I like green' - solution_text: 'This is the correct code:' - solution_code: |- - color = {ask} 'What is your favorite color?' - {if} color == 'green': - {print} 'green is nice' - {elif} color == yellow: - {print} 'yellow is alright' - {else}: - {print} 'I like green' - - title: Students forget the colon - example: - error_text: After each command that requires indentation, a colon should be used. - error_code: |- - answer = ask 'How are you doing?' - {if} answer {is} 'great' - {print} 'Me too!' - {elif} answer {is} 'bad' - {print} 'Let me cheer you up!' - {else} - {print} 'Im great!' - solution_text: 'This is the correct code:' - solution_code: |- - answer = {ask} 'How are you doing?' - {if} answer {is} 'great': - {print} 'Me too!' - {elif} answer {is} 'bad': - {print} 'Let me cheer you up!' - {else}: - {print} 'Im great!' - - level: '18' - sections: - - title: Students forget to use the brackets - example: - error_text: Students will forget to put brackets around their text. - error_code: "{print} 'my name is Hedy!'" - solution_text: 'This is the correct code:' - solution_code: "{print}('my name is Hedy!')" - - title: Students will still use the ask command - example: - error_text: The ask command has been used since level 1. So it might be hard for the students to switch to input instead of ask. - error_code: |- - {print}('My name is Hedy!') - name = ask('What is your name?') - {print}('So your name is ', name) - solution_text: 'This is the correct code:' - solution_code: |- - {print}('My name is Hedy!') - name = {input}('What is your name?') - {print}('So your name is ', name) - - title: Students might use the brackets as quotation marks - example: - error_text: They have learned to keep the variables outside of the quotation marks, so they might do the same with the brackets. Which is not the correct way to use them. - error_code: |- - temperature = 25 - {print}('It is ') temperature ('degrees outside') - solution_text: 'This is the correct code:' - solution_code: |- - temperature = 25 - {print}('It is ', temperature, 'degrees outside') diff --git a/content/pages/bg.yaml b/content/pages/bg.yaml index 38ff8b94a16..df2805b7c0a 100644 --- a/content/pages/bg.yaml +++ b/content/pages/bg.yaml @@ -1,45 +1,10 @@ title: Документация на Хеди home-sections: -- title: Textual programming made easy! - text: |- - Many schools and teachers around the world want to teach their students programming. Initially this is often done with playful tools, ranging from the Beebot robot to - Scratch Junior or Scratch. After using such tools, kids often want to move to more powerful, textual programming languages, like Python. - - Python however is hard, because it is only available in English, and requires learners to learn complex programming concepts and syntax at once. - Hedy is the easy way to get started with textual programming languages! Hedy is free to use, open source, and unlike any other textual programming language in three ways. - - 1. Hedy is multi-lingual, you can use Hedy in your own language - 2. Hedy is gradual, so you can learn one concept and its syntax a time - 3. Hedy is built for the classroom, allowing teachers to fully customize their student's experience -- title: Multi-lingual programming - text: Почти всички езици за текстово програмиране имат ключови думи на английски, като `for` или `repeat`, но Hedy може да се използва на всеки език! В момента поддържаме 47 различни езика, включително холандски, испански, арабски, турски, китайски и хинди. Ако вашият език не е наличен, винаги можете да започнете нов превод. -- title: Step by step learning - text: Learning a programming language can be overwhelming, since learners have to learn concepts (for example if-else or loops) and syntax (like quotation marks or round brackets) at the same time. In Hedy, concepts are first introduced with little syntax and then refined. A scientifically proven way to learn! -- title: Built for the classroom - text: |- - Hedy is suitable for kids aged 10 and up and designed for classroom use. - Teachers can use our free, built-in lesson plans, but can also author their own lessons and load these into the Hedy user interface. -- title: Programming in context - text: Hedy shows programming in the broadest way possible, and can be used in variety of exciting ways. Hedy allows for the creation of digital and interactive stories, colorful drawings that can be shown on the screen but also drawn with a pen plotter or embroidered on a shirt, and can be used to create games or apps with buttons and keyboard actions. -- title: Is Hedy free? - text: |- - Yes! Hedy is 'Open source', which means that everyone can help us make Hedy better. - You can find our code on [GitHub](https://github.com/hedyorg/hedy). - If you like Hedy and want to contribute, we accept (and are very grateful for) [donations](https://github.com/sponsors/hedyorg)! -- title: Do I need to install anything? - text: No. Hedy works in the browser, which is the program you are using to look at this page. Probably Chrome or Edge or Firefox. Hedy also works on phones and tablets. -- title: Do I need programming experience to teach with Hedy? - text: |- - No, that is not needed. All concepts are explained in the slides and in the interface for learners. - If you create a free teacher's account, you also get access to the teacher's manual with information on how to teach - and frequently made mistakes. +- {} +- text: Почти всички езици за текстово програмиране имат ключови думи на английски, като `for` или `repeat`, но Hedy може да се използва на всеки език! В момента поддържаме 47 различни езика, включително холандски, испански, арабски, турски, китайски и хинди. Ако вашият език не е наличен, винаги можете да започнете нов превод. join-sections: - title: Подкрепа за Хеди - text: '# There are three ways in which you can support Hedy!' - title: Подобряване на езика - text: |- - The gradual and multi-lingual nature of Hedy create a lot of interesting technical challenges. - Find those issues on [Github](https://github.com/hedyorg/hedy/issues?q=is%3Aopen+is%3Aissue+label%3Alanguage). - title: Превод на Хеди text: |- Не сте програмист? Няма проблем! Друг начин за подкрепяне на Хеди е чрез превеждане на ключови думи, съобщения за грешки, приключения и друго съдържание. @@ -47,26 +12,9 @@ join-sections: Translation status - title: Помогни на учителите да започнат - text: |- - Hedy is designed to support teachers in providing programming lessons in class. We have specific teacher features like the option to create a class, customize it and see how your students are doing. - If you like Hedy, you can reach out to schools that you know to help teachers get started! We can help you find schools or teachers via [Discord](https://discord.gg/8yY7dEme9r). learn-more-sections: -- title: The Hedy foundation - text: |- - Hedy is maintained by the Hedy Foundation (Stichting Hedy), Sportmanstaat 8, 2341 JG Oegstgeest, Dutch Chamber of Commerce number 94013985. - - The board of the foundation consists of: - - * Felienne Hermans, president - * Eelko Huizing, finance - * Renée Merbis, secretary - - The board of Stichting Hedy does not get any financial compensation for their tasks. -- title: A deep dive! - text: |- - Want to know more about Hedy's philosophy and design? Check out this talk Felienne gave at the StrangeLoop Conference in 2022: - - +- {} +- {} - title: Хеди по новините text: |- Сайтове и вестници пишат за Хеди от самото начало през ранната 2020. Държим списък тук: @@ -103,9 +51,6 @@ start-sections: * Every kid can programme!! Hedy is especially helpful for kids who have vision problems because it can read material aloud to you without the need for a mouse. * We are here to help, you can find us for example on [Discord](https://discord.gg/8yY7dEme9r) or you can [email-us](hello@hedy.org). - title: Какво казват други учители за Хеди - text: "A while ago we ran a few short Hedy teachers surveys. \nThe questions span between suggestions of improvement and Hedy’s best features. \nBelow is a testimony of their thoughts:\n\nSimple interface and good examples. *Teacher: 3rd - 6th grades (elementary)*\n\nMultilingual programming and just the gradual programming concept itself. - *US: middle school, 6th-8th grade*\n\nThe gradual nature of introducing programming. *Australia: High school*\n\nThe construction is so good. *Netherlands: Lower secondary school HAVO-VWO*\n\nI can keep the pace of the class. *Netherlands: group 7 en 8* \n\nContinues automatically. *Netherlands: 2 HAVO-VWO*\n\nBoth that the explanation can be in Dutch (and the code in English), and that it builds up with more \nand more possibilities. *Netherlands: Plus class group 7*\n\nThe 'realness' of programming, it resembles how it is in reality. *Netherlands: Plus class group 4 to 8*\n\nStep-by-step activities. Fun activities. *Netherlands: 1e All levels, - 2e VWO/HAVO 2e VWO +, 3e HAVO 3e VWO*\n\nBut Hedy and its gradual levels... what an idea, \nI wanted to personally thank you for creating this. I cannot thank you enough. Also, I have never seen the level of engagement and enthusiasm of my \nstudents, as I have seen with Hedy. We have covered till level 5, and plan to spend one more week on it in classes and labs, \nbefore starting Python. *Pakistan*\n\nI really like Hedy very much and it is also nicely set up, which makes it good to use in primary school. \nHedy's gradual approach works very well. \nThe short explanation at the beginning of each level and the short example programs help to give the children a quick insight into what is new in the chosen level. \nThe different assignments that the children can choose also work very well. \nYou see the children choose assignments that appeal to them and they then get to work with them, \nthrough the levels. Hedy is great fun for children who are good at programming and want to get - a \ntaste of a real programming language. It is good preparation for secondary school as soon as more ICT \neducation is given there. *Netherlands: Oegstgeest Montessori school*\n\n" teacher-guide: - title: Въведение key: intro @@ -139,41 +84,18 @@ teacher-guide: Няма нужда да инсталирате нищо преди да работите с Хеди, просто отворете уебсайта и сте готови! - title: Общността на Хеди text: 'Всички учители, програмисти и други фенове на Хеди са добре дошли да се присъединят към нашия [Discord сървър](https://discord.gg/8yY7dEme9r). Това е идеалното място за разговори за Хеди : имаме канали, в които можете да покажете страхотните си проекти и уроци, канали за докладване на грешки и канали за разговори с други учители и с екипа на Хеди.' - - title: Hedy and the GDPR - text: |- - Organizations in the EU have to comply with the GDPR (General Data Protection Regulation) when processing personal data. - Because this is a complex issue for many schools, you can use all Hedy programming functionalities without sharing personal data. - The easiest way to do this is to use Hedy without creating accounts for the teacher and students. Without accounts, all functionality is available, with the exception of personalizing levels, saving students' programs and viewing their progress. That is limiting, but there are schools that use Hedy in that way. - - A second way is for a teacher to create an account with an email address without personal data, for example "docent25@email.com". Apart from an email address, which is only required to reset your password, you do not need to share any information when you create a teacher account. - With a teacher account, you can create anonymous accounts for students, e.g. rainbow-student1, rainbow-student2, etc (See 'Teaching preparations' for a detailed manual). This way you can use all functionality of Hedy, including saving progress, without sharing personal data of yourself or your students. - - If the above is not sufficient for your context, we can sign a processing agreement for the processing of your personal data. -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - text: Do you want to follow the tutorial (again)? Click [here](https://hedy.org/tutorial) + - {} +- {} - title: Подготовка key: подготовка subsections: - - title: For teachers - text: You can prepare your classes at the For Teachers page. On this page you'll find everything you'll need to teach with Hedy, like your classes, your adventures and slides. All the functionalities of the for teachers page are explained below. + - {} - title: Създаване на клас text: |- Като учител може да създадете клас за своите ученици. В този клас вие може да виждате профилите на учениците и техните програми, както и да наблюдавате техния прогрес. Може да персонализирате вашия клас и да избирате кои предизвикателства са достъпни. По този начин учениците няма да се чувстват пренатоварени от предизвикателства и нива и ще могат да се фокусират върху предизвикателства, които вие предпочитате. - - title: Duplicate a class - text: |- - Are you teaching multiple classes? Then you don't have to customize each class individually. Simply make a class, costumize the class (see "Customize your Class" to learn how) and then duplicate this class as many times as you want. - You can duplicate the class on the 'For Teachers' page. If you duplicate a class, all the class settings are duplicated as well. This means that all the levels and adventures you've made unavailable for the first class will now be unavailable for the new class(es) as well. - The student accounts and second teacher accounts in your class will not be duplicated into the new class. - - title: Add a second teacher - text: |- - Are you not the only teacher that teaches your class? Then you can now add another teacher to the class. Go to the 'For teachers' page and click on the class. Then choose 'Invite a teacher' and fill in the username of your colleague. - Your colleague will get an invitation on their account to join your class. They can see that invitation message by clicking on their username in the upper right corner of the screen and selecting 'My account'. - Once the other teacher accepts the invitation they can customize the class as well. - To remove a second teacher from your class, go to the class page and remove the second teacher. The teacher who's created the class cannot be removed. + - {} + - {} - title: Профили на ученици text: |- Вашите ученици могат да се включат в класа по два начина: сами да си създадат профили или вие да създадете профилите на тях. @@ -210,916 +132,15 @@ teacher-guide: Можете лесно да запазвате проектите си като дадете име на проекта си в бялата лента и натиснете зеления бутон Запази кода. Вие (и вашите ученици) можете също така да споделяте програми. Тези програми ще бъдат публикувани на нашата страница за изследване, за да могат всички да ги видят и използват. Ако искате да отмените споделянето на програмата си, отидете в "Моите програми" и натиснете "Отменете споделянето". - - title: Storing programs - text: |- - Because you are now logged in, you'll see the blue banner with My profile and My programs. - These tabs exist for your students too. In My programs you can find all programs 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. - You (and your students) can also share programs. These programs will be posted on our [explore page](https://hedy.org/explore), for everybody to see and use. - If you want to unshare your program, go to 'My programs' and click 'Unshare'. - title: Преподаване с Хеди key: преподаване subsections: - - title: Teaching with Hedy - text: |- + - text: |- Хеди съдържа много различни нива, всяко от които е за ново умение. Ние препоръчваме да преподавате по едно ниво на урок. Това дава време на учениците напълно да усвоят всяка нова команда или концепция преди да продължите към следващото ниво. Ние използваме следната структура в нашите уроци: - - title: Slides - text: |- - When giving instructions you might want to use our slides. Our slides are available on the 'For teachers' page. There is a set of slides for each level. In the slides all the new commands for that level are explained. We have aimed to explain why these changes are nessecary or how the new commands come in handy. - We also give some examples of how the new commands can be used. You could of course also use your own slides, or just open Hedy and show your students around the website. Whichever you prefer to give the best Hedy lessons! - - title: Introduction - text: |- - You can start your lessons by activating your students' prior knowledge: What do they already know about the subject, what did they learn in the previous lesson and which mistakes did they make that they've now learned from? - This way all the previously learned commands and frequently made mistakes are fresh in your students' memories, when you strat introducing the new lesson. + - {} + - {} - title: Въведение в новите концепции и команди - text: |- - The new concepts and commands can be very hard for some students to fully understand. - That's why it's of importance to model the proper use of the new commands to your students. - Especially in the lower levels, where some students have no experience whith programming at all, it can be hard for them to understand the new abstract concepts. - Showing a lot of examples makes an abstract concept (for instance: 'What is a variable?') more recognizable and easier to understand ('Look, the variable pet changed into dog'). Our slides could help you with that. - title: Нека започнем работа - text: |- - Each level contains different adventures that you can find in the pink tabs. The first pink tab explains the new commands in this level. - The following tabs are adventures that the students can try out and make their own. - The adventures are arranged from easiest to hardest, so we recommend to start on the left and your your way to the right. - The last tab 'what's next' gives a little teaser of what you'll learn in the next level. Of course, you can select the adventures you want your students to do for each level. - They don't always have to make every adventure. Every adventure contains an example code, that the students can try out with the green button. - The example code gets copied to the workfield, where the students can try out the code and adjust it to make it their own. - Stimulate your students to turn the example code into their own projects by adding their own ideas and making their own variation of the adventure. - title: Тест - text: |- - To test whether your students have picked up all the new info in the level, you can let them make the quiz. - The quiz contains 10 multiple choice questions about the new concepts and command to that level. - Not every level has a quiz yet, as we are still building the quizzes. - title: Оценяване - text: |- - Round up your lesson by having a brief evaluation. What did the students learn? Which hardships did they come across? - How did they learn from their mistakes? And of course: What did they create? - Students are often very proud of their own creations, so it's nice to save a little time and gove your students the opportunity to show their work to their classmates. -- title: Teacher Statistics - key: teacher_statistics - subsections: - - title: Live Dashboard - text: |- - If you would like to keep track of your students' progress, you can make use of the live dashboard. You can find the live dashboard by clicking 'Live statistics' on your class page. - - All the features of this dashboard are explained below. - - title: Level Selection - text: |- - - Firstly, you can select the levels you'd like to see on the dahsboard. Select the levels your students are currently working on by clicking on the number of that level. Deselect levels that you do not want to see by clicking them again. - In this example level 1 and 2 are selected. You can click on refresh to refresh the dashboard and get the most current stats. - - title: Class Overview - text: |- - - In the class overview you can see which adventure your students are working on right now. You can see that one student is working on the 'Rock, Paper, Scissors' adventure in level 1, one is working on the 'Fortune Teller' in level 1 and one student is working on the 'Rock, Paper, Scissors' adventure in level 2. - If you'd like to know which of your students is working on the adventure, simply click the number and their accountnames will appear. - You can also see how many of your students have finished the quiz. In this case, one student finished the quiz in level 1. Again, you can click the 1 to see which of your students it is. - - You can also see one of the students is 'missing' from this overview. That's because he's working on an adventure in level 4, which is not selected. - - title: Student List - text: |- - - Here you can find a list of your students and you can see their individual progress. The blue ring shows you what your students are currently working on. - - It is important to notice that the blue dots means that a students 'attempted' the adventure. This means that they ran a code in this adventure and went on to the next adventure, so this does not automatically mean that they did a good job! - If you want to see how an individual student is getting along, you can click their name in this overview. This is what you see if you click on marleen_h3a for example: - - You see that Marleen is having some trouble programming. She tried to run a program that contains blanks multiple times, so she probably doesn't know that she has to change something in the example code before running it. - In this way this overview can give you a better understanding of what a student is struggling with. - - title: Common Errors - text: |- - - If you're not only interested in individual struggles of your students, but you'd like to know what the whole class seems to be doing wrong, you can use this oversight of common errors. - The most common error messages that your students are recieving will appear in this oversight for you, so you could give some more instructions to the whole class if needed. - By clicking the error, you can see which students are having trouble with this error. By clicking resolve, you'll remove this error from the list. - - title: Overview of programs per adventure - text: |- - - Another useful overview of all the programs your students made in a level can be found on your class page. Go to the class page and click 'Overview of programs per adventure'. Here you'll find this overview. - You could use this overview to check your students' work. If they have made a program in an adventure, an eye appears in your overview. Click the eye to view their work. Did you like it? Then you can check the box and a green tick will appear. - This way you create a nice overview for yourself of your students' results. -- title: Extra Hedy features - key: features - subsections: - - title: Make your own adventure - text: It is also possible for teachers to create your own adventure. [This video](https://www.youtube.com/watch?v=A0zbXpxX4q4) shows you how to create your own adventure as a teacher and add it to your class(es). - - title: Public adventures - text: Would you like to use adventures made by other teachers? Then you can visit our public adventures page. Here you can find all the adventures made by other teachers from all over the world. To find a good fit for you, you can select a level, language and even a tag. Have you found an adventure you'd like to use? Then you can press 'clone' to make a copy of that adventure to your own account. You can edit the clone to your liking and add the adventure to your class in the same way you would your own adventures. You cannot edit the original, so the original will always be safe. Have you made an adventure yourself that you'd like to add to the public adventures? Tick the box that makes your adventure publicly available when creating the adventure! - - title: Explore page - text: |- - On the [explore](https://hedy.org/explore) page you can view the work of other Hedy users. You can try out their programs and use them as inspiration to create something cool yourself. - You can also add a program you've made to the explore page yourself by clicking 'Save and share code' in the coding screen or go to My Programs and click 'Share'. - Don't want to share your work anymore? Simply go to 'My Programs' and click 'Unshare'. - If you want more information about the explore page, check out this [video](https://www.youtube.com/watch?v=26boFjqvS5Q). - - title: My achievements - text: |- - If you click on your username in the topright corner of your screen, you can go to [My achievements](https://hedy.org/my-achievements). On this page you achievements are collected. Your students have such a page as well. - When you hover over the badge with your mouse, you'll see how to earn the badge. There are hidden badges too, of which you'll have to find out yourself how to earn them. - If you want more information on the achievements, check out this [video](https://www.youtube.com/watch?v=-FjmKejukCs). - - title: High Scores - text: |- - On [this page](https://hedy.org/highscores) you can see the high scores of all Hedy users. - In this [video](https://www.youtube.com/watch?v=IqTiUkBVTo8) you can learn some more about the high scores. - - title: Debugger - text: |- - Is your (student's) code not working? There must be a bug (coding mistake) in it! You can use the debugger to find the mistake. - The debugger is the ladybig button in your coding screen. If you press it, you can run your code line by line to find your mistake. - Have you found the mistake? Press the red stop button and the debugger will shut off. - - title: Read aloud - text: Do you want the output of your program to be read aloud? Then you can use the read aloud function that is found under the 'run code' button in your coding screen. - - title: Programmers mode - text: |- - Distracted by all the adventures, or do you want to make a long program? Then check out the 'Programmers Mode' switch at the bottom of your coding screen. - Programmers mode allows you and your students to use a bigger coding screen. - - title: Cheat sheets - text: |- - In every level there is a button with this emoji 🤔. You and your students can find the "cheat sheets" there. On this cheat sheet, you can find all the commands that are usable in this level in their correct form. - So if you've forgotten how a command works, simply take a peek at the cheat sheet! - - title: Other useful features - text: This [video](https://www.youtube.com/watch?v=c4MntPPgl1Y) shows you even more features of Hedy, like the cheatsheets and the keyword switcher. -- title: After Hedy - key: after - subsections: - - title: What to do after Hedy? - text: |- - Congratulations on reaching the end of Hedy! Your students have now learned how to create their own basic code in the Python programming language. - Of course, you could keep programming in our Hedy compiler, but it might be more exciting for your students to transfer to a "real" Python interface. - Would you like to continue teaching Python? Then please visit the Python website to learn how to get started in another compiler. - - Now that your students have a basic knowledge of programming in general, you could also show them around in other textual programming languages. The language might change but the concepts do not, so Hedy will still give them a big advantage. -- title: Answers to the exercises - key: answers - intro: |- - The answers to all the exercises can be found on the public profile of the useraccount 'Hedy_answers'. We often encourage students to use their own creativity in their answers, so these answers are merely a guideline as to what a possible correct answer could look like. - - To go to the 'Hedy_answers' profile, please click here. -- title: Common mistakes - key: common_mistakes - intro: |- - You can learn from your mistakes, especially in coding! - Making mistakes is unavoidable, and a great opportunity to learn, but for teachers it can be a challenge to find the correct fix for a mistake! - Especially as the programs get longer and longer as the levels progress. That's why we've made a list with frequently made mistakes in each level, and their solutions. - levels: - - level: '1' - sections: - - title: Students forget to type commands - example: - error_text: For example they type a sentence without using print. - error_code: Hedy can't print this - solution_text: Teach your students to always start a line of code with a command. - solution_code: '{print} Hedy can print this!' - - title: Students use capitals when typing commands - example: - error_text: Commands won't work if they are in capitals. - error_code: |- - Ask Why does my code fail? - Print Because I'm using capitals. - solution_text: Remove the capitals. - solution_code: |- - {ask} Why does my code work now? - {print} Because I removed the capitals! - - title: Students use echo without ask - example: - error_text: Echo is made to repeat an answer after an ask command. Without ask echo won't do anything. - error_code: '{echo} Your name is' - solution_text: Add an ask command to make it work. - solution_code: |- - {ask} What's your name? - {echo} Your name is - - title: Students want their echo word (variable) to be in the middle of a sentence - example: - error_text: And they are right! That's why they will learn to use proper variables in the next level. - error_code: |- - {ask} Which programming language is the most fun? - {echo} is the best! - solution_text: 'In level 1 we have to keep it at this:' - solution_code: |- - {ask} Which programming language is the most fun? - {echo} The best is... - - title: 'Turtle: Students let the turtle walk off of the screen' - example: - error_text: Often students love to try out big numbers when using the turtle, which causes the arrow to walk off the screen. - error_code: |- - {forward} 300 - {turn} 90 - solution_text: In the example, students tend to think that the turn command doesn't work. Even though it does work, you can't see it happening off screen. Use smaller numbers to prevent this from happening. - solution_code: |- - {forward} 100 - {turn} 90 - - title: "Turtle: Students use the command backward, but that doesn't exist" - example: - error_text: Backward is not a command. - error_code: backward 100 - solution_text: 'To make the turtle go backwards, you use the forward command and a negative number. For example:' - solution_code: '{forward} -100' - - level: '2' - sections: - - title: Students make typos in their commands - example: - error_text: Hedy can't recognize a command with a typo. - error_code: prinnt Don't make typos - solution_text: Teach your students to read the error messages. This way they can find out themselves what went wrong. - solution_code: "{print} Don't make typos" - - title: Students forget that the ask command has changed - example: - error_text: In this level students learn about variables. The ask command requires a variable as well, but students forget this. - error_code: ask what would you like to eat - solution_text: In this level you have to tell Hedy where to save your answer, so it can be used later on. This is called a variable. - solution_code: order {is} {ask} What would you like to eat - - title: Students try to use the `{echo}` command - example: - error_text: For some students it might be frustrating to learn that the `{echo}` command doesn't work anymore. That's why it's very important to explain the advantages of using variables. For example you can use multiple variables in a code, and you can put them anywhere you like in a sentence! - error_code: |- - answer {is} {ask} Why doesn't {echo} work anymore?! - {echo} - solution_text: Use a variable instead. - solution_code: |- - answer {is} {ask} Why doens't {echo} work anymore?! - {print} answer - - title: Students use a variable name or as a normal word - example: - error_text: In the example below the word 'name' is used as a variable, but also as a normal text. The output of this code will be 'Hi my Hedy is Hedy'. - error_code: |- - name {is} Hedy - {print} Hi my name is name - solution_text: So don't use a word you want to use in the text as a variable name. In level 4 this is solved with quotation marks. - solution_code: |- - name {is} Hedy - {print} Hi I'm name - - title: Students use long variable names containing two words. - example: - error_text: A variable should be named with one word. You could use an underscore to connect two words. That counts as one. - error_code: chosen door is ask Which door do you pick - solution_text: Add an underscore. - solution_code: chosen_door {is} {ask} which door do you pick - - title: Students might use two different names for the same variable - example: - error_text: In this example the student has used 'horse' and 'name' for the same variables. - error_code: |- - horse {is} {ask} What is your horse called - {print} Your horse is called name - solution_text: Always check whether the variable has the same name throughout the code. Slight differences can be hard to spot (for example plurals) but they will interfere with the code. - solution_code: |- - name {is} {ask} What is your horse called - {print} Your horse is called name - - level: '3' - sections: - - title: Students try to print whole lists - example: - error_text: A list can't be printed. You can only print one item from the list with {at} {random}. - error_code: |- - groceries {is} apples, milk, chocolate - {print} groceries - solution_text: To print a list of all the groceries, you simply need to put them after a `{print}` command. Else you can use the list to print one item with `{at}` `{random}`. - solution_code: |- - {print} apples, milk, chocolate - - # or - - groceries {is} apples, milk, chocolate - {print} groceries {at} {random} - - title: Students use the name of a variable or list as regular text - example: - error_text: This problem probably occured in level 2 as well. Now it can happen with lists too. - error_code: |- - name {is} Hedy - {print} Hi my name is name - - # or - - animal {is} rhino, bee, swan - {print} The best animal is... animal {at} {random} - solution_text: Don't use the names of variables or lists in regular text to print. In level 4 this problem is solved with quotation marks. - solution_code: |- - name {is} Hedy - {print} Hi I'm name - - # or - - animals {is} rhino, bee, swan - {print} The best animal is... animals {at} {random} - - title: Students forget `{at}` in `{at}` `{random}` - example: - error_text: Like in the example - error_code: |- - birds {is} sparrow, seagull, robin - {print} birds random - solution_text: This problem is solved by adding the word at. - solution_code: |- - birds {is} sparrow, seagull, robin - {print} birds {at} {random} - - title: Students forget to use the `{print}` command when also using the `{at}` `{random}` command - example: - error_text: Or they will sometimes put `{at}` `{random}` at the beginning of the line. - error_code: |- - fruit {is} apple, cherry, banana - fruit {at} {random} - solution_text: Emphasize to your students that you always need a print to print text. - solution_code: |- - fruit {is} apple, cherry, banana - {print} fruit {at} {random} - - title: Students forget to use commas in their lists - example: - error_text: In a list items are seperated with a comma. - error_code: |- - pizzas {is} funghi tonno quattro stagioni - {print} pizzas {at} {random} - solution_text: After each item on your list, there should be a comma - solution_code: |- - pizzas {is} funghi, tonno, quattro stagioni - {print} pizzas {at} {random} - - title: Students try to use `{at}` `{random}` without a list - example: - error_text: For example - error_code: |- - clubs {is} Manchester United - {print} clubs {at} {random} - solution_text: Hedy can't print anything at random, because there is no list to choose from. - solution_code: |- - clubs {is} Manchester United, Bayrn Munchen, FC Barcelona - {print} clubs {at} {random} - - title: Students try to use add/remove without a list - example: - error_text: In the example below 'names' is not a list, but a variable. You cannot add anything to it. - error_code: |- - names {is} Jake - your_name {is} {ask} Who are you? - {add} your_name {to} names - {print} names {at} {random} - solution_text: There has to be a list first, so you have to add a second name to turn names into a list, for example Amy. If you don't want amy on your list, you can use remove to remove it after. - solution_code: |- - names {is} Jake, Amy - your_name {is} {ask} Who are you? - {add} your_name {to} names - {print} names {at} {random} - - title: Students forget to use to/from in add/remove - example: - error_text: Without to/from the add/remove command won't work. - error_code: |- - adventures {is} story, parrot, dice - choice {is} Which adventure do you like best? - {add} choice - {remove} dice - {print} I love adventures {at} {random} - solution_text: Hedy has to know which list the item should be added to/removed from. - solution_code: |- - adventures {is} story, parrot, dice - choice {is} Which adventure do you like best? - {add} choice {to_list} adventures - {remove} dice {from} adventures - {print} I love adventures {at} {random} - - level: '4' - sections: - - title: Students forget to use quotation marks on both sides of the text - example: - error_text: In this level print and ask need a set of quotation marks. One before of the text and one after. - error_code: |- - {print} Hello - mood {is} {ask} 'How are you? - solution_text: Add the correct quotation marks. - solution_code: |- - {print} 'Hello' - mood {is} {ask} 'How are you?' - - title: Students use the wrong quotation marks - example: - error_text: It is important to start your lesson by checking if the students know how to type a quotation mark properly. Else they might use the "double quotes" or the skewed one `. - error_code: |- - {print} `Welcome to the restaurant` - food {is} {ask} "What would you like to order?" - solution_text: 'These are the correct quotation marks:' - solution_code: |- - {print} 'Welcome to the restaurant' - food {is} {ask} 'What would you like to order?' - - title: Students use an apostrophe in their text - example: - error_text: From this level on apostrophes are not allowed. They are often used in English when typing contractions like you're, don't or what's. - error_code: "{print} 'You're not allowed to type this'" - solution_text: You can choose to use the wrong grammar and just leave the apostrophe out. Or you could use the ` as an apostrophe. - solution_code: |- - {print} 'Youre allowed to type this' - {print} 'And you`re able to do this' - - level: '5' - sections: - - title: Students forget to use `{print}` in an `{if}` command - example: - error_text: After students use `{if}` or `{else}` they forget to use a second command like `{print}` or `{ask}`. - error_code: |- - {if} name {is} Hedy 'Great!' - {else} Hedy {is} better! - solution_text: Add the print command to fix it. - solution_code: |- - {if} name {is} Hedy {print} 'Great!' - {else} {print} 'Hedy is better!' - - title: Students might use two different names for the same variable - example: - error_text: In this example the student has used 'horse' and 'name' for the same variables. - error_code: |- - horse {is} {ask} 'What is your horse called?' - {if} name {is} Bonfire {print} 'cool' - {else} {print} 'less cool!' - solution_text: Always check whether the variable has the same name throughout the code. Slight differences can be hard to spot (for example plurals) but they will interfere with the code. - solution_code: |- - horse {is} {ask} 'What is your horse called' - {if} horse {is} Bonfire {print} 'cool!' - {else} {print} 'less cool!' - - title: Students still forget the quotes on both sides - example: - error_text: Using the `if` command can make the code lines very long and students tend to forget to use quotes. - error_code: |- - {if} name {is} Hedy {print} fun - {else} {print} 'meh! - solution_text: Always use 2 quotes in a print command. - solution_code: |- - {if} name {is} Hedy {print} 'fun' - {else} {print} 'meh!' - - title: Students use quotes around variable names - example: - error_text: In this level there are no quotes around variable names. - error_code: |- - {if} name {is} 'Hedy' {print} 'fun' - {else} {print} 'meh!' - solution_text: Remove the quotes to get the code to work. - solution_code: |- - {if} name {is} Hedy {print} 'fun' - {else} {print} 'meh! - - title: Students use long variable names containing two words - example: - error_text: A variable should be named with one word. You could use an underscore to connect two words. That counts as one. - error_code: chosen door is ask Which door do you pick? - solution_text: Add an underscore. - solution_code: chosen_door {is} {ask} 'which door do you pick?' - - title: Students want multiple answers to be correct - example: - error_text: For example this student Hedy to tell all his friends that they are funny, but other classmates would be told that they are not. - error_code: "{if} name {is} Jesse, David, Souf print You are funny {else} {print} 'You are not funny'" - solution_text: |- - You could use the `in` command for that. It is explained in a higher level, but it does already work in level 5. - Another solution is to use multiple if commands and no else command. The disadvantage is that it won't tell the other classmates that they are not funny. - solution_code: |- - friends {is} Jesse, David, Souf - name {is} {ask} 'Who are you?' - {if} name {in} friends {print} 'You are funny' - {else} {print} 'You are not funny' - - # or - - name {is} {ask} 'Who are you?' - {if} naam {is} Jesse {print} 'You are funny' - {if} naam {is} David {print} 'You are funny' - {if} naam {is} Souf {print} 'You are funny' - - title: The students make the variable name the same as the value in the `{if}` statement - example: - error_text: In the example below the password is 'password'. This will result in it always being correct. - error_code: |- - password {is} {ask} 'What is the password?' - {if} password {is} password {print} 'Access granted' - {else} {print} 'Acces denied!' - solution_text: Pick a different name for your variable. - solution_code: |- - secret_password {is} {ask} 'What is the password' - {if} secret_password {is} password {print} 'Access granted!' - {else} {print} 'Access denied!' - - level: '6' - sections: - - title: Students struggle with quotation marks - example: - error_text: Some students struggle with adding quotation marks or not. If you add quotation marks, the output screen will literally show '5+5'. - error_code: "{print} '5 + 5'" - solution_text: In this code the output screen will print '10'. - solution_code: '{print} 5 + 5' - - title: Students struggle with the concept of doing maths with a variable - example: - error_text: 'Some students will find it hard to do maths with variables. Try to show them very simple examples, like:' - error_code: |- - age = {ask} 'How old are you?' - {print} 'Next year you will be ' age + 1 - solution_text: Or take it a step further like this. - solution_code: |- - price = 0 - {print} 'Welcome to our burger restaurant' - burger = {ask} 'Would you like a burger?' - {if} burger = yes price = price + 10 - drink = {ask} 'Would you like a drink?' - {if} drink = yes price = price + 4 - {print} 'That will be ' price ' euros please' - - level: '7' - sections: - - title: Students forget one of the word of the repeat command, or they forget the print command - example: - error_text: Make sure that the students know to use both the full repeat command and the print command. - error_code: |- - {repeat} 3 {times} For he`s a jolly good fellow - {repeat} 3 print - solution_text: 'This is the correct code:' - solution_code: |- - {repeat} 3 {times} {print} 'For he`s a jolly good fellow' - {repeat} 3 {times} {print} 'Which nobody can deny!' - - title: Students try to repeat multiple lines - example: - error_text: In this level you can only repeat one line of code multiple times. In this code the student wanted to print 3 different drinks, but it won't work. It will ask the question 3 times and only print the last answer. - error_code: |- - {repeat} 3 {times} drink = {ask} 'What would you like to drink?' - {print} drink - solution_text: You should go to the next level to be able to repeat multiple lines. So on this level you'll have to print everything seperately. - solution_code: |- - drink = {ask} 'What would you like to drink?' - {print} drink - drink = {ask} 'What would you like to drink?' - {print} drink - drink = {ask} 'What would you like to drink?' - {print} drink - - title: Students make programs that take too long to run - example: - error_text: In this level it's very easy to make long-running programs. The students aren't allowed to make programs that take to long to load (to save our servers). - error_code: "{repeat} 100 {times} {print} 'How many times can I repeat this?'" - solution_text: Make sure the programs aren't too long - solution_code: "{repeat} 20 {times} {print} 'This is enough'" - - level: '8' - sections: - - title: Students use the indentation wrong - example: - error_text: Indentation is a new concept in this level, that is hard to use for some students. Make sure they practise some simple snippets before making a whole program with it. - error_code: |- - {repeat} 3 {times} - {print} 'hello' - solution_text: 'This is the correct code:' - solution_code: |- - {repeat} 3 {times} - {print} 'hello' - - title: Students only repeat 1 line when they wanted to repeat multiple lines - example: - error_text: For instance, in the code below the student wanted to take the drinks order of 3 people. But instead the program asked 3 times, but only wrote down one order. - error_code: |- - {repeat} 3 {times} - drink = {ask} 'What would you like to drink?' - {print} drink - solution_text: |- - In the correct code the third line starts with indentation too. This way it belongs to the repeat block and therefore it will be repeated 3 times. - Showing your students these differences can help them understand why we need indentation to make our programs work. - solution_code: |- - {repeat} 3 {times} - drink = {ask} 'What would you like to drink?' - {print} drink - - title: Students want to nest `{if}` statements, or put `{if}` statements inside a loop - example: - error_text: |- - In this level students aren't allowed yet to put `{if}` statements inside other `{if}` statements or inside repeat loops. - In the next level this is allowed. - error_code: |- - birthday = {ask} 'Is it you birthday?' - {if} birthday = yes - {repeat} 3 {times} - {print} 'Hip Hip Hooray!' - solution_text: 'This is the correct code for this level:' - solution_code: |- - birthday = {ask} 'Is it you birthday?' - {if} birthday = yes - {print} 'Hip Hip Hooray!' - {print} 'Hip Hip Hooray!' - {print} 'Hip Hip Hooray!' - - title: Students make programs that take too long to run - example: - error_text: In this level it's very easy to make long-running programs. The students aren't allowed to make programs that take to long to load (to save our servers). - error_code: |- - {repeat} 100 {times} - {print} 'How many times can I repeat this?' - solution_text: Make sure the programs aren't too long - solution_code: |- - {repeat} 20 {times} - {print} 'This is enough' - - title: Students use the `{if}` command to check if the variable value is the same as the variable name - example: - error_text: |- - We have seen this mistake by some of our students. They make a password for their computer, but they make the password 'password'. - In line 2 the computer is asked to check whether the variable password is the same as the variable password, so itself. Which means the answer is always yes. - So with this code the answer will always be 'You can come in' no matter what the player fills in. - error_code: |- - password {is} {ask} 'What is the password?' - {if} password {is} password - {print} 'You can come in' - {else} - {print} 'You are not allowed' - solution_text: You can fix this mistake by adding quotation marks. This way the computer knows that the second password in `{if} password {is} 'password'` is a string value (so normal text) and not the variable name. - solution_code: |- - password {is} {ask} 'What is the password?' - {if} password {is} 'password' - {print} 'You can come in' - {else} - {print} 'You are not allowed' - - level: '9' - sections: - - title: Students make mistakes with indentation - example: - error_text: The hardest part about this level is getting the indentation right. Students love nesting `{if}` statements, sometimes even inside other nested `{if}` statements. Keeping track of indentation can get pretty tough. - error_code: |- - {print} 'Robin is walking downtown' - location = {ask} 'Is Robin going into a shop, or does she go home?' - {if} location {is} shop - {print} 'She enters the shop.' - {print} 'Robin sees an interesting looking book' - book = {ask} 'Does Robin buy the book?' - {if} book {is} yes - {print} 'Robin buys the book and goes home' - {else} - {print} 'Robin leaves the shop and goes home' - {else} - {print} 'Robin goes home' - solution_text: This is the correct code. Try to keep track of all the different constructions when putting `{if}` statements inside other `{if}` statements. - solution_code: |- - {print} 'Robin is walking downtown' - location = {ask} 'Is Robin going into a shop, or does she go home?' - {if} location {is} shop - {print} 'She enters the shop.' - {print} 'Robin sees an interesting looking book' - book = {ask} 'Does Robin buy the book?' - {if} book {is} yes - {print} 'Robin buys the book and goes home' - {else} - {print} 'Robin leaves the shop and goes home' - {else} - {print} 'Robin goes home' - - level: '10' - sections: - - title: Students do not use the for command correctly - example: - error_text: We often see that students try to print the list (in the example animals) instead of the items of the list. - error_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animals - solution_text: The word animals in the last line should be changed into animal. - solution_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animal - - title: Students forget the indentation - example: - error_text: Students tend to forget to use indentation after a for command. - error_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animals - solution_text: You should use indentation after a for command. - solution_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animal - - level: '11' - sections: - - title: Students forget to use indentation - example: - error_text: Make sure that the students use indentation. - error_code: |- - {for} i {in} {range} 1 {to} 5 - {print} i - solution_text: 'This is the correct code:' - solution_code: |- - {for} i {in} {range} 1 {to} 5 - {print} i - - title: Students don't understand the i - example: - error_text: |- - Some students don't understand that i is a variable. i is chosen, because it is used in Python programming, but you could just as easily use a different variable name. - For example, this code: - error_code: |- - {for} i {in} {range} 1 {to} 5 - {print} i - solution_text: Could just as well be replaced with this code. It works the same. - solution_code: |- - {for} banana {in} {range} 1 {to} 5 - {print} banana - - level: '12' - sections: - - title: Students forget quotation marks - example: - error_text: Students need more quotation marks now than in the previous levels. In this example quotation marks were forgotten in the list and in the `{if}` command. - error_code: |- - superheroes = Spiderman, Batman, Iron Man - superhero = superheroes {at} {random} - {if} superhero = Batman - {print} 'IM BATMAN!' - solution_text: 'This is the correct code:' - solution_code: |- - superheroes = 'Spiderman', 'Batman', 'Iron Man' - superhero = superheroes {at} {random} - {if} superhero {is} 'Batman' - {print} 'IM BATMAN!' - - title: Students use quotation marks on numbers they want to use for calculations - example: - error_text: |- - You can use quotation marks on numbers, but only if you want the computer to think of them as text. This means you can't do calculations with the number. - In the example below, you can't do maths with the number 25, because it's in quotation marks. - error_code: |- - score = '25' - answer {is} {ask} 'Do you want a point?' - {if} answer {is} 'yes' - score = score + 1 - {print} score - solution_text: 'This is the correct code:' - solution_code: |- - score = 25 - answer {is} {ask} 'Do you want a point?' - {if} answer {is} 'yes' - score = score + 1 - {print} score - - title: Students use commas instead of periods in decimal numbers - example: - error_text: Decimal numbers can be used from this level on, but you can't use commas. - error_code: '{print} 2,5 + 2,5' - solution_text: 'This is the correct code:' - solution_code: '{print} 2.5 + 2.5' - - level: '13' - sections: - - title: Students confuse `and` with `or` - example: - error_text: Both commands might appear similar, but their functions are very different. - error_code: |- - game {is} {ask} 'Do you want to play a game?' - time {is} {ask} 'Do you have time to play?' - {if} game {is} 'yes' {or} time {is} 'yes' - {print} 'Lets play!' - solution_text: In this case, the person should answer yes on both questions, so you should use `and`. - solution_code: |- - game {is} {ask} 'Do you want to play a game?' - time {is} {ask} 'Do you have time to play?' - {if} game {is} 'yes' {and} time {is} 'yes' - {print} 'Lets play!' - - level: '14' - sections: - - title: Students confuse the < and > signs - example: - error_text: Often, students are already familiar with these signs from maths class. But if your students don't know these signs yet, they might have a challenge with it. - error_code: |- - age = {ask} 'How old are you?' - {if} age < 12 - {print} 'You are older than I am!' - solution_text: 'This is the correct code:' - solution_code: |- - age = {ask} 'How old are you?' - {if} age > 12 - {print} 'You are older than I am!' - - title: Students use the wrong signs for `!=` `<=` and `>=` - example: - error_text: These signs are probably new for most students. Make sure to explain these signs to your students. - error_code: |- - name = {ask} 'What is your name?' - {if} name = 'Hedy' - {print} 'You are not Hedy' - solution_text: 'This is the correct code:' - solution_code: |- - name = {ask} 'What is your name?' - {if} name != 'Hedy' - {print} 'You are not Hedy' - - title: Students forget to use the == sign - example: - error_text: In this level, students are still allowed to use = or is. But on other levels, or in python, they might get in trouble for that. So it is best to train them to use it. - error_code: |- - name = {ask} 'What is your name?' - {if} name = 'Hedy' - {print} 'You are cool!' - solution_text: 'This is the correct code:' - solution_code: |- - name = {ask} 'What is your name?' - {if} name == 'Hedy' - {print} 'You are cool!' - - level: '15' - sections: - - title: Students forget indentation in the while loop - example: - error_text: Indentation is often hard for students. - error_code: |- - answer = 0 - {while} answer != 25 - answer = {ask} 'What is 5 times 5?' - {print} 'A correct answer has been given' - solution_text: 'This is the correct code:' - solution_code: |- - answer = 0 - {while} answer != 25 - answer = {ask} 'What is 5 times 5?' - {print} 'A correct answer has been given' - - level: '16' - sections: - - title: Students forget the brackets - example: - error_text: From this level on lists should be in brackets. - error_code: |- - icecream = 'starwberry', 'chocolate' - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students use the wrong brackets - example: - error_text: From this level on lists should be in brackets. - error_code: |- - icecream = ('starwberry', 'chocolate') - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students forget the quotation marks while focussing on the brackets - example: - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: |- - icecream = [starwberry, chocolate] - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students still use the old at random command - example: - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: |- - icecream = [starwberry, chocolate] - {print} 'I love ' icecream at random ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students forget the quotation marks while focussing on the brackets - example: - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: |- - icecream = [starwberry, chocolate] - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - level: '17' - sections: - - title: Students use `{elif}` like `{else}`, so without a condition - example: - error_text: The `{elif}` command needs a condition behind it. It cannot be used like `{else}`, without a condition. - error_code: |- - color = ask 'What is your favorite color?' - {if} color == 'green': - {print} 'green is nice' - {elif}: - {print} 'I like green' - solution_text: 'This is the correct code:' - solution_code: |- - color = {ask} 'What is your favorite color?' - {if} color == 'green': - {print} 'green is nice' - {elif} color == yellow: - {print} 'yellow is alright' - {else}: - {print} 'I like green' - - title: Students forget the colon - example: - error_text: After each command that requires indentation, a colon should be used. - error_code: |- - answer = ask 'How are you doing?' - {if} answer {is} 'great' - {print} 'Me too!' - {elif} answer {is} 'bad' - {print} 'Let me cheer you up!' - {else} - {print} 'Im great!' - solution_text: 'This is the correct code:' - solution_code: |- - answer = {ask} 'How are you doing?' - {if} answer {is} 'great': - {print} 'Me too!' - {elif} answer {is} 'bad': - {print} 'Let me cheer you up!' - {else}: - {print} 'Im great!' - - level: '18' - sections: - - title: Students forget to use the brackets - example: - error_text: Students will forget to put brackets around their text. - error_code: "{print} 'my name is Hedy!'" - solution_text: 'This is the correct code:' - solution_code: "{print}('my name is Hedy!')" - - title: Students will still use the ask command - example: - error_text: The ask command has been used since level 1. So it might be hard for the students to switch to input instead of ask. - error_code: |- - {print}('My name is Hedy!') - name = ask('What is your name?') - {print}('So your name is ', name) - solution_text: 'This is the correct code:' - solution_code: |- - {print}('My name is Hedy!') - name = {input}('What is your name?') - {print}('So your name is ', name) - - title: Students might use the brackets as quotation marks - example: - error_text: They have learned to keep the variables outside of the quotation marks, so they might do the same with the brackets. Which is not the correct way to use them. - error_code: |- - temperature = 25 - {print}('It is ') temperature ('degrees outside') - solution_text: 'This is the correct code:' - solution_code: |- - temperature = 25 - {print}('It is ', temperature, 'degrees outside') diff --git a/content/pages/bn.yaml b/content/pages/bn.yaml index ef3ebf28229..0967ef424bc 100644 --- a/content/pages/bn.yaml +++ b/content/pages/bn.yaml @@ -1,1153 +1 @@ -home-sections: -- title: Textual programming made easy! - text: |- - Many schools and teachers around the world want to teach their students programming. Initially this is often done with playful tools, ranging from the Beebot robot to - Scratch Junior or Scratch. After using such tools, kids often want to move to more powerful, textual programming languages, like Python. - - Python however is hard, because it is only available in English, and requires learners to learn complex programming concepts and syntax at once. - Hedy is the easy way to get started with textual programming languages! Hedy is free to use, open source, and unlike any other textual programming language in three ways. - - 1. Hedy is multi-lingual, you can use Hedy in your own language - 2. Hedy is gradual, so you can learn one concept and its syntax a time - 3. Hedy is built for the classroom, allowing teachers to fully customize their student's experience -- title: Multi-lingual programming - text: While almost all textual programming language have keywords in English, such as `for` or `repeat`, Hedy can be used in any language! We currently support 39 different languages, including Spanish, Arabic, Simplified Chinese and Hindi. If your language is not available you can always start a a new translation. -- title: Step by step learning - text: Learning a programming language can be overwhelming, since learners have to learn concepts (for example if-else or loops) and syntax (like quotation marks or round brackets) at the same time. In Hedy, concepts are first introduced with little syntax and then refined. A scientifically proven way to learn! -- title: Built for the classroom - text: |- - Hedy is suitable for kids aged 10 and up and designed for classroom use. - Teachers can use our free, built-in lesson plans, but can also author their own lessons and load these into the Hedy user interface. -- title: Programming in context - text: Hedy shows programming in the broadest way possible, and can be used in variety of exciting ways. Hedy allows for the creation of digital and interactive stories, colorful drawings that can be shown on the screen but also drawn with a pen plotter or embroidered on a shirt, and can be used to create games or apps with buttons and keyboard actions. -- title: Is Hedy free? - text: |- - Yes! Hedy is 'Open source', which means that everyone can help us make Hedy better. - You can find our code on [GitHub](https://github.com/hedyorg/hedy). - If you like Hedy and want to contribute, we accept (and are very grateful for) [donations](https://github.com/sponsors/hedyorg)! -- title: Do I need to install anything? - text: No. Hedy works in the browser, which is the program you are using to look at this page. Probably Chrome or Edge or Firefox. Hedy also works on phones and tablets. -- title: Do I need programming experience to teach with Hedy? - text: |- - No, that is not needed. All concepts are explained in the slides and in the interface for learners. - If you create a free teacher's account, you also get access to the teacher's manual with information on how to teach - and frequently made mistakes. -join-sections: -- title: Supporting Hedy - text: '# There are three ways in which you can support Hedy!' -- title: Improving the language - text: |- - The gradual and multi-lingual nature of Hedy create a lot of interesting technical challenges. - Find those issues on [Github](https://github.com/hedyorg/hedy/issues?q=is%3Aopen+is%3Aissue+label%3Alanguage). -- title: Translating Hedy - text: |- - Not a programmer? No problem! Another way to support Hedy is by [translating keywords, error messages, adventures are other content](https://github.com/hedyorg/hedy/wiki/Hedy-Translation-Tutorial) - - This is the current status, help us complete a language, or add a new one! - - Translation status -- title: Help teachers get started - text: |- - Hedy is designed to support teachers in providing programming lessons in class. We have specific teacher features like the option to create a class, customize it and see how your students are doing. - If you like Hedy, you can reach out to schools that you know to help teachers get started! We can help you find schools or teachers via [Discord](https://discord.gg/8yY7dEme9r). -learn-more-sections: -- title: The Hedy foundation - text: |- - Hedy is maintained by the Hedy Foundation (Stichting Hedy), Sportmanstaat 8, 2341 JG Oegstgeest, Dutch Chamber of Commerce number 94013985. - - The board of the foundation consists of: - - * Felienne Hermans, president - * Eelko Huizing, finance - * Renée Merbis, secretary - - The board of Stichting Hedy does not get any financial compensation for their tasks. -- title: A deep dive! - text: |- - Want to know more about Hedy's philosophy and design? Check out this talk Felienne gave at the StrangeLoop Conference in 2022: - - -- title: Hedy in the news - text: |- - Some websites and newspapers have written about Hedy since our release in early 2020. We keep a list here: - * [Java Magazine 04.2023](images/Hedy_Javamagazine2023.pdf) - * [Tech Optimism - A Solution to the IT Shortage (Dutch), August 2022](https://pom.show/2022/08/12/een-oplossing-voor-het-it-tekort/) - * [Codeweek Podcast, July 2022](https://codeweek.eu/podcast/26) - * [Heise.de (German), Januari 2022](https://www.heise.de/news/Hedy-die-mitwachsende-Programmiersprache-6336264.html) - * [Strumenta, November 2021](https://tomassetti.me/teaching-programming-with-hedy/) - * [Vives (Dutch), CodeWeek Special October 2021](images/Vives-174-Codeweek.pdf) - * [CodeWeek.eu - Haunted House Challenge, September 2021](https://codeweek.eu/2021/challenges/haunted-house) - * [Opensource.com, April 2021](https://opensource.com/article/21/4/hedy-teach-code) - * [IO Magazine, April 2021](https://ict-research.nl/wordpress/wp-content/uploads/2021/04/IO-magazine-NR1-2021_web.pdf) - * [Ingeniería De Software (Spanish), February 2021](https://ingenieriadesoftware.es/hedy-mejor-lenguaje-ensenar-programacion-ninos/) - * [Hello World Magazine, February 2021](images/Hello_World_15_Hedy.pdf) - * [Discoro, January 2021](https://discoro.wordpress.com/2021/01/09/hedy-gradually-learning-a-programming-language/) - * [Felienne wins the Dutch award for ICT research for Hedy, January 2021](https://www.nwo.nl/en/news/felienne-hermans-receives-dutch-prize-ict-research-2021) - * [SlashDot, August 2020](https://news.slashdot.org/story/20/08/17/024248/scientist-proposes-a-new-programming-language-for-teaching-coding-and-python) - * [GenBeta (Spanish), August 2020](https://www.genbeta.com/desarrollo/nuevo-lenguaje-para-ensenar-programacion-a-ninos-como-se-ensena-a-leer-escribir-forma-gradual-niveles) - * [Developpez (French), August 2020](https://programmation.developpez.com/actu/308095/Une-scientifique-propose-un-nouveau-langage-de-programmation-pour-enseigner-aux-enfants-le-codage-informatique-au-travers-d-une-approche-graduelle-implementee-en-Python-sur-13-paliers/) - * [Vives (Dutch), October 2020](images/artikel_vives.pdf) "Met Hedy stap voor stap leren programmeren" - * [Leiden University, April 2020](https://www.universiteitleiden.nl/en/news/2020/03/looking-to-distract-the-kids-while-you-work-from-home-get-them-programming) - * [Mare (Dutch), April 2020](https://www.mareonline.nl/cultuur/computercode-voor-de-kids/) - * [AG Connect (Dutch), April 2020](https://www.agconnect.nl/artikel/stapsgewijs-python-leren-programmeren-met-nieuwe-taal-hedy) -start-sections: -- title: Getting started with Hedy - text: '*Something about teachers accounts, slides etc*' -- title: What other teachers say - text: "A while ago we ran a few short Hedy teachers surveys. \nThe questions span between suggestions of improvement and Hedy’s best features. \nBelow is a testimony of their thoughts:\n\nSimple interface and good examples. *Teacher: 3rd - 6th grades (elementary)*\n\nMultilingual programming and just the gradual programming concept itself. - *US: middle school, 6th-8th grade*\n\nThe gradual nature of introducing programming. *Australia: High school*\n\nThe construction is so good. *Netherlands: Lower secondary school HAVO-VWO*\n\nI can keep the pace of the class. *Netherlands: group 7 en 8* \n\nContinues automatically. *Netherlands: 2 HAVO-VWO*\n\nBoth that the explanation can be in Dutch (and the code in English), and that it builds up with more \nand more possibilities. *Netherlands: Plus class group 7*\n\nThe 'realness' of programming, it resembles how it is in reality. *Netherlands: Plus class group 4 to 8*\n\nStep-by-step activities. Fun activities. *Netherlands: 1e All levels, - 2e VWO/HAVO 2e VWO +, 3e HAVO 3e VWO*\n\nBut Hedy and its gradual levels... what an idea, \nI wanted to personally thank you for creating this. I cannot thank you enough. Also, I have never seen the level of engagement and enthusiasm of my \nstudents, as I have seen with Hedy. We have covered till level 5, and plan to spend one more week on it in classes and labs, \nbefore starting Python. *Pakistan*\n\nI really like Hedy very much and it is also nicely set up, which makes it good to use in primary school. \nHedy's gradual approach works very well. \nThe short explanation at the beginning of each level and the short example programs help to give the children a quick insight into what is new in the chosen level. \nThe different assignments that the children can choose also work very well. \nYou see the children choose assignments that appeal to them and they then get to work with them, \nthrough the levels. Hedy is great fun for children who are good at programming and want to get - a \ntaste of a real programming language. It is good preparation for secondary school as soon as more ICT \neducation is given there. *Netherlands: Oegstgeest Montessori school*\n\n" -teacher-guide: -- title: Introduction - key: intro - subsections: - - title: What's Hedy? - text: |- - 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! - If you want to know more, you can watch this video about the development of Hedy as a programming language. - - title: Target audience - text: |- - Hedy is 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. - - title: How does Hedy work? - text: |- - Hedy is divided into levels, in which new commands are taught. Each level contains a variety of adventures to practice the newly learned commands. - As a teacher, you get to decide which adventures are available for your students. Will they be making a restaurant, a calculator or a haunted house this level? Within each level, the adventures are arranged from easiest to hardest. - So your students keep getting challenged. The adventures can be done by the students individually, or you can use them in a classical instruction. - - The adventures also include a code example, to make sure the less digitally informed teachers are able to use Hedy too! - Of course Hedy also caters to the creative teachers that love to make their own lessonplans and adventures! - - After programming all the adventures of a certain level, your students can test their knowledge in the quiz. - You can track your students' work and their progress on the class page. - - title: Devices - text: |- - 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! - - title: The Hedy Community - text: |- - All Hedy teachers, programmers and other fans are welcome to join our [Discord server](https://discord.gg/8yY7dEme9r). This is the ideal place to chat about Hedy: we have channels where you can show your cool projects and lessons, channels to report bugs, and channels to chat with other teachers and with the Hedy team. - [Here](https://www.youtube.com/watch?v=Lyz_Lnd-_aI) you can find a video on how to join the dicord community. - - title: Hedy and the GDPR - text: |- - Organizations in the EU have to comply with the GDPR (General Data Protection Regulation) when processing personal data. - Because this is a complex issue for many schools, you can use all Hedy programming functionalities without sharing personal data. - The easiest way to do this is to use Hedy without creating accounts for the teacher and students. Without accounts, all functionality is available, with the exception of personalizing levels, saving students' programs and viewing their progress. That is limiting, but there are schools that use Hedy in that way. - - A second way is for a teacher to create an account with an email address without personal data, for example "docent25@email.com". Apart from an email address, which is only required to reset your password, you do not need to share any information when you create a teacher account. - With a teacher account, you can create anonymous accounts for students, e.g. rainbow-student1, rainbow-student2, etc (See 'Teaching preparations' for a detailed manual). This way you can use all functionality of Hedy, including saving progress, without sharing personal data of yourself or your students. - - If the above is not sufficient for your context, we can sign a processing agreement for the processing of your personal data. -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - text: Do you want to follow the tutorial (again)? Click [here](https://hedy.org/tutorial) -- title: Teaching preparations - key: preparations - subsections: - - title: For teachers - text: You can prepare your classes at the For Teachers page. On this page you'll find everything you'll need to teach with Hedy, like your classes, your adventures and slides. All the functionalities of the for teachers page are explained below. - - title: Creating a Class - text: |- - As a teacher, you can create a class for your students. In this class you can see the students' accounts and their programs and you could monitor their progress. - This video shows you how to quickly create a class in Hedy. - - title: Duplicate a class - text: |- - Are you teaching multiple classes? Then you don't have to customize each class individually. Simply make a class, costumize the class (see "Customize your Class" to learn how) and then duplicate this class as many times as you want. - You can duplicate the class on the 'For Teachers' page. If you duplicate a class, all the class settings are duplicated as well. This means that all the levels and adventures you've made unavailable for the first class will now be unavailable for the new class(es) as well. - The student accounts and second teacher accounts in your class will not be duplicated into the new class. - - title: Add a second teacher - text: |- - Are you not the only teacher that teaches your class? Then you can now add another teacher to the class. Go to the 'For teachers' page and click on the class. Then choose 'Invite a teacher' and fill in the username of your colleague. - Your colleague will get an invitation on their account to join your class. They can see that invitation message by clicking on their username in the upper right corner of the screen and selecting 'My account'. - Once the other teacher accepts the invitation they can customize the class as well. - To remove a second teacher from your class, go to the class page and remove the second teacher. The teacher who's created the class cannot be removed. - - title: Customize your Class - text: |- - You can customize your class and choose which adventures are available for your students. This way your students won't be overwhelmed by the amount of adventures and levels, and they can specifically focus on the adventures you'd like them to practice with. - Click on your class on the for teachers page and choose 'customize class'. On this page you can select levels, set opening dates, unlock level thresholds and more. - - **Select and order adventures** - - In this section you can select and order adventures. The pink tabs are adventures with new commands. The gray tabs are regular adventures. To rearrange the order of the adventures, you can drag the tabs. However, we do advise you to use the regular order of adventures as the Hedy team made sure the adventures go from easiest to hardest. - If you want to remove an adventure for your students, simply click the cross on the adventure's tab. - - If you want to add adventures, for instance your own adventure or an adventure you accidentally removed, use this menu to add the adventure to your students' adventures. Simply click the adventure you want to add and it (re)appears in the line of adventures. To undo all your changes to the adventures, click 'Reset'. - - **Opening dates** - - With this feature you can set opening dates for the levels. This way you can make a lesson plan before your course begins and not worry about opening new levels each week. In the image above the first level is opened directly, the second will open the 23th of september, and the 3rd level the week after. The other levels are closed. - Don't want to set opening dates? No problem, just leave this section blank. - - **Unlock level thresholds** - - This featue allows you to set a threshold for your students' quiz grade, before they can continue to the next level. For example, if you enter "80" your students have to score at least 80% on the quiz before they are allowed to go to the next level. If they haven't met the threshold, they are not allowed to continue and have to retake the quiz. - Don't want to use the threshold? No worries, just keep this section blank. - - - **Other settings** - - There are some other setting that could be usefu to you aswell. Our first extra setting is 'Mandatory developer's mode'. In developers mode the students only see their input and output screens and the run button. The adventures are hidden and there are no cheatsheets available. This might come in handy in a test situation. - If this option is not selected the developer's mode is available for students too as a voluntary option. - - If you want all your students to be visible in de class highscore, you can select the second option. - With all the other options you can choose to hide some functions or content for your students, this might help them focus more. - - **Save** - - Don't forget to save your changes when you're done customizing your class. - - title: Student Accounts - text: |- - To add students to your class go to the class page by clicking in the class name on the 'for teachers' page. Then click 'add students'. There are 2 ways to let your students join your class: You can create accounts for them, or they could create their own accounts. - - **You create accounts for your students** - The easiest way to add students to your class is by creating an account for them. This can be done by clicking the 'create student accounts' button and filling in the usernames and passwords for them. - The students can login with the username and password that you chose. Afterwards, they can change their username or password if they'd like and they'll still remain in your class. - This [video](https://www.youtube.com/watch?v=eEQvik-Ce5M) shows how to add students to your class in the quickest and easiest way. - - **Students make their own accounts** - Your students can also go to the Hedy website and create their own accounts, just like you did. To get them into your class, they simply have to click the invite link. - You can find the invite link on the class page and send it to your students. Mind that your students have to be logged in to Hedy when they click the link, in order to make it work smoothly. - You can also manually invite a student to your class with the button 'Invite by username'. - - title: Setting preferred language - text: |- - When students create profiles they are supposed to choose a 'preferred language'. Hedy will always be loaded in this selected language. - Changing this language can always be done later on by navigating to 'My account' and 'My personal settings' again. - - - **For non-English speakers** - Not only can you change the language of the adventures to your own language. You can also choose which language the keywords (for example 'print' or 'ask') should be in. - This way you can teach your students to code with English keywords, but you can also let them program in their own language. For example, Dutch students can use the command 'vraag' instead of 'ask'. - If a student wants to switch languages, they can click the keyword switcher. It will switch the keywords from English to the preferred language and back. - Fun fact! Students are allowed program in both English and their own language at the same time! So, if they have trouble remembering some keywords in English, but easily remember other ones they can use both at the same time. - - - **Video** - This [video](https://www.youtube.com/watch?v=QrVZETj4oLM) show you how to set a preferred language and change the keywords to you preferred language as well. - - title: Storing programs - text: |- - When you are logged in, you'll see My programs next to your profile icon. - This option exists for your students too. In My programs you can find all the programs that you've worked on. - By default, programs will be saved to 'My programs' when you run the code, and every 10 seconds, under their default name - and their level (for example: Story 5). If you want to store a program under a new name, just type the new name in the name bar. - Currently, only one program can be saved per level, per tab. - - You (and your students) can also share programs using the share button next to program names. - These programs will be posted on our explore page, for everybody to see and use. - If you want to unshare your program, go to 'My programs' and click 'Unshare'. - - The paper plane icon can be used to hand in programs to the teacher of a class. Programs that have been handed is will no longer be editable. -- title: Teaching with Hedy - key: teaching - subsections: - - title: Teaching with Hedy - text: |- - Hedy contains a lot of different levels that each teach a different new skill. We recommend to teach one level per lesson. - This gives your students the time to fully grasp a new command or concept and practice with it, before moving on to the next level. - We use this structure in our lessons: Introduction, New concepts and commands, let's get to work, puzzels and quizzes. - - title: Slides - text: |- - When giving instructions you might want to use our slides. Our slides are available on the 'For teachers' page. There is a set of slides for each level. In the slides all the new commands for that level are explained. We have aimed to explain why these changes are nessecary or how the new commands come in handy. - We also give some examples of how the new commands can be used. You could of course also use your own slides, or just open Hedy and show your students around the website. Whichever you prefer to give the best Hedy lessons! - - title: Introduction - text: |- - You can start your lessons by activating your students' prior knowledge: What do they already know about the subject, what did they learn in the previous lesson and which mistakes did they make that they've now learned from? - This way all the previously learned commands and frequently made mistakes are fresh in your students' memories, when you start introducing the new lesson. - - title: Introduction of new concepts and commands - text: |- - The new concepts and commands can be very hard for some students to fully understand. - That's why it's of importance to model the proper use of the new commands to your students. - Especially in the lower levels, where some students have no experience whith programming at all, it can be hard for them to understand the new abstract concepts. - Showing a lot of examples makes an abstract concept (for instance: 'What is a variable?') more recognizable and easier to understand ('Look, the variable pet changed into dog'). Our slides could help you with that. - - title: Let's get to work - text: |- - Each level contains different adventures that you can find in the pink tabs. The first pink tab explains the new commands in this level. - The following tabs are adventures that the students can try out and make their own. - The adventures are arranged from easiest to hardest, so we recommend to start on the left and your your way to the right. - The last tab 'what's next' gives a little teaser of what you'll learn in the next level. Of course, you can select the adventures you want your students to do for each level. - They don't always have to make every adventure. Every adventure contains an example code, that the students can try out with the green button. - The example code gets copied to the workfield, where the students can try out the code and adjust it to make it their own. - Stimulate your students to turn the example code into their own projects by adding their own ideas and making their own variation of the adventure. - - title: Quizzes and puzzels - text: |- - To test whether your students have picked up all the new info in the level, you can let them make the quiz. - The quiz contains 10 multiple choice questions about the new concepts and command to that level. - Not every level has a quiz yet, as we are still building the quizzes. - Some levels also contain puzzels. Puzzels show the students a couple of line of code that the students have to put in the right order. - - This [video](https://www.youtube.com/watch?v=lNh5EdZVUwc) shows the quizzes and puzzels. - - title: Evaluation - text: |- - Round up your lesson by having a brief evaluation. What did the students learn? Which hardships did they come across? - How did they learn from their mistakes? And of course: What did they create? - Students are often very proud of their own creations, so it's nice to save a little time and gove your students the opportunity to show their work to their classmates. -- title: Teacher Statistics - key: teacher_statistics - subsections: - - title: Live Dashboard - text: |- - If you would like to keep track of your students' progress, you can make use of the live dashboard. You can find the live dashboard by clicking 'Live statistics' on your class page. - - All the features of this dashboard are explained below. - - title: Level Selection - text: |- - - Firstly, you can select the levels you'd like to see on the dahsboard. Select the levels your students are currently working on by clicking on the number of that level. Deselect levels that you do not want to see by clicking them again. - In this example level 1 and 2 are selected. You can click on refresh to refresh the dashboard and get the most current stats. - - title: Class Overview - text: |- - - In the class overview you can see which adventure your students are working on right now. You can see that one student is working on the 'Rock, Paper, Scissors' adventure in level 1, one is working on the 'Fortune Teller' in level 1 and one student is working on the 'Rock, Paper, Scissors' adventure in level 2. - If you'd like to know which of your students is working on the adventure, simply click the number and their accountnames will appear. - You can also see how many of your students have finished the quiz. In this case, one student finished the quiz in level 1. Again, you can click the 1 to see which of your students it is. - - You can also see one of the students is 'missing' from this overview. That's because he's working on an adventure in level 4, which is not selected. - - title: Student List - text: |- - - Here you can find a list of your students and you can see their individual progress. The blue ring shows you what your students are currently working on. - - It is important to notice that the blue dots means that a students 'attempted' the adventure. This means that they ran a code in this adventure and went on to the next adventure, so this does not automatically mean that they did a good job! - If you want to see how an individual student is getting along, you can click their name in this overview. This is what you see if you click on marleen_h3a for example: - - You see that Marleen is having some trouble programming. She tried to run a program that contains blanks multiple times, so she probably doesn't know that she has to change something in the example code before running it. - In this way this overview can give you a better understanding of what a student is struggling with. - - title: Common Errors - text: |- - - If you're not only interested in individual struggles of your students, but you'd like to know what the whole class seems to be doing wrong, you can use this oversight of common errors. - The most common error messages that your students are recieving will appear in this oversight for you, so you could give some more instructions to the whole class if needed. - By clicking the error, you can see which students are having trouble with this error. By clicking resolve, you'll remove this error from the list. - - title: Overview of programs per adventure - text: |- - - Another useful overview of all the programs your students made in a level can be found on your class page. Go to the class page and click 'Overview of programs per adventure'. Here you'll find this overview. - You could use this overview to check your students' work. If they have made a program in an adventure, an eye appears in your overview. Click the eye to view their work. Did you like it? Then you can check the box and a green tick will appear. - This way you create a nice overview for yourself of your students' results. -- title: Extra Hedy features - key: features - subsections: - - title: Make your own adventure - text: It is also possible for teachers to create your own adventure. This video shows you how to create your own adventure as a teacher and add it to your class(es). - - title: Public adventures - text: Would you like to use adventures made by other teachers? Then you can visit our public adventures page. Here you can find all the adventures made by other teachers from all over the world. To find a good fit for you, you can select a level, language and even a tag. Have you found an adventure you'd like to use? Then you can press 'clone' to make a copy of that adventure to your own account. You can edit the clone to your liking and add the adventure to your class in the same way you would your own adventures. You cannot edit the original, so the original will always be safe. Have you made an adventure yourself that you'd like to add to the public adventures? Tick the box that makes your adventure publicly available when creating the adventure! - - title: Explore page - text: |- - On the [explore](https://hedy.org/explore) page you can view the work of other Hedy users. You can try out their programs and use them as inspiration to create something cool yourself. - You can also add a program you've made to the explore page yourself by clicking 'Save and share code' in the coding screen or go to My Programs and click 'Share'. - Don't want to share your work anymore? Simply go to 'My Programs' and click 'Unshare'. - If you want more information about the explore page, check out this [video](https://www.youtube.com/watch?v=26boFjqvS5Q). - - title: My achievements - text: |- - If you click on your username in the topright corner of your screen, you can go to [My achievements](https://hedy.org/my-achievements). On this page you achievements are collected. Your students have such a page as well. - When you hover over the badge with your mouse, you'll see how to earn the badge. There are hidden badges too, of which you'll have to find out yourself how to earn them. - If you want more information on the achievements, check out this [video](https://www.youtube.com/watch?v=-FjmKejukCs). - - title: High Scores - text: |- - On [this page](https://hedy.org/highscores) you can see the high scores of all Hedy users. - In this [video](https://www.youtube.com/watch?v=IqTiUkBVTo8) you can learn some more about the high scores. - - title: Debugger - text: |- - Is your (student's) code not working? There must be a bug (coding mistake) in it! You can use the debugger to find the mistake. - The debugger is the ladybig button in your coding screen. If you press it, you can run your code line by line to find your mistake. - Have you found the mistake? Press the red stop button and the debugger will shut off. - - title: Read aloud - text: Do you want the output of your program to be read aloud? Then you can use the read aloud function that is found under the 'run code' button in your coding screen. - - title: Programmers mode - text: |- - Distracted by all the adventures, or do you want to make a long program? Then check out the 'Programmers Mode' switch at the bottom of your coding screen. - Programmers mode allows you and your students to use a bigger coding screen. - - title: Cheat sheets - text: |- - In every level there is a button with this emoji 🤔. You and your students can find the "cheat sheets" there. On this cheat sheet, you can find all the commands that are usable in this level in their correct form. - So if you've forgotten how a command works, simply take a peek at the cheat sheet! - - title: Other useful features - text: This [video](https://www.youtube.com/watch?v=c4MntPPgl1Y) shows you even more features of Hedy, like the cheatsheets and the keyword switcher. -- title: After Hedy - key: after - subsections: - - title: What to do after Hedy? - text: |- - Congratulations on reaching the end of Hedy! Your students have now learned how to create their own basic code in the Python programming language. - Of course, you could keep programming in our Hedy compiler, but it might be more exciting for your students to transfer to a "real" Python interface. - Would you like to continue teaching Python? Then please visit the Python website to learn how to get started in another compiler. - - Now that your students have a basic knowledge of programming in general, you could also show them around in other textual programming languages. The language might change but the concepts do not, so Hedy will still give them a big advantage. -- title: Answers to the exercises - key: answers - intro: |- - The answers to all the exercises can be found on the public profile of the useraccount 'Hedy_answers'. We often encourage students to use their own creativity in their answers, so these answers are merely a guideline as to what a possible correct answer could look like. - - To go to the 'Hedy_answers' profile, please click here. -- title: Common mistakes - key: common_mistakes - intro: |- - You can learn from your mistakes, especially in coding! - Making mistakes is unavoidable, and a great opportunity to learn, but for teachers it can be a challenge to find the correct fix for a mistake! - Especially as the programs get longer and longer as the levels progress. That's why we've made a list with frequently made mistakes in each level, and their solutions. - levels: - - level: '1' - sections: - - title: Students forget to type commands - example: - error_text: For example they type a sentence without using print. - error_code: Hedy can't print this - solution_text: Teach your students to always start a line of code with a command. - solution_code: '{print} Hedy can print this!' - - title: Students use capitals when typing commands - example: - error_text: Commands won't work if they are in capitals. - error_code: |- - Ask Why does my code fail? - Print Because I'm using capitals. - solution_text: Remove the capitals. - solution_code: |- - {ask} Why does my code work now? - {print} Because I removed the capitals! - - title: Students use echo without ask - example: - error_text: Echo is made to repeat an answer after an ask command. Without ask echo won't do anything. - error_code: '{echo} Your name is' - solution_text: Add an ask command to make it work. - solution_code: |- - {ask} What's your name? - {echo} Your name is - - title: Students want their echo word (variable) to be in the middle of a sentence - example: - error_text: And they are right! That's why they will learn to use proper variables in the next level. - error_code: |- - {ask} Which programming language is the most fun? - {echo} is the best! - solution_text: 'In level 1 we have to keep it at this:' - solution_code: |- - {ask} Which programming language is the most fun? - {echo} The best is... - - title: 'Turtle: Students let the turtle walk off of the screen' - example: - error_text: Often students love to try out big numbers when using the turtle, which causes the arrow to walk off the screen. - error_code: |- - {forward} 300 - {turn} 90 - solution_text: In the example, students tend to think that the turn command doesn't work. Even though it does work, you can't see it happening off screen. Use smaller numbers to prevent this from happening. - solution_code: |- - {forward} 100 - {turn} 90 - - title: "Turtle: Students use the command backward, but that doesn't exist" - example: - error_text: Backward is not a command. - error_code: backward 100 - solution_text: 'To make the turtle go backwards, you use the forward command and a negative number. For example:' - solution_code: '{forward} -100' - - level: '2' - sections: - - title: Students make typos in their commands - example: - error_text: Hedy can't recognize a command with a typo. - error_code: prinnt Don't make typos - solution_text: Teach your students to read the error messages. This way they can find out themselves what went wrong. - solution_code: "{print} Don't make typos" - - title: Students forget that the ask command has changed - example: - error_text: In this level students learn about variables. The ask command requires a variable as well, but students forget this. - error_code: ask what would you like to eat - solution_text: In this level you have to tell Hedy where to save your answer, so it can be used later on. This is called a variable. - solution_code: order {is} {ask} What would you like to eat - - title: Students try to use the `{echo}` command - example: - error_text: For some students it might be frustrating to learn that the `{echo}` command doesn't work anymore. That's why it's very important to explain the advantages of using variables. For example you can use multiple variables in a code, and you can put them anywhere you like in a sentence! - error_code: |- - answer {is} {ask} Why doesn't {echo} work anymore?! - {echo} - solution_text: Use a variable instead. - solution_code: |- - answer {is} {ask} Why doens't {echo} work anymore?! - {print} answer - - title: Students use a variable name or as a normal word - example: - error_text: In the example below the word 'name' is used as a variable, but also as a normal text. The output of this code will be 'Hi my Hedy is Hedy'. - error_code: |- - name {is} Hedy - {print} Hi my name is name - solution_text: So don't use a word you want to use in the text as a variable name. In level 4 this is solved with quotation marks. - solution_code: |- - name {is} Hedy - {print} Hi I'm name - - title: Students use long variable names containing two words. - example: - error_text: A variable should be named with one word. You could use an underscore to connect two words. That counts as one. - error_code: chosen door is ask Which door do you pick - solution_text: Add an underscore. - solution_code: chosen_door {is} {ask} which door do you pick - - title: Students might use two different names for the same variable - example: - error_text: In this example the student has used 'horse' and 'name' for the same variables. - error_code: |- - horse {is} {ask} What is your horse called - {print} Your horse is called name - solution_text: Always check whether the variable has the same name throughout the code. Slight differences can be hard to spot (for example plurals) but they will interfere with the code. - solution_code: |- - name {is} {ask} What is your horse called - {print} Your horse is called name - - level: '3' - sections: - - title: Students try to print whole lists - example: - error_text: A list can't be printed. You can only print one item from the list with {at} {random}. - error_code: |- - groceries {is} apples, milk, chocolate - {print} groceries - solution_text: To print a list of all the groceries, you simply need to put them after a `{print}` command. Else you can use the list to print one item with `{at}` `{random}`. - solution_code: |- - {print} apples, milk, chocolate - - # or - - groceries {is} apples, milk, chocolate - {print} groceries {at} {random} - - title: Students use the name of a variable or list as regular text - example: - error_text: This problem probably occured in level 2 as well. Now it can happen with lists too. - error_code: |- - name {is} Hedy - {print} Hi my name is name - - # or - - animal {is} rhino, bee, swan - {print} The best animal is... animal {at} {random} - solution_text: Don't use the names of variables or lists in regular text to print. In level 4 this problem is solved with quotation marks. - solution_code: |- - name {is} Hedy - {print} Hi I'm name - - # or - - animals {is} rhino, bee, swan - {print} The best animal is... animals {at} {random} - - title: Students forget `{at}` in `{at}` `{random}` - example: - error_text: Like in the example - error_code: |- - birds {is} sparrow, seagull, robin - {print} birds random - solution_text: This problem is solved by adding the word at. - solution_code: |- - birds {is} sparrow, seagull, robin - {print} birds {at} {random} - - title: Students forget to use the `{print}` command when also using the `{at}` `{random}` command - example: - error_text: Or they will sometimes put `{at}` `{random}` at the beginning of the line. - error_code: |- - fruit {is} apple, cherry, banana - fruit {at} {random} - solution_text: Emphasize to your students that you always need a print to print text. - solution_code: |- - fruit {is} apple, cherry, banana - {print} fruit {at} {random} - - title: Students forget to use commas in their lists - example: - error_text: In a list items are seperated with a comma. - error_code: |- - pizzas {is} funghi tonno quattro stagioni - {print} pizzas {at} {random} - solution_text: After each item on your list, there should be a comma - solution_code: |- - pizzas {is} funghi, tonno, quattro stagioni - {print} pizzas {at} {random} - - title: Students try to use `{at}` `{random}` without a list - example: - error_text: For example - error_code: |- - clubs {is} Manchester United - {print} clubs {at} {random} - solution_text: Hedy can't print anything at random, because there is no list to choose from. - solution_code: |- - clubs {is} Manchester United, Bayrn Munchen, FC Barcelona - {print} clubs {at} {random} - - title: Students try to use add/remove without a list - example: - error_text: In the example below 'names' is not a list, but a variable. You cannot add anything to it. - error_code: |- - names {is} Jake - your_name {is} {ask} Who are you? - {add} your_name {to} names - {print} names {at} {random} - solution_text: There has to be a list first, so you have to add a second name to turn names into a list, for example Amy. If you don't want amy on your list, you can use remove to remove it after. - solution_code: |- - names {is} Jake, Amy - your_name {is} {ask} Who are you? - {add} your_name {to} names - {print} names {at} {random} - - title: Students forget to use to/from in add/remove - example: - error_text: Without to/from the add/remove command won't work. - error_code: |- - adventures {is} story, parrot, dice - choice {is} Which adventure do you like best? - {add} choice - {remove} dice - {print} I love adventures {at} {random} - solution_text: Hedy has to know which list the item should be added to/removed from. - solution_code: |- - adventures {is} story, parrot, dice - choice {is} Which adventure do you like best? - {add} choice {to_list} adventures - {remove} dice {from} adventures - {print} I love adventures {at} {random} - - level: '4' - sections: - - title: Students forget to use quotation marks on both sides of the text - example: - error_text: In this level print and ask need a set of quotation marks. One before of the text and one after. - error_code: |- - {print} Hello - mood {is} {ask} 'How are you? - solution_text: Add the correct quotation marks. - solution_code: |- - {print} 'Hello' - mood {is} {ask} 'How are you?' - - title: Students use the wrong quotation marks - example: - error_text: It is important to start your lesson by checking if the students know how to type a quotation mark properly. Else they might use the "double quotes" or the skewed one `. - error_code: |- - {print} `Welcome to the restaurant` - food {is} {ask} "What would you like to order?" - solution_text: 'These are the correct quotation marks:' - solution_code: |- - {print} 'Welcome to the restaurant' - food {is} {ask} 'What would you like to order?' - - title: Students use an apostrophe in their text - example: - error_text: From this level on apostrophes are not allowed. They are often used in English when typing contractions like you're, don't or what's. - error_code: "{print} 'You're not allowed to type this'" - solution_text: You can choose to use the wrong grammar and just leave the apostrophe out. Or you could use the ` as an apostrophe. - solution_code: |- - {print} 'Youre allowed to type this' - {print} 'And you`re able to do this' - - level: '5' - sections: - - title: Students forget to use `{print}` in an `{if}` command - example: - error_text: After students use `{if}` or `{else}` they forget to use a second command like `{print}` or `{ask}`. - error_code: |- - {if} name {is} Hedy 'Great!' - {else} Hedy {is} better! - solution_text: Add the print command to fix it. - solution_code: |- - {if} name {is} Hedy {print} 'Great!' - {else} {print} 'Hedy is better!' - - title: Students might use two different names for the same variable - example: - error_text: In this example the student has used 'horse' and 'name' for the same variables. - error_code: |- - horse {is} {ask} 'What is your horse called?' - {if} name {is} Bonfire {print} 'cool' - {else} {print} 'less cool!' - solution_text: Always check whether the variable has the same name throughout the code. Slight differences can be hard to spot (for example plurals) but they will interfere with the code. - solution_code: |- - horse {is} {ask} 'What is your horse called' - {if} horse {is} Bonfire {print} 'cool!' - {else} {print} 'less cool!' - - title: Students still forget the quotes on both sides - example: - error_text: Using the `if` command can make the code lines very long and students tend to forget to use quotes. - error_code: |- - {if} name {is} Hedy {print} fun - {else} {print} 'meh! - solution_text: Always use 2 quotes in a print command. - solution_code: |- - {if} name {is} Hedy {print} 'fun' - {else} {print} 'meh!' - - title: Students use quotes around variable names - example: - error_text: In this level there are no quotes around variable names. - error_code: |- - {if} name {is} 'Hedy' {print} 'fun' - {else} {print} 'meh!' - solution_text: Remove the quotes to get the code to work. - solution_code: |- - {if} name {is} Hedy {print} 'fun' - {else} {print} 'meh! - - title: Students use long variable names containing two words - example: - error_text: A variable should be named with one word. You could use an underscore to connect two words. That counts as one. - error_code: chosen door is ask Which door do you pick? - solution_text: Add an underscore. - solution_code: chosen_door {is} {ask} 'which door do you pick?' - - title: Students want multiple answers to be correct - example: - error_text: For example this student Hedy to tell all his friends that they are funny, but other classmates would be told that they are not. - error_code: "{if} name {is} Jesse, David, Souf print You are funny {else} {print} 'You are not funny'" - solution_text: |- - You could use the `in` command for that. It is explained in a higher level, but it does already work in level 5. - Another solution is to use multiple if commands and no else command. The disadvantage is that it won't tell the other classmates that they are not funny. - solution_code: |- - friends {is} Jesse, David, Souf - name {is} {ask} 'Who are you?' - {if} name {in} friends {print} 'You are funny' - {else} {print} 'You are not funny' - - # or - - name {is} {ask} 'Who are you?' - {if} naam {is} Jesse {print} 'You are funny' - {if} naam {is} David {print} 'You are funny' - {if} naam {is} Souf {print} 'You are funny' - - title: The students make the variable name the same as the value in the `{if}` statement - example: - error_text: In the example below the password is 'password'. This will result in it always being correct. - error_code: |- - password {is} {ask} 'What is the password?' - {if} password {is} password {print} 'Access granted' - {else} {print} 'Acces denied!' - solution_text: Pick a different name for your variable. - solution_code: |- - secret_password {is} {ask} 'What is the password' - {if} secret_password {is} password {print} 'Access granted!' - {else} {print} 'Access denied!' - - level: '6' - sections: - - title: Students struggle with quotation marks - example: - error_text: Some students struggle with adding quotation marks or not. If you add quotation marks, the output screen will literally show '5+5'. - error_code: "{print} '5 + 5'" - solution_text: In this code the output screen will print '10'. - solution_code: '{print} 5 + 5' - - title: Students struggle with the concept of doing maths with a variable - example: - error_text: 'Some students will find it hard to do maths with variables. Try to show them very simple examples, like:' - error_code: |- - age = {ask} 'How old are you?' - {print} 'Next year you will be ' age + 1 - solution_text: Or take it a step further like this. - solution_code: |- - price = 0 - {print} 'Welcome to our burger restaurant' - burger = {ask} 'Would you like a burger?' - {if} burger = yes price = price + 10 - drink = {ask} 'Would you like a drink?' - {if} drink = yes price = price + 4 - {print} 'That will be ' price ' euros please' - - level: '7' - sections: - - title: Students forget one of the word of the repeat command, or they forget the print command - example: - error_text: Make sure that the students know to use both the full repeat command and the print command. - error_code: |- - {repeat} 3 {times} For he`s a jolly good fellow - {repeat} 3 print - solution_text: 'This is the correct code:' - solution_code: |- - {repeat} 3 {times} {print} 'For he`s a jolly good fellow' - {repeat} 3 {times} {print} 'Which nobody can deny!' - - title: Students try to repeat multiple lines - example: - error_text: In this level you can only repeat one line of code multiple times. In this code the student wanted to print 3 different drinks, but it won't work. It will ask the question 3 times and only print the last answer. - error_code: |- - {repeat} 3 {times} drink = {ask} 'What would you like to drink?' - {print} drink - solution_text: You should go to the next level to be able to repeat multiple lines. So on this level you'll have to print everything seperately. - solution_code: |- - drink = {ask} 'What would you like to drink?' - {print} drink - drink = {ask} 'What would you like to drink?' - {print} drink - drink = {ask} 'What would you like to drink?' - {print} drink - - title: Students make programs that take too long to run - example: - error_text: In this level it's very easy to make long-running programs. The students aren't allowed to make programs that take to long to load (to save our servers). - error_code: "{repeat} 100 {times} {print} 'How many times can I repeat this?'" - solution_text: Make sure the programs aren't too long - solution_code: "{repeat} 20 {times} {print} 'This is enough'" - - level: '8' - sections: - - title: Students use the indentation wrong - example: - error_text: Indentation is a new concept in this level, that is hard to use for some students. Make sure they practise some simple snippets before making a whole program with it. - error_code: |- - {repeat} 3 {times} - {print} 'hello' - solution_text: 'This is the correct code:' - solution_code: |- - {repeat} 3 {times} - {print} 'hello' - - title: Students only repeat 1 line when they wanted to repeat multiple lines - example: - error_text: For instance, in the code below the student wanted to take the drinks order of 3 people. But instead the program asked 3 times, but only wrote down one order. - error_code: |- - {repeat} 3 {times} - drink = {ask} 'What would you like to drink?' - {print} drink - solution_text: |- - In the correct code the third line starts with indentation too. This way it belongs to the repeat block and therefore it will be repeated 3 times. - Showing your students these differences can help them understand why we need indentation to make our programs work. - solution_code: |- - {repeat} 3 {times} - drink = {ask} 'What would you like to drink?' - {print} drink - - title: Students want to nest `{if}` statements, or put `{if}` statements inside a loop - example: - error_text: |- - In this level students aren't allowed yet to put `{if}` statements inside other `{if}` statements or inside repeat loops. - In the next level this is allowed. - error_code: |- - birthday = {ask} 'Is it you birthday?' - {if} birthday = yes - {repeat} 3 {times} - {print} 'Hip Hip Hooray!' - solution_text: 'This is the correct code for this level:' - solution_code: |- - birthday = {ask} 'Is it you birthday?' - {if} birthday = yes - {print} 'Hip Hip Hooray!' - {print} 'Hip Hip Hooray!' - {print} 'Hip Hip Hooray!' - - title: Students make programs that take too long to run - example: - error_text: In this level it's very easy to make long-running programs. The students aren't allowed to make programs that take to long to load (to save our servers). - error_code: |- - {repeat} 100 {times} - {print} 'How many times can I repeat this?' - solution_text: Make sure the programs aren't too long - solution_code: |- - {repeat} 20 {times} - {print} 'This is enough' - - title: Students use the `{if}` command to check if the variable value is the same as the variable name - example: - error_text: |- - We have seen this mistake by some of our students. They make a password for their computer, but they make the password 'password'. - In line 2 the computer is asked to check whether the variable password is the same as the variable password, so itself. Which means the answer is always yes. - So with this code the answer will always be 'You can come in' no matter what the player fills in. - error_code: |- - password {is} {ask} 'What is the password?' - {if} password {is} password - {print} 'You can come in' - {else} - {print} 'You are not allowed' - solution_text: You can fix this mistake by adding quotation marks. This way the computer knows that the second password in `{if} password {is} 'password'` is a string value (so normal text) and not the variable name. - solution_code: |- - password {is} {ask} 'What is the password?' - {if} password {is} 'password' - {print} 'You can come in' - {else} - {print} 'You are not allowed' - - level: '9' - sections: - - title: Students make mistakes with indentation - example: - error_text: The hardest part about this level is getting the indentation right. Students love nesting `{if}` statements, sometimes even inside other nested `{if}` statements. Keeping track of indentation can get pretty tough. - error_code: |- - {print} 'Robin is walking downtown' - location = {ask} 'Is Robin going into a shop, or does she go home?' - {if} location {is} shop - {print} 'She enters the shop.' - {print} 'Robin sees an interesting looking book' - book = {ask} 'Does Robin buy the book?' - {if} book {is} yes - {print} 'Robin buys the book and goes home' - {else} - {print} 'Robin leaves the shop and goes home' - {else} - {print} 'Robin goes home' - solution_text: This is the correct code. Try to keep track of all the different constructions when putting `{if}` statements inside other `{if}` statements. - solution_code: |- - {print} 'Robin is walking downtown' - location = {ask} 'Is Robin going into a shop, or does she go home?' - {if} location {is} shop - {print} 'She enters the shop.' - {print} 'Robin sees an interesting looking book' - book = {ask} 'Does Robin buy the book?' - {if} book {is} yes - {print} 'Robin buys the book and goes home' - {else} - {print} 'Robin leaves the shop and goes home' - {else} - {print} 'Robin goes home' - - level: '10' - sections: - - title: Students do not use the for command correctly - example: - error_text: We often see that students try to print the list (in the example animals) instead of the items of the list. - error_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animals - solution_text: The word animals in the last line should be changed into animal. - solution_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animal - - title: Students forget the indentation - example: - error_text: Students tend to forget to use indentation after a for command. - error_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animals - solution_text: You should use indentation after a for command. - solution_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animal - - level: '11' - sections: - - title: Students forget to use indentation - example: - error_text: Make sure that the students use indentation. - error_code: |- - {for} i {in} {range} 1 {to} 5 - {print} i - solution_text: 'This is the correct code:' - solution_code: |- - {for} i {in} {range} 1 {to} 5 - {print} i - - title: Students don't understand the i - example: - error_text: |- - Some students don't understand that i is a variable. i is chosen, because it is used in Python programming, but you could just as easily use a different variable name. - For example, this code: - error_code: |- - {for} i {in} {range} 1 {to} 5 - {print} i - solution_text: Could just as well be replaced with this code. It works the same. - solution_code: |- - {for} banana {in} {range} 1 {to} 5 - {print} banana - - level: '12' - sections: - - title: Students forget quotation marks - example: - error_text: Students need more quotation marks now than in the previous levels. In this example quotation marks were forgotten in the list and in the `{if}` command. - error_code: |- - superheroes = Spiderman, Batman, Iron Man - superhero = superheroes {at} {random} - {if} superhero = Batman - {print} 'IM BATMAN!' - solution_text: 'This is the correct code:' - solution_code: |- - superheroes = 'Spiderman', 'Batman', 'Iron Man' - superhero = superheroes {at} {random} - {if} superhero {is} 'Batman' - {print} 'IM BATMAN!' - - title: Students use quotation marks on numbers they want to use for calculations - example: - error_text: |- - You can use quotation marks on numbers, but only if you want the computer to think of them as text. This means you can't do calculations with the number. - In the example below, you can't do maths with the number 25, because it's in quotation marks. - error_code: |- - score = '25' - answer {is} {ask} 'Do you want a point?' - {if} answer {is} 'yes' - score = score + 1 - {print} score - solution_text: 'This is the correct code:' - solution_code: |- - score = 25 - answer {is} {ask} 'Do you want a point?' - {if} answer {is} 'yes' - score = score + 1 - {print} score - - title: Students use commas instead of periods in decimal numbers - example: - error_text: Decimal numbers can be used from this level on, but you can't use commas. - error_code: '{print} 2,5 + 2,5' - solution_text: 'This is the correct code:' - solution_code: '{print} 2.5 + 2.5' - - level: '13' - sections: - - title: Students confuse `and` with `or` - example: - error_text: Both commands might appear similar, but their functions are very different. - error_code: |- - game {is} {ask} 'Do you want to play a game?' - time {is} {ask} 'Do you have time to play?' - {if} game {is} 'yes' {or} time {is} 'yes' - {print} 'Lets play!' - solution_text: In this case, the person should answer yes on both questions, so you should use `and`. - solution_code: |- - game {is} {ask} 'Do you want to play a game?' - time {is} {ask} 'Do you have time to play?' - {if} game {is} 'yes' {and} time {is} 'yes' - {print} 'Lets play!' - - level: '14' - sections: - - title: Students confuse the < and > signs - example: - error_text: Often, students are already familiar with these signs from maths class. But if your students don't know these signs yet, they might have a challenge with it. - error_code: |- - age = {ask} 'How old are you?' - {if} age < 12 - {print} 'You are older than I am!' - solution_text: 'This is the correct code:' - solution_code: |- - age = {ask} 'How old are you?' - {if} age > 12 - {print} 'You are older than I am!' - - title: Students use the wrong signs for `!=` `<=` and `>=` - example: - error_text: These signs are probably new for most students. Make sure to explain these signs to your students. - error_code: |- - name = {ask} 'What is your name?' - {if} name = 'Hedy' - {print} 'You are not Hedy' - solution_text: 'This is the correct code:' - solution_code: |- - name = {ask} 'What is your name?' - {if} name != 'Hedy' - {print} 'You are not Hedy' - - title: Students forget to use the == sign - example: - error_text: In this level, students are still allowed to use = or is. But on other levels, or in python, they might get in trouble for that. So it is best to train them to use it. - error_code: |- - name = {ask} 'What is your name?' - {if} name = 'Hedy' - {print} 'You are cool!' - solution_text: 'This is the correct code:' - solution_code: |- - name = {ask} 'What is your name?' - {if} name == 'Hedy' - {print} 'You are cool!' - - level: '15' - sections: - - title: Students forget indentation in the while loop - example: - error_text: Indentation is often hard for students. - error_code: |- - answer = 0 - {while} answer != 25 - answer = {ask} 'What is 5 times 5?' - {print} 'A correct answer has been given' - solution_text: 'This is the correct code:' - solution_code: |- - answer = 0 - {while} answer != 25 - answer = {ask} 'What is 5 times 5?' - {print} 'A correct answer has been given' - - level: '16' - sections: - - title: Students forget the brackets - example: - error_text: From this level on lists should be in brackets. - error_code: |- - icecream = 'starwberry', 'chocolate' - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students use the wrong brackets - example: - error_text: From this level on lists should be in brackets. - error_code: |- - icecream = ('starwberry', 'chocolate') - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students forget the quotation marks while focussing on the brackets - example: - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: |- - icecream = [starwberry, chocolate] - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students still use the old at random command - example: - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: |- - icecream = [starwberry, chocolate] - {print} 'I love ' icecream at random ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students forget the quotation marks while focussing on the brackets - example: - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: |- - icecream = [starwberry, chocolate] - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - level: '17' - sections: - - title: Students use `{elif}` like `{else}`, so without a condition - example: - error_text: The `{elif}` command needs a condition behind it. It cannot be used like `{else}`, without a condition. - error_code: |- - color = ask 'What is your favorite color?' - {if} color == 'green': - {print} 'green is nice' - {elif}: - {print} 'I like green' - solution_text: 'This is the correct code:' - solution_code: |- - color = {ask} 'What is your favorite color?' - {if} color == 'green': - {print} 'green is nice' - {elif} color == yellow: - {print} 'yellow is alright' - {else}: - {print} 'I like green' - - title: Students forget the colon - example: - error_text: After each command that requires indentation, a colon should be used. - error_code: |- - answer = ask 'How are you doing?' - {if} answer {is} 'great' - {print} 'Me too!' - {elif} answer {is} 'bad' - {print} 'Let me cheer you up!' - {else} - {print} 'Im great!' - solution_text: 'This is the correct code:' - solution_code: |- - answer = {ask} 'How are you doing?' - {if} answer {is} 'great': - {print} 'Me too!' - {elif} answer {is} 'bad': - {print} 'Let me cheer you up!' - {else}: - {print} 'Im great!' - - level: '18' - sections: - - title: Students forget to use the brackets - example: - error_text: Students will forget to put brackets around their text. - error_code: "{print} 'my name is Hedy!'" - solution_text: 'This is the correct code:' - solution_code: "{print}('my name is Hedy!')" - - title: Students will still use the ask command - example: - error_text: The ask command has been used since level 1. So it might be hard for the students to switch to input instead of ask. - error_code: |- - {print}('My name is Hedy!') - name = ask('What is your name?') - {print}('So your name is ', name) - solution_text: 'This is the correct code:' - solution_code: |- - {print}('My name is Hedy!') - name = {input}('What is your name?') - {print}('So your name is ', name) - - title: Students might use the brackets as quotation marks - example: - error_text: They have learned to keep the variables outside of the quotation marks, so they might do the same with the brackets. Which is not the correct way to use them. - error_code: |- - temperature = 25 - {print}('It is ') temperature ('degrees outside') - solution_text: 'This is the correct code:' - solution_code: |- - temperature = 25 - {print}('It is ', temperature, 'degrees outside') +{} diff --git a/content/pages/ca.yaml b/content/pages/ca.yaml index 577c93a6d2a..2ea7ef772f4 100644 --- a/content/pages/ca.yaml +++ b/content/pages/ca.yaml @@ -43,22 +43,8 @@ join-sections: Hedy està dissenyat per donar suport als professors a proporcionar lliçons de programació a classe. Tenim funcions específiques del professor com l’opció de crear una classe, personalitzar -la i veure com estan els vostres estudiants. Si us agrada Hedy, podeu contactar a les escoles que sabeu per ajudar els professors a començar. Us podem ajudar a trobar escoles o professors a través de Discord . learn-more-sections: -- title: The Hedy foundation - text: |- - Hedy is maintained by the Hedy Foundation (Stichting Hedy), Sportmanstaat 8, 2341 JG Oegstgeest, Dutch Chamber of Commerce number 94013985. - - The board of the foundation consists of: - - * Felienne Hermans, president - * Eelko Huizing, finance - * Renée Merbis, secretary - - The board of Stichting Hedy does not get any financial compensation for their tasks. -- title: A deep dive! - text: |- - Want to know more about Hedy's philosophy and design? Check out this talk Felienne gave at the StrangeLoop Conference in 2022: - - +- {} +- {} - title: Hedy a les notícies text: |- Alguns llocs web i diaris han escrit sobre Hedy des del nostre llançament a principis de 2020. En conservem una llista aquí: @@ -124,16 +110,6 @@ teacher-guide: text: |- Tots els professors, programadors i altres fans de Hedy poden unir-se al nostre servidor de Discord. Aquest és el lloc ideal per xerrar sobre Hedy: tenim canals on mostrar els teus projectes i lliçons interessants, canals per informar d'errors i canals per xerrar amb altres professors i amb l'equip de Hedy. Aquí podeu trobar un vídeo sobre com unir-vos a la comunitat de Discord. - - title: Hedy and the GDPR - text: |- - Organizations in the EU have to comply with the GDPR (General Data Protection Regulation) when processing personal data. - Because this is a complex issue for many schools, you can use all Hedy programming functionalities without sharing personal data. - The easiest way to do this is to use Hedy without creating accounts for the teacher and students. Without accounts, all functionality is available, with the exception of personalizing levels, saving students' programs and viewing their progress. That is limiting, but there are schools that use Hedy in that way. - - A second way is for a teacher to create an account with an email address without personal data, for example "docent25@email.com". Apart from an email address, which is only required to reset your password, you do not need to share any information when you create a teacher account. - With a teacher account, you can create anonymous accounts for students, e.g. rainbow-student1, rainbow-student2, etc (See 'Teaching preparations' for a detailed manual). This way you can use all functionality of Hedy, including saving progress, without sharing personal data of yourself or your students. - - If the above is not sufficient for your context, we can sign a processing agreement for the processing of your personal data. - title: Tutorial key: tutorial subsections: @@ -142,59 +118,14 @@ teacher-guide: - title: Teaching preparations key: preparations subsections: - - title: For teachers - text: You can prepare your classes at the For Teachers page. On this page you'll find everything you'll need to teach with Hedy, like your classes, your adventures and slides. All the functionalities of the for teachers page are explained below. - - title: Creating a Class - text: |- + - {} + - text: |- Com a professor, podeu crear una classe per als vostres alumnes. En aquesta classe podeu veure els comptes dels estudiants i els seus programes i podeu fer un seguiment del seu progrés. Aquest vídeo us mostra com crear ràpidament una classe a Hedy. - - title: Duplicate a class - text: |- - Are you teaching multiple classes? Then you don't have to customize each class individually. Simply make a class, costumize the class (see "Customize your Class" to learn how) and then duplicate this class as many times as you want. - You can duplicate the class on the 'For Teachers' page. If you duplicate a class, all the class settings are duplicated as well. This means that all the levels and adventures you've made unavailable for the first class will now be unavailable for the new class(es) as well. - The student accounts and second teacher accounts in your class will not be duplicated into the new class. - - title: Add a second teacher - text: |- - Are you not the only teacher that teaches your class? Then you can now add another teacher to the class. Go to the 'For teachers' page and click on the class. Then choose 'Invite a teacher' and fill in the username of your colleague. - Your colleague will get an invitation on their account to join your class. They can see that invitation message by clicking on their username in the upper right corner of the screen and selecting 'My account'. - Once the other teacher accepts the invitation they can customize the class as well. - To remove a second teacher from your class, go to the class page and remove the second teacher. The teacher who's created the class cannot be removed. - - title: Customize your Class - text: |- - You can customize your class and choose which adventures are available for your students. This way your students won't be overwhelmed by the amount of adventures and levels, and they can specifically focus on the adventures you'd like them to practice with. - Click on your class on the for teachers page and choose 'customize class'. On this page you can select levels, set opening dates, unlock level thresholds and more. - - **Select and order adventures** - - In this section you can select and order adventures. The pink tabs are adventures with new commands. The gray tabs are regular adventures. To rearrange the order of the adventures, you can drag the tabs. However, we do advise you to use the regular order of adventures as the Hedy team made sure the adventures go from easiest to hardest. - If you want to remove an adventure for your students, simply click the cross on the adventure's tab. - - If you want to add adventures, for instance your own adventure or an adventure you accidentally removed, use this menu to add the adventure to your students' adventures. Simply click the adventure you want to add and it (re)appears in the line of adventures. To undo all your changes to the adventures, click 'Reset'. - - **Opening dates** - - With this feature you can set opening dates for the levels. This way you can make a lesson plan before your course begins and not worry about opening new levels each week. In the image above the first level is opened directly, the second will open the 23th of september, and the 3rd level the week after. The other levels are closed. - Don't want to set opening dates? No problem, just leave this section blank. - - **Unlock level thresholds** - - This featue allows you to set a threshold for your students' quiz grade, before they can continue to the next level. For example, if you enter "80" your students have to score at least 80% on the quiz before they are allowed to go to the next level. If they haven't met the threshold, they are not allowed to continue and have to retake the quiz. - Don't want to use the threshold? No worries, just keep this section blank. - - - **Other settings** - - There are some other setting that could be usefu to you aswell. Our first extra setting is 'Mandatory developer's mode'. In developers mode the students only see their input and output screens and the run button. The adventures are hidden and there are no cheatsheets available. This might come in handy in a test situation. - If this option is not selected the developer's mode is available for students too as a voluntary option. - - If you want all your students to be visible in de class highscore, you can select the second option. - With all the other options you can choose to hide some functions or content for your students, this might help them focus more. - - **Save** - - Don't forget to save your changes when you're done customizing your class. - - title: Student Accounts - text: |- + - {} + - {} + - {} + - text: |- Hi ha dues maneres de permetre que els teus alumnes s'uneixin a la teva classe: pots crear-los un compte o ells poden crear els seus propis comptes. **Creeu comptes per als vostres estudiants** @@ -206,8 +137,7 @@ teacher-guide: Els vostres estudiants també poden anar al lloc web de Hedy i crear els seus propis comptes, tal com ho heu fet vosaltres. Per incorporar-los a la vostra classe, només han de fer clic a l'enllaç d'invitació. Podeu trobar l'enllaç d'invitació a la pàgina de la classe i enviar-lo als vostres alumnes. Tingueu en compte que els vostres estudiants han d'iniciar sessió a Hedy quan facin clic a l'enllaç per tal que funcioni sense problemes. També podeu convidar manualment un estudiant a la vostra classe amb el botó "Convida per nom d'usuari". - - title: Setting preferred language - text: |- + - text: |- Quan els estudiants creen perfils, se suposa que han d'escollir un "idioma preferit". Hedy sempre es carregarà en aquest idioma seleccionat. El canvi d'idioma sempre es pot fer més endavant tornant a navegar a "El meu compte" i a "La meva configuració personal". @@ -223,8 +153,7 @@ teacher-guide: **Vídeo** Aquest vídeo us mostra com establir un idioma preferit i canviar les paraules clau al vostre idioma preferit com bé. - - title: Storing programs - text: |- + - text: |- Com que ja heu iniciat sessió, veureu el bàner blau amb El meu perfil i Els meus programes. Aquestes pestanyes també existeixen per als vostres estudiants. A Els meus programes pots trobar tots els codis que has desat. @@ -233,9 +162,7 @@ teacher-guide: Si voleu deixar de compartir el vostre programa, aneu a "Els meus programes" i feu clic a "Deixa de compartir". The paper plane icon can be used to hand in programs to the teacher of a class. Programs that have been handed is will no longer be editable. -- title: Teaching with Hedy - key: teaching - subsections: +- subsections: - title: Ensenyant amb Hedy text: |- Hedy conté molts nivells diferents que ensenyen una nova habilitat diferent. Recomanem ensenyar un nivell per lliçó. @@ -277,49 +204,7 @@ teacher-guide: Completa la teva lliçó fent una breu avaluació. Què van aprendre els alumnes? Quines dificultats van trobar? Com van aprendre dels seus errors? I per descomptat: què van crear? Sovint, els estudiants estan molt orgullosos de les seves pròpies creacions, així que és bo estalviar una mica de temps i donar als seus alumnes l'oportunitat de mostrar el seu treball als seus companys. -- title: Teacher Statistics - key: teacher_statistics - subsections: - - title: Live Dashboard - text: |- - If you would like to keep track of your students' progress, you can make use of the live dashboard. You can find the live dashboard by clicking 'Live statistics' on your class page. - - All the features of this dashboard are explained below. - - title: Level Selection - text: |- - - Firstly, you can select the levels you'd like to see on the dahsboard. Select the levels your students are currently working on by clicking on the number of that level. Deselect levels that you do not want to see by clicking them again. - In this example level 1 and 2 are selected. You can click on refresh to refresh the dashboard and get the most current stats. - - title: Class Overview - text: |- - - In the class overview you can see which adventure your students are working on right now. You can see that one student is working on the 'Rock, Paper, Scissors' adventure in level 1, one is working on the 'Fortune Teller' in level 1 and one student is working on the 'Rock, Paper, Scissors' adventure in level 2. - If you'd like to know which of your students is working on the adventure, simply click the number and their accountnames will appear. - You can also see how many of your students have finished the quiz. In this case, one student finished the quiz in level 1. Again, you can click the 1 to see which of your students it is. - - You can also see one of the students is 'missing' from this overview. That's because he's working on an adventure in level 4, which is not selected. - - title: Student List - text: |- - - Here you can find a list of your students and you can see their individual progress. The blue ring shows you what your students are currently working on. - - It is important to notice that the blue dots means that a students 'attempted' the adventure. This means that they ran a code in this adventure and went on to the next adventure, so this does not automatically mean that they did a good job! - If you want to see how an individual student is getting along, you can click their name in this overview. This is what you see if you click on marleen_h3a for example: - - You see that Marleen is having some trouble programming. She tried to run a program that contains blanks multiple times, so she probably doesn't know that she has to change something in the example code before running it. - In this way this overview can give you a better understanding of what a student is struggling with. - - title: Common Errors - text: |- - - If you're not only interested in individual struggles of your students, but you'd like to know what the whole class seems to be doing wrong, you can use this oversight of common errors. - The most common error messages that your students are recieving will appear in this oversight for you, so you could give some more instructions to the whole class if needed. - By clicking the error, you can see which students are having trouble with this error. By clicking resolve, you'll remove this error from the list. - - title: Overview of programs per adventure - text: |- - - Another useful overview of all the programs your students made in a level can be found on your class page. Go to the class page and click 'Overview of programs per adventure'. Here you'll find this overview. - You could use this overview to check your students' work. If they have made a program in an adventure, an eye appears in your overview. Click the eye to view their work. Did you like it? Then you can check the box and a green tick will appear. - This way you create a nice overview for yourself of your students' results. +- {} - title: Funcions extra Hedy key: funcions subsections: @@ -359,19 +244,8 @@ teacher-guide: So if you've forgotten how a command works, simply take a peek at the cheat sheet! - title: Other useful features text: Aquest vídeo us mostra encara més funcions d'Hedy, com ara els fulls de trucs i el commutador de paraules clau. -- title: After Hedy - key: after - subsections: - - title: What to do after Hedy? - text: |- - Congratulations on reaching the end of Hedy! Your students have now learned how to create their own basic code in the Python programming language. - Of course, you could keep programming in our Hedy compiler, but it might be more exciting for your students to transfer to a "real" Python interface. - Would you like to continue teaching Python? Then please visit the Python website to learn how to get started in another compiler. - - Now that your students have a basic knowledge of programming in general, you could also show them around in other textual programming languages. The language might change but the concepts do not, so Hedy will still give them a big advantage. -- title: Answers to the exercises - key: answers - intro: |- +- {} +- intro: |- Les respostes a tots els exercicis es poden trobar al perfil públic del compte d'usuari 'Hedy_answers'. Sovint animem als estudiants a usar la seva pròpia creativitat en les respostes, així doncs les respostes són simplement una guia sobre com podria ser una possible resposta correcta. Per anar al perfil 'Hedy_answers', fes clic aquí. @@ -380,763 +254,26 @@ teacher-guide: intro: |- Pots aprendre dels teus errors, sobretot en la programació! Cometre errors és inevitable i una gran oportunitat per aprendre, però per als professors pot ser un repte trobar la solució correcta per a un error! Sobretot mesura que els programes es fan més i més llargs a mesura que els estudiants avancen de nivells. És per això que hem fet una llista amb els errors més freqüents a cada nivell i les seves solucions. levels: - - level: '1' - sections: - - title: Students forget to type commands - example: - error_text: For example they type a sentence without using print. - error_code: Hedy can't print this - solution_text: Teach your students to always start a line of code with a command. - solution_code: '{print} Hedy can print this!' - - title: Students use capitals when typing commands - example: - error_text: Commands won't work if they are in capitals. - error_code: |- - Ask Why does my code fail? - Print Because I'm using capitals. - solution_text: Remove the capitals. - solution_code: |- - {ask} Why does my code work now? - {print} Because I removed the capitals! - - title: Students use echo without ask - example: - error_text: Echo is made to repeat an answer after an ask command. Without ask echo won't do anything. - error_code: '{echo} Your name is' - solution_text: Add an ask command to make it work. - solution_code: |- - {ask} What's your name? - {echo} Your name is - - title: Students want their echo word (variable) to be in the middle of a sentence - example: - error_text: And they are right! That's why they will learn to use proper variables in the next level. - error_code: |- - {ask} Which programming language is the most fun? - {echo} is the best! - solution_text: 'In level 1 we have to keep it at this:' - solution_code: |- - {ask} Which programming language is the most fun? - {echo} The best is... - - title: 'Turtle: Students let the turtle walk off of the screen' - example: - error_text: Often students love to try out big numbers when using the turtle, which causes the arrow to walk off the screen. - error_code: |- - {forward} 300 - {turn} 90 - solution_text: In the example, students tend to think that the turn command doesn't work. Even though it does work, you can't see it happening off screen. Use smaller numbers to prevent this from happening. - solution_code: |- - {forward} 100 - {turn} 90 - - title: "Tortuga: Els estudiants usen l'ordre retrocedir, però no existeix." - example: - error_text: Backward is not a command. - error_code: backward 100 - solution_text: 'To make the turtle go backwards, you use the forward command and a negative number. For example:' - solution_code: '{forward} -100' - - level: '2' - sections: - - title: Students make typos in their commands - example: - error_text: Hedy can't recognize a command with a typo. - error_code: prinnt Don't make typos - solution_text: Teach your students to read the error messages. This way they can find out themselves what went wrong. - solution_code: "{print} Don't make typos" - - title: Students forget that the ask command has changed - example: - error_text: In this level students learn about variables. The ask command requires a variable as well, but students forget this. - error_code: ask what would you like to eat - solution_text: In this level you have to tell Hedy where to save your answer, so it can be used later on. This is called a variable. - solution_code: order {is} {ask} What would you like to eat - - title: Students try to use the `{echo}` command - example: - error_text: For some students it might be frustrating to learn that the `{echo}` command doesn't work anymore. That's why it's very important to explain the advantages of using variables. For example you can use multiple variables in a code, and you can put them anywhere you like in a sentence! - error_code: |- - answer {is} {ask} Why doesn't {echo} work anymore?! - {echo} - solution_text: Use a variable instead. - solution_code: |- - answer {is} {ask} Why doens't {echo} work anymore?! - {print} answer - - title: Students use a variable name or as a normal word - example: - error_text: In the example below the word 'name' is used as a variable, but also as a normal text. The output of this code will be 'Hi my Hedy is Hedy'. - error_code: |- - name {is} Hedy - {print} Hi my name is name - solution_text: So don't use a word you want to use in the text as a variable name. In level 4 this is solved with quotation marks. - solution_code: |- - name {is} Hedy - {print} Hi I'm name - - title: Students use long variable names containing two words. - example: - error_text: A variable should be named with one word. You could use an underscore to connect two words. That counts as one. - error_code: chosen door is ask Which door do you pick - solution_text: Add an underscore. - solution_code: chosen_door {is} {ask} which door do you pick - - title: Students might use two different names for the same variable - example: - error_text: In this example the student has used 'horse' and 'name' for the same variables. - error_code: |- - horse {is} {ask} What is your horse called - {print} Your horse is called name - solution_text: Always check whether the variable has the same name throughout the code. Slight differences can be hard to spot (for example plurals) but they will interfere with the code. - solution_code: |- - name {is} {ask} What is your horse called - {print} Your horse is called name - - level: '3' - sections: - - title: Students try to print whole lists - example: - error_text: A list can't be printed. You can only print one item from the list with {at} {random}. - error_code: |- - groceries {is} apples, milk, chocolate - {print} groceries - solution_text: To print a list of all the groceries, you simply need to put them after a `{print}` command. Else you can use the list to print one item with `{at}` `{random}`. - solution_code: |- - {print} apples, milk, chocolate - - # or - - groceries {is} apples, milk, chocolate - {print} groceries {at} {random} - - title: Students use the name of a variable or list as regular text - example: - error_text: This problem probably occured in level 2 as well. Now it can happen with lists too. - error_code: |- - name {is} Hedy - {print} Hi my name is name - - # or - - animal {is} rhino, bee, swan - {print} The best animal is... animal {at} {random} - solution_text: Don't use the names of variables or lists in regular text to print. In level 4 this problem is solved with quotation marks. - solution_code: |- - name {is} Hedy - {print} Hi I'm name - - # or - - animals {is} rhino, bee, swan - {print} The best animal is... animals {at} {random} - - title: Students forget `{at}` in `{at}` `{random}` - example: - error_text: Like in the example - error_code: |- - birds {is} sparrow, seagull, robin - {print} birds random - solution_text: This problem is solved by adding the word at. - solution_code: |- - birds {is} sparrow, seagull, robin - {print} birds {at} {random} - - title: Students forget to use the `{print}` command when also using the `{at}` `{random}` command - example: - error_text: Or they will sometimes put `{at}` `{random}` at the beginning of the line. - error_code: |- - fruit {is} apple, cherry, banana - fruit {at} {random} - solution_text: Emphasize to your students that you always need a print to print text. - solution_code: |- - fruit {is} apple, cherry, banana - {print} fruit {at} {random} - - title: Students forget to use commas in their lists - example: - error_text: In a list items are seperated with a comma. - error_code: |- - pizzas {is} funghi tonno quattro stagioni - {print} pizzas {at} {random} - solution_text: After each item on your list, there should be a comma - solution_code: |- - pizzas {is} funghi, tonno, quattro stagioni - {print} pizzas {at} {random} - - title: Students try to use `{at}` `{random}` without a list - example: - error_text: For example - error_code: |- - clubs {is} Manchester United - {print} clubs {at} {random} - solution_text: Hedy can't print anything at random, because there is no list to choose from. - solution_code: |- - clubs {is} Manchester United, Bayrn Munchen, FC Barcelona - {print} clubs {at} {random} - - title: Students try to use add/remove without a list - example: - error_text: In the example below 'names' is not a list, but a variable. You cannot add anything to it. - error_code: |- - names {is} Jake - your_name {is} {ask} Who are you? - {add} your_name {to} names - {print} names {at} {random} - solution_text: There has to be a list first, so you have to add a second name to turn names into a list, for example Amy. If you don't want amy on your list, you can use remove to remove it after. - solution_code: |- - names {is} Jake, Amy - your_name {is} {ask} Who are you? - {add} your_name {to} names - {print} names {at} {random} - - title: Els estudiants obliden utilitzar '{to}'/'{from}' en '{add}'/'{remove}' - example: - error_text: Without to/from the add/remove command won't work. - error_code: |- - adventures {is} story, parrot, dice - choice {is} Which adventure do you like best? - {add} choice - {remove} dice - {print} I love adventures {at} {random} - solution_text: Hedy has to know which list the item should be added to/removed from. - solution_code: |- - adventures {is} story, parrot, dice - choice {is} Which adventure do you like best? - {add} choice {to_list} adventures - {remove} dice {from} adventures - {print} I love adventures {at} {random} + - {} + - {} + - {} - level: '4' sections: - - title: Students forget to use quotation marks on both sides of the text - example: - error_text: In this level print and ask need a set of quotation marks. One before of the text and one after. - error_code: |- - {print} Hello - mood {is} {ask} 'How are you? - solution_text: Add the correct quotation marks. - solution_code: |- - {print} 'Hello' - mood {is} {ask} 'How are you?' - - title: Students use the wrong quotation marks - example: + - {} + - example: error_text: És important començar la classe comprovant si els estudiants saben com escriure les cometes correctament. A Hedy, els estudiants poden usar cometes simples ('') i dobles (""). Per altra banda, els accents no es consideren cometes vàlides (``). - error_code: |- - {print} `Welcome to the restaurant` - food {is} {ask} "What would you like to order?" - solution_text: 'These are the correct quotation marks:' - solution_code: |- - {print} 'Welcome to the restaurant' - food {is} {ask} 'What would you like to order?' - - title: Students use an apostrophe in their text - example: - error_text: From this level on apostrophes are not allowed. They are often used in English when typing contractions like you're, don't or what's. - error_code: "{print} 'You're not allowed to type this'" - solution_text: You can choose to use the wrong grammar and just leave the apostrophe out. Or you could use the ` as an apostrophe. - solution_code: |- - {print} 'Youre allowed to type this' - {print} 'And you`re able to do this' - level: '5' sections: - - title: Students forget to use `{print}` in an `{if}` command - example: - error_text: After students use `{if}` or `{else}` they forget to use a second command like `{print}` or `{ask}`. - error_code: |- - {if} name {is} Hedy 'Great!' - {else} Hedy {is} better! - solution_text: Add the print command to fix it. - solution_code: |- - {if} name {is} Hedy {print} 'Great!' - {else} {print} 'Hedy is better!' - - title: Students might use two different names for the same variable - example: - error_text: In this example the student has used 'horse' and 'name' for the same variables. - error_code: |- - horse {is} {ask} 'What is your horse called?' - {if} name {is} Bonfire {print} 'cool' - {else} {print} 'less cool!' - solution_text: Always check whether the variable has the same name throughout the code. Slight differences can be hard to spot (for example plurals) but they will interfere with the code. - solution_code: |- - horse {is} {ask} 'What is your horse called' - {if} horse {is} Bonfire {print} 'cool!' - {else} {print} 'less cool!' - - title: Students still forget the quotes on both sides - example: - error_text: Using the `if` command can make the code lines very long and students tend to forget to use quotes. - error_code: |- - {if} name {is} Hedy {print} fun - {else} {print} 'meh! - solution_text: Always use 2 quotes in a print command. - solution_code: |- - {if} name {is} Hedy {print} 'fun' - {else} {print} 'meh!' - - title: Students use quotes around variable names - example: - error_text: In this level there are no quotes around variable names. - error_code: |- - {if} name {is} 'Hedy' {print} 'fun' - {else} {print} 'meh!' - solution_text: Remove the quotes to get the code to work. - solution_code: |- - {if} name {is} Hedy {print} 'fun' - {else} {print} 'meh! + - {} + - {} + - {} + - {} - title: Els estudiants usen noms de variables llargs que contenen dues o més paraules example: error_text: Les variables a Hedy no poden contenir espais, així doncs, per tal d'usar diverses paraules juntes, els estudiants han de connectar-les usant guions baixos (_) - error_code: chosen door is ask Which door do you pick? - solution_text: Add an underscore. - solution_code: chosen_door {is} {ask} 'which door do you pick?' - - title: Students want multiple answers to be correct - example: + - example: error_text: Per exemple, aquest estudiant vol que Hedy li digui tots els seus amics que són divertits, mentre que als altres companys els hauria de dir que no ho són. error_code: "{if} name {is} Jesse, David, Souf print You are funny {else} {print} 'You are not funny'" solution_text: |- Pots usar la comanda '{in}' per això. Tot i que s'explica en un nivell superior, ja funciona a partir del nivell 5. Una altra solució és usar múltiples comandes '{if}' i cap comanda '{else}'. El desavantatge és que no podrà dir als altres companys que no són divertits. - solution_code: |- - friends {is} Jesse, David, Souf - name {is} {ask} 'Who are you?' - {if} name {in} friends {print} 'You are funny' - {else} {print} 'You are not funny' - - # or - - name {is} {ask} 'Who are you?' - {if} naam {is} Jesse {print} 'You are funny' - {if} naam {is} David {print} 'You are funny' - {if} naam {is} Souf {print} 'You are funny' - - title: The students make the variable name the same as the value in the `{if}` statement - example: - error_text: In the example below the password is 'password'. This will result in it always being correct. - error_code: |- - password {is} {ask} 'What is the password?' - {if} password {is} password {print} 'Access granted' - {else} {print} 'Acces denied!' - solution_text: Pick a different name for your variable. - solution_code: |- - secret_password {is} {ask} 'What is the password' - {if} secret_password {is} password {print} 'Access granted!' - {else} {print} 'Access denied!' - - level: '6' - sections: - - title: Students struggle with quotation marks - example: - error_text: Some students struggle with adding quotation marks or not. If you add quotation marks, the output screen will literally show '5+5'. - error_code: "{print} '5 + 5'" - solution_text: In this code the output screen will print '10'. - solution_code: '{print} 5 + 5' - - title: Students struggle with the concept of doing maths with a variable - example: - error_text: 'Some students will find it hard to do maths with variables. Try to show them very simple examples, like:' - error_code: |- - age = {ask} 'How old are you?' - {print} 'Next year you will be ' age + 1 - solution_text: Or take it a step further like this. - solution_code: |- - price = 0 - {print} 'Welcome to our burger restaurant' - burger = {ask} 'Would you like a burger?' - {if} burger = yes price = price + 10 - drink = {ask} 'Would you like a drink?' - {if} drink = yes price = price + 4 - {print} 'That will be ' price ' euros please' - - level: '7' - sections: - - title: Students forget one of the word of the repeat command, or they forget the print command - example: - error_text: Make sure that the students know to use both the full repeat command and the print command. - error_code: |- - {repeat} 3 {times} For he`s a jolly good fellow - {repeat} 3 print - solution_text: 'This is the correct code:' - solution_code: |- - {repeat} 3 {times} {print} 'For he`s a jolly good fellow' - {repeat} 3 {times} {print} 'Which nobody can deny!' - - title: Students try to repeat multiple lines - example: - error_text: In this level you can only repeat one line of code multiple times. In this code the student wanted to print 3 different drinks, but it won't work. It will ask the question 3 times and only print the last answer. - error_code: |- - {repeat} 3 {times} drink = {ask} 'What would you like to drink?' - {print} drink - solution_text: You should go to the next level to be able to repeat multiple lines. So on this level you'll have to print everything seperately. - solution_code: |- - drink = {ask} 'What would you like to drink?' - {print} drink - drink = {ask} 'What would you like to drink?' - {print} drink - drink = {ask} 'What would you like to drink?' - {print} drink - - title: Students make programs that take too long to run - example: - error_text: In this level it's very easy to make long-running programs. The students aren't allowed to make programs that take to long to load (to save our servers). - error_code: "{repeat} 100 {times} {print} 'How many times can I repeat this?'" - solution_text: Make sure the programs aren't too long - solution_code: "{repeat} 20 {times} {print} 'This is enough'" - - level: '8' - sections: - - title: Students use the indentation wrong - example: - error_text: Indentation is a new concept in this level, that is hard to use for some students. Make sure they practise some simple snippets before making a whole program with it. - error_code: |- - {repeat} 3 {times} - {print} 'hello' - solution_text: 'This is the correct code:' - solution_code: |- - {repeat} 3 {times} - {print} 'hello' - - title: Students only repeat 1 line when they wanted to repeat multiple lines - example: - error_text: For instance, in the code below the student wanted to take the drinks order of 3 people. But instead the program asked 3 times, but only wrote down one order. - error_code: |- - {repeat} 3 {times} - drink = {ask} 'What would you like to drink?' - {print} drink - solution_text: |- - In the correct code the third line starts with indentation too. This way it belongs to the repeat block and therefore it will be repeated 3 times. - Showing your students these differences can help them understand why we need indentation to make our programs work. - solution_code: |- - {repeat} 3 {times} - drink = {ask} 'What would you like to drink?' - {print} drink - - title: Students want to nest `{if}` statements, or put `{if}` statements inside a loop - example: - error_text: |- - In this level students aren't allowed yet to put `{if}` statements inside other `{if}` statements or inside repeat loops. - In the next level this is allowed. - error_code: |- - birthday = {ask} 'Is it you birthday?' - {if} birthday = yes - {repeat} 3 {times} - {print} 'Hip Hip Hooray!' - solution_text: 'This is the correct code for this level:' - solution_code: |- - birthday = {ask} 'Is it you birthday?' - {if} birthday = yes - {print} 'Hip Hip Hooray!' - {print} 'Hip Hip Hooray!' - {print} 'Hip Hip Hooray!' - - title: Students make programs that take too long to run - example: - error_text: In this level it's very easy to make long-running programs. The students aren't allowed to make programs that take to long to load (to save our servers). - error_code: |- - {repeat} 100 {times} - {print} 'How many times can I repeat this?' - solution_text: Make sure the programs aren't too long - solution_code: |- - {repeat} 20 {times} - {print} 'This is enough' - - title: Students use the `{if}` command to check if the variable value is the same as the variable name - example: - error_text: |- - We have seen this mistake by some of our students. They make a password for their computer, but they make the password 'password'. - In line 2 the computer is asked to check whether the variable password is the same as the variable password, so itself. Which means the answer is always yes. - So with this code the answer will always be 'You can come in' no matter what the player fills in. - error_code: |- - password {is} {ask} 'What is the password?' - {if} password {is} password - {print} 'You can come in' - {else} - {print} 'You are not allowed' - solution_text: You can fix this mistake by adding quotation marks. This way the computer knows that the second password in `{if} password {is} 'password'` is a string value (so normal text) and not the variable name. - solution_code: |- - password {is} {ask} 'What is the password?' - {if} password {is} 'password' - {print} 'You can come in' - {else} - {print} 'You are not allowed' - - level: '9' - sections: - - title: Students make mistakes with indentation - example: - error_text: The hardest part about this level is getting the indentation right. Students love nesting `{if}` statements, sometimes even inside other nested `{if}` statements. Keeping track of indentation can get pretty tough. - error_code: |- - {print} 'Robin is walking downtown' - location = {ask} 'Is Robin going into a shop, or does she go home?' - {if} location {is} shop - {print} 'She enters the shop.' - {print} 'Robin sees an interesting looking book' - book = {ask} 'Does Robin buy the book?' - {if} book {is} yes - {print} 'Robin buys the book and goes home' - {else} - {print} 'Robin leaves the shop and goes home' - {else} - {print} 'Robin goes home' - solution_text: This is the correct code. Try to keep track of all the different constructions when putting `{if}` statements inside other `{if}` statements. - solution_code: |- - {print} 'Robin is walking downtown' - location = {ask} 'Is Robin going into a shop, or does she go home?' - {if} location {is} shop - {print} 'She enters the shop.' - {print} 'Robin sees an interesting looking book' - book = {ask} 'Does Robin buy the book?' - {if} book {is} yes - {print} 'Robin buys the book and goes home' - {else} - {print} 'Robin leaves the shop and goes home' - {else} - {print} 'Robin goes home' - - level: '10' - sections: - - title: Students do not use the for command correctly - example: - error_text: We often see that students try to print the list (in the example animals) instead of the items of the list. - error_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animals - solution_text: The word animals in the last line should be changed into animal. - solution_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animal - - title: Students forget the indentation - example: - error_text: Students tend to forget to use indentation after a for command. - error_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animals - solution_text: You should use indentation after a for command. - solution_code: |- - animals {is} dog, cat, blobfish - {for} animal {in} animals - {print} 'I love ' animal - - level: '11' - sections: - - title: Students forget to use indentation - example: - error_text: Make sure that the students use indentation. - error_code: |- - {for} i {in} {range} 1 {to} 5 - {print} i - solution_text: 'This is the correct code:' - solution_code: |- - {for} i {in} {range} 1 {to} 5 - {print} i - - title: Students don't understand the i - example: - error_text: |- - Some students don't understand that i is a variable. i is chosen, because it is used in Python programming, but you could just as easily use a different variable name. - For example, this code: - error_code: |- - {for} i {in} {range} 1 {to} 5 - {print} i - solution_text: Could just as well be replaced with this code. It works the same. - solution_code: |- - {for} banana {in} {range} 1 {to} 5 - {print} banana - - level: '12' - sections: - - title: Students forget quotation marks - example: - error_text: Students need more quotation marks now than in the previous levels. In this example quotation marks were forgotten in the list and in the `{if}` command. - error_code: |- - superheroes = Spiderman, Batman, Iron Man - superhero = superheroes {at} {random} - {if} superhero = Batman - {print} 'IM BATMAN!' - solution_text: 'This is the correct code:' - solution_code: |- - superheroes = 'Spiderman', 'Batman', 'Iron Man' - superhero = superheroes {at} {random} - {if} superhero {is} 'Batman' - {print} 'IM BATMAN!' - - title: Students use quotation marks on numbers they want to use for calculations - example: - error_text: |- - You can use quotation marks on numbers, but only if you want the computer to think of them as text. This means you can't do calculations with the number. - In the example below, you can't do maths with the number 25, because it's in quotation marks. - error_code: |- - score = '25' - answer {is} {ask} 'Do you want a point?' - {if} answer {is} 'yes' - score = score + 1 - {print} score - solution_text: 'This is the correct code:' - solution_code: |- - score = 25 - answer {is} {ask} 'Do you want a point?' - {if} answer {is} 'yes' - score = score + 1 - {print} score - - title: Students use commas instead of periods in decimal numbers - example: - error_text: Decimal numbers can be used from this level on, but you can't use commas. - error_code: '{print} 2,5 + 2,5' - solution_text: 'This is the correct code:' - solution_code: '{print} 2.5 + 2.5' - - level: '13' - sections: - - title: Els estudiants confonen `{and}` amb `{or}` - example: - error_text: Both commands might appear similar, but their functions are very different. - error_code: |- - game {is} {ask} 'Do you want to play a game?' - time {is} {ask} 'Do you have time to play?' - {if} game {is} 'yes' {or} time {is} 'yes' - {print} 'Lets play!' - solution_text: In this case, the person should answer yes on both questions, so you should use `and`. - solution_code: |- - game {is} {ask} 'Do you want to play a game?' - time {is} {ask} 'Do you have time to play?' - {if} game {is} 'yes' {and} time {is} 'yes' - {print} 'Lets play!' - - level: '14' - sections: - - title: Students confuse the < and > signs - example: - error_text: Often, students are already familiar with these signs from maths class. But if your students don't know these signs yet, they might have a challenge with it. - error_code: |- - age = {ask} 'How old are you?' - {if} age < 12 - {print} 'You are older than I am!' - solution_text: 'This is the correct code:' - solution_code: |- - age = {ask} 'How old are you?' - {if} age > 12 - {print} 'You are older than I am!' - - title: Students use the wrong signs for `!=` `<=` and `>=` - example: - error_text: These signs are probably new for most students. Make sure to explain these signs to your students. - error_code: |- - name = {ask} 'What is your name?' - {if} name = 'Hedy' - {print} 'You are not Hedy' - solution_text: 'This is the correct code:' - solution_code: |- - name = {ask} 'What is your name?' - {if} name != 'Hedy' - {print} 'You are not Hedy' - - title: Students forget to use the == sign - example: - error_text: In this level, students are still allowed to use = or is. But on other levels, or in python, they might get in trouble for that. So it is best to train them to use it. - error_code: |- - name = {ask} 'What is your name?' - {if} name = 'Hedy' - {print} 'You are cool!' - solution_text: 'This is the correct code:' - solution_code: |- - name = {ask} 'What is your name?' - {if} name == 'Hedy' - {print} 'You are cool!' - - level: '15' - sections: - - title: Students forget indentation in the while loop - example: - error_text: Indentation is often hard for students. - error_code: |- - answer = 0 - {while} answer != 25 - answer = {ask} 'What is 5 times 5?' - {print} 'A correct answer has been given' - solution_text: 'This is the correct code:' - solution_code: |- - answer = 0 - {while} answer != 25 - answer = {ask} 'What is 5 times 5?' - {print} 'A correct answer has been given' - - level: '16' - sections: - - title: Students forget the brackets - example: - error_text: From this level on lists should be in brackets. - error_code: |- - icecream = 'starwberry', 'chocolate' - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students use the wrong brackets - example: - error_text: From this level on lists should be in brackets. - error_code: |- - icecream = ('starwberry', 'chocolate') - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students forget the quotation marks while focussing on the brackets - example: - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: |- - icecream = [starwberry, chocolate] - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students still use the old at random command - example: - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: |- - icecream = [starwberry, chocolate] - {print} 'I love ' icecream at random ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - title: Students forget the quotation marks while focussing on the brackets - example: - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: |- - icecream = [starwberry, chocolate] - {print} 'I love ' icecream[{random}] ' icecream' - solution_text: 'This is the correct code:' - solution_code: |- - icecream = ['starwberry', 'chocolate'] - {print} 'I love ' icecream[{random}] ' icecream' - - level: '17' - sections: - - title: Students use `{elif}` like `{else}`, so without a condition - example: - error_text: The `{elif}` command needs a condition behind it. It cannot be used like `{else}`, without a condition. - error_code: |- - color = ask 'What is your favorite color?' - {if} color == 'green': - {print} 'green is nice' - {elif}: - {print} 'I like green' - solution_text: 'This is the correct code:' - solution_code: |- - color = {ask} 'What is your favorite color?' - {if} color == 'green': - {print} 'green is nice' - {elif} color == yellow: - {print} 'yellow is alright' - {else}: - {print} 'I like green' - - title: Students forget the colon - example: - error_text: After each command that requires indentation, a colon should be used. - error_code: |- - answer = ask 'How are you doing?' - {if} answer {is} 'great' - {print} 'Me too!' - {elif} answer {is} 'bad' - {print} 'Let me cheer you up!' - {else} - {print} 'Im great!' - solution_text: 'This is the correct code:' - solution_code: |- - answer = {ask} 'How are you doing?' - {if} answer {is} 'great': - {print} 'Me too!' - {elif} answer {is} 'bad': - {print} 'Let me cheer you up!' - {else}: - {print} 'Im great!' - - level: '18' - sections: - - title: Students forget to use the brackets - example: - error_text: Students will forget to put brackets around their text. - error_code: "{print} 'my name is Hedy!'" - solution_text: 'This is the correct code:' - solution_code: "{print}('my name is Hedy!')" - - title: Students will still use the ask command - example: - error_text: The ask command has been used since level 1. So it might be hard for the students to switch to input instead of ask. - error_code: |- - {print}('My name is Hedy!') - name = ask('What is your name?') - {print}('So your name is ', name) - solution_text: 'This is the correct code:' - solution_code: |- - {print}('My name is Hedy!') - name = {input}('What is your name?') - {print}('So your name is ', name) - - title: Students might use the brackets as quotation marks - example: - error_text: They have learned to keep the variables outside of the quotation marks, so they might do the same with the brackets. Which is not the correct way to use them. - error_code: |- - temperature = 25 - {print}('It is ') temperature ('degrees outside') - solution_text: 'This is the correct code:' - solution_code: |- - temperature = 25 - {print}('It is ', temperature, 'degrees outside') diff --git a/content/pages/kab.yaml b/content/pages/kab.yaml index 159f9751a5a..909f2a740a7 100644 --- a/content/pages/kab.yaml +++ b/content/pages/kab.yaml @@ -1,545 +1,34 @@ teacher-guide: - subsections: - title: D acu-t Hedy? - text: "Hedy is a textual programming language, specifically developed for (pre-)teens (10 to 15 years old).\nIn contrast to programming languages for kids, like Scratch, Hedy doesn't use code blocks but textual code.\nSo with Hedy you'll learn how to type code like the real programmers do, but in small steps with playful exercises.\nThis way Hedy can function as a stepping stone to real programming languages like Python in an accessible and mostly fun way!\nIf you want to know more, you can watch this video about the development of Hedy as a programming language." - - title: 'Target audience' - text: "Hedy is developed with middle school and junior high school students in mind (ages 10 - 15).\nIt'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.\nStudents (and teachers!) don't need any programming experience before starting with Hedy." - - title: How does Hedy work? - text: "Hedy is divided into levels, in which new commands are taught. Each level contains a variety of adventures to practice the newly learned commands.\nAs a teacher, you get to decide which adventures are available for your students. Will they be making a restaurant, a calculator or a haunted house this level? Within each level, the adventures are arranged from easiest to hardest.\nSo your students keep getting challenged. The adventures can be done by the students individually, or you can use them in a classical instruction.\n\nThe adventures also include a code example, to make sure the less digitally informed teachers are able to use Hedy too!\nOf course Hedy also caters to the creative teachers that love to make their own lessonplans and adventures!\n\nAfter programming all the adventures of a certain level, your students can test their knowledge in the quiz.\nYou can track your students' work and their progress on the class page." - - text: "Hedy is web-based, 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.\nThere's no need to download anything before working with Hedy, just go to the website and you're all set!" - title: Ibenkan - - title: The Hedy Community - text: "All Hedy teachers, programmers and other fans are welcome to join our Discord server. This is the ideal place to chat about Hedy: we have channels where you can show your cool projects and lessons, channels to report bugs, and channels to chat with other teachers and with the Hedy team.\nHere you can find a video on how to join the Discord Community." - - title: Hedy and the GDPR - text: "Organizations in the EU have to comply with the GDPR (General Data Protection Regulation) when processing personal data.\nBecause this is a complex issue for many schools, you can use all Hedy programming functionalities without sharing personal data.\nThe easiest way to do this is to use Hedy without creating accounts for the teacher and students. Without accounts, all functionality is available, with the exception of personalizing levels, saving students' programs and viewing their progress. That is limiting, but there are schools that use Hedy in that way.\n\nA second way is for a teacher to create an account with an email address without personal data, for example \"docent25@email.com\". Apart from an email address, which is only required to reset your password, you do not need to share any information when you create a teacher account.\nWith a teacher account, you can create anonymous accounts for students, e.g. rainbow-student1, rainbow-student2, etc (See 'Teaching preparations' - for a detailed manual). This way you can use all functionality of Hedy, including saving progress, without sharing personal data of yourself or your students.\n\nIf the above is not sufficient for your context, we can sign a processing agreement for the processing of your personal data." - title: Introduction - key: intro + - {} + - title: Ibenkan - title: Aṭuṭuryel - subsections: - - text: Do you want to follow the tutorial (again)? Click here. - title: Aṭuṭuryel key: aṭuṭuryel + subsections: + - title: Aṭuṭuryel - subsections: - - text: You can prepare your classes at the For Teachers page. On this page you'll find everything you'll need to teach with Hedy, like your classes, your adventures and slides. All the functionalities of the for teachers page are explained below. - title: I yiselmaden - - title: Creating a Class - text: "As a teacher, you can create a class for your students. In this class you can see the students' accounts and their programs and you could monitor their progress.\nThis video shows you how to quickly create a class in Hedy." - - text: "Are you teaching multiple classes? Then you don't have to customize each class individually. Simply make a class, costumize the class (see \"Customize your Class\" to learn how) and then duplicate this class as many times as you want.\nYou can duplicate the class on the 'For Teachers' page. If you duplicate a class, all the class settings are duplicated as well. This means that all the levels and adventures you've made unavailable for the first class will now be unavailable for the new class(es) as well.\nThe student accounts and second teacher accounts in your class will not be duplicated into the new class." - title: Duplicate a class - - title: Add a second teacher - text: "Are you not the only teacher that teaches your class? Then you can now add another teacher to the class. Go to the 'For teachers' page and click on the class. Then choose 'Invite a teacher' and fill in the username of your colleague.\nYour colleague will get an invitation on their account to join your class. They can see that invitation message by clicking on their username in the upper right corner of the screen and selecting 'My account'.\nOnce the other teacher accepts the invitation they can customize the class as well.\nTo remove a second teacher from your class, go to the class page and remove the second teacher. The teacher who's created the class cannot be removed." - - text: "You can customize your class and choose which adventures are available for your students. This way your students won't be overwhelmed by the amount of adventures and levels, and they can specifically focus on the adventures you'd like them to practice with.\nClick on your class on the for teachers page and choose 'customize class'. On this page you can select levels, set opening dates, unlock level thresholds and more.\n\n**Select and order adventures**\n\nIn this section you can select and order adventures. The pink tabs are adventures with new commands. The gray tabs are regular adventures. To rearrange the order of the adventures, you can drag the tabs. However, we do advise you to use the regular order of adventures as the Hedy team made sure the adventures go from easiest to hardest.\nIf you want to remove an adventure for your students, simply click the cross - on the adventure's tab.\n\nIf you want to add adventures, for instance your own adventure or an adventure you accidentally removed, use this menu to add the adventure to your students' adventures. Simply click the adventure you want to add and it (re)appears in the line of adventures. To undo all your changes to the adventures, click 'Reset'.\n\n**Opening dates**\n\nWith this feature you can set opening dates for the levels. This way you can make a lesson plan before your course begins and not worry about opening new levels each week. In the image above the first level is opened directly, the second will open the 23th of september, and the 3rd level the week after. The other levels are closed.\nDon't want to set opening dates? No problem, just leave this section - blank.\n\n**Unlock level thresholds**\n\nThis featue allows you to set a threshold for your students' quiz grade, before they can continue to the next level. For example, if you enter \"80\" your students have to score at least 80% on the quiz before they are allowed to go to the next level. If they haven't met the threshold, they are not allowed to continue and have to retake the quiz.\nDon't want to use the threshold? No worries, just keep this section blank.\n\n\n**Other settings**\n\nThere are some other setting that could be usefu to you aswell. Our first extra setting is 'Mandatory developer's mode'. In developers mode the students only see their input and output screens and the run button. The adventures are hidden and there are no cheatsheets available. This - might come in handy in a test situation.\nIf this option is not selected the developer's mode is available for students too as a voluntary option.\n\nIf you want all your students to be visible in de class highscore, you can select the second option.\nWith all the other options you can choose to hide some functions or content for your students, this might help them focus more.\n\n**Save**\n\nDon't forget to save your changes when you're done customizing your class." - title: Customize your Class - - text: "To add students to your class go to the class page by clicking in the class name on the 'for teachers' page. Then click 'add students'. There are 2 ways to let your students join your class: You can create accounts for them, or they could create their own accounts.\n\n**You create accounts for your students**\nThe easiest way to add students to your class is by creating an account for them. This can be done by clicking the 'create student accounts' button and filling in the usernames and passwords for them.\nThe students can login with the username and password that you chose. Afterwards, they can change their username or password if they'd like and they'll still remain in your class.\nThis video shows how to add students to your class in the quickest and easiest way.\n\n**Students make their own accounts**\nYour students can also go to the Hedy website and create their own accounts, just like you - did. To get them into your class, they simply have to click the invite link.\nYou can find the invite link on the class page and send it to your students. Mind that your students have to be logged in to Hedy when they click the link, in order to make it work smoothly.\nYou can also manually invite a student to your class with the button 'Invite by username'." - title: 'Student Accounts' - - title: Setting preferred language - text: "When students create profiles they are supposed to choose a 'preferred language'. Hedy will always be loaded in this selected language.\nChanging this language can always be done later on by navigating to 'My account' and 'My personal settings' again.\n\n**For non-English speakers**\nNot only can you change the language of the adventures to your own language. You can also choose which language the keywords (for example 'print' or 'ask') should be in.\nThis way you can teach your students to code with English keywords, but you can also let them program in their own language. For example, Dutch students can use the command 'vraag' instead of 'ask'.\nIf a student wants to switch languages, they can click the keyword switcher. It will switch the keywords from English to the preferred language and back.\nFun fact! Students are allowed program in both English and their own language at the same time! So, if they have trouble remembering some keywords in English, but easily remember - other ones they can use both at the same time.\n\n\n**Video**\nThis video show you how to set a preferred language and change the keywords to you preferred language as well." - - text: "When you are logged in, you'll see My programs next to your profile icon.\nThis option exists for your students too. In My programs you can find all the programs that you've worked on.\nBy default, programs will be saved to 'My programs' when you run the code, and every 10 seconds, under their default name\nand their level (for example: Story 5). If you want to store a program under a new name, just type the new name in the name bar.\nCurrently, only one program can be saved per level, per tab.\n\nYou (and your students) can also share programs using the share button next to program names.\nThese programs will be posted on our explore page, for everybody to see and use.\nIf you want to unshare your program, go to 'My programs' and click 'Unshare'.\n\nThe paper plane icon can be used to hand in programs to the teacher of a class. Programs that have been handed is will no longer be editable." - title: 'Storing programs' - key: preparations - title: 'Teaching preparations' -- subsections: - - title: Aselmed s Hedy - text: "Hedy contains a lot of different levels that each teach a different new skill. We recommend to teach one level per lesson.\nThis gives your students the time to fully grasp a new command or concept and practice with it, before moving on to the next level.\nWe use this structure in our lessons: Introduction, New concepts and commands, let's get to work, puzzles and quizzes." - - title: Slides - text: "When giving instructions you might want to use our slides. Our slides are available on the 'For teachers' page. There is a set of slides for each level. In the slides all the new commands for that level are explained. We have aimed to explain why these changes are nessecary or how the new commands come in handy.\nWe also give some examples of how the new commands can be used. You could of course also use your own slides, or just open Hedy and show your students around the website. Whichever you prefer to give the best Hedy lessons!" - - title: Introduction - text: "You can start your lessons by activating your students' prior knowledge: What do they already know about the subject, what did they learn in the previous lesson and which mistakes did they make that they've now learned from?\nThis way all the previously learned commands and frequently made mistakes are fresh in your students' memories, when you start introducing the new lesson." - - title: Introduction of new concepts and commands - text: "The new concepts and commands can be very hard for some students to fully understand.\nThat's why it's of importance to model the proper use of the new commands to your students.\nEspecially in the lower levels, where some students have no experience with programming at all, it can be hard for them to understand the new abstract concepts.\nShowing a lot of examples makes an abstract concept (for instance: 'What is a variable?') more recognizable and easier to understand ('Look, the variable pet changed into dog'). Our slides could help you with that." - - title: Let's get to work - text: "Each level contains different adventures that you can find in the pink tabs. The first pink tab explains the new commands in this level.\nThe following tabs are adventures that the students can try out and make their own.\nThe adventures are arranged from easiest to hardest, so we recommend to start on the left and your your way to the right.\nThe last tab 'what's next' gives a little teaser of what you'll learn in the next level. Of course, you can select the adventures you want your students to do for each level.\nThey don't always have to make every adventure. Every adventure contains an example code, that the students can try out with the green button.\nThe example code gets copied to the workfield, where the students can try out the code and adjust it to make it their own.\nStimulate your students to turn the example code into their own projects by adding their own ideas and making their own variation of the adventure." - - title: 'Quizzes and puzzles' - text: "To test whether your students have picked up all the new info in the level, you can let them take the quiz.\nThe quiz contains 10 multiple choice questions about the new concepts and command to that level.\nNot every level has a quiz yet, as we are still building the quizzes.\nSome levels also contain puzzles. Puzzles show the students a couple of line of code that the students have to put in the right order.\n\nThis video shows the quizzes and puzzles." - - title: Evaluation - text: "Round up your lesson by having a brief evaluation. What did the students learn? Which hardships did they come across?\nHow did they learn from their mistakes? And of course: What did they create?\nStudents are often very proud of their own creations, so it's nice to save a little time and give your students the opportunity to show their work to their classmates." - title: Aselmed s Hedy - key: teaching -- key: teacher_statistics - title: 'Teacher Statistics' + - title: I yiselmaden +- title: Aselmed s Hedy subsections: - - title: 'Live Dashboard' - text: "If you would like to keep track of your students' progress, you can make use of the live dashboard. You can find the live dashboard by clicking 'Live statistics' on your class page.\n\nAll the features of this dashboard are explained below." - - title: 'Level Selection' - text: "\nFirstly, you can select the levels you'd like to see on the dahsboard. Select the levels your students are currently working on by clicking on the number of that level. Deselect levels that you do not want to see by clicking them again.\nIn this example level 1 and 2 are selected. You can click on refresh to refresh the dashboard and get the most current stats." - - title: 'Class Overview' - text: "\nIn the class overview you can see which adventure your students are working on right now. You can see that one student is working on the 'Rock, Paper, Scissors' adventure in level 1, one is working on the 'Fortune Teller' in level 1 and one student is working on the 'Rock, Paper, Scissors' adventure in level 2.\nIf you'd like to know which of your students is working on the adventure, simply click the number and their accountnames will appear.\nYou can also see how many of your students have finished the quiz. In this case, one student finished the quiz in level 1. Again, you can click the 1 to see which of your students it is.\n\nYou can also see one of the students is 'missing' from this overview. That's because he's working on an adventure in level 4, which is not selected." - - title: 'Student List' - text: "\nHere you can find a list of your students and you can see their individual progress. The blue ring shows you what your students are currently working on.\n\nIt is important to notice that the blue dots means that a students 'attempted' the adventure. This means that they ran a code in this adventure and went on to the next adventure, so this does not automatically mean that they did a good job!\nIf you want to see how an individual student is getting along, you can click their name in this overview. This is what you see if you click on marleen_h3a for example:\n\nYou see that Marleen is having some trouble programming. She tried to run a program - that contains blanks multiple times, so she might not realize that she has to change the code examples before running them.\nIn this way this overview can give you a better understanding of what a student is struggling with." - - title: 'Common Errors' - text: "\nIf you're not only interested in individual struggles of your students, but you'd like to know what the whole class seems to be doing wrong, you can use this oversight of common errors.\nThe most common error messages that your students are recieving will appear in this oversight for you, so you could give some more instructions to the whole class if needed.\nBy clicking the error, you can see which students are having trouble with this error. By clicking resolve, you'll remove this error from the list." - - text: "\nAnother useful overview of all the programs your students made in a level can be found on your class page. Go to the class page and click 'Overview of programs per adventure'. Here you'll find this overview.\nYou could use this overview to check your students' work. If they have made a program in an adventure, an eye appears in your overview. Click the eye to view their work. Did you like it? Then you can check the box and a green tick will appear.\nThis way you create a nice overview for yourself of your students' results." - title: Overview of programs per adventure + - title: Aselmed s Hedy - subsections: - - title: Make your own adventure - text: It is also possible for teachers to create your own adventure. This video shows you how to create your own adventure as a teacher and add it to your class(es). - - text: "On the explore page you can view the work of other Hedy users. You can try out their programs and use them as inspiration to create something cool yourself.\nYou can also add a program you've made to the explore page yourself by clicking 'Save and share code' in the coding screen or go to My Programs and click 'Share'.\nDon't want to share your work anymore? Simply go to 'My Programs' and click 'Unshare'.\nIf you want more information about the explore page, check out this video." - title: 'Explore page' - - title: Public adventures - text: Would you like to use adventures made by other teachers? Then you can visit our public adventures page. Here you can find all the adventures made by other teachers from all over the world. To find a good fit for you, you can select a level, language and even a tag. Have you found an adventure you'd like to use? Then you can press 'clone' to make a copy of that adventure to your own account. You can edit the clone to your liking and add the adventure to your class in the same way you would your own adventures. You cannot edit the original, so the original will always be safe. Have you made an adventure yourself that you'd like to add to the public adventures? Tick the box that makes your adventure publicly available when creating the adventure! - - title: 'My achievements' - text: "If you click on your username in the topright corner of your screen, you can go to My achievements. On this page you achievements are collected. Your students have such a page as well.\nWhen you hover over the badge with your mouse, you'll see how to earn the badge. There are hidden badges too, of which you'll have to find out yourself how to earn them.\nIf you want more information on the achievements, check out this video." - - title: 'High Scores' - text: "On this page you can see the high scores of all Hedy users.\nIn this videoyou can learn some more about the high scores." - - text: "Is your (student's) code not working? There must be a bug (coding mistake) in it! You can use the debugger to find the mistake.\nThe debugger is the ladybug button in your coding screen. If you press it, you can run your code line by line to find your mistake.\nHave you found the mistake? Press the red stop button and the debugger will shut off." - title: Debugger - - title: 'Read aloud' - text: Do you want the output of your program to be read aloud? Then you can use the read aloud function that is found under the 'run code' button in your coding screen. - - title: 'Programmers mode' - text: "Distracted by all the adventures, or do you want to make a long program? Then check out the 'Programmers Mode' switch at the bottom of your coding screen.\nProgrammers mode allows you and your students to use a bigger coding screen." - - title: 'Cheat sheets' - text: "In every level there is a button with this emoji 🤔. You and your students can find the \"cheat sheets\" there. On this cheat sheet, you can find all the commands that are usable in this level in their correct form.\nSo if you've forgotten how a command works, simply take a peek at the cheat sheet!" + - {} + - {} + - {} + - {} + - {} + - {} + - {} + - {} + - {} - title: Tavidyutt - text: This video shows you even more features of Hedy, like the cheatsheets and the keyword switcher. - title: 'Extra Hedy features' - key: features -- subsections: - - title: What to do after Hedy? - text: "Congratulations on reaching the end of Hedy! Your students have now learned how to create their own basic programs in the Python programming language.\nOf course, you could keep programming in our Hedy compiler, but it might be more exciting for your students to transfer to a \"real\" Python interface.\nWould you like to continue teaching Python? Then please visit the Python website to learn how to get started in another compiler.\n\nNow that your students have a basic knowledge of programming in general, you could also show them around in other textual programming languages. The language might change but the concepts do not, so Hedy will still give them a big advantage." - title: 'After Hedy' - key: seld -- title: Answers to the exercises - key: answers - intro: "The answers to all the exercises can be found on the public profile of the useraccount 'Hedy_answers'. We often encourage students to use their own creativity in their answers, so these answers are merely a guideline as to what a possible correct answer could look like.\n\nTo go to the 'Hedy_answers' profile, please click here." -- levels: - - sections: - - example: - error_code: Hedy can't print this - error_text: For example they type a sentence without using print. - solution_text: Teach your students to always start a line of code with a command. - solution_code: '{print} Hedy can print this!' - title: Students forget to type commands - - example: - solution_code: "{ask} Why does my code work now?\n{print} Because I removed the capitals!" - error_text: Commands won't work if they are in capitals. - error_code: "Ask Why does my code fail?\nPrint Because I'm using capitals." - solution_text: 'Remove the capitals.' - title: Students use capitals when typing commands - - example: - solution_code: "{ask} What's your name?\n{echo} Your name is" - error_code: '{echo} Your name is' - solution_text: Add an ask command to make it work. - error_text: Echo is made to repeat an answer after an ask command. Without ask echo won't do anything. - title: Students use echo without ask - - example: - solution_text: 'In level 1 we have to keep it at this:' - solution_code: "{ask} Which programming language is the most fun?\n{echo} The best is..." - error_code: "{ask} Which programming language is the most fun?\n{echo} is the best!" - error_text: And they are right! That's why they will learn to use proper variables in the next level. - title: Students want their echo word (variable) to be in the middle of a sentence - - title: 'Turtle: Students let the turtle walk off of the screen' - example: - solution_code: "{forward} 100\n{turn} 90" - solution_text: In the example, students tend to think that the turn command failed; even though it did what it what supossed to. What happened is the turtle walked past the screen limits. Use smaller numbers to prevent this from happening. - error_text: Often students love to try out big numbers when using the turtle, which causes the arrow to walk off the screen. - error_code: "{forward} 300\n{turn} 90" - - example: - error_text: Backward is not a command. - error_code: backward 100 - solution_text: 'To make the turtle go backwards, you use the forward command and a negative number. For example:' - solution_code: '{forward} -100' - title: "Turtle: Students use the command backward, but there's no such command." - level: '1' - - sections: - - title: Students make typos in their commands - example: - error_code: prinnt Don't make typos - error_text: Hedy can't recognize a command with a typo. - solution_text: Teach your students to read the error messages. This way they can find out themselves what went wrong. - solution_code: "{print} Don't make typos" - - example: - solution_code: order {is} {ask} What would you like to eat - error_text: In this level students learn about variables. The ask command requires a variable as well, but students forget this. - solution_text: In this level you have to tell Hedy where to save your answer, so it can be used later on. This is called a variable. - error_code: ask what would you like to eat - title: Students forget that the ask command has changed - - example: - error_code: "answer {is} {ask} Why doesn't {echo} work anymore?!\n{echo}" - solution_code: "answer {is} {ask} Why doens't {echo} work anymore?!\n{print} answer" - solution_text: Use a variable instead. - error_text: For some students it might be frustrating to learn that the `{echo}` command doesn't work anymore. That's why it's very important to explain the advantages of using variables. For example you can use multiple variables in a code, and you can put them anywhere you like in a sentence! - title: Students try to use the `{echo}` command - - example: - solution_code: "name {is} Hedy\n{print} Hi I'm name" - solution_text: So don't use a word you want to use in the text as a variable name. In level 4 this is solved with quotation marks. - error_text: In the example below the word 'name' is used as a variable, but also as a normal text. The output of this code will be 'Hi my Hedy is Hedy'. - error_code: "name {is} Hedy\n{print} Hi my name is name" - title: Students use a variable name or as a normal word - - example: - solution_text: 'Add an underscore.' - error_text: A variable should be named with one word. You could use an underscore to connect two words. That counts as one. - error_code: chosen door is ask Which door do you pick - solution_code: chosen_door {is} {ask} which door do you pick - title: Students use long variable names containing two words. - - example: - error_code: "horse {is} {ask} What is your horse called\n{print} Your horse is called name" - solution_code: "name {is} {ask} What is your horse called\n{print} Your horse is called name" - solution_text: Always check whether the variable has the same name throughout the code. Slight differences can be hard to spot (for example plurals) but they will interfere with the code. - error_text: In this example the student has used 'horse' and 'name' for the same variables. - title: Students might use two different names for the same variable - level: '2' - - sections: - - example: - error_code: "groceries {is} apples, milk, chocolate\n{print} groceries" - solution_text: To print a list of all the groceries, you simply need to put them after a `{print}` command. Else you can use the list to print one item with `{at}` `{random}`. - solution_code: "{print} apples, milk, chocolate\n\n# or\n\ngroceries {is} apples, milk, chocolate\n{print} groceries {at} {random}" - error_text: A list can't be printed. You can only print one item from the list with {at} {random}. - title: Students try to print whole lists - - example: - solution_text: Don't use the names of variables or lists in regular text to print. In level 4 this problem is solved with quotation marks. - solution_code: "name {is} Hedy\n{print} Hi I'm name\n\n# or\n\nanimals {is} rhino, bee, swan\n{print} The best animal is... animals {at} {random}" - error_code: "name {is} Hedy\n{print} Hi my name is name\n\n# or\n\nanimal {is} rhino, bee, swan\n{print} The best animal is... animal {at} {random}" - error_text: This problem probably occured in level 2 as well. Now it can happen with lists too. - title: Students use the name of a variable or list as regular text - - example: - error_text: Like in the example - error_code: "birds {is} sparrow, seagull, robin\n{print} birds random" - solution_code: "birds {is} sparrow, seagull, robin\n{print} birds {at} {random}" - solution_text: This problem is solved by adding the word at. - title: Students forget `{at}` in `{at}` `{random}` - - example: - solution_text: Emphasize to your students that you always need a print to print text. - error_code: "fruit {is} apple, cherry, banana\nfruit {at} {random}" - error_text: Or they will sometimes put `{at}` `{random}` at the beginning of the line. - solution_code: "fruit {is} apple, cherry, banana\n{print} fruit {at} {random}" - title: Students forget to use the `{print}` command when also using the `{at}` `{random}` command - - title: Students forget to use commas in their lists - example: - error_text: In a list items are seperated with a comma. - solution_code: "pizzas {is} funghi, tonno, quattro stagioni\n{print} pizzas {at} {random}" - solution_text: After each item on your list, there should be a comma - error_code: "pizzas {is} funghi tonno quattro stagioni\n{print} pizzas {at} {random}" - - example: - solution_code: "clubs {is} Manchester United, Bayrn Munchen, FC Barcelona\n{print} clubs {at} {random}" - solution_text: Hedy can't print anything at random, because there is no list to choose from. - error_code: "clubs {is} Manchester United\n{print} clubs {at} {random}" - error_text: Amedya - title: Students try to use `{at}` `{random}` without a list - - example: - error_text: In the example below 'names' is not a list, but a variable. You cannot add anything to it. - solution_code: "names {is} Jake, Amy\nyour_name {is} {ask} Who are you?\n{add} your_name {to} names\n{print} names {at} {random}" - error_code: "names {is} Jake\nyour_name {is} {ask} Who are you?\n{add} your_name {to} names\n{print} names {at} {random}" - solution_text: There has to be a list first, so you have to add a second name to turn names into a list, for example Amy. If you don't want amy on your list, you can use remove to remove it after. - title: Students try to use add/remove without a list - - example: - solution_text: Hedy has to know which list the item should be added to/removed from. - solution_code: "adventures {is} story, parrot, dice\nchoice {is} Which adventure do you like best?\n{add} choice {to_list} adventures\n{remove} dice {from} adventures\n{print} I love adventures {at} {random}" - error_code: "adventures {is} story, parrot, dice\nchoice {is} Which adventure do you like best?\n{add} choice\n{remove} dice\n{print} I love adventures {at} {random}" - error_text: Without to/from the add/remove command won't work. - title: Students forget to use `{to}`/`{from}` in `{add}`/`{remove}` - level: '3' - - level: '4' - sections: - - title: Students forget to use quotation marks on both sides of the text - example: - solution_text: Add the correct quotation marks. - error_text: In this level print and ask need a set of quotation marks. One before of the text and one after. - error_code: "{print} Hello\nmood {is} {ask} 'How are you?" - solution_code: "{print} 'Hello'\nmood {is} {ask} 'How are you?'" - - example: - solution_code: "{print} 'Welcome to the restaurant'\nfood {is} {ask} 'What would you like to order?'" - solution_text: 'These are the correct quotation marks:' - error_code: "{print} `Welcome to the restaurant`\nfood {is} {ask} \"What would you like to order?\"" - error_text: It is important to start your lesson by checking if the students know how to type a quotation mark properly. On Hedy, students might use single quotes ('') and double quotes (""). Backticks on the other hand, are not considered valid quotes (``). - title: Students use the wrong quotation marks - - title: Students use an apostrophe in their text - example: - error_text: From this level on apostrophes are not allowed. They are often used in English when typing contractions like you're, don't or what's. - error_code: "{print} 'You're not allowed to type this'" - solution_text: You can choose to use the wrong grammar and just leave the apostrophe out. Or you could use the ` as an apostrophe. - solution_code: "{print} 'Youre allowed to type this'\n{print} 'And you`re able to do this'" - - level: '5' - sections: - - example: - error_text: After students use `{if}` or `{else}` they forget to use a second command like `{print}` or `{ask}`. - solution_text: Add the print command to fix it. - solution_code: "{if} name {is} Hedy {print} 'Great!'\n{else} {print} 'Hedy is better!'" - error_code: "{if} name {is} Hedy 'Great!'\n{else} Hedy {is} better!" - title: Students forget to use `{print}` in an `{if}` command - - example: - error_code: "horse {is} {ask} 'What is your horse called?'\n{if} name {is} Bonfire {print} 'cool'\n{else} {print} 'less cool!'" - solution_code: "horse {is} {ask} 'What is your horse called'\n{if} horse {is} Bonfire {print} 'cool!'\n{else} {print} 'less cool!'" - solution_text: Always check whether the variable has the same name throughout the code. Slight differences can be hard to spot (for example plurals) but they will interfere with the code. - error_text: In this example the student has used 'horse' and 'name' for the same variables. - title: Students might use two different names for the same variable - - example: - error_text: Using the `if` command can make the code lines very long and students tend to forget to use quotes. - solution_text: Always use 2 quotes in a print command. - error_code: "{if} name {is} Hedy {print} fun\n{else} {print} 'meh!" - solution_code: "{if} name {is} Hedy {print} 'fun'\n{else} {print} 'meh!'" - title: Students still forget the quotes on both sides - - example: - solution_text: Remove the quotes to get the code to work. - error_text: In this level there are no quotes around variable names. - solution_code: "{if} name {is} Hedy {print} 'fun'\n{else} {print} 'meh!" - error_code: "{if} name {is} 'Hedy' {print} 'fun'\n{else} {print} 'meh!'" - title: Students use quotes around variable names - - example: - solution_text: 'Add an underscore.' - solution_code: chosen_door {is} {ask} 'which door do you pick?' - error_code: chosen door is ask Which door do you pick? - error_text: Variables in Hedy can't contain spaces, so, in order to use together several words, students need to connect them using underscores (_) - title: Students use long variable names containing two or more words - - example: - solution_code: "friends {is} Jesse, David, Souf\nname {is} {ask} 'Who are you?'\n{if} name {in} friends {print} 'You are funny'\n{else} {print} 'You are not funny'\n\n# or\n\nname {is} {ask} 'Who are you?'\n{if} naam {is} Jesse {print} 'You are funny'\n{if} naam {is} David {print} 'You are funny'\n{if} naam {is} Souf {print} 'You are funny'" - error_text: For example this student wants Hedy to tell all his friends that they are funny, while other classmates should be told that they are not. - solution_text: "You could use the `{in}` command for that. While it is explained in a higher level, it does already work in level 5.\nAnother solution is to use multiple `{if}` commands and no `{else}` command. The disadvantage is that it won't tell the other classmates that they are not funny." - error_code: "{if} name {is} Jesse, David, Souf {print} 'You are funny' {else} {print} 'You are not funny'" - title: Students want multiple answers to be correct - - example: - error_text: In the example below the password is 'password'. This will result in it always being correct. - solution_text: Pick a different name for your variable. - solution_code: "secret_password {is} {ask} 'What is the password'\n{if} secret_password {is} password {print} 'Access granted!'\n{else} {print} 'Access denied!'" - error_code: "password {is} {ask} 'What is the password?'\n{if} password {is} password {print} 'Access granted'\n{else} {print} 'Acces denied!'" - title: The students make the variable name the same as the value in the `{if}` statement - - sections: - - example: - error_text: Some students struggle with adding quotation marks or not. If you add quotation marks, the output screen will literally show '5+5'. - solution_code: '{print} 5 + 5' - error_code: "{print} '5 + 5'" - solution_text: In this code the output screen will print '10'. - title: Students struggle with quotation marks - - example: - solution_text: Or take it a step further like this. - error_text: 'Some students will find it hard to do maths with variables. Try to show them very simple examples, like:' - solution_code: "price = 0\n{print} 'Welcome to our burger restaurant'\nburger = {ask} 'Would you like a burger?'\n{if} burger = yes price = price + 10\ndrink = {ask} 'Would you like a drink?'\n{if} drink = yes price = price + 4\n{print} 'That will be ' price ' euros please'" - error_code: "age = {ask} 'How old are you?'\n{print} 'Next year you will be ' age + 1" - title: Students struggle with the concept of doing maths with a variable - level: '6' - - level: '7' - sections: - - example: - solution_text: 'This is the correct code:' - error_code: "{repeat} 3 {times} For he`s a jolly good fellow\n{repeat} 3 print" - solution_code: "{repeat} 3 {times} {print} 'For he`s a jolly good fellow'\n{repeat} 3 {times} {print} 'Which nobody can deny!'" - error_text: Make sure that the students know to use both the full repeat command and the print command. - title: Students forget one of the word of the repeat command, or they forget the print command - - example: - error_text: In this level you can only repeat one line of code multiple times. In this code the student wanted to print 3 different drinks, but it won't work. It will ask the question 3 times and only print the last answer. - error_code: "{repeat} 3 {times} drink = {ask} 'What would you like to drink?'\n{print} drink" - solution_text: You should go to the next level to be able to repeat multiple lines. So on this level you'll have to print everything seperately. - solution_code: "drink = {ask} 'What would you like to drink?'\n{print} drink\ndrink = {ask} 'What would you like to drink?'\n{print} drink\ndrink = {ask} 'What would you like to drink?'\n{print} drink" - title: Students try to repeat multiple lines - - title: Students make programs that take too long to run - example: - solution_text: Make sure the code doesn't take too long to execute - error_text: In this level it's very easy to make programs that take a lot of time to complete. If the program takes too long, it'll be stopped, this with the intention to prevent straining the student's machine. - error_code: "{repeat} 100 {times} {print} 'How many times can I repeat this?'" - solution_code: "{repeat} 20 {times} {print} 'This is enough'" - - sections: - - example: - error_code: "{repeat} 3 {times}\n{print} 'hello'" - solution_text: 'This is the correct code:' - solution_code: "{repeat} 3 {times}\n {print} 'hello'" - error_text: Indentation is a new concept in this level, and for some students it might be hard to learn. Make sure they practise some simple examples before making a whole program with it. - title: Students use the indentation wrong - - example: - error_text: For instance, in the code below the student wanted to take the drinks order of 3 people. But instead the program asked 3 times, but only wrote down one order. - solution_code: "{repeat} 3 {times}\n drink = {ask} 'What would you like to drink?'\n {print} drink" - solution_text: "In the correct code the third line starts with indentation too. This way it belongs to the repeat block and therefore it will be repeated 3 times.\nShowing your students these differences can help them understand why we need indentation to make our programs work." - error_code: "{repeat} 3 {times}\n drink = {ask} 'What would you like to drink?'\n{print} drink" - title: Students only repeat 1 line when they wanted to repeat multiple lines - - example: - error_code: "birthday = {ask} 'Is it you birthday?'\n{if} birthday = yes\n {repeat} 3 {times}\n {print} 'Hip Hip Hooray!'" - solution_text: 'This is the correct code for this level:' - error_text: "In this level students aren't allowed yet to put `{if}` statements inside other `{if}` statements or inside repeat loops.\nIn the next level this is allowed." - solution_code: "birthday = {ask} 'Is it you birthday?'\n{if} birthday = yes\n {print} 'Hip Hip Hooray!'\n {print} 'Hip Hip Hooray!'\n {print} 'Hip Hip Hooray!'" - title: Students want to nest `{if}` statements, or put `{if}` statements inside a loop - - example: - error_text: In this level it's very easy to make programs that take a lot of time to complete. If the program takes too long, it'll be stopped, this with the intention to prevent straining the student's machine. - solution_code: "{repeat} 20 {times}\n {print} 'This is enough'" - error_code: "{repeat} 100 {times}\n {print} 'How many times can I repeat this?'" - solution_text: Make sure the code doesn't take too long to execute - title: Students make programs that take too long to run - - title: Students use the `{if}` command to check if the variable value is the same as the variable name - example: - solution_text: You can fix this mistake by adding quotation marks. This way the computer knows that the second password in `{if} password {is} 'password'` is a string value (so normal text) and not the variable name. - error_code: "password {is} {ask} 'What is the password?'\n{if} password {is} password\n {print} 'You can come in'\n{else}\n {print} 'You are not allowed'" - solution_code: "password {is} {ask} 'What is the password?'\n{if} password {is} 'password'\n {print} 'You can come in'\n{else}\n {print} 'You are not allowed'" - error_text: "We've noticed a common error among our students: they try to create a program that checks for a password, but they make the password 'password'.\nIn line 2 the computer is asked to check whether the variable password is the same as the variable password, so itself. Which means the answer is always yes.\nSo with this code the answer will always be 'You can come in' no matter what the player fills in." - level: '8' - - level: '9' - sections: - - title: Students make mistakes with indentation - example: - error_text: The hardest part about this level is getting the indentation right. Students love nesting `{if}` statements, sometimes even inside other nested `{if}` statements. Keeping track of indentation can get pretty tough. - solution_text: This is the correct code. Try to keep track of all the different constructions when putting `{if}` statements inside other `{if}` statements. - error_code: "{print} 'Robin is walking downtown'\nlocation = {ask} 'Is Robin going into a shop, or does she go home?'\n{if} location {is} shop\n {print} 'She enters the shop.'\n {print} 'Robin sees an interesting looking book'\n book = {ask} 'Does Robin buy the book?'\n {if} book {is} yes\n{print} 'Robin buys the book and goes home'\n{else}\n {print} 'Robin leaves the shop and goes home'\n{else}\n {print} 'Robin goes home'" - solution_code: "{print} 'Robin is walking downtown'\nlocation = {ask} 'Is Robin going into a shop, or does she go home?'\n{if} location {is} shop\n {print} 'She enters the shop.'\n {print} 'Robin sees an interesting looking book'\n book = {ask} 'Does Robin buy the book?'\n {if} book {is} yes\n {print} 'Robin buys the book and goes home'\n {else}\n {print} 'Robin leaves the shop and goes home'\n{else}\n {print} 'Robin goes home'" - - sections: - - example: - solution_code: "animals {is} dog, cat, blobfish\n{for} animal {in} animals\n {print} 'I love ' animal" - error_code: "animals {is} dog, cat, blobfish\n{for} animal {in} animals\n {print} 'I love ' animals" - error_text: We often see that students try to print the list (in the example animals) instead of the items of the list. - solution_text: The word animals in the last line should be changed into animal. - title: Students do not use the `{for}` command correctly - - example: - error_code: "animals {is} dog, cat, blobfish\n{for} animal {in} animals\n{print} 'I love ' animals" - error_text: Students tend to forget to use indentation after a for command. - solution_code: "animals {is} dog, cat, blobfish\n{for} animal {in} animals\n {print} 'I love ' animal" - solution_text: You should use indentation after a for command. - title: Students forget the indentation - level: '10' - - sections: - - example: - solution_code: "{for} i {in} {range} 1 {to} 5\n {print} i" - solution_text: 'This is the correct code:' - error_text: Make sure that the students use indentation. - error_code: "{for} i {in} {range} 1 {to} 5\n{print} i" - title: Students forget to use indentation - - example: - error_text: "Some students don't understand that i is a variable. i is chosen, because it is used in Python programming, but you could just as easily use a different variable name.\nFor example, this code:" - solution_text: Could just as well be replaced with this code. It works the same. - solution_code: "{for} banana {in} {range} 1 {to} 5\n {print} banana" - error_code: "{for} i {in} {range} 1 {to} 5\n{print} i" - title: Students don't understand the i - level: '11' - - sections: - - title: Students forget quotation marks - example: - error_text: Students need more quotation marks now than in the previous levels. In this example quotation marks were forgotten in the list and in the `{if}` command. - solution_code: "superheroes = 'Spiderman', 'Batman', 'Iron Man'\nsuperhero = superheroes {at} {random}\n{if} superhero {is} 'Batman'\n {print} 'IM BATMAN!'" - error_code: "superheroes = Spiderman, Batman, Iron Man\nsuperhero = superheroes {at} {random}\n{if} superhero = Batman\n {print} 'IM BATMAN!'" - solution_text: 'This is the correct code:' - - example: - solution_text: 'This is the correct code:' - solution_code: "score = 25\nanswer {is} {ask} 'Do you want a point?'\n{if} answer {is} 'yes'\n score = score + 1\n {print} score" - error_text: "You can use quotation marks on numbers, but only if you want the computer to think of them as text. This means you can't do calculations with the number.\nIn the example below, you can't do maths with the number 25, because it's in quotation marks." - error_code: "score = '25'\nanswer {is} {ask} 'Do you want a point?'\n{if} answer {is} 'yes'\n score = score + 1\n {print} score" - title: Students use quotation marks on numbers they want to use for calculations - - example: - solution_code: '{print} 2.5 + 2.5' - error_code: '{print} 2,5 + 2,5' - error_text: Decimal numbers can be used from this level on, but you can't use commas. - solution_text: 'This is the correct code:' - title: Students use commas instead of periods in decimal numbers - level: '12' - - level: '13' - sections: - - example: - error_text: Both commands might appear similar, but their functions are very different. - solution_text: In this case, the person should answer yes on both questions, so you should use `and`. - solution_code: "game {is} {ask} 'Do you want to play a game?'\ntime {is} {ask} 'Do you have time to play?'\n{if} game {is} 'yes' {and} time {is} 'yes'\n {print} 'Lets play!'" - error_code: "game {is} {ask} 'Do you want to play a game?'\ntime {is} {ask} 'Do you have time to play?'\n{if} game {is} 'yes' {or} time {is} 'yes'\n {print} 'Lets play!'" - title: Students confuse `{and}` with `{or}` - - sections: - - example: - solution_text: 'This is the correct code:' - error_code: "age = {ask} 'How old are you?'\n{if} age < 12\n {print} 'You are older than I am!'" - solution_code: "age = {ask} 'How old are you?'\n{if} age > 12\n {print} 'You are older than I am!'" - error_text: Often, students are already familiar with these signs from maths class. But if your students don't know these signs yet, they might have a challenge with it. - title: Students confuse the < and > signs - - title: Students use the wrong signs for `!=` `<=` and `>=` - example: - error_text: These signs are probably new for most students. Make sure to explain these signs to your students. - solution_code: "name = {ask} 'What is your name?'\n{if} name != 'Hedy'\n {print} 'You are not Hedy'" - error_code: "name = {ask} 'What is your name?'\n{if} name = 'Hedy'\n {print} 'You are not Hedy'" - solution_text: 'This is the correct code:' - - title: Students forget to use the == sign - example: - error_text: In this level, students are still allowed to use = or is. But on other levels, or in python, they might get in trouble for that. So it is best to train them to use it. - solution_code: "name = {ask} 'What is your name?'\n{if} name == 'Hedy'\n {print} 'You are cool!'" - solution_text: 'This is the correct code:' - error_code: "name = {ask} 'What is your name?'\n{if} name = 'Hedy'\n {print} 'You are cool!'" - level: '14' - - level: '15' - sections: - - example: - solution_text: 'This is the correct code:' - solution_code: "answer = 0\n{while} answer != 25\n answer = {ask} 'What is 5 times 5?'\n{print} 'A correct answer has been given'" - error_text: Indentation is often hard for students. - error_code: "answer = 0\n{while} answer != 25\nanswer = {ask} 'What is 5 times 5?'\n{print} 'A correct answer has been given'" - title: Students forget indentation in the while loop - - sections: - - example: - error_code: "icecream = 'starwberry', 'chocolate'\n{print} 'I love ' icecream[{random}] ' icecream'" - solution_code: "icecream = ['starwberry', 'chocolate']\n{print} 'I love ' icecream[{random}] ' icecream'" - solution_text: 'This is the correct code:' - error_text: From this level on lists should be in brackets. - title: Students forget the brackets - - example: - error_text: From this level on lists should be in brackets. - solution_text: 'This is the correct code:' - solution_code: "icecream = ['starwberry', 'chocolate']\n{print} 'I love ' icecream[{random}] ' icecream'" - error_code: "icecream = ('starwberry', 'chocolate')\n{print} 'I love ' icecream[{random}] ' icecream'" - title: Students use the wrong brackets - - title: Students forget the quotation marks while focussing on the brackets - example: - solution_text: 'This is the correct code:' - solution_code: "icecream = ['starwberry', 'chocolate']\n{print} 'I love ' icecream[{random}] ' icecream'" - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - error_code: "icecream = [starwberry, chocolate]\n{print} 'I love ' icecream[{random}] ' icecream'" - - example: - error_code: "icecream = [starwberry, chocolate]\n{print} 'I love ' icecream at random ' icecream'" - solution_text: 'This is the correct code:' - solution_code: "icecream = ['starwberry', 'chocolate']\n{print} 'I love ' icecream[{random}] ' icecream'" - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - title: Students still use the old at random command - - example: - solution_code: "icecream = ['starwberry', 'chocolate']\n{print} 'I love ' icecream[{random}] ' icecream'" - error_code: "icecream = [starwberry, chocolate]\n{print} 'I love ' icecream[{random}] ' icecream'" - solution_text: 'This is the correct code:' - error_text: Students are sometimes very focussed on the new aspect of the syntax, that they forget the quotation marks. - title: Students forget the quotation marks while focussing on the brackets - level: '16' - - level: '17' - sections: - - example: - solution_text: 'This is the correct code:' - error_text: The `{elif}` command needs a condition behind it. It cannot be used like `{else}`, without a condition. - solution_code: "color = {ask} 'What is your favorite color?'\n{if} color == 'green':\n {print} 'green is nice'\n{elif} color == yellow:\n {print} 'yellow is alright'\n{else}:\n {print} 'I like green'" - error_code: "color = ask 'What is your favorite color?'\n{if} color == 'green':\n {print} 'green is nice'\n{elif}:\n {print} 'I like green'" - title: Students use `{elif}` like `{else}`, so without a condition - - example: - error_text: After each command that requires indentation, a colon should be used. - solution_code: "answer = {ask} 'How are you doing?'\n{if} answer {is} 'great':\n {print} 'Me too!'\n{elif} answer {is} 'bad':\n {print} 'Let me cheer you up!'\n{else}:\n {print} 'Im great!'" - solution_text: 'This is the correct code:' - error_code: "answer = ask 'How are you doing?'\n{if} answer {is} 'great'\n {print} 'Me too!'\n{elif} answer {is} 'bad'\n {print} 'Let me cheer you up!'\n{else}\n {print} 'Im great!'" - title: Students forget the colon - - sections: - - example: - error_text: Students will forget to put brackets around their text. - error_code: "{print} 'my name is Hedy!'" - solution_code: "{print}('my name is Hedy!')" - solution_text: 'This is the correct code:' - title: Students forget to use the brackets - - example: - solution_code: "{print}('My name is Hedy!')\nname = {input}('What is your name?')\n{print}('So your name is ', name)" - error_code: "{print}('My name is Hedy!')\nname = ask('What is your name?')\n{print}('So your name is ', name)" - solution_text: 'This is the correct code:' - error_text: The ask command has been used since level 1. So it might be hard for the students to switch to input instead of ask. - title: Students will still use the ask command - - title: Students might use the brackets as quotation marks - example: - solution_code: "temperature = 25\n{print}('It is ', temperature, 'degrees outside')" - error_text: They have learned to keep the variables outside of the quotation marks, so they might do the same with the brackets. Which is not the correct way to use them. - error_code: "temperature = 25\n{print}('It is ') temperature ('degrees outside')" - solution_text: 'This is the correct code:' - level: '18' - key: common_mistakes - title: 'Common mistakes' - intro: You can learn from your mistakes, especially in coding! Making mistakes is unavoidable, and a great opportunity to learn, but for teachers, it can be a challenge to find the correct fix for a mistake! Especially as the programs get longer and longer as the students progress through the levels. That's why we've made a list with frequently made mistakes in each level, and their solutions. +- key: seld join-sections: -- text: '# There are three ways in which you can support Hedy!' - title: 'Supporting Hedy' -- title: 'Improving the language' - text: "The gradual and multi-lingual nature of Hedy create a lot of interesting technical challenges.\nFind those issues on Github." +- {} +- {} - title: Asuqel n Hedy - text: "Not a programmer? No problem! Another way to support Hedy is by translating keywords, error messages, adventures and other content.\nThis is the current status, help us complete a language, or add a new one!\n\n\"Translation" -- text: "Hedy is designed to support teachers in providing programming lessons in class. We have specific teacher features like the option to create a class, customize it and see how your students are doing.\nIf you like Hedy, you can reach out to schools that you know to help teachers get started! We can help you find schools or teachers via Discord." - title: Help teachers get started start-sections: -- text: "Welcome to Hedy, we are happy to help you get started with Hedy.\n\nOur [Teacher Manual](https://www.hedy.org/for-teachers/manual) has an overview of all features in detail, but this page has a brief overview so you know what it what before you dive in.\n\nA few highlights that are important to know:\n* Hedy is a tool designed to help manage a classroom of kids programming! You can create your own classes, lesson plans and follow how kids are doing.\n* You do not need to know a lot of programming if you begin, Hedy works step by step, also for you!\n* You can use Hedy in your native tongue because it has been translated into many other languages!\n* Every kid can programme!! Hedy is especially helpful for kids who have vision problems because it can read material aloud to you without the need for a mouse.\n* We are here to help, you can find us for example on [Discord](https://discord.gg/8yY7dEme9r) or you can [email-us](hello@hedy.org)." - title: Getting started with Hedy +- {} - title: Iselmaden ɣef Hedy - text: "Various teachers worldwide have expressed their passion for Hedy, as some have shared with us:\n\n*Incredibly inspiring! Super good way to make programming a lot more accessible for yourself, but also for students. Very fun to play with and a lot of potential to use with the students. I think it is a very nice tool! I believe this is a valuable way for children to start learning programming. Python and coding have always been very exciting, because the barrier to learning is very high. Now everything is a bit lower and it was explained that it can actually be very easy. I enjoyed seeing how Hedy tries to make programming as accessible as possible for users!*\nNetherlands: Mathematics teachers in training (secondary school)\n\n*Simple interface and good examples.* Teacher: 3rd - 6th grades (elementary)\n\n*Multilingual programming and just the gradual programming concept itself.* US: middle school, 6th-8th grade\n\n*The gradual nature of introducing programming.* Australia: High - school\n\n*Continues automatically.* Netherlands: 2 HAVO-VWO\n\n*Both that the explanation can be in Dutch (and the code in English), and that it builds up with more and more possibilities.* Netherlands: Plus class group\n\n*But Hedy and its gradual levels...what an idea, I wanted to personally thank you for creating this. I cannot thank you enough. Also, I have never seen the level of engagement and enthusiasm of my students, as I have seen with Hedy. We have covered till level 5, and plan to spend one more week on it in classes and labs, before starting Python.* Pakistan\n\n*The 'realness' of programming, it resembles how it is in reality.* Netherlands: Plus class group 4 to 8\n\n*Step-by-step activities. Fun activities.* Netherlands: 1e All levels, 2e VWO/HAVO 2e VWO +, 3e HAVO 3e VWO\n\n*I really like Hedy very much and it is also nicely set up, which makes it good to use in primary school. Hedy's gradual approach works very well. The short explanation at the beginning of each - level and the short example programs help to give the children a quick insight into what is new in the chosen level. The different assignments that the children can choose also work very well. You see the children choose assignments that appeal to them and they then get to work with them, through the levels. Hedy is great fun for children who are good at programming and want to get a taste of a real programming language. It is good preparation for secondary school as soon as more ICT education is given there.* Netherlands: Oegstgeest Montessori school\n\n*The construction is so good.* Netherlands: Lower secondary school HAVO-VWO\n\n*I can keep the pace of the class.* Netherlands: group 7 en 8\n\n![Felienne teaching kids](/images/teacherfeedback/Fkids1.JPG) *Felienne teaching kids*\n\n\n![Kids learning about Hedy](/images/teacherfeedback/Fkids2.JPG) *Kids learning about Hedy*" title: Tasemlit n Hedy diff --git a/content/pages/ne.yaml b/content/pages/ne.yaml index d95cdf5242e..0967ef424bc 100644 --- a/content/pages/ne.yaml +++ b/content/pages/ne.yaml @@ -1,18 +1 @@ -learn-more-sections: -- title: The Hedy foundation - text: |- - Hedy is maintained by the Hedy Foundation (Stichting Hedy), Sportmanstaat 8, 2341 JG Oegstgeest, Dutch Chamber of Commerce number 94013985. - - The board of the foundation consists of: - - * Felienne Hermans, president - * Eelko Huizing, finance - * Renée Merbis, secretary - - The board of Stichting Hedy does not get any financial compensation for their tasks. -- title: A deep dive! - text: "Want to know more about Hedy's philosophy and design? Check out this talk Felienne gave at the StrangeLoop Conference in 2022:\n\n" -- title: Hedy in the news - text: "Some websites and newspapers have written about Hedy since our release in early 2020. We keep a list here:\n* [Java Magazine 04.2023](images/Hedy_Javamagazine2023.pdf)\n* [Tech Optimism - A Solution to the IT Shortage (Dutch), August 2022](https://pom.show/2022/08/12/een-oplossing-voor-het-it-tekort/)\n* [Codeweek Podcast, July 2022](https://codeweek.eu/podcast/26)\n* [Heise.de (German), Januari 2022](https://www.heise.de/news/Hedy-die-mitwachsende-Programmiersprache-6336264.html)\n* [Strumenta, November 2021](https://tomassetti.me/teaching-programming-with-hedy/)\n* [Vives (Dutch), CodeWeek Special October 2021](images/Vives-174-Codeweek.pdf)\n* [CodeWeek.eu - Haunted House Challenge, September 2021](https://codeweek.eu/2021/challenges/haunted-house)\n* [Opensource.com, April 2021](https://opensource.com/article/21/4/hedy-teach-code)\n* [IO Magazine, April 2021](https://ict-research.nl/wordpress/wp-content/uploads/2021/04/IO-magazine-NR1-2021_web.pdf)\n* [Ingeniería De Software - (Spanish), February 2021](https://ingenieriadesoftware.es/hedy-mejor-lenguaje-ensenar-programacion-ninos/)\n* [Hello World Magazine, February 2021](images/Hello_World_15_Hedy.pdf)\n* [Discoro, January 2021](https://discoro.wordpress.com/2021/01/09/hedy-gradually-learning-a-programming-language/)\n* [Felienne wins the Dutch award for ICT research for Hedy, January 2021](https://www.nwo.nl/en/news/felienne-hermans-receives-dutch-prize-ict-research-2021)\n* [SlashDot, August 2020](https://news.slashdot.org/story/20/08/17/024248/scientist-proposes-a-new-programming-language-for-teaching-coding-and-python)\n* [GenBeta (Spanish), August 2020](https://www.genbeta.com/desarrollo/nuevo-lenguaje-para-ensenar-programacion-a-ninos-como-se-ensena-a-leer-escribir-forma-gradual-niveles)\n* [Developpez (French), August 2020](https://programmation.developpez.com/actu/308095/Une-scientifique-propose-un-nouveau-langage-de-programmation-pour-enseigner-aux-enfants-le-codage-informatique-au-travers-d-une-approche-graduelle-implementee-en-Python-sur-13-paliers/)\n - * [Vives (Dutch), October 2020](images/artikel_vives.pdf) \"Met Hedy stap voor stap leren programmeren\"\n* [Leiden University, April 2020](https://www.universiteitleiden.nl/en/news/2020/03/looking-to-distract-the-kids-while-you-work-from-home-get-them-programming)\n* [Mare (Dutch), April 2020](https://www.mareonline.nl/cultuur/computercode-voor-de-kids/)\n* [AG Connect (Dutch), April 2020](https://www.agconnect.nl/artikel/stapsgewijs-python-leren-programmeren-met-nieuwe-taal-hedy)" +{} diff --git a/content/pages/uz.yaml b/content/pages/uz.yaml index 5100ad76f29..0967ef424bc 100644 --- a/content/pages/uz.yaml +++ b/content/pages/uz.yaml @@ -1,40 +1 @@ -learn-more-sections: -- title: The Hedy foundation - text: |- - Hedy is maintained by the Hedy Foundation (Stichting Hedy), Sportmanstaat 8, 2341 JG Oegstgeest, Dutch Chamber of Commerce number 94013985. - - The board of the foundation consists of: - - * Felienne Hermans, president - * Eelko Huizing, finance - * Renée Merbis, secretary - - The board of Stichting Hedy does not get any financial compensation for their tasks. -- title: A deep dive! - text: |- - Want to know more about Hedy's philosophy and design? Check out this talk Felienne gave at the StrangeLoop Conference in 2022: - - -- title: Hedy in the news - text: |- - Some websites and newspapers have written about Hedy since our release in early 2020. We keep a list here: - * [Java Magazine 04.2023](images/Hedy_Javamagazine2023.pdf) - * [Tech Optimism - A Solution to the IT Shortage (Dutch), August 2022](https://pom.show/2022/08/12/een-oplossing-voor-het-it-tekort/) - * [Codeweek Podcast, July 2022](https://codeweek.eu/podcast/26) - * [Heise.de (German), Januari 2022](https://www.heise.de/news/Hedy-die-mitwachsende-Programmiersprache-6336264.html) - * [Strumenta, November 2021](https://tomassetti.me/teaching-programming-with-hedy/) - * [Vives (Dutch), CodeWeek Special October 2021](images/Vives-174-Codeweek.pdf) - * [CodeWeek.eu - Haunted House Challenge, September 2021](https://codeweek.eu/2021/challenges/haunted-house) - * [Opensource.com, April 2021](https://opensource.com/article/21/4/hedy-teach-code) - * [IO Magazine, April 2021](https://ict-research.nl/wordpress/wp-content/uploads/2021/04/IO-magazine-NR1-2021_web.pdf) - * [Ingeniería De Software (Spanish), February 2021](https://ingenieriadesoftware.es/hedy-mejor-lenguaje-ensenar-programacion-ninos/) - * [Hello World Magazine, February 2021](images/Hello_World_15_Hedy.pdf) - * [Discoro, January 2021](https://discoro.wordpress.com/2021/01/09/hedy-gradually-learning-a-programming-language/) - * [Felienne wins the Dutch award for ICT research for Hedy, January 2021](https://www.nwo.nl/en/news/felienne-hermans-receives-dutch-prize-ict-research-2021) - * [SlashDot, August 2020](https://news.slashdot.org/story/20/08/17/024248/scientist-proposes-a-new-programming-language-for-teaching-coding-and-python) - * [GenBeta (Spanish), August 2020](https://www.genbeta.com/desarrollo/nuevo-lenguaje-para-ensenar-programacion-a-ninos-como-se-ensena-a-leer-escribir-forma-gradual-niveles) - * [Developpez (French), August 2020](https://programmation.developpez.com/actu/308095/Une-scientifique-propose-un-nouveau-langage-de-programmation-pour-enseigner-aux-enfants-le-codage-informatique-au-travers-d-une-approche-graduelle-implementee-en-Python-sur-13-paliers/) - * [Vives (Dutch), October 2020](images/artikel_vives.pdf) "Met Hedy stap voor stap leren programmeren" - * [Leiden University, April 2020](https://www.universiteitleiden.nl/en/news/2020/03/looking-to-distract-the-kids-while-you-work-from-home-get-them-programming) - * [Mare (Dutch), April 2020](https://www.mareonline.nl/cultuur/computercode-voor-de-kids/) - * [AG Connect (Dutch), April 2020](https://www.agconnect.nl/artikel/stapsgewijs-python-leren-programmeren-met-nieuwe-taal-hedy) +{}