WEBVTT 00:00.000 --> 00:12.200 Okay, hello everyone, very nice that you're still here at this afternoon and thank you for 00:12.200 --> 00:15.600 boring and let's hope. 00:15.600 --> 00:21.560 So my name is Femca and I'm a computer science student and a computer science teacher 00:21.560 --> 00:27.600 in training, mainly focus on secondary school, so age 12 till 18. 00:27.600 --> 00:35.360 Sometimes when you're a computer science teacher, you teach programming and well what 00:35.360 --> 00:36.760 to do when teaching programming? 00:36.760 --> 00:43.360 Well we've seen some amazing ideas already this afternoon and a very popular idea to start 00:43.360 --> 00:48.920 with is of course block-based programming, examples for example, squares which are amazing 00:48.920 --> 00:56.040 because you cannot really make mistakes in the syntax, but at some point the student 00:56.040 --> 01:02.560 at a certain age may feel like, well I feel like this is childish, my little brother 01:02.560 --> 01:08.600 in primary schools is also doing this, I want the real thing. 01:08.600 --> 01:12.440 So what do you count as the real thing? 01:12.440 --> 01:17.880 Well mainly textual programming, but when doing textual programming you need to find 01:17.880 --> 01:19.160 the new language. 01:19.160 --> 01:26.160 So like a lot of schools choose Python, which is a simple, mostly a simple language 01:26.160 --> 01:33.480 to start with, so Python is a, so Python is possibly the right choice. 01:33.480 --> 01:41.680 So let's start with doing Python, however when doing Python you can encounter this, they're 01:41.720 --> 01:47.560 different, they're different errors, but when teaching to children it's so just quite 01:47.560 --> 01:53.880 hard to read these errors, maybe you do because you can read English or you know what 01:53.880 --> 02:00.800 error means, but what you can get is a class full of. 02:00.800 --> 02:07.560 And then a bit of unhappy students, because the students feel like, oh not a red screen, 02:07.800 --> 02:13.880 it can be quite demotivating because it's like I can't program it's so hard, why is 02:13.880 --> 02:15.720 programming so hard? 02:15.720 --> 02:21.680 So especially to build the bridge between the block-based programming and the types 02:21.680 --> 02:29.360 of programming, we're going to make textual programming easy and we're doing that with 02:29.600 --> 02:30.360 Haiti. 02:30.360 --> 02:39.320 Haiti is a, well you can call it a language because it's parsing and it's an interface 02:39.320 --> 02:48.280 for doing, for learning how to program, but also, so it completes interface and a language 02:48.280 --> 02:53.440 and it has a tissue interface which is really nice for class environments and it's also 02:53.440 --> 02:57.560 important for class environments, it's that's available in the browser. 02:57.560 --> 03:04.200 Also very nice for Haiti is that there are very, so quite many translations, so it's 03:04.200 --> 03:07.960 available in the native language. 03:07.960 --> 03:14.320 What's different for Haiti than immediately starting into Python is that it's teaching 03:14.320 --> 03:19.120 to children the syntax just like learning punctuation. 03:19.120 --> 03:23.240 Syntex error is one of the most common errors and it's also something that's very hard 03:23.240 --> 03:24.240 to understand. 03:24.320 --> 03:27.440 Why do I need to call in here? 03:27.440 --> 03:33.840 Why is this maybe this quotation mark not valid here? 03:33.840 --> 03:40.200 So Haiti is currently learning syntax and concepts at the same time, so instead of only 03:40.200 --> 03:46.000 currently learning concepts, we're also learning syntax currently. 03:46.000 --> 03:47.360 So how does it work? 03:47.360 --> 03:53.000 Well maybe if you go back into your own path when you start to learn how to write, your 03:53.040 --> 03:59.700 first start with letters, then you start with some words and at the end you write a full 03:59.700 --> 04:01.000 sentence. 04:01.000 --> 04:06.760 You're writing in Pyramid School, what learning would you write, first write sentences with 04:06.760 --> 04:16.040 all lower case letters, the higher the capital letters, the comma and the dot at the end, 04:16.040 --> 04:17.720 all ends later. 04:17.720 --> 04:22.520 When you're doing all the same time, it can be quite overwhelming for students, so that 04:22.600 --> 04:26.840 is why language is taught in this way in Pyramid School. 04:26.840 --> 04:31.200 So why not learn languages the same way for programming? 04:31.200 --> 04:32.920 This is what's done in Haiti. 04:32.920 --> 04:42.280 So an example in this case is we're also using different levels for different parsing times. 04:42.280 --> 04:49.400 So in example, for the syntax in Level 3 is that we're making a list of choices 04:49.440 --> 04:56.200 which stored paper and scissors and then I print iTunes and then from choices you choose 04:56.200 --> 04:57.200 something at random. 04:57.200 --> 05:00.520 So maybe it will print iTunes scissors. 05:00.520 --> 05:07.280 As you can see in the syntax in Level 16, there are many, many steps in between. 05:07.280 --> 05:10.560 It already starts to look way more like Python. 05:10.560 --> 05:17.560 So this way is gradually built up to Python so that you do not get overhead. 05:17.560 --> 05:25.720 It's level introduces like new ideas and also you get to understand why do we need quotation marks. 05:25.720 --> 05:31.680 For example, if you have a variable name of like name, like name is femca in my case, 05:31.680 --> 05:40.600 but if our print, my name is name without quotation marks, it will print my femca is femca. 05:40.600 --> 05:47.240 And this way you see that quotation marks are necessary and when to actually apply them. 05:47.240 --> 05:54.200 So it's quite a complete big project which is amazing in my opinion. 05:54.200 --> 05:59.240 So there are students interface at the left you can write the code, at the right you'll 05:59.240 --> 06:06.040 see the output, as the top you will see in assignments or as venture how we call it and 06:06.040 --> 06:08.480 some example code which you can copy. 06:08.480 --> 06:15.440 There's a dropdown menu where you can choose between different levels and so get introduced to concepts. 06:16.360 --> 06:22.720 We distinguish between basic advance and expert so that for example when you already have a little bit of 06:22.720 --> 06:29.360 feeling that you can go into advance and maybe start from that level until you're an expert. 06:29.360 --> 06:35.560 At the end you're quite already working with a lot of Python code, knowing functions, 06:36.360 --> 06:41.640 while for if else, alif and all that kind of things. 06:41.640 --> 06:46.120 And then you're ready to fully work with Python. 06:46.120 --> 06:53.320 There's also the Python turtle which is visible so you can draw some things you'll see it 06:53.320 --> 07:03.080 move, change the colors to random colors in this case and go forward, turn different sides. 07:03.080 --> 07:05.800 So I need a bit of a question in between. 07:05.800 --> 07:14.600 Does somebody, so a student wrote this, what will this code do? 07:14.600 --> 07:18.920 We'll probably print hello there. 07:18.920 --> 07:22.760 But when a student runs this gets this error. 07:22.760 --> 07:27.800 I did everything you said you should do, but then I get an error which I cannot read because 07:27.800 --> 07:30.600 English is very difficult. 07:30.600 --> 07:32.560 What happens here is a space. 07:32.560 --> 07:38.080 It's an invisible error and the error message is also not really helping in this case. 07:38.080 --> 07:43.520 So also heady tries to get to clear error messages and warnings. 07:43.520 --> 07:51.400 So when you make this mistake in heady, in level two, you will get a warning. 07:51.400 --> 07:58.720 I test on different codes so right now, line two, line two started with the space. 07:58.720 --> 08:02.200 Can you try removing this space? 08:02.280 --> 08:06.600 So the reason why it gets a warning is to get the feeling of success. 08:06.600 --> 08:10.560 So I don't want to get another error message that I can't code. 08:10.560 --> 08:15.320 But the warning helps to get to the, to the, to the right code. 08:15.320 --> 08:20.520 The reason why it's works is because annotation is not just, and the topic in level two 08:20.520 --> 08:22.720 so it can parse anyway. 08:22.720 --> 08:31.760 But at level six, annotation is a thing so a space is not allowed so can try to do something. 08:31.800 --> 08:35.680 So instead of an annotation error, it will write a full sentence and if you're native language 08:35.680 --> 08:40.280 is available in this case for my students, it will show an error message in search which 08:40.280 --> 08:42.280 they can read. 08:42.280 --> 08:48.560 It says me a lot of hands, but it doesn't work. 08:48.560 --> 08:53.080 Another example, quick example, a variable not found is a name error that's a name is not 08:53.080 --> 08:59.560 defined and in a heady full give a sentence that, that's the variable is used, being used 08:59.560 --> 09:05.240 before it's being set so you need to do something about it. 09:05.240 --> 09:09.880 Also one of the things that I already mentioned is the native language support. 09:09.880 --> 09:18.520 So I showed some languages here, even the keywords can be translated, but of course since 09:18.520 --> 09:22.440 Python is an English, you have a toggle on the top right of your screen that you can 09:22.440 --> 09:27.720 toggle between your, the language you want to use or the English keywords. 09:27.760 --> 09:32.160 Some points, of course, you want to try to switch to the English keywords because otherwise 09:32.160 --> 09:38.520 it will be quite hard writing Python, but for many students, it will be very nice start, 09:38.520 --> 09:44.680 especially when you're young to at least use the keywords in their own language. 09:44.680 --> 09:48.680 So if your language is not available, you can of course help translating. 09:48.680 --> 09:55.640 There's a, you can, of course, you can look in the translation drop down menu if your language 09:55.720 --> 10:03.240 is not available, you can add your language with, with direction to the weblight and with 10:03.240 --> 10:09.000 some instructions and you don't need any program experience because weblight is used. 10:09.000 --> 10:13.520 So it's going to, you see the sentence and you can translate yourself. 10:13.520 --> 10:18.680 And this may, if you help translating, it will make this programming as, as 10:18.680 --> 10:23.600 ventures are available to many teachers around the world to help their students programming 10:23.600 --> 10:30.400 and get more feeling of success with less error syntax errors. 10:30.400 --> 10:37.040 The teacher interface, so with the teacher interface, it's very helpful as a teacher. 10:37.040 --> 10:45.160 I will show some examples right here because you can manage your classes, you can create classes, 10:45.240 --> 10:54.760 I can see what my students are, what my students are doing and you can also of course 10:54.760 --> 11:01.400 fully customize your own levels because there are some default levels which are being made, 11:01.400 --> 11:08.280 but I, I understand that as a teacher, you sometimes want your own level or some assignments, 11:08.280 --> 11:15.000 so you can drag anything there, you can even create your own custom adventures if you 11:15.080 --> 11:20.680 would like to have the difference assignments. So with the teacher interface, it's really helpful 11:20.680 --> 11:26.360 for in class environments, but most importantly, no emails are needed when creating accounts. 11:27.560 --> 11:35.000 We, of course, want to be like, note, note data of your students, so you can create 11:35.000 --> 11:40.760 use your names and maybe you don't even show their names, but you can create use your names 11:40.840 --> 11:45.560 and it will create accounts without any email attached, so it will generate some passwords, 11:45.560 --> 11:51.640 you can give to students and then you can use your accounts to keep track of what they've done 11:51.640 --> 11:58.040 and then you can also look into their assignments and there's also a button to hand in assignments 11:58.040 --> 12:08.040 if you want to use that. So what do we still want to do? There are many cool improvements 12:08.120 --> 12:16.360 which, which some for the teacher are working on, so the main thing that people are working on right 12:16.360 --> 12:22.280 now is the significant teacher interface improvements to make it more beautiful. I'll show some 12:22.280 --> 12:29.960 of you some of the designs soon and workboard books, which I will also show soon, but first, 12:29.960 --> 12:36.360 the teacher interface improvements are some screenshots of some that people are working on, for 12:36.360 --> 12:43.720 example, an interface for creating, which so it will show stuff that students hand it in. 12:44.360 --> 12:51.160 You can look at the adventure and quickly see what is what's going on. You can view the program 12:51.160 --> 12:57.400 and accept it or not and then the students will get a check mark at the adventure. 12:57.720 --> 13:06.760 There was also ideas to create a new class, where you can create a new class of course, 13:06.760 --> 13:12.680 but a little bit of new, more beautiful interface with some more options for creating a class. 13:15.240 --> 13:24.520 Also some new interface for classes and some designs for having teaching materials on one place. 13:24.680 --> 13:33.480 So at the left you can see a design for workbooks, slides, what's the creative class and some 13:33.480 --> 13:39.240 documentation for teachers to read and at the right you can see some preparation material for 13:39.240 --> 13:46.440 example, level three, where you can see some slides, the workbook and column mistakes, 13:47.800 --> 13:53.800 going mistakes are of course really nice to these reads so you can prepare for what can happen. 13:55.480 --> 14:03.320 So another real cool thing that people are working on is the workbook. So in the workbook 14:03.320 --> 14:07.320 there are more assignments but not online in the interface that has just showed you. 14:08.040 --> 14:13.320 So for example, in the left one it says to circle variables in the code, 14:13.320 --> 14:19.720 which helps with reading the codes and actually because sometimes reading can be a different 14:19.720 --> 14:26.040 skill than actually writing the code. So to for more understanding you can do these assignments 14:26.040 --> 14:33.560 and you can print them on paper. So you can have more variety in class like alternating between 14:33.560 --> 14:46.200 laptop and paper to have a better way of teaching. So also what's the output of this code? 14:46.200 --> 14:54.200 So you can actually predict the code maybe after that run it in Haiti and then look how to 14:55.480 --> 15:03.800 learn how to code in steps. And of course there are many ways to contribute. You can contribute 15:03.800 --> 15:11.960 as a developer because the system needs to be built or as an educator to make like the main 15:11.960 --> 15:17.000 adventures that teachers can use because in every teacher needs to make your own adventure 15:17.000 --> 15:21.080 all the adventures that's going to be quite harsh. They can share their adventures by the way, 15:23.240 --> 15:29.480 but the main adventure also needs to be creative. And all the content, the materials, 15:29.480 --> 15:35.560 workbook, keywords and everything need to be translated because many teachers would love to 15:35.720 --> 15:44.600 teach their own native language. So if you want to know more, there's a website with a very 15:44.600 --> 15:53.880 short URL which is, which I like. And of course you can search for the Github pages to, to and 15:53.880 --> 16:09.480 know more. So thank you. Any questions? I do that actually on the school there, understand 16:09.480 --> 16:17.000 what the adventure is. And the adventure is one of the assignments. I can also show you 16:17.160 --> 16:29.880 one of my little. So you can start learning and this is called an adventure, just one exercise. 16:31.880 --> 16:37.960 It's called it way, I think that's because it's from I don't know where it's called it way, 16:37.960 --> 16:41.960 but we're working in levels and adventures. So this is another adventure. 16:42.840 --> 16:48.840 Does that answer your question? Yes. Amazing. Any more questions? 16:51.240 --> 16:57.080 Yes, please? I remember any of you use turtle graphics, but is there any way to use more from 16:57.080 --> 17:03.480 that to create more complex graphics or interactive things as well? No, you can, 17:03.480 --> 17:08.360 turtle graphics is the most complex thing you can do. Of course you can use loops to create 17:08.360 --> 17:19.240 like beautiful mathematical graphics, but just nothing to fill a circle. But you can use 17:19.240 --> 17:25.960 colors in the lines. I heard a student drawing a night with the, with the turtle by 17:26.040 --> 17:34.680 going left and right and adding ice. Over here? Sorry, didn't it answer your question? 17:39.960 --> 17:49.720 It's very now. It's developed both by volunteers, but it started at the 17:49.720 --> 17:56.360 free unified styles from Amsterdam as a research project. So I'm not sure if it's the, 17:58.520 --> 18:02.280 I'm not sure if it's still something with the research project or funnits from there, 18:02.280 --> 18:09.720 because I don't know how that works, but I guess it's funnits from both donations and maybe 18:09.720 --> 18:15.720 as long as it can still be done as a research project. And yes? 18:20.200 --> 18:29.880 Sorry, what is she? Okay. So funding is also through grants. Yes? 18:37.160 --> 18:39.480 Yeah, that's what I'm learning to become a teacher for. 18:42.600 --> 18:45.720 I'm studying to become a teacher for our students at 12 to 18. 18:49.800 --> 18:53.400 What change are you students to when the students are doing? 18:55.000 --> 18:59.240 So the question is to what age are students using your Haiti? 19:01.640 --> 19:07.960 I think the, the target group is mainly students from like the late-paramish school. So starting at 19:07.960 --> 19:15.320 nine, ten, and then mostly until 14, 15. I think that's the target audience, 19:15.320 --> 19:19.400 but it depends on, it depends on the age how fast you go. 19:20.840 --> 19:26.600 With I think an age on 12 or 13, you will probably do like all as ventures that are recommended, 19:26.600 --> 19:31.480 but if you're, if they're a little bit older, you may scrap some assignments because they don't 19:31.480 --> 19:37.880 not need that much repetition. But it can be used for all age groups and also even people who 19:37.960 --> 19:41.240 are just new to programming, also started with this so that you can, 19:43.080 --> 19:44.680 so that you can learn how to program. 19:50.920 --> 19:57.320 Another question? Yeah, just want to understand how the level level is more efficient, 19:57.880 --> 20:04.760 correct, that the last level is basically like Python to make it nicer errors. 20:05.560 --> 20:10.120 And the first level is no errors and everything is alone. 20:11.480 --> 20:16.280 So the question is how do the levels work in context of syntax, I believe? 20:17.400 --> 20:26.760 So in the first level, you can, you can ask like, hey, you can ask for some name, and it will 20:26.840 --> 20:37.480 echo the name. So there's no quotation marks yet, and only like, later, 20:38.120 --> 20:48.280 leave a little for quotation marks are being added. And this way, you readily build two words, 20:48.280 --> 20:55.720 two words of Python, and also when going to level 16, let's look at a deeper example because it shows 20:56.360 --> 21:05.560 quite some code. It looks very much like Python. So it's really, really building two words of 21:05.560 --> 21:17.880 Python to get slowly some syntax added so that you can help to start answering your question. 21:17.960 --> 21:27.000 Is it just about syntax for all sorts of concepts? So both syntax and concepts are 21:27.000 --> 21:34.920 readily added to the to the course so that you do not get overwhelmed that by the way, this is 21:34.920 --> 21:39.720 an if and you need to open a bracket. Oh, don't forget to call it at the end. And then if you 21:39.720 --> 21:44.120 forget to call it again, if you get an error message, it's like, oh, I can't do programming. So it's 21:44.200 --> 21:52.760 so to readily do step by step adding punctuation and do it the right way to understand Python. 22:03.160 --> 22:10.920 I think there are no more questions. If you have any more questions or want to 22:11.320 --> 22:20.840 want to know more about this interface, just let me know in the education room or just after 22:20.840 --> 22:26.280 the style for to check out the website. Thank you.