We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Creating the Next Generations of Billionaires - Part 2

00:00

Formal Metadata

Title
Creating the Next Generations of Billionaires - Part 2
Subtitle
Teaching the Next Generation of Computer Trillionaires
Title of Series
Number of Parts
130
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Our generation of young people in school (aged 5-18) have noticed the connection between Computer pRogramming, Technology, Success and Billionaires. On mass they are clamouring to master the skill of Computer pRogramming. It has been dubbed the ‘4th’ R’ (computer pRogramming) along with Reading, wRiting and aRithmetic. So, governments worldwide have launched initiatives to have it taught in schools from Kindergarten to all the way to high school. So, how do we best teach and motivate the next generation in acquiring this skill? We describe a successful working model for the teaching of Computer pRogamming. We have been building upon this model for a couple of years now. Last year at EuroPython 2019 in Basel, we spoke about this subject and this year we would like to share more findings with the Python community about what we are learning about the teaching of Computer Programming to children and young people. The talk will describe a case study whereby computer programming (Python) was introduced to a group of 110 young people from the ages of 11 to 18, in a U.K secondary school. The talk will include descriptions of the various teaching methodologies & the outcomes; & the challenges involved. The talk will conclude with helpful suggestions, on how to proceed in this area.
61
Thumbnail
26:38
95
106
MereologyComputer programmingElectric generatorComputer scienceBritish Computer SocietyGoodness of fitNeuroinformatikC sharpComputer simulationSlide ruleComputerComputer programUniverse (mathematics)Computer animationMeeting/Interview
ComputerBuildingComputerComputer programmingYouTubeSoftware frameworkGreatest elementWordComputer programSimilarity (geometry)Formal languageFundamental theorem of algebraFormal grammarBlock (periodic table)Complex (psychology)Student's t-testIndependence (probability theory)Function (mathematics)Category of beingLevel (video gaming)Internet forumElectronic signatureReverse engineeringError messageDegree (graph theory)Symbol tableBuildingStudent's t-testGoodness of fitComputer programmingMessage passingStatement (computer science)NeuroinformatikWordArithmetic meanModulare ProgrammierungMereologyElectric generatorPresentation of a groupBitQuicksortProjective planeInheritance (object-oriented programming)WritingMultiplication signConfidence intervalFormal languageFitness functionNatural numberSet (mathematics)Reverse engineeringVirtualizationIndependence (probability theory)Level (video gaming)MathematicsOperator (mathematics)Key (cryptography)Programming languageAlgebraic equationContext awareness1 (number)Musical ensembleDialectError messageSoftware frameworkYouTubeNatural languageLatin squareContrast (vision)Integrated development environmentFunction (mathematics)E-learningPoint (geometry)Computer scienceElectronic signaturePattern recognitionFunctional programmingProgrammer (hardware)NP-hardExploit (computer security)Computer clusterXML
Error messageComputer programSoftware frameworkExecution unitRandom numberModulare ProgrammierungComa BerenicesConvex hullIntelFunction (mathematics)SimulationOnline chatMachine codeStudent's t-testTouchscreenNumerical digitFreewareScale (map)Pay televisionYouTubeWebsiteEmailPlastikkarteError messageProgrammer (hardware)Level (video gaming)Software testingPoint (geometry)Formal languageMachine codeMessage passingSpacetimeDifferenz <Mathematik>Software developerFunctional programmingDifferent (Kate Ryan album)Division (mathematics)Scaling (geometry)Substitute goodSet (mathematics)WebsiteStudent's t-testComputer programmingMultiplicationGoodness of fitE-learningGraph (mathematics)YouTubeText editorComputer fileSoftware frameworkNumberStructured programmingDigitizingTouchscreenParsingShared memoryAdditionScientific modellingMereologyOnline chatModulare ProgrammierungPasswordReverse engineeringIntegerLibrary (computing)Right angleComplex (psychology)Limit (category theory)Condition numberRevision controlString (computer science)Computer clusterSystem programmingMultiplication signBitReal numberSocial classFibonacci numberDigital mediaDemo (music)Software repositoryMoment (mathematics)Computer animation
BitSubstitute goodMoment (mathematics)Integrated development environmentStudent's t-testEducational softwareCrash (computing)Inheritance (object-oriented programming)E-learningGame theorySource codeComputer animation
Block (periodic table)BuildingFundamental theorem of algebraInheritance (object-oriented programming)Web 2.0VideoconferencingMoment (mathematics)File viewerConfidence intervalComputer scienceForm (programming)Computer programmingNumberData storage deviceProjective planeAreaCrash (computing)NeuroinformatikYouTubeWebsiteMeeting/InterviewComputer animation
Transcript: English(auto-generated)
Oh boy. Okay, so next up, we have a talk from Lillian Nandi. She is, and there's her slide actually already. So Lillian studied computer science at high school, did her PhD in computer
modeling from University College London, went on to looking at computer applications and programming in the pharmaceutical sector before entering formal teaching for the next generation. She's currently engaged in teaching Python programming, C Sharp and JavaScript, has given lectures and conferences both in the UK and abroad about the teaching of computer
programming to young people. She's run computer clubs, including that of Computer Assisted Investment for Children, and is a full member of the British Computer Society. So it should come as no surprise that Lillian is going to be talking with us today about how to train the next generation of people, of basically the next generation of computer programmers.
And yeah, so please welcome Lillian Nandi. Okay, good afternoon everybody, and thank you very much for having me, and thank you very much to the audience for being here, and that was a very good introduction. So I am interested in developing appropriate teaching methods for
programming in Python for school children, and encouraging them to take it up as a hobby, like music, as well as in their future careers. So I'm involved in building up a worthwhile computer science department, and even sort of renowned schools are finding this a little bit
hard. We see a few problems, but I feel we all are, if we want, can be part of the solution. So my presentation, I hope, will help to develop amongst others some of these points. Now computer science is regarded as one of the leading disciplines of the 21st century. They are ubiquitous and prevalent in most, if not all, sectors of our global society, medicine,
arts, sciences, commerce, etc. And the current pandemic has highlighted to all of us, including non-technologists, the critical nature of computers, and it's now recognized as a critical infrastructure in our global society. Indeed, if the Fangs were a nation, it would be the
third richest nation in the world, and it would be eligible for a seat in the global, in the G20. Therefore, coding or computer programming is now regarded by many as an essential skill by any aspiring, ambitious, self-respecting young person in an aspiring
nation, and it's been dubbed the fourth R, along with reading, writing, and arithmetic. And in recognition of the new status and huge significance of computer programming, governments worldwide have introduced initiatives to have to be taught, starting from the beginning of the school career in kindergarten, through to junior school, through to secondary school,
and the regions in red in map are just some of the regions where this is happening. So the question emerges is how do we best teach and motivate the next generation in acquiring this all-important skill of computer programming? Now there are challenges involved, and the
economist has written, the subject is so young that teachers and curriculum designers have little pedagogical research to guide them. To put this into context, other subjects such as English, maths, Latin history, geography, have been taught for hundreds or thousands of years all over the globe, so there's a great deal of collective experience and knowledge
on how they should best be taught and how people best learn in them. In contrast, computer programming for children has only been around for the past few years, and there's little in the way of collective knowledge about teaching and learning of them. So I undertook a project to introduce computer programming to high school students
aged 11 to 18 in the UK to build up a computer science department and ensure it's fit for purpose. With little collective experience of this nature, I've devised my own framework and also my own set of resources which are in a YouTube channel, Lil Anonymous. So the approach
has been to introduce computer programming using a bottom-up approach rather than a top-down approach. The bottom-up approach is a tried, tested, successful and traditional method in teaching computer programming to adults. Foreign languages and mathematics have also
been taught in this manner traditionally. In this approach, the concepts and operational definitions of the concepts are taught before they are applied to a problem. Now this is not the only way of teaching and learning. It is not at all unusual that this approach is actually alien to the modern school student who could have predominantly been taught with a top-down
approach whereby the problem is specified and then they delve further into seeing what tools are available to solve the problem. But this approach nevertheless being somewhat alien perhaps was well received. And then an explanation was provided that computer programming languages can
be thought of as analogous to human languages such as French, German, Italian. Programs can be thought of analogous to essays, modules or functions, to paragraphs, statements, to sentences and keywords to words. The students really did buy into this explanation and from time to time
I was asked questions such as are you fluent in the programming in Python? Indeed parents evening said how much their children were enjoying and loving the subject. And the third bit in the framework is that to introduce textual programming language
such as Python from the very beginning as opposed to block-based languages. The rationale for this is that if you look at what students are doing in other subjects at the age of 11, 12 and 13 in English literature they study Shakespeare and plays such as Romeo and Juliet and As You Like It. In maths they solve algebraic equations. In geography
in the UK not so long ago they wrote essays on the advantages and disadvantages of Brexit. So we surmised from this that children at this stage are comfortable with and can manipulate
symbols and deal with sophisticated texts so they should be able to cope well with a programming language, a textual one such as Python. We did indeed enjoy some success with this approach, a good degree of success as per the output and the comments from both students and parents
and we found indeed that 11 year olds found computer programming easier than 12 year olds, we found it easier than 13 year olds, we found it easier than 40 year olds, we found it easier than 15 year olds. So probably starting properly from the beginning is better and to introduce these concepts as young as possible. Students felt happier with this
teacher-led approach rather than a student-led approach or independent learning at this beginning stage and the best students are the ones who of course are motivated to do well in this subject and as an educator it is not an understatement to say the ones that perhaps
perform better are the ones from a congenial home environment. Now this was all going rather nicely and we were in a nice rhythm where suddenly in mid-March lockdown was announced and overnight we joined the online global and teaching community, we joined an estimated
900 million children in over 100 countries that have been educated online virtually and a new set of questions and challenges emerged. So these are the lockdown questions arising for online teaching during the pandemic. Question one, how does this online virtual medium of instruction
compare with the established well-respected in-person face-to-face medium of instruction? Question two, is it possible to engender a sense of competence, confidence and independence to the students using this medium and question three, is it possible for the students to enjoy
the subject via this medium and produce something even more useful? So with regards to question one as how this online medium of instruction compares with the traditional in-person medium of instruction, after a bit of soul searching it was decided that mindset is the key here
and there are two ideas which help shape our thinking in it. The first idea is that we should figure out what we want before we calculate what we can afford, not the reverse. This is an idea which has been postulated by Irving Kristol. It means we should figure out what we mean to do
and then figure out a means of actually getting there. The second idea is the medium is the message by Professor McLuhan and this means that each medium of instruction has its own signature with its own strengths and advantages. We need to discover them, exploit them, capitalise on them. Secondly, we need to build confidence and competence in independence with this medium
of instruction. So it is imperative that students have working programmes if they are to feel confident. So priority was given to teaching students to correct their own errors, especially
the syntax error. Before it was felt that they are too young to do this and what would happen is that they would, if they had an error, they would put their hand up, I'd rush to them, correct their error and then rush back again to my seat. But now it was imperative they do this themselves. So a couple of heavy duty sessions was devoted to this and then indeed
afterwards we had a test. Now to our sheer amazement, the young students seem to embrace this subject of the syntax error and Nikita, age 12, says to me the most interesting part was the mistakes. When we made them they could have been minor but made such a difference.
It was interesting to see how that counted, how intricate a system this really is. And Alex, age 12, says I have enjoyed learning how to create a code that creates a random password. I liked working on this partly because when I wrote it out it had a syntax error. This
made me experiment which was very fun. After fixing it I decided to improve it as well, which made another problem. Now here is Alex's programme with the syntax error. In class of his own volition he decided to write a programme which randomly selects a card from a pack of
playing cards. He had a syntax error in it, basically you can see playing cards, he's written the function name with spaces. He took it home of his own volition. In the evening he corrected it. The next morning at 8 15 a.m in the morning I received a message saying that he's corrected it
and it works. So much for enthusiasm. Now question three, which is to do with how students can produce something even more useful and meaningful, this would necessitate students learning about functions or modules early on in their programming career.
Now first of all I had to change my idea about functions. I previously thought it would be quite hard for 11 and 12 and 13 year olds to learn about them and even harder online than it would be on person. But then thinking about it, children as young as five, six, seven,
they are comfortable with the idea of paragraphs in language and really the idea of processing blocks is not alien at all. So I introduced functions and we started by showing students a worked example of how two numbers are added and telling them how you know you can pass data in
a and b and then you call it addition 10 12 addition 6 3. So we have examples of the functions here on the right hand side that Alex aged 11 created himself and we see that he's extended the
idea in the addition function by passing in real numbers as opposed to integers as he was shown and we show that he's also written a function called multiplication where he is passing in three numbers and he says I enjoyed learning about functions and about how to define them so you
could access them at any moment. And here we see the functions which have been created by age 12 you see that he's created two extra functions division and subtractions and he's created a function also where strings are being passed. Now it's interesting to know that they
created these functions themselves which negated us or me from actually giving them exercises telling them what to create. They have enough creativity within them to create the right stuff that we want them to create basically. Now we decided to push the limits a little bit more
and introduce the students to the concept of modelling and simulation and how you can use functions for modelling and simulations. So this involved an extra piece of news as it were the concept of the external file so the programme reads the external file
and then creates the graph so you have another level of complexity with the external file and we see here we've used Chiffon has used the matplotlib library and she's age 13 and she's created an external file of Fibonacci numbers and you know the graph has created the plotted
rather the Fibonacci numbers here. So going back to the topic of mindset and Irving Crystal's quote we should figure out what we want before we calculate what we can afford not the reverse and this way of thinking about issues really did help and we made pleasant
discoveries of what it was possible for the children to do and also along the way the tools that were available. So we discovered along the way that online editors were available www.repl.it where you can share code and students can you know as I as a teacher can take over the
code and edit it as well. We started then to make also heavy use of the chat functionality in Microsoft Teams not just for chatting but for parsing and code of student to teacher and vice versa and also I haven't tested this yet but apparently you can set up classrooms and
assignments in REPL editors which will be very handy in the future. Now here's something for enthusiasm Peter age 12 wrote a program of his own volition and he
said to me in the Microsoft Teams chat miss I can't share my screen so I posted what I did on Python it generates six random digits to use for an iPhone passwords I myself didn't actually realize this although I do have an iPhone for many years so now he they are also teaching us
as well. So here we have to revisit our original framework and to modify it and so we see here that the syntax or punctuation as it would be in language is also very important and it needs to be included at an earlier stage the learning of the syntax error and syntax and also the concept
of modules needed to be they need to learn this at an earlier stage and include and indeed what I've learned from my online teaching I will now pass back in my face-to-face teaching. So here are some of the conclusions and the way ahead some of the strengths of the online
medium of instructions we learn the online medium actually promotes very good listening which leads to better understanding the online medium that unleashed a healthy dose of creativity from the children or the students and online medium promotes very good structure in fact the children commented that this on the online lessons they were getting were
from everybody were were actually very well structured or better structured and we found that the online medium is actually very unforgiving with poor structure. Point two in future we can import some of the practices of online medium of instruction into face-to-face
teaching and you know previously we thought it's a substitute but indeed it has its own set of advantages and you know that thirdly there are many many exciting developments we feel that are to come in online teaching in years to come and you know we are probably in version
one of online teaching and the scale of this venture will surely in years to come we will consider this as the greatest experiment in the history of mankind in one of the greatest experiments in online teaching. A quote by Albert Einstein he says I never teach my pupils I only
attempt to provide the conditions in which they can learn. Okay I have a YouTube channel Lil Anonymous please check it out if you should so wish I have created a website for high school
children that's the website name there you can be contacted by demo999.com and I will be happy to take any questions thank you for your time.
Thank you so much Lilian so we'll hang out for a moment and we've got a few minutes here and if anyone has any questions go ahead and put them in the the Q&A or if you want to be able to talk to Lilian afterwards you can also find her in the Discord room talk next
generations billionaires so we'll just hang out for a moment see if anyone has any questions and actually I really enjoyed your talk Lilian I have to say myself because I do have a
passion for education as well I run an educational software company so it's really good to get notes from someone who works in the you know actually teaches in a classroom environment on more effective ways I think it is but were you surprised I'll ask you were you
surprised by some of the things you found with online learning yes I was very surprised I mean you know everybody went to it overnight and rather reluctantly and everybody thought it is
actually a you know the initial thought that it's a substitute for it and I was trying to replicate that you can do you know replicate things that you do face to face and that it would be a poor substitute but the fact that you know in some ways it's superior and you can actually get quite a lot out of it really did surprise me and you know I think in online
learning people are more patient and they listen a lot better and I would not be surprised actually if the students learnt a little bit more through the online learning than they did
face to face and they also became a lot more independent yeah I can imagine it's definitely a surprising outcome you know there's a lot of books and courses out there that promise to teach children coding and of course you know not all not all
courses are created equal is there anything that's really stood out to you in the way of like curriculum especially if like there's parents who are watching that this is not in their schools but that they may want to you know be able to do this with their kids are there any resources for that okay I would actually say to to be honest there is quite a bit which is I think
being created for children but I actually think take an adult textbook and kind of go through that I think they you know I think there's an assumption that
children want to play games but I think in the same way as adults learn there's one called you know a child with an adult python crash course I can't remember who wrote
that but it is actually very good and I think you know a 12 or 13 year old can actually take that and go through that themselves and they can learn the fundamental building blocks from above I have it I'm going to promote my youtube channel Lil Anonymous and I have about 12 videos
at the moment on computer programming I've got other videos on other areas of computer sites but yeah please take a look all right and that would be a python crash course by Eric Mathis by the way published by no search press that's right yes and actually I'll put one
other question out there but I think maybe on some viewers minds maybe in the future is what would you say to parents or to teachers who maybe lack some confidence with this themselves I have heard a number of you know educators in both forms say well you know I don't I'm not really all that confident with with programming so you know I'm afraid of introducing this to my
kids because you know I'm not really computer savvy what what advice would you have for them um I would say well first of all um ask themselves you know how interested they are
in in the subject themselves and assuming that they do have the interests themselves I would say you know go on a course yourself you know either go through the there's lots of tutorials on the web um Udemy courses crash courses as such um go through um
in the UK we have something called GCSE and I would say go through the questions in that there are projects in the GCSE I would say go to the you know try the project yourself and you know spend a year or so becoming very confident in it or a year to 18 months and then
you can roll it out yourself having the actual confidence but I do think that people need to build up the confidence and the fundamentals themselves before they roll it out all right well once again thank you very much Lillian um really appreciate having you here