Monday, April 04, 2016

Coding workshops for Black kids: Webpages, mobile apps, games, robots ... and machine learning

Last update: Saturday 4/2/16

Two recent computer-related events provide stark warnings about global warming and artificial intelligence.

While considering the profound implications of each of these events, I was struck by the fact that they were powered by radically different programming paradigms: 
  • Global warming -- Yes, the "inconvenient truth" that won't go away received yet another computer assisted boost last week from a report about a complex climate simulation that predicted collapsing ice sheets, epic superstorms, even mega-boulder-hurling mega-waves within a few decades, rather than a century as had been anticipated previously. Of course, one apocalyptic forecast does not convert this scary possibility into a probable occurrence. The researchers have solid reputations; so we should expect that their dire predictions will become the subject of rigorous reexamination and debate in the months ahead. The report was covered by Gizmodo. The report itself is also online.
  • Google's AlphaGo -- Another computer disruption occurred two weeks ago when Google's AlphaGo artificial intelligence (AI) program beat the world's leading human champion in the game of Go in three straight games to win the best-three-out-of-five match. Go is orders of magnitude more complex than chess, so much more complex that it would be impossible for a computer to calculate all of the possible consequences of each of its possible moves. Traditional step-by-step algorithms are insufficient. AlphaGo could only beat a human master of the game if it could perceive complex patterns and assess their relative values, i.e., if it embodied something akin to "human intuition". Accordingly, most leading AI experts did not anticipate such an overwhelming AI victory until ten to twenty years from now, at the earliest. The DLL's TECH Dozens cover story on 3/12/16 provided links to numerous reports that covered this unexpected AI victory. 
The algorithms executed by the climate simulator had been coded step-by-step by the members of the research team based on their mastery of the underlying climate sciences. In the starkest possible contrast, the tech support staff for AlphaGo only had a rudimentary understanding of the complex game their software had thoroughly mastered. So how did AlphaGo achieve its overwhelming victory without running step-by-step code written by its support staff? Short answer ==> "machine learning"

Why should activists and educators who are striving to close the Digital Divide by running coding programs for Black youngsters be concerned about machine learning? In my opinion they should be concerned because machine learning is no longer a "Next Big Thing". 
AlphaGo's triumphant application of machine learning to the most complex board game ever devised proves that machine learning has suddenly become a here now thing.

Its widespread adoption in the next few years will generate an exponential increase in software productivity. AlphaGo's uncoded victory is a timely reminder that the most important short, middle, and long term goals of coding programs for Black kids should never be the development of their coding skills, but should always be the development of the their underlying computational thinking skills. A few years down the road i
n a world wherein increasing numbers of computer systems will be empowered to code themselves, computational thinking skills will enhance students' capacities to use these self-coding systems to understand and to resolve the most complex problems ... like global warming.

What is machine learning?

Wikipedia provides the following definition:
  • "Machine learning is a subfield of computer science[ that evolved from the study of pattern recognition and computational learning theory in artificial intelligenceIn 1959, Arthur Samuel defined machine learning as a 'Field of study that gives computers the ability to learn without being explicitly programmed'. Machine learning explores the study and construction of algorithms that can learn from and make predictions on dataSuch algorithms operate by building a model from example inputs in order to make data-driven predictions or decisions, rather than following strictly static program instructions ... Machine learning is closely related to and often overlaps with computational statistics; a discipline which also focuses in prediction-making through the use of computers."
What is AlphaGo?
Here's Wikipedia's description:
  • "AlphaGo is a computer program developed by Google DeepMind in London to play the board game Go. In October 2015, it became the first Computer Go program to beat a professional human Go player without handicaps on a full-sized 19×19 board. In March 2016, it beat Lee Sedol in a five-game match, the first time a computer Go program has beaten a 9-dan professional without handicaps. Although it lost to Lee Sedol in the fourth game, Lee resigned the final game, giving a final score of 4 games to 1 in favour of AlphaGo. In recognition of beating Lee Sedol, AlphaGo was awarded an honorary 9-danby the Korea Baduk Association."
How did AlphaGo use machine learning?
Here's Wikipedia's succinct explanation:
Can Black youngsters 7 to 17 understand machine learning?
I say yes, but I just started to learn about machine learning myself in April 2015.  My first course was offered by M.I.T. (via edX), the next ten by Johns Hopkins University (via Coursera). I'm currently enrolled in the tenth and final Capstone course in the Hopkins certificate program in "Data Science".  Although machine learning was the focus of only one of the ten Hopkins courses, a few of the other courses and the Capstone have provided opportunities for me to employ my new machine learning skills. 

Based on what I've learned so far, I'm confident that introductory courses in machine learning could be designed for students from 7 to 17 that were as understandable and as exciting as courses about developing Webpages, mobile apps, games, and robots.  Of course, a little knowledge is a dangerous thing, but only if someone is foolish enough to act solely on the recommendations of a newbie like me. So I strongly recommend that grass roots organizations like Black Girls CODEQeyno, YesWeCode, Blue1647, Code/Interactive, and Luma Lab go straight to the experts at Stanford, M.I.T., Carnegie Mellon, etc.  I will be hugely disappointed if these great centers for R&D in all aspects of artificial intelligence don't welcome the opportunity to collaborate with community-based groups to develop introductory workshops on machine learning. On the other hand, I won't be surprised to learn that these same institutions have already started to develop these kinds of introductory programs on their own.