Radio 4 – Tom Armitage: The Coded World

Radio 4 broadcast a great mini lecture by Tom Armitage (to the RSA on the 26th of December) on the importance of understanding technology, specifically through coding, in order to ‘think’ in a way that’s easy to implement on machines. The premise being that we live in a ‘computer assisted’ world and being able to use them correctly can significantly help you, with work and leisure.

He ends with a reminder that it’s not just for children talking about New York’s mayor, Michael Bloomberg, who joined CodeAcademy in 2012 to learn how to code BBC article here

Designer and technologist Tom Armitage argues that learning to write computer code means learning to think in a modern way, and that it should spur creativity: the possibility of doing entirely new things.

Four Thought is a series of talks which combine thought provoking ideas and engaging storytelling. Recorded live in front of an audience, speakers air their latest thinking on the trends, ideas, interests and passions that affect our culture and society.

http://www.bbc.co.uk/programmes/b01pg54z

The only second language you should worry about your kids learning is programming

Found a great quote from the futurist Ray Kurzweil, who recently became Head of Engineering at Google.

“The only second language you should worry about your kids learning is programming.”

I can’t agree with this strongly enough. Programming isn’t a skill that is best off being the sole preserve of a profession, like Law or Electrical Engineering for example. It’s obviously useful to understand the basics of those subject areas but knowledge of them is unlikely to help you do your job better (unless you’re a lawyer or electrician)

Programming is different. It’s a way to articulate your thinking via the manipulation of a computer and the computer is, beside our brain, the most powerful tool we have at our disposal. Thus far, the computer is the most effective tool we have to articulate our thoughts. It’s literally a dream machine. In a world increasingly made up of, and thus informed by, digital information this is how you articulate yourself. You have to be able to use a computer effectively and this is why:

As time passes your ability to instruct a computer to carry out your tasks, solidify your thoughts, will directly affect you and your families standard of living.

Here’s an example of that. I worked with a great marketing guy in team that developed a web product. Each month he needed to carry out some analytics of the product’s engagement. Unfortunately, he couldn’t write any code or scripts and this meant he couldn’t do his job now without having to rely on a ‘techy’ to run some reports. All he really needed was some basic SQL but he resisted it and working with software, as we all do increasingly, this gradually left him feeling a bit useless and he eventually quit his job. A loss to both the company, as he was a naturally gifted marketeer, and to him in terms of income and ultimately how he viewed his abilities. In literacy terms, he was unable to articulate himself and a feeling of frustration set in. As most business now rely on databases and most databases are relational, I suspect we will could SQL being a pre-requisite for more and more office jobs, especially those whose role is to produce reports.

Humans are tool makers and users. That is what shaped our development. Computers are the most important and significant tool that we’ve created. Like all good tools computers allow us to do things quicker and more easily but they then go far beyond this. So far beyond this, they have literally taken us to the stars.

With computers we can model the Universe, we can manipulate matter, simply put: if you can think it, with a computer you can create it. They allow us to make concrete the invisible and intangible stuff of dreams.

How To Train Your Robot: How I Teach Kids To Program Without Computers

Found a great article which takes the same approach that I’m using which is to create a simple language for children to use, here’s the intro and a link

Learning how to program is going to be the most useful new skill we can teach our kids today. More than ever our lives depend on how smart we are when we instruct computers. They hold our personal data and they make decisions for us. They communicate for us and they are gradually becoming an extension of our brains. If we don’t learn programming as part of our childhood, we will never evolve. As the famous futurist, Ray Kurzweil, put it “The only second language you should worry about your kids learning is programming.”

Here’s the full article on how to train a robot 😉

Teaching the Children Programming at St. Teresa’s Primary School and Merton Park Primary School

After reading the Times article about the amazing work at St. Teresa’s and Merton Park, I dropped them an email to find out how they got started and they’ve kindly let me share it here (many thanks to Nicola Schofield and Anna McGrath who are the ones forging ahead with the teaching!)

Aside from the brilliant way they are both rolling up their sleeves and showing us the way, what’s incredible is hearing that 4-5 year olds are able to write simple programs and 6-7 year olds are suggesting loops to encapsulate repeated instructions.

Anyway, here’s their story:

We decided to teach the children to program in response to an article we read in the Guardian in August 2011 – http://www.guardian.co.uk/technology/2011/aug/28/ict-changes-needed-national-curriculum. We then undertook a part-MA Action research course with a local university and our topic was “Can learning to program teach children to think independently and help with their problem-solving?”.

