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.

