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

Teaching Programming to the Next Generation

00:00

Formal Metadata

Title
Teaching Programming to the Next Generation
Subtitle
Creating the Next Generation of Computer Billionaires
Title of Series
Number of Parts
118
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 clamoring to master the skill of Computer pRogramming. We describe a successful working model for the teaching of Computer pRogamming. Computer Science is now regarded as one of the leading disciplines in the 21st century. Computers are ubiquitous and prevalent in most, if not all, sectors of our modern society – applications include using them in weather forecasting, robotic surgery, space exploration, e-commerce, smart cities, driverless cars, etc. Therefore, coding or computer programming is now regarded by many as an essential skill for the young person, and it has been dubbed the ‘4th’ R’ (computer pRogramming) along with Reading, wRiting and aRithmetic. In recognition of the new status of computer programming, governments worldwide have launched initiatives to have it taught in schools from Kindergarten through to junior school and all the way through secondary school. So, the question emerges is how do we best teach and motivate the next generation in acquiring this skill? Given the fact that this field is very much in its infancy, there are insufficient number of skilled Computer Science teachers and very little pedagogy to guide the educator. Therefore, the whole world is learning how best to teach this subject by trial and error. The talk will describe a case study whereby coding/computer programming, in the form of Python programming, was introduced to a group of 110 young people from the ages of 11 to 18 (Years 7-13 in a U.K secondary school). The talk will include descriptions of the various teaching methodologies introduced to the young people for this purpose and the outcomes; the talk will also address various challenges and questions about how to teach coding to young people. The talk will conclude with helpful suggestions, based on the findings of the case study, on how to proceed with the teaching of computer programming to these people.
Keywords
20
58
Computer programmingSelf-organizationGoodness of fitProcess (computing)WritingComputer scienceLecture/Conference
Slide ruleComputerComputer programmingMusical ensemblePhysicsForceSign (mathematics)Independence (probability theory)Machine visionPoint (geometry)Group actionTopological algebraComputerForcing (mathematics)Machine visionPlanningGroup actionUniqueness quantificationPoint (geometry)NumberStudent's t-testPhysicalismMeasurementComputerCartesian coordinate systemComputer programmingRoboticsAnglePosition operatorElement (mathematics)Web 2.0Disk read-and-write headSpacetimeMachine codeProcess (computing)Computer scienceTape driveFinite-state machineEndliche ModelltheoriePattern recognitionMusical ensembleMathematicsDialectLatin squareInheritance (object-oriented programming)Object-oriented programmingSurgerySpeech synthesisFitness functionIndependence (probability theory)
Slide ruleObservational studyComputerAlphabet (computer science)
Slide ruleComputerObservational studySelf-organizationAbsolute valueInheritance (object-oriented programming)Observational studyService (economics)Computer
Convex hullSlide ruleObservational studyComputerYouTubeWebsiteBlock (periodic table)Computer programmingLevel (video gaming)Formal languageVisualBASICJava appletGoogolMechanism designPointer (computer programming)FacebookZuckerberg, MarkNumberComputer programmingAuthorizationComputer scienceFormal languageMultiplication signYouTubeDecision theoryUniverse (mathematics)Student's t-testComputer networkMathematicsNichtlineares GleichungssystemMoment (mathematics)Level (video gaming)Programming languageLibrary (computing)Group actionWebsiteVideoconferencingSpacetimeObservational studySystem callInformationPublic domainReading (process)GoogolSymbol tableProcess (computing)Software developerDampingElectronic program guideBasis <Mathematik>Axiom of choiceComputerTotal S.A.Computer animation
Slide ruleGoogolMathematical analysisGreatest elementVisualBASICWordComputer programFunction (mathematics)Statement (computer science)Computer programmingFundamental theorem of algebraNumberProgramming languageEndliche ModelltheorieDecision theoryComputerComputer programmingFundamental theorem of algebraInheritance (object-oriented programming)Topological algebraFunctional programmingStudent's t-testFormal grammarStatement (computer science)Formal languageWordMathematicsMusical ensembleLatin squareWhiteboardMultiplication signTwitterOrder (biology)Computer clusterXMLProgram flowchart
Computer programRange (statistics)Loop (music)Student's t-testDependent and independent variablesSlide ruleAdditionBit error rateTotal S.A.Division (mathematics)ClefLetterpress printingNumberLetterpress printingLoop (music)Range (statistics)MassStudent's t-testFunctional programmingModulare ProgrammierungMultiplication signComputer programmingStatement (computer science)Division (mathematics)QuicksortIterationBinary multiplierDivisorXML
Dependent and independent variablesSlide ruleCircleRadiusNumberWritingSquare numberCAN busStudent's t-testHelmholtz decompositionTerm (mathematics)AlgorithmMaxima and minimaObservational studyVariable (mathematics)Statement (computer science)IterationoutputSystem identificationInterior (topology)Computer programDiameterParameter (computer programming)Function (mathematics)AdditionTotal S.A.ComputerRobotComputer wormComputer chessComputer scienceStatement (computer science)Computer programmingSet (mathematics)RoboticsSimilarity (geometry)Interior (topology)AlgorithmFunctional programmingHelmholtz decompositionLogic programmingSquare numberType theoryTopological algebraQuantum stateVirtual machineFinitismusIdentifiabilityDependent and independent variablesoutputIterationMultiplication signArtificial neural networkData typeCircleMathematics
Slide ruleDependent and independent variablesObservational studyComputerMachine visionInferenceLevel (video gaming)Point (geometry)Student's t-testIndependence (probability theory)Turing testTable (information)Line (geometry)Machine codeComputer fontPresentation of a groupComputer sciencePoint (geometry)Figurate numberStudent's t-testRoboticsFault-tolerant systemLevel (video gaming)Process (computing)Machine codeDifferent (Kate Ryan album)Turing testComputer programmingMultiplication tableMultiplication signWordMereologyWeb pageOperator (mathematics)Statement (computer science)State observerLine (geometry)QuicksortCASE <Informatik>Projective planeSocial class1 (number)Reading (process)Control flowMachine visionElectronic program guideSpacetimeTouchscreenObservational studyComputerTape driveInferenceComputer fontMessage passingVirtual machineOrder (biology)ComputerComputer chessProper mapTable (information)Visualization (computer graphics)
ComputerPresentation of a groupMachine learningVisual systemCelestial sphereComputer fontFunction (mathematics)Inclusion mapComputer animation
Java appletComputerIntrusion detection systemSlide ruleVirtual machineStudent's t-testArtificial intelligenceEmailJava appletSoftware developerMachine codeEmailArtificial neural networkTheorySpeech synthesisFormal languageStudent's t-testYouTubeComputer scienceEvent horizonState observerControl flowMultiplicationIntegrated development environmentPhysicalismPhysicistMessage passingData managementMultiplication signComputer programmingVirtual machineProcess (computing)Term (mathematics)Computer animation
Computer scienceRamificationFront and back endsMachine learningTerm (mathematics)View (database)MathematicsSoftware developerComputerMeeting/InterviewLecture/Conference
Fundamental theorem of algebraOrder (biology)Goodness of fitLecture/Conference
SubsetSystem administratorUsabilityFundamental theorem of algebraStudent's t-testInternational Date LineIntegrated development environmentMeeting/InterviewLecture/Conference
Vapor barrierKeyboard shortcutGroup actionMusical ensemblePiReading (process)Inheritance (object-oriented programming)Meeting/InterviewLecture/Conference
Computer scienceComputer programmingBuildingStructured programmingLecture/Conference
Slide ruleEmailAdditionQuicksortDifferenz <Mathematik>Computer programmingInheritance (object-oriented programming)PressureLecture/Conference
Roundness (object)Meeting/Interview
Transcript: English(auto-generated)
So good afternoon, I'd like to begin by thanking the organizers and also for you being here, and it's a great privilege to speak before a enthusiastic and knowledgeable audience. Now in this modern Anthropocene era,
education in computer science and computer programming is a must, and it is the fourth R, arithmetic, reading, writing, and computer programming. And is it not said that education is a process which discloses to the wise and disguises from the foolish their lack of understanding, and there is no better subject to illustrate this than
computer science or computer programming. So I'd like to share a story with you, and it's about a journey of developing a working, fit-for-purpose, successful model for teaching computer programming to the next generation.
And I believe that it is important for us both as a society and as individuals to have some insight into this process. So, having joyfully accepted the position as head of Department of Computer Science at an independent
secondary school in the UK, after my initial euphoria had subsided, I immediately began to think of the heavy challenges that lay ahead with a great deal of trepidation. And the challenge would be is that I would be acting as a one-person band
single-handedly teaching all year groups from year seven, who are aged 11 and 12, to year 13, who are aged 17 and 18, and there would be about 110 students in all. And I would be teaching this newly introduced subject to school students, not only in this particular school,
but it's a newly introduced subject in the nation and also a newly introduced subject to the world. A number of people had resigned even before starting the job, and I was under no illusion that the job would be arduous, frustrating, back-breaking,
political, with heavy red tape. However, I am of the belief that problems are important to solve, and they should not be insurmountable. So, the challenges of teaching computer science and computer programming are very well acknowledged. In The Economist,
there has been an article which has said, the subject is so young that teachers and curriculum designers have little pedagogical research to guide them. And Saadia Nadell, the CEO of Microsoft,
recently said in an interview, the fact that most curricula in schools still don't recognize computer science like they do maths or physics. It's just crazy. Now, as mentioned, we should not think of these challenges as insurmountable.
We are, after all, dealing with computers and technology, which is one of the world's most dominant and powerful forces in the current era, and also the world's probably the world's positive, disruptive force, technological force. It completely overturns centuries old thinking and approaches in the way
we tackle problems in the scientific, artistic, commercial worlds, and replacing them with radical, innovative, and more successful approaches. So, in turn, I thought we can think of the teacher of computer programming as another positive, disruptive force and approach such a venture in the spirit of an entrepreneur
with a mindset of freedom and independence, which is to be welcomed and follow in the footsteps of our heroes. So, an
entrepreneur, he requires a business plan with a vision and a mission, objectives, methodology, unique selling points or USPs, and an outcome. So, we too can mimic that model. So, let us look at what we have under each blurb. Vision and mission.
What vision should we adopt as an educator? What vision should we transmit to the young people and the students of the next generation? We need a vision which everyone can buy into, and I believe we are privileged in this subject to formulate a lofty vision, and how many other subjects can say the same?
So, the vision is to create the next generation of Bill Gates, Steve Jobs, and Elon Musk. Now, we shall see later how this vision appeals tremendously to young people, and it's not just boys, it's girls as well. In equal measure.
Let us look at the unique selling points or USPs, our sales and marketing angle. Now, we have to take note of the fact that this subject of computer programming is competing against other more established disciplines with long and time-honored traditions such as
mathematics, Latin, history. We must also be mindful of the fact that there are a number of stakeholders in this, the educators, the parents, the children, and so the key element here is to generate USPs which persuade all stakeholder groups, and
surprisingly enough, their interests can actually be compete against one another, and I'm going to leave you to guess which group is the most enthusiastic and embraces this the most.
So, the first USP is that computers are ubiquitous and prevalent in most, if not all, sectors of our modern society. Applications involve medical research, weather forecasting, robotic surgery, space exploration, and in UK we had
the astronaut Tim Peake going to speak, e-commerce, scientific research such as the experiments carried out in CERN, where the World Wide Web comes from, and it was Tim Berners-Lee from the UK who developed that, and that appeals tremendously to our young people, especially in the UK,
driverless cars, etc, etc. So, computer science is now regarded as one of the leading disciplines of the 21st century, and many of our children were surprised at this, and indeed, if computers hadn't been invented, science may have ground to a complete halt in the second half of the 20th century, say some.
So, as a consequence of this, coding or computer programming is now regarded as many by an essential skill for any aspiring, ambitious, self-respecting young person in an aspiring nation, and it has been dubbed the fourth R, along with reading, writing,
arithmetic, and computer programming, and in recognition of this new status and huge significance of computer programming, governments worldwide have launched initiatives to have it taught in schools, starting from the beginning of the school career in kindergarten through to junior school, all the way through to secondary school, and the regions in red are where the
intention is that computer programming is taught from kindergarten through to junior school to secondary school, and we can see that the nations include all continents, America, Asia, Europe, etc.
So, this USP appeals to the educational community. Now, the second USP is the major role that technology plays in the world economy. The market capitalization of the FANG stocks, Facebook, Amazon, Apple,
Netflix, Alphabet, is bigger than the economy of some countries. Indeed, if it was a nation, it would be the fifth richest nation in the world, and it would be eligible for entry into the G20. The FANG stocks are in red.
Now, this was devised to be appealing to the parents and guardians, who can then be most relieved to hear that their offspring are studying a subject which decent organizations will be waiting eagerly for their offspring services, but when I showed it to the children, they all gasped in absolute delight and glee that they were actually studying something of
such value and enormity. And the third USP is the financial rewards for studying it, and it should be noted that the top hundred richest people in the world, a
substantial proportion of them, are involved with computers. 20%, probably one in five, and when we look at the ten richest people in the world, substantially more are involved in technology, and we have Jeff Bezos of Amazon, Bill Gates of Microsoft, Mark Zuckerberg of Facebook, Larry Ellison of Oracle,
and this really did capture the imagination of the young people, because they thought they can also join this club, and boys and girls as well. So how do we approach the teaching of it?
Well, as a first port of call, we can look at the national curriculum. Now, most nations in the world have a national curriculum, or something equivalent to it. In the UK, we have a national curriculum for every subject. This is a document detailing what should be taught in every subject, and computer science also has a national curriculum.
But after reading the document and rereading it and rereading it, and a great deal of soul-searching, it was decided that the UK national curriculum in this subject, although laudable in its intentions, with very few design faults and process faults, would be used as a one of a number of guides.
So, the national curriculum will act as one of many guides, but not be taken as the definitive authority on the teaching of the subject in schools.
What about resources, such as textbooks? Well, a decision was made to equip all students with a textbook and exercise book, as note was taken of the fact that most serious academic subjects have both textbooks and exercise books associated with them. Now, it might surprise people to know it's not uncommon to
operate in this subject at the school level without textbook and exercise book, and this has not been unnoticed by the students who comment on this informally. Now, unfortunately,
no appropriate textbooks were available for the subjects year groups 7 to 9, that's 11 to 14. So, worksheets, a website, and a YouTube channel, which I've entitled LIL Anonymous, were all constructed to develop the resource space to be used by the students. So, I've constructed a YouTube channel
entitled LIL Anonymous, which currently contains over 70 videos for these high school children who want to learn about computer science and computer programming, containing 12 videos in total about Python programming so far, and
I have discovered that my university lecturer friends are also using them too. There's the website and YouTube video, and 65 subscribers so far. You are welcome to subscribe.
So, how should we start teaching school children computer programming? Let us now be more specific. How should we perhaps pitch the lessons to year 7 students, those aged 11 and 12, those at the start of this their secondary school career? In particular,
should we be teaching these drag-and-drop languages, such as Scratch, as a first teaching language? To find answers to these questions, a study was made of what the young students learn in other subjects at this age, and note was taken of the fact that it's not
unusual for these students to, in maths, solve simultaneous equations. In English, to analyze poetry, such as Rudolf Kipling's If, a highly esteemed poem. In English literature, they study plays such as Midsummer Night's Dream,
which is by William Shakespeare, and in geography, they are being asked to write essays at the moment on the advantages and disadvantages of Brexit. So, from this information, we, or rather I surmise, that young people at this age are comfortable with being able to manipulate symbols and deal with sophisticated text, and therefore concluded
they should be able to cope well with a textual programming language, perhaps such as Python, such as the first programming language. So, a decision was made to choose Python as their first programming language, and
the decision was made on the basis because I wanted to teach a programming language which is in demand by the employers of today, out of the dozen choices, and at the time of writing, Python was the most widely used teaching language
worldwide in schools and universities. It's also the most widely used commercial language used by the likes of Google, and the children really like this, and there is a plethora of resources and many books being written on the subject, which means that the language has a strong support network and has a huge,
quite a strong infrastructure, and the language itself is under rapid development, with new libraries being released into the public domain at a regular pace. So, and a Google search, that's in yellow, revealed a respectable number of hits. An
admittedly, there may be more hits for other programming languages, still respectable though, and a recent article in The Economist revealed that the number of people searching for Python in Google is going up at a tremendous pace, more than any other language, so we could say that there is more growing interest in the programming language than any other,
but perhaps the most glowing endorsement of all is the number of Google searches for Python outstripped those for international model and TV star Kim Kerr should do. What more could one want?
So, how should we introduce it? What about this teaching approach? Now, a decision was made to employ a bottom-up approach to teach computer programming, as opposed to a top-down approach. The justification for the bottom-up approach, that it's a tried and tested, successful, and
traditional method used in the teaching of computer programming to adults. Foreign languages and mathematics have also been taught in this manner traditionally. Now, a bottom-up approach is when concepts and ideas are learnt first, and these are then used to solve problems.
A top-down approach is when a student is presented with a problem, and then he or she tries to work out how to solve it. However, there was some trepidation as whether the UK students would be accepting of this bottom-up approach, as the modern trend in UK schools is to employ top-down approaches whilst studying subjects.
And so it was felt, in order for this bottom-up approach to work, we would need explicit buy-in from the students, as they are relatively unaccustomed to it. Therefore, we'd have to provide an explanation, and this would have to be provided prior to any teaching.
So the explanation went like this. Computer programming languages, they have an inbuilt grammar. They can be thought of as analogous to human languages, such as English, French, Chinese, Polish, German, Italian. And just like we communicate with each other in human programming languages,
we communicate with the computer in computer programming languages, which there are many, and we are going to be using Python. Then an explanation was provided that, just like you have essays, they are analogous to programs, we have paragraphs, they are analogous to functions,
we have sentences, they are analogous to statements, and we have words, they are analogous to keywords, and we would be taking a keyword at a time, and learning about its uses and its definitions, and then we would be building up to write programs.
Now this bottom-up, teacher-led approach to teaching computer programming appealed tremendously to the younger generation of students and their parents. And the idea is that the basics are strong, so that the school children can become not only confident,
but competent and happy to tackle any given programming problem. So it's teaching by strengthening the fundamentals. I was quite often asked by the students, are you fluent in Python? Just like they ask, are you fluent in French?
And in parents' evening, parent after parent was saying how much their children were enjoying the subject, and how much they in fact loved the subject, and I felt a huge sense of delight, because now we were competing with music and history and Latin and all the other subjects,
and I think, actually I think we were ahead of them, but I didn't tell anyone that until now. So let's have a look at some example programs written on a whiteboard by some Year 7 students. These are children aged 11.
These are written by Therese, so she's got 4J in range 1 to 11, print J, prints the first 10 numbers. It took them about five minutes to master the concept of a for loop, and this was en masse.
Next one, for J in range 1 to 101, 2, print J, print in the first 100 odd numbers, and they squealed in glee when they saw these numbers coming out. And then here we have a nested for loop, a loop within a loop for program 3,
and the children were quite comfortable with this concept also when it had been explained. Again, you know, beforehand I had thought of it as a very advanced concept, but after they sort of understood it like that, I thought, and they asked, they said to me,
what's the big deal about, I thought, yes, maybe there is a big deal here. This is from Jerome, aged 12, and he has written programs using functions, and so we explained the concept of a function and how it can return a variable,
and displayed it, or showed them an example program, adding two numbers. They subsequently wrote programs to multiply numbers, divide numbers, and they played around with the concept of functions as well. And again, it didn't take them very much time to actually master this.
Here, this is their examination, and this is Harry, aged 12, and you can see here he has, you know, he's quite comfortable with the concept of div and mod,
he's quite comfortable with sort of terminology such as iterative statement, etc. Here we have Charles, aged 11, and he has written a program there to find the circumference of a circle, and then he has written a program there to generate the first five square numbers,
and he can do this by hand quite comfortably. And here we have Mei Ling here, and she has provided definitions in an exam of algorithm and decomposition.
So she's written here, an algorithm is a set of logical steps to solve a problem in a finite amount of time, and I think it's quite good that Mei and her classmates understand the importance of solving a problem in a finite amount of time. And here we have Boris here, aged 12, and again, Boris in his examination has been given a program,
and he's been asked to identify input statements, iteration statements, assignment statements and data types, which he can do quite accurately as well. And, you know, remember, Boris is about 11 or 12, when people are 15 or 16 now in the GCSE exams,
there are similar types of questions, but they can answer them at 11 or 12, I think, if they are taught. And finally, not least, Kate, who is also aged 11, and she's been given a function,
and she's been asked to dissect the various facets of the function, which she has done accurately as well. Now, they were asked a question, it's very important what their motivation is, so they were asked an exam question, computer science is said to be the most important,
one of the most important subjects that a young person needs to learn about, why do you think it's important to study the subject? This was asked for 11 and 12 year olds. Now their reaction afterwards was, goody, I like writing essays. And I think for three marks they did write essays.
So, what did they write? Let's just have a look at some. So here we have Therese, aged 11, and she wrote, the technological advances of the modern age have been spectacular, from simple things like Apple watches to the more advanced artificial intelligence robots.
With these changes come a great responsibility for us as the future generation to understand this science so that we can continue to innovate and create. We must understand the inner workings of machines and to question everything around us
in order to build on the foundations that our elders have laid down for us. When I was younger, I used to believe that robots would somehow rule the world. In some sense, I believe that because if we can build a chess playing AI robot, who knows what else humankind can come up with?
We must continue this legacy of computer science. More and more companies are beginning to use technology in place of humans. And although this closes up some jobs, it opens up many more. They need people to understand, to look after, check this technology in case something goes wrong. We can be those people.
The future is us, the young people. We can make a difference. The future starts now. OK, let's go on to Boris, age 12. I think it is vital to study computer science as we are growing up. Technology is expanding and is becoming an essential part of our everyday lives.
Nearly all of the famous and successful billionaires have made their fortune from making programs which have become used everywhere. So now we have to have a chance to become as rich and as successful as them. So here we have Boris, age 12, a precocious, intelligent, ambitious Boris.
So a casual observer on reading this said to me, the problem is that the ambitions, aspirations and vision of these space-age young students
far outweighs and outstrips those of their career guides. That's my father, Joy Devnandi. So what inferences did I make from this, what we can make? Well, year seven, they found computer programming easier than year eight,
who found it easier than year nine, who found it easier than year 10, who found it easier than year 11. And the message is to start properly from the beginning is better. Point two, points need to be explained properly. Students are happier with this student-led or rather teacher-led approach
rather than a student-led or independent learning at this early stage. And they have told me this many times. And terminology should be introduced along the way and it should be pegged onto examples and operational definitions.
There is a crying need for decent textbooks and resources fit for purpose. And of course the best students are the ones who are motivated to do well. Now, quickly, moving on, afterwards I moved on to another institution. This institution took children from two to 18. So I was now exposed to even smaller or younger children.
So I was exposed to children age nine and ten who are in year five. And I thought, well, we thought, well, rather than starting them off on coding, and there was red tape around introducing them to coding
because many people thought they were too young, perhaps then we could introduce to them about their actual history of computing. So what we did was to introduce them to the figures like Alan Turing, Steve Jobs, Ada Lovelace, Grace Hooper, Bill Gates,
and we did like history lessons. And then they wrote in Word documents, they did research, and wrote up sort of projects about these people which they also incidentally presented for five or ten minutes as well. And as far as the institution is concerned, they are learning Word,
and they're doing ICT. As far as I'm concerned, they're learning about computer science. So, you know, it kills two birds in one stone. Now, this is Matt, age nine here, and he did his research on Alan Turing.
He was absolutely enthralled by Alan Turing, and so were the rest of the people in his class as well. And we introduced them to the Turing test, and they thought it was the most wonderful thing ever. What was quite interesting was a few months before,
I'd introduced it to 17 and 18-year-olds, and they ticked it off on their syllabus. But to a nine and ten-year-old, it was the most wonderful thing ever, and they couldn't stop talking about it.
Now, the other thing about this school was that I was on break and lunchtime duty, so I got to know these children in the computer lab very informally as well, and they expressed their love of all things computing to me all the time.
So we had a little girl come in, Shona, at lunchtime, at times, to learn more some Python programming. So I showed her a FOR statement which generated the 12-times table, and she said, oh, this is a great way to learn your times tables, but I know mine up to 12.
Let me write one which will teach me how to write my 13-times table. So she did this, and then she looked at the screen, and she held out her hand and said, I love this, I love this. And for them, they appreciate it with their hearts and their minds.
It's quite something to see. Then we have Tom, aged 12, who was in year eight. Now, Tom told me he does his own personal projects in his time. What do you do, I said. He said, I do C-sharp and Unity.
What kind of things do you do, he said. I said, I do artificial intelligence. So I said, can you send me a few lines of code? I said, so he sent me 10 lines of code, and these are the 10 lines of codes, and you can see four A4-sized pages there. So Tom sat in the middle of the classroom doing his own work whilst the others did other work,
and I sat him deliberately in the middle of the classroom so others could see, aspire to be like Tom, and indeed, they were really trying their best to be like him. And then he talked to me about artificial intelligence,
and he said he wanted to give a talk on it. I said, fine. So he gave me an outline of his talk, and that's his handwriting there, which is very nice, and you can see what he's put in his outline. Machine learning, visual pathfinding, AI, in infant caring, AI in finding diseases and cures, etc.
He knew a lot. It took him about five weeks to prepare his talk. He stood up. He spoke for 10 minutes. I was trying to get him off, probably like you're doing with me, because I thought he's taking up far too much of my lesson. And then there were about five minutes of Q&A,
and then I said to the other children, in future, we will have more talks, and more of you can give talks like this. And they all nodded. They all want to give a talk, which is brilliant. And then we have Bob here. And Bob said to me one day, he hadn't done his homework,
and I said, why haven't you done your homework? He said, I'm very tired, you know. I'm really very busy. I've got a job, and I'm in a team of 30 doing development, and I've had a promotion. I'm trying to learn Java and C Sharp and Python at the same time.
And here is Bob's email to us. He's asking the school to load on Java so that he can practice his Java at school, at lunchtimes and breaks. And he tells us that he's always been fascinated by programming,
and it's an amazing opportunity to encourage coding at school. He also wanted to be my marketing manager for my YouTube channel. And here, Bob, towards the end of term, he wrote me this little note here, and he said, oh, all of Year 8, enjoy your lessons.
I definitely do. I'm developing my skills in Python, learning the basics of C Sharp, have become interested in pursuing computer science for GCSE, and you've inspired us to start coding in Java and download multiple IDEs spanning 14 coding languages. So, you know, they know a lot, I thought.
So further conclusions, I thought Year 5 are actually better than Year 6, who are better than 7, 8, 9, 10, 11. I think there are two curriculums. There's the official curriculum, and there's the unofficial curriculum, which is student-led. And the unofficial curriculum appears to be more sophisticated.
And a substantial proportion of what is taught, probably at age 15, 16, 17, can be brought down 10 years or so. And so the idea is to maybe front-load the subject, and they're much keener at that age as well, when they're younger.
So I guess, as a child would say, grown-ups watch out. And I leave you with a thought, I can conclude my speech here, with special reference to education, which is general, global, and eternal,
from an event almost 100 years ago. The great Austrian theoretical physicist Paul Ehrenfest was trying to establish the city of Leiden in the Netherlands as a center of theoretical physics. And watching his great efforts, his great friend Albert Einstein described Paul Ehrenfest as the best teacher in our profession,
and one passionately preoccupied with the development and destiny of men, especially his students. And it struck me, and I'm going to ask you, does this observation by Einstein on the teachers' preoccupation about students' development carry any relevant message to our age, the teachers of the modern age,
when student development, sometimes considered fake, and machine-length intelligence and artificial intelligence are poised to take over our educational activities? So thank you for your time, and any questions are welcome.
Hi, thank you for the talk, it was really interesting. I just wondered what your opinion was.
You kind of mentioned comparing, say, computer science to maths, English, and I suppose science more broadly as a kind of foundational subject. But I wonder what your opinion is with respect to, and somewhat encompassed in the few people you showed at the end in terms of machine learning and what have you,
in that it occurs to me that unlike the other, say, pillars of education, computer science is a subject which changes year on year, or if you're a front-end developer, week to week. And that has ramifications on, say, you talked about lack of textbooks. Well, who wants to write a textbook when they're only going to get
a year of money, essentially, from it? So I wondered what your opinion is on that with respect to how you teach it, given that it's so fast-paced? Well, I mean, it is fast-paced, but the fundamentals,
you know, the fundamentals have been the same for decades, really. So, sorry? Yeah, for, if the fundamentals are, you know, have been the same for decades. So you can, you know, first of all, you teach the fundamentals,
which take a few years to teach, and then you can move in step with what the current fashion is of the day, or the impending fashions are, you know, predicted fashions of the day. I mean, really, what they lack, I think, is they need a good fundamental base
in order to be able to pick up whatever they need to pick up in the future. Okay, thank you. Other questions?
Hello, did you use Jupyter or any other tools, and how was the acceptance by the students? No, I've only used Python IDLE so far. And that's because, well, I mean, you know, first of all,
we just want them to master the fundamentals, and Python IDLE is fine. But, you know, I do want to go on to other sophisticated IDEs as well, but also there is a matter of administration as well,
so we have to take that into account. But in due course, I do want to go on to those, you know, to the other IDEs and Jupyter and everything, yes.
I've taught Python to some groups of small children, not to, like, seven years old to eleven years old, and I thought one of the barriers was keyboard proficiency, and I was wondering if you had some ideas about how to motivate them to practice, or if there's a tool like that that can motivate them.
From the seven to eleven year olds? Yeah. Okay, I mean, I found that, okay, I don't know about the seven to eleven year olds, but when I was teaching the, actually, to be honest,
I found that the younger that they are, say, I taught the eleven year olds in earnest, the more motivated they were to actually practice. I wasn't persuading them to practice as such, they were practicing on their own. Because their general knowledge about the subject is now getting, is quite good.
And they're reading about it, and their parents give them, say, raspberry pies for Christmas and things. And so, you know, and also if one friend practices, then another friend also wants to practice. So I didn't find the problem is with the younger children,
I'm finding the problem with the older children, the fifteen and sixteen year olds. Thank you. I just have a comment. Because you thought that when teaching the younger children, you were teaching them the rather history of computer science
because they were too young. My daughter, when she was eight or nine years old at school, learned how to encode movements of some items to create a building, create a structure or something. And children in this age were quite good in this.
And it was a pretty good way to teach them imperative thinking required later in programming. So even in this age we can teach children quite practical things that can be used later in teaching them computer science.
I mean, I actually totally agree with you. And I have, I guess, I have experimented with children outside of school that age and, you know, to teach them sort of Python, little Python programs and addition subtraction and they actually cope quite well.
It's not I thought they were too young, it's the establishment is quite orthodox in its thinking. If there are no further questions, let's, no. So I just want to know how the subjects in schools in UK
are affected by the parents' opinions. Because I actually am here from New York and they have this PTA and they are very influencing in what the school actually teaches.
Of course it depends on different, it depends on where the schools are, I suppose, and what the school is. Parents are really getting on the bandwagon. They want their children to be taught the subject
and they want their children to be taught well. And in quite a few places they are putting a lot of pressure on the schools that their children are not just taught but they are taught well because sometimes it's a new subject.
So, you know, parental influence is becoming greater and for the better. Any further questions?
Then let's give our speaker one big round of applause.