We used Scratch – http://scratch.mit.edu/, which is a free download from MIT in Boston and can be installed on all school PC’s and by children at home. It works on Windows and Apple, but because it’s Flash-based it won’t work on ipads. Its fabulous – the children find it totally engaging and it appeals to all KS2 (and often younger), boys and girls etc. There are loads of help videos and video resources on the site. There is also a linked educational site http://scratched.media.mit.edu/, and from here we downloaded the Scratch Draft Curriculum http://scratched.media.mit.edu/resources/scratch-curriculum-guide-draft, which has lesson plans and resources all ready made. We used the intro lesson, the maze lesson and the Debug lesson (which the children really enjoyed). We let the children make whatever they wanted at first – but it had to have a London theme, as that was our topic last term – most chose the Jubilee or the Olympics.

Code Club http://www.codeclub.org.uk/ is another free resource. They launched last summer especially for volunteers teaching in schools. It’s for years 5 and 6. If you register as a volunteer, with a CRB number, you get access to a different, graded project in Scratch for each week. We photocopied for each child and left a laminated copy of each one lying around for anyone to try. They’re really good and I highly recommend them.

Children seem to pick up Scratch so quickly, they constantly amaze us and are way ahead of us but it doesn’t seem to matter. We just challenge them and are very clear we don’t know more than them. The other things we did prior to Scratch were:

ask the children to show hands if they think computers are clever. Then tell them that computers aren’t clever – it’s the people that programme them who are clever.

Discuss this process of giving instructions and saying “Go” – instruct the children similarly
showing the children some Youtube videos of programmed objects eg Robot of the Year, Robot lawnmowers and hoovers, dishwashers etc, with lots of chat about how they might work

programming each other (blindfolded) to walk in a square – discuss what’s difficult

screen turtles, eg 2Simple, iBoard, Logo and several online ones. Most were school software but you can find some online. We progressed from v simple ones in Reception to more complicated as they got older.

But, amazingly, Reception started writing small programmes and year 1 suggested looping eg to make squares – they noticed the repetition of instructions. Honestly, we have been flabbergasted by how young they pick it up.

Raph Koster’s Theory Of Fun Slides

Raph Koster (San Diego, CA) is the Chief Creative Officer for Sony Online Entertainment and author of the bestselling book, A Theory of Fun for Game Design. For many years he has served as a lead designer for teams building online virtual worlds. His first job was as a designer working on persistent worlds at Origin Systems. His last project there was working on Ultima Online, opening the online persistent world market to the general gaming public

This is a set of slides that support his book,Theory of Fun for Game Design, which I’ve just bought and will write a mini-review once I’ve finished 😉

Gears of thought; how computers can change the way we think.

Seymour Papert opens his Mindstorms book with a foreward on how, aged two, his love of vehicles shaped the way he learned. Specifically he uses the example of gears and their differentials to show that this radically affected the way he interpreted the structure of maths, i.e. in terms of how his mind literally saw gears when he was presented with a maths problem, such as learning the times table and algebra. He believes computers can act as ‘gears’ for our children.

This was a bit of a light bulb moment for me, as someone that’s been immersed in programming (and that pretty much means recursion, iteration and boolean logic) for the last 20 years, as I tend to view almost all problems I’m presented with as iterative, they can be decomposed and solved with functions with ever increasing accuracy and conditional logic. I know, that description is not as elegant as the image of a gear but bear with me!

The light bulb bit was I know everyone is like this to some degree and a better understanding of computers and their logic could make us better problem solvers.

A good example would be if you asked me to divide two numbers in my head, I’d give you a pretty quick and deliberately approximate answer because of the following things working with computers and solving probles by writing software have taught my brain.

1. Scoping: Determine up front if precision or speed is required of the problem because…

2. Iteration: Often an approximate answer is good enough and rather than waste time, pass back the approximation ask if more precision is required and give an idea of how much time is needed.

The question I have now is did this logical approach exist before and is what pulled me toward computing or vice versa? Think I’ll call my parents…

Welsh Joint Education Committee (WJEC), Getting the GCSE Computing Syllabus Right

I’ve just read the new sample GCSE paper which has been revamped following the recommendations from the Royal Society and the Computing at School Working Group about computing education in the United Kingdom.

