 So the first talk of the morning is Lillian, so good morning Lillian Hello Yeah, I can hear you perfect fantastic. Yes We're doing I'm good. Thank you Cool. Where are you coming from? I'm from London UK. Cool. So it's super early for you. That's right Yeah, okay. Who is aware? It's a super nice day here in Amsterdam. It's sunny now So I hope I stay this way Shall I share my screen right? Welcome to creating the next generation of Millionaires part 3 Python programming for kids mums dads grandpas grandmas, etc Now, who am I? I have a PhD I am a member of the British Computer Society and I'm very interested in teaching school children how to code properly Okay now It has been not unnoticed by our young people our young school children our next generation That there is an extremely strong connection between technology Bitcoinism space travel success and billionaires these smart children They attribute all of this to computer coding or computer programming and on mass Young people are clamoring to master this skill. Now when I say young people this includes children as young as eight And I've also noticed that children between the ages of 11 and 14 are particularly keen Also in recognition of this great Contribution coding is making and will be making to society Governments worldwide have elevated the status of computer programming To the fourth are along with reading writing and arithmetic and they have launched Initiatives to have it taught in schools from kindergarten or the way to high school and the areas in red Are some of the nations in which this is happening? Or be it begrudgingly and I have been involved heavily involved in introducing computer programming to young people now I Have recently discovered in the last few months or so that it's not only young people that are interested in mastering Skill but it is also grown-ups It's their moms and dads who feel that they've missed out and they don't understand But they want to help their children and it is also the curious adult who just wants to know what it's all about They range in age from the young adult the middle age to the retiree So I started a free online simple course on this topic for the curious grown-up And this talk will describe the various teaching methods involved the outcomes the joys and The challenges the similarities and dissimilarities between teaching the young people and the curious adult Now how do we approach this? Now there is a dearth of pedagogy in this area the economist has written the subject is so young that teachers and curriculum designers have little Pedagogical research to guide them. This is in the context of school children But it can also apply to the curious adult to put this into context subjects such as maths English History geography Latin they've been taught for thousands of years hundreds of years all over the globe There's a great deal of collective experience and knowledge on how they should best be taught and how people best learn them This is not the case for computer programming for children or the curious adult So in view of this dearth of pedagogy, I developed my own framework Now there is this great debate about what language they should start with Now should they be introduced to a block-based language first at this sort of stage or a textual language such as Python? Now There is a school of thought that block-based languages more accessible at this stage But I opted to introduce textual languages in the form of Python from the very beginning The rationale for this is that if you look what children do at the ages of 11 12 and 13 in English literature They study the works of William Shakespeare such as as you like it Romeo and Juliet in mass they solve Algebraic equations in geography in the UK not so long ago They wrote essays on discussing the advantages and disadvantages of Brexit the curious adult will of course be familiar with all of this So we surmise that young people and older adults are comfortable with and are able to manipulate symbols with Sophisticated texts and they should be able to cope with a textual programming language such as Python more over Python is the number one teaching language in schools and Universities worldwide and it has great commercial currency now So a decision was made to employ a bottom-up approach when teaching rather than a Top-down approach the bottom-up approach is a tried tested successful and traditional method Used in teaching computer programming to adults foreign languages mathematics are also taught in this way Now in this approach the concepts and operational definitions of the concepts are taught before they're applied to a problem It's not the only way of teaching. It's not unusual that this approach could be an alien to the modern schools child Who has been predominantly taught with a top-down approach whereby the problem is specified They then delve further to see what tools are available to solve the problem. However, the approach was well received this was then Processed with the explanation that the programs are analogous to essays modules to paragraphs statements to sentences and key words to words And we would learn at a keyword at a time and learn about its use before building up in due course to create more complex programs The young children the students appear to like this explanation one by into the bottom-up approach Concept although in the UK it could be unfamiliar and from time to time I was asked by the students questions such as are you fluent in the Python language and Parents in parents even said how much their children were enjoying and loving the subject now with the onset of including the curious adults we modified the Approach somewhat and here are the sort of modifications The first modification is that the primary emphasis is shifted from the key word to the output of the program Right from the very beginning. What do we mean by this? Let's look at program one apples equals 10 bananas equals 12 Totally equals apples bananas print 12 output 22 So the first thing we drew their attention to was the output which was 22 and we described how we got to the output of 22 we then changed the numbers of apples and bananas and we got different output and we also Changed the program so the statements are not aligned. So it's we get a syntax error Now the effect of this is that we are orientating the minds of the people towards the output from the very beginning And letting them think that this is the most important thing So right from the beginning people are correcting their own syntax errors and they're also testing them This reduces the dependency on me as a teacher It empowers the students and they could progress more happily and more quickly We don't dispense of the importance of the key word But rather we put it into a proper context right from the beginning now the second modification is that we think of We think in terms of small units of code or in terms of working structures of code So the fundamental building block is a unit of useful portable code We've course the students of course understand the code its logic and its structure and the output And they can pull out these pieces of code when necessary So if we look here for J in range 1 to 10 print J Printing out the first nine numbers is a useful bit of code portable code that they can put into other programs The second bit here is a while statement where they input five numbers They calculate the sum total and the average. This is also an important bit of code which they can import into other Other programs as well. Now the third modification is that they need teacher led examples It's quite important that the teacher makes up the examples and shows it to them and also to And highlight the importance of repetition and memory Sometimes in the modern education system the importance of memory is ostracized But if you think about it, we memorize the spellings of words poems multiplication tables. We work out six times seven We don't have it memorized You know, well, we have it memorized we pull out the information when necessary and we apply it to Different situations and the same applies here So all this acts as a springboard for students to write and create their own program of Different scenarios. Let me just go back here to point to here about thinking in blocks Now thinking in blocks is not unusual at all in the ancient classical language Sanskrit The fundamental unit is the sentence not the word in music We think of in terms of musical pieces in poetry. We think of in terms of poetical verse and point four here Introducing the well factor the importance of creating Interesting programs and there's perhaps a twist in the tale to this We found that it's not necessary really to go down the route of creating a bot or a talking robot Just adding two numbers or getting the right password is enough Actually, if the program works it captivates the interest of the student of both children and curious adults And it has a well factor to it. So let's look at some of the output of the children and the Adults here. So let's look at the adults here we were they were introduced to work example of the With a for loop for Jane range one comma ten comma two print J You see that it prints out the first five odd numbers now. They went away. They had to sort of Learn about this between sessions, but they they went away and of their own volition They created out their own programs involved in for loops. Now here we see for x in range Seven comma fifty nine comma nine what an unusual combination of numbers But they enjoyed playing with these and creating unusual combination of numbers and one Adult said I like it particularly about the for loop because it does all the laborious Calculation so quickly and saves a lot of time also codes Eliminate human mistakes which could arise out of boredom and of doing the same task over and over again You know, this is somebody without a mathematical scientific or programming background immediately They seem to understand the intricacies and the beauties of a for loop Here now we introduce the adults of curious adults to a function called addition to has two parameters a and b and you Call it a cause hundred equals 200 They were introduced to it was explained they played with it during the session and then during the Between sessions they went ahead of their own volition to create their own Programs now you can see here They've created functions and travel and apartments deduct cars What's quite interested here is that they went and they sort of seem to create things examples with Applications associated with them. They were not provided with a You know function with an application and this is what they wrote about the if statement They said I like selection and conditional statements I find it interesting that if else if else take into account different situations and come up with different options Which could help with making small or big decisions again This is somebody, you know people without mathematical scientific programming backgrounds appreciating the beauty of an if statement Let us look at what the children interested children produced. This is from a 13 year old here They were introduced to a worked example here this worked example here It's a program to make a simple calculator. They decide whether they Want to add or subtract they select an option they input two numbers and then the program adds or subtracts The two numbers depending on what you know They chose and you can see a lot of functions here They were then asked to extend the function or the program to include multiplication and division and you can see my stud They managed to study the structure of the program and they knew exactly where to put the functions in of addition Or rather division and multiplication. They also tested the Program that they created and you know, they tested it until they got it correct They Another 13 year old here. They were asked to create a program where the computer randomly generates a number to one in a hundred The user has to guess the number until they get it right and they have to and the program reports Whether the number is too high or too low or just right now They created this program from scratch. You can see it's got a function. It's got a while loop and you know from looking Studying the structures of different programs and by memory and by repetition You know when you they are now provided with doing something they can write it quite confidently and confidently from struck from scratch Now what's quite interesting? I found that They wrote a program and I gave them a sort of model answer But they their program was slightly different in structure from the given answer here So they inadvertently highlighted the fact that there is more than one solution to a problem And they also tested the program of their own volition and quite happily until they got You know what the program that they created correct here They also created this from scratch and here now we decided to give them some real-life data This is COVID-19 vaccination data taken from a respected website John Hopkins website. These are the Vaccination numbers of the fully vaccinated people at the time of a couple of weeks ago in China, USA India, Germany, UK, Brazil and they were asked to write a program to calculate the total number Vaccinated and the average here. Now you can see they asked should we create a Program using the inbuilt function or create it from scratch ourselves I said both and you see they solve the problem in two different ways they create They use the inbuilt function and they created it from scratch They were quite Really happy that they used real world COVID-19 data, you know something which is really topical from a respected scientific Source and also they were thrilled when they got these numbers, you know the sum at the time of the total number of people vaccinated 545 million and the average number 109 million so now, you know, the children You know the young people they can Make small programs Related pertaining to real-world topical data So conclusions and general observations here We found kind of found that the curious children seem to have a more analytical approach towards Programming than the curious adults which exhibited a more curious creative approach. What do I mean by that? the the Children they were more concerned with them create the logic of the program They, you know, wrote the program with the correct logic and then they sort of create it You know went ahead and created the syntax errors Later, but the grown-ups they will when I say creative you know, they Well, first of all, you saw the kind of four statement where they created a lot of programs with lots of different numbers there and also they were More concerned about precision from right from the beginning here Also, the internet the children had a more intuitive grasp of coding concepts You know, you explain something once and they got it immediately where the grown-ups had to be explicitly taught and You know, we had to go thing over things again and again. However, when the grown-ups Understood they seem to kind of appreciate the ideas a lot Better, you know, they seem to sort of appreciate for example all in the olden days We did things, you know took a long time to do it But with a program with a full statement it takes a split second kind of thing So they understood the beauty of these statements a lot better and also the grown-ups Voice more interest in what would be the real-life applications of all this So you would show them something and they would say well, that's all very well, but how does it relate to the? real world However, you know this framework of a teacher led explanatory approach with an emphasis on memory repetition blocks of code appeared to be quite successful The children and the adults felt they were making good progress and they were feeling very happy with these approach A quote from Albert Einstein here. He said I never teach my pupils I only attempt to provide the conditions in which they can learn and Any questions. Thank you for your time. Cool. Thank you very much again. There was a Super interesting. I'm checking in the chat. We don't have questions yet, but let's give people a second and see Someone is writing I want to ask you please remember to upload the slides To our website so we can So we can remove your browser. So because This is here for us. So, yeah, I think we don't have any questions So I was I would tell you thank you very much for presenting here never buy them and I hope you enjoy the rest of the conference. Thank you very much for your time