Okay, hello everyone, very nice that you're still here at this afternoon and thank you for
boring and let's hope.
So my name is Femca and I'm a computer science student and a computer science teacher
in training, mainly focus on secondary school, so age 12 till 18.
Sometimes when you're a computer science teacher, you teach programming and well what
to do when teaching programming?
Well we've seen some amazing ideas already this afternoon and a very popular idea to start
with is of course block-based programming, examples for example, squares which are amazing
because you cannot really make mistakes in the syntax, but at some point the student
at a certain age may feel like, well I feel like this is childish, my little brother
in primary schools is also doing this, I want the real thing.
So what do you count as the real thing?
Well mainly textual programming, but when doing textual programming you need to find
the new language.
So like a lot of schools choose Python, which is a simple, mostly a simple language
to start with, so Python is a, so Python is possibly the right choice.
So let's start with doing Python, however when doing Python you can encounter this, they're
different, they're different errors, but when teaching to children it's so just quite
hard to read these errors, maybe you do because you can read English or you know what
error means, but what you can get is a class full of.
And then a bit of unhappy students, because the students feel like, oh not a red screen,
it can be quite demotivating because it's like I can't program it's so hard, why is
programming so hard?
So especially to build the bridge between the block-based programming and the types
of programming, we're going to make textual programming easy and we're doing that with
Haiti.
Haiti is a, well you can call it a language because it's parsing and it's an interface
for doing, for learning how to program, but also, so it completes interface and a language
and it has a tissue interface which is really nice for class environments and it's also
important for class environments, it's that's available in the browser.
Also very nice for Haiti is that there are very, so quite many translations, so it's
available in the native language.
What's different for Haiti than immediately starting into Python is that it's teaching
to children the syntax just like learning punctuation.
Syntex error is one of the most common errors and it's also something that's very hard
to understand.
Why do I need to call in here?
Why is this maybe this quotation mark not valid here?
So Haiti is currently learning syntax and concepts at the same time, so instead of only
currently learning concepts, we're also learning syntax currently.
So how does it work?
Well maybe if you go back into your own path when you start to learn how to write, your
first start with letters, then you start with some words and at the end you write a full
sentence.
You're writing in Pyramid School, what learning would you write, first write sentences with
all lower case letters, the higher the capital letters, the comma and the dot at the end,
all ends later.
When you're doing all the same time, it can be quite overwhelming for students, so that
is why language is taught in this way in Pyramid School.
So why not learn languages the same way for programming?
This is what's done in Haiti.
So an example in this case is we're also using different levels for different parsing times.
So in example, for the syntax in Level 3 is that we're making a list of choices
which stored paper and scissors and then I print iTunes and then from choices you choose
something at random.
So maybe it will print iTunes scissors.
As you can see in the syntax in Level 16, there are many, many steps in between.
It already starts to look way more like Python.
So this way is gradually built up to Python so that you do not get overhead.
It's level introduces like new ideas and also you get to understand why do we need quotation marks.
For example, if you have a variable name of like name, like name is femca in my case,
but if our print, my name is name without quotation marks, it will print my femca is femca.
And this way you see that quotation marks are necessary and when to actually apply them.
So it's quite a complete big project which is amazing in my opinion.
So there are students interface at the left you can write the code, at the right you'll
see the output, as the top you will see in assignments or as venture how we call it and
some example code which you can copy.
There's a dropdown menu where you can choose between different levels and so get introduced to concepts.
We distinguish between basic advance and expert so that for example when you already have a little bit of
feeling that you can go into advance and maybe start from that level until you're an expert.
At the end you're quite already working with a lot of Python code, knowing functions,
while for if else, alif and all that kind of things.
And then you're ready to fully work with Python.
There's also the Python turtle which is visible so you can draw some things you'll see it
move, change the colors to random colors in this case and go forward, turn different sides.
So I need a bit of a question in between.
Does somebody, so a student wrote this, what will this code do?
We'll probably print hello there.
But when a student runs this gets this error.
I did everything you said you should do, but then I get an error which I cannot read because
English is very difficult.
What happens here is a space.
It's an invisible error and the error message is also not really helping in this case.
So also heady tries to get to clear error messages and warnings.
So when you make this mistake in heady, in level two, you will get a warning.
I test on different codes so right now, line two, line two started with the space.
Can you try removing this space?
So the reason why it gets a warning is to get the feeling of success.
So I don't want to get another error message that I can't code.
But the warning helps to get to the, to the, to the right code.
The reason why it's works is because annotation is not just, and the topic in level two
so it can parse anyway.
But at level six, annotation is a thing so a space is not allowed so can try to do something.
So instead of an annotation error, it will write a full sentence and if you're native language
is available in this case for my students, it will show an error message in search which
they can read.
It says me a lot of hands, but it doesn't work.
Another example, quick example, a variable not found is a name error that's a name is not
defined and in a heady full give a sentence that, that's the variable is used, being used
before it's being set so you need to do something about it.
Also one of the things that I already mentioned is the native language support.
So I showed some languages here, even the keywords can be translated, but of course since
Python is an English, you have a toggle on the top right of your screen that you can
toggle between your, the language you want to use or the English keywords.
Some points, of course, you want to try to switch to the English keywords because otherwise
it will be quite hard writing Python, but for many students, it will be very nice start,
especially when you're young to at least use the keywords in their own language.
So if your language is not available, you can of course help translating.
There's a, you can, of course, you can look in the translation drop down menu if your language
is not available, you can add your language with, with direction to the weblight and with
some instructions and you don't need any program experience because weblight is used.
So it's going to, you see the sentence and you can translate yourself.
And this may, if you help translating, it will make this programming as, as
ventures are available to many teachers around the world to help their students programming
and get more feeling of success with less error syntax errors.
The teacher interface, so with the teacher interface, it's very helpful as a teacher.
I will show some examples right here because you can manage your classes, you can create classes,
I can see what my students are, what my students are doing and you can also of course
fully customize your own levels because there are some default levels which are being made,
but I, I understand that as a teacher, you sometimes want your own level or some assignments,
so you can drag anything there, you can even create your own custom adventures if you
would like to have the difference assignments. So with the teacher interface, it's really helpful
for in class environments, but most importantly, no emails are needed when creating accounts.
We, of course, want to be like, note, note data of your students, so you can create
use your names and maybe you don't even show their names, but you can create use your names
and it will create accounts without any email attached, so it will generate some passwords,
you can give to students and then you can use your accounts to keep track of what they've done
and then you can also look into their assignments and there's also a button to hand in assignments
if you want to use that. So what do we still want to do? There are many cool improvements
which, which some for the teacher are working on, so the main thing that people are working on right
now is the significant teacher interface improvements to make it more beautiful. I'll show some
of you some of the designs soon and workboard books, which I will also show soon, but first,
the teacher interface improvements are some screenshots of some that people are working on, for
example, an interface for creating, which so it will show stuff that students hand it in.
You can look at the adventure and quickly see what is what's going on. You can view the program
and accept it or not and then the students will get a check mark at the adventure.
There was also ideas to create a new class, where you can create a new class of course,
but a little bit of new, more beautiful interface with some more options for creating a class.
Also some new interface for classes and some designs for having teaching materials on one place.
So at the left you can see a design for workbooks, slides, what's the creative class and some
documentation for teachers to read and at the right you can see some preparation material for
example, level three, where you can see some slides, the workbook and column mistakes,
going mistakes are of course really nice to these reads so you can prepare for what can happen.
So another real cool thing that people are working on is the workbook. So in the workbook
there are more assignments but not online in the interface that has just showed you.
So for example, in the left one it says to circle variables in the code,
which helps with reading the codes and actually because sometimes reading can be a different
skill than actually writing the code. So to for more understanding you can do these assignments
and you can print them on paper. So you can have more variety in class like alternating between
laptop and paper to have a better way of teaching. So also what's the output of this code?
So you can actually predict the code maybe after that run it in Haiti and then look how to
learn how to code in steps. And of course there are many ways to contribute. You can contribute
as a developer because the system needs to be built or as an educator to make like the main
adventures that teachers can use because in every teacher needs to make your own adventure
all the adventures that's going to be quite harsh. They can share their adventures by the way,
but the main adventure also needs to be creative. And all the content, the materials,
workbook, keywords and everything need to be translated because many teachers would love to
teach their own native language. So if you want to know more, there's a website with a very
short URL which is, which I like. And of course you can search for the Github pages to, to and
know more. So thank you. Any questions? I do that actually on the school there, understand
what the adventure is. And the adventure is one of the assignments. I can also show you
one of my little. So you can start learning and this is called an adventure, just one exercise.
It's called it way, I think that's because it's from I don't know where it's called it way,
but we're working in levels and adventures. So this is another adventure.
Does that answer your question? Yes. Amazing. Any more questions?
Yes, please? I remember any of you use turtle graphics, but is there any way to use more from
that to create more complex graphics or interactive things as well? No, you can,
turtle graphics is the most complex thing you can do. Of course you can use loops to create
like beautiful mathematical graphics, but just nothing to fill a circle. But you can use
colors in the lines. I heard a student drawing a night with the, with the turtle by
going left and right and adding ice. Over here? Sorry, didn't it answer your question?
It's very now. It's developed both by volunteers, but it started at the
free unified styles from Amsterdam as a research project. So I'm not sure if it's the,
I'm not sure if it's still something with the research project or funnits from there,
because I don't know how that works, but I guess it's funnits from both donations and maybe
as long as it can still be done as a research project. And yes?
Sorry, what is she? Okay. So funding is also through grants. Yes?
Yeah, that's what I'm learning to become a teacher for.
I'm studying to become a teacher for our students at 12 to 18.
What change are you students to when the students are doing?
So the question is to what age are students using your Haiti?
I think the, the target group is mainly students from like the late-paramish school. So starting at
nine, ten, and then mostly until 14, 15. I think that's the target audience,
but it depends on, it depends on the age how fast you go.
With I think an age on 12 or 13, you will probably do like all as ventures that are recommended,
but if you're, if they're a little bit older, you may scrap some assignments because they don't
not need that much repetition. But it can be used for all age groups and also even people who
are just new to programming, also started with this so that you can,
so that you can learn how to program.
Another question? Yeah, just want to understand how the level level is more efficient,
correct, that the last level is basically like Python to make it nicer errors.
And the first level is no errors and everything is alone.
So the question is how do the levels work in context of syntax, I believe?
So in the first level, you can, you can ask like, hey, you can ask for some name, and it will
echo the name. So there's no quotation marks yet, and only like, later,
leave a little for quotation marks are being added. And this way, you readily build two words,
two words of Python, and also when going to level 16, let's look at a deeper example because it shows
quite some code. It looks very much like Python. So it's really, really building two words of
Python to get slowly some syntax added so that you can help to start answering your question.
Is it just about syntax for all sorts of concepts? So both syntax and concepts are
readily added to the to the course so that you do not get overwhelmed that by the way, this is
an if and you need to open a bracket. Oh, don't forget to call it at the end. And then if you
forget to call it again, if you get an error message, it's like, oh, I can't do programming. So it's
so to readily do step by step adding punctuation and do it the right way to understand Python.
I think there are no more questions. If you have any more questions or want to
want to know more about this interface, just let me know in the education room or just after
the style for to check out the website. Thank you.