In the new revamped GCSE the student is assessed on the following:

  1. Understanding Computer Science (45%) – 90 minute examination to assess understanding of the theory content of the specification.
  2. Solving Problems Using Computers (30%) – 2 hour external assessment to assess the practical application of knowledge and understanding through a series of on-screen tasks.
  3. Developing Computing Solutions (25%) – externally assessed and externally moderated 15 hour controlled assessment to develop a piece of work using programming software following a task brief issued by WJEC. There will be a choice of two task briefs.

For me, this represents a sea change in the direction of the academic subject at this level and is very strong statement of intent by the WJEC on how seriously they view the subject’s implications for helping our children develop and seek careers.

Here’s a link to the sample WJEC GCSE Computing paper

John Naughton’s suggested syllabus for teaching computing

This morning I read John Naughton’s great Observer article on “Why all our kids should be taught how to code”

John Naughton is professor of the public understanding of technology at the Open University and what I loved about the article, aside from his obvious love for wanting to share and impart knowledge, was the following suggestions for what we should start teaching.

Here’s what he suggests:

  • Algorithms (the mathematical recipes that make up programs)
  • Cryptography (how confidential information is protected on the net)
  • Machine intelligence (how services such as YouTube, NetFlix, Google and Amazon predict your preferences)
  • Computational biology (how the genetic code works)
  • Search (how we find needles in a billion haystacks)
  • Recursion (a method where the solution to a problem depends on solutions to smaller instances of the same problem)
  • Heuristics (experience-based techniques for problem-solving, learning, and discovery)

That’s a pretty tasty and hefty list and I can immediately see that some of the topics will require a minimum age group e.g. Computational biology, Heuristics and I suspect that I’d argue that these are subjects that could be considered “Further learning”.

If we’re going to radically overhaul the way computing is taught we need to get the balance right and not put anyone off the subject and that’s a really important part of this exercise.

There are many comments on the online Observer piece that articulate just that concern but this will be a work in progress and all things considered I think we have to dive in and see how the children respond.

In my short, experience as a father, one thing I know for sure is that you should never under estimate a child’s ability to learn something new quickly – quicker than probably you or I would! No-one likes being condescend to so let’s start this project by not doing that 🙂

Computer “Code” – maybe it’s not such a great name?

As all my school essays did, I’ll start with a definition:

  1. code  

    /kōd/

    Noun
    A system of words, letters, figures, or other symbols used to represent others, esp. for the purposes of secrecy.
    Verb
    Convert (the words of a message) into a particular code in order to convey a secret meaning.
    Synonyms
    noun.   cipher – cypher – codex
    verb.   encode – codify – cipher – encipher – cypher

Doesn’t sound like something that’s easy to learn that does it? Although it does sound cool, to me at least, but then again I still use words like cool so maybe I’m not the best judge!

I think we should try and use a more straightforward term with children like program, any thoughts?

Completed Works By Seymour Papert

Seymour Papert is the inventor of Logo and according to Marvin Minksy, another MIT titan of Artificial Intelligence, Papert is “the greatest living mathematics educator.”

Here’s the wiki intro:

Seymour Papert (born February 29, 1928 in Pretoria, South Africa) is an MIT mathematician, computer scientist, and educator. He is one of the pioneers of artificial intelligence, as well as an inventor of the Logo programming language.

via Wikipedia entry for Seymour Papert

Here’s a list of his completed works from Papert’s website and is a great resource for understanding how to translate these concepts for children.

Title Description/Source Year
“Bode Miller” Article for the Bangor Daily News (Bangor, Maine) 2002
“Computer as Condom” Article for the Bangor Daily News (Bangor, Maine) 2002
“Hard Fun” Article for the Bangor Daily News (Bangor, Maine) 2002
“It Takes a State” Article for the Bangor Daily News (Bangor, Maine) 2001
“The Learning State” Article for the Bangor Daily News (Bangor, Maine) 2001
“Vision for Education: The Caperton-Papert Platform” Essay for the National Governors’ Association Annual Meeting 1999
“Papert on Piaget” Time magazine special issue: “The Century’s Greatest Minds” 1999
“Ghost in the Machine” ZineZone.com interview on how computers fundamentally change the way kids learn 1999
“Diversity in Learning: A Vision for the New Millennium” Videotaped speech for Vice President Al Gore’s Diversity Task Force 1999
“Let’s Tie the Digital Knot” TECHNOS Quarterly 1998
“Does Easy Do It? Children, Games and Learning” Game Developer magazine 1998
“What Is Logo? And Who Needs It?” Essay from Logo Philosophy and Implementation (Logo Computer Systems) 1999
“Two Wrongs Don’t Make a Right, but Three Rights Do Make a Left” Excerpt from The Connected Family: Bridging the Digital Generation Gap (Longstreet Press) 1996
“Learning by the Skin of His Teeth” Excerpt from The Connected Family: Bridging the Digital Generation Gap (Longstreet Press) 1996
“The Wonderful Discovery of Nothing” Excerpt from The Connected Family: Bridging the Digital Generation Gap (Longstreet Press) 1996
“Child Power: Keys to the New Learning of the Digital Century” Videotaped speech from the 11th Colin Cherry Memorial Lecture on Communication 1998
“Why School Reform Is Impossible” The Journal of the Learning Sciences 1997
“Looking at Technology Through School-Colored Spectacles” Logo Exchange 1997
“Educational Computing: How Are We Doing?” T.H.E. Journal 1997
“School’s Out?” Interview by David S. Bennahum about how computers relate to school. 1996
“An Exploration in the Space of Mathematics Educations” International Journal of Computers for Mathematical Learning 1996
www.ConnectedFamily.com Website accompanying the book The Connected Family: Bridging the Digital Generation Gap (Longstreet Press) 1996
“Now I Know Why We Have Nouns and Verbs” Learning story excerpted from The Connected Family (Longstreet Press) 1996
“Ian’s Truck” Learning story excerpted from The Connected Family (Longstreet Press) 1996
“My Learning Disability” Learning Story exerpted from The Connected Family (Longstreet Press) 1996
“Computers in the Classroom: Agents of Change” The Washington Post Education Review 1996
“The Parent Trap” Time magazine 1995
“Technology Works Enterprises Proposal” Proposal for a program in Bucksport, Maine 1995
“Technology in Schools: Local Fix or Global Transformation?” Written remarks for a U.S. House of Representatives panel on technology and education 1995
“Obsolete Skill Set: The Three Rs — Literacy and Letteracy in the Media Ages” Wired magazine 1993
“Preface” The Children’s Machine: Rethinking School in the Age of the Computer  (Basic Books) 1993
“Epistemological Pluralism and the Revaluation of the Concrete” Journal of Mathematical Behavior 1992
“Perestroika and Epistemological Politics” Essay 1991
“Software Design as a Learning Environment” Essay (with Idit Harel) 1991
“Situating Constructionism” The first chapter in Constructionism, edited by Idit Harel and Seymour Papert (Ablex Publishing Corporation) 1991
“Computer Criticism Versus Technocentric Thinking” M.I.T. Media Lab Epistemology and Learning Memo No. 1 1990
A Critique of Technocentrism in Thinking About the School of the Future M.I.T. Media Lab Epistemology and Learning Memo No.2 1990
“The Future of School” Discussion between Seymour Papert and Paolo Freire about the future of education 1980s
“Event Programming in Logo” Speech about programming in Logo delivered to an audience of Costa Rican educators 1980s
“Constructionism vs. Instructionism” Speech to an audience of educators in Japan 1980s
Computer as Material: Messing About With Time Teachers College Record 1988
“One AI or Many?” Daedalus 1988
“Papert’s Principle” Excerpt from The Society of Mind by Marvin Minsky (Touchstone) 1988
“Learning Media and Learning Environments” Speech delivered at the Communications Forum, MIT, 1987 1987
“Just a Computer” Principal 1986
“Different Visions of Logo” Classroom Computer Learning 1986
“New Views on Logo” Electronics Learning 1986
“The Next Step: Logo Writer” Classroom Computer Learning 1986
Beyond the Cognitive: The Other Face of Mathematics Proceedings of the nineteenth international Conference for the Psychology of Mathematics Education, Plenary Lectures 1986
Seymour Papert on Logo: Hurdles, Logo Grammar, 1 Video presentation 1986
Seymour Papert on Logo: Hurdles, Names and Variables, 2 Video presentation 1986
Seymour Papert on Logo: Hurdles, Images of Recursion, 3 Video presentation 1986
“Misconceptions About Logo” Creative Computing 1984
“New Theories for New Learnings” School Psychology Review 1984
“Computers as Mudpie” Classroom Computer Learning 1984
“Microworlds: Transforming Education” MIT memo 1984
“Tomorrow’s Classrooms?” Times Educational Supplement 1982
“Computers and Computer Cultures” Creative Computing 1981
“New Cultures From New Technology” Byte magazine 1980
“Paper for the President’s Commission for a National Agenda for the ’80s” Paper for a commission formed by President Jimmy Carter 1980
“The Role of Artificial Intelligence in Psychology” Language and Learning: The Debate Between Jean Piaget and Noam Chomsky 1980
“The Gears of My Childhood” Forward to Mindstorms: Children, Computers, and Powerful Ideas (Basic Books) 1980
“Redefining Childhood: The Computer Presence as an Experiment in Developmental Psychology” Paper delivered at the 8th World Computer Congress 1980
“The Mathematical Unconscious” On Aesthetics in Science 1978
“Concepts and Artificial Intelligence and Testing for Propositional Logic” Language Learning and Thought 1977
“A Learning Environment for Children” Computers and Communications Implications for Education 1977
“Artificial Intelligence, Language and the Study of Knowlwedge” Cogntitive Science (with Ira Goldstein) 1977
“An Evaluative Study of Modern Technology in Education” MIT Artificial Intelligence Laboratory Memo No. 371 1976
“What Is Innate and Why” Conference on Ontogenetic and Phylogenetic Models 1976
“Un Piaget ou Plusieurs?” Symposium on Genetic Epistemology 1976
“Some Poetic and Social Criteria for Education Design” Appendix to a Proposal to the National Science Foundation 1976
“Teaching Children Thinking” Journal of Structural Language 1975
“Artificial Intelligence” The Condon Lectures (with Marvin Minsky) 1974
“Uses of Technology to Enhance Education” MIT Artificial Intelligence Memo No. 298 1973
“A Computer Laboratory for Elementary Schools” Computers and Automation 1972
“Teaching Children to Be Mathematicians vs. Teaching About Mathematics” International Journal of Mathematics Education and Science Technology 1972
“Making a Theorem for a Child” Proceedings of the ACM Conference 1972
“On Some Associative, Parallel and Analog Computations” Associative Information Techniques (with Marvin Minsky) 1971
“Non-Counting Automata” Article (with R. McNaughton) 1971
Perceptrons Book (with Marvin Minsky) 1969
“The Syntactic Monoid of a Regular Event” Algebraic Theory of Machines (with R. McNaughton) 1968
“Cybernetique et Epistemologie” Presses Universitaires de France (with G. Cellerier and G. Voyat) 1968
“Le Temps et l’Epistemologie Genetique” Etudes d’ Epistemologie Genetique (with G. Voyat) 1968
Chapters in Encyclopedia de la Pleiade Encyclopedia de la Pleiade (Gallimard) 1968
“Linearly Unrecognizable Figures” Proceedings of Symposia in Applied Mathematics XIX 1967
“Unrecognizable Sets of Numbers” J.A.C.M. (with Marvin Minsky) 1966
“Topological Events” University of Michigan Summer Conference on Theory of Automation (with R. McNaughton) 1966
“Introduction” Embodiments of Mind by Warren S. McCulloch 1965
“An Abstract Theory of Subspaces” Proc. Camb. Phil. Society 1964
“Stereoscopic Synthesis as a Technique for Localizing Visual Mechanisms” R.L.F. 1964
“Sur l’Illusion de Muller-Lyer” Annee Psychologique  (with Jean Piaget) 1964
“Mathematical Appendix” The Behavioral Basis of Perception by J.B. Taylor 1963
“Sur la Logique Piagetienne” Etudes D’Epistemologie Genetique 1962
“Centrally Produced Visual Illusions” Nature 1961
“Distorted Stereoscopic Vision” Technical Paper, National Physical Laboratory (with G.N. Seagrim) 1960
“Redundancy and Linear Logical Nets” Procedures of First Bionics Symposium 1960
“Which Lattices are Lattices of Open Sets” Proc. Cam. Phil. Society 1959
“Lattices in Logic and Topology” Dissertation, Cambridge University 1959
Sur les Treillis Para-Topologiques C.R. Seminaire Ehresmann (with D. Papert) 1957
“A Theory of Perceptual Constancy” British Journal of Psychology (with J. G. Taylor) 1956
“Sequential Convergences in Lattices” Dissertation, University of the Witwaterstrand 1952