On Mon, 6 Apr 2020 at 11:28, Jim Manley via cctalk <cctalk@classiccmp.org> wrote: > > Speaking of COBOL and Admiral Grace Hopper, I have one of her actual > nanoseconds, a piece of insulated solid wire about 11.2 inches long, when > she was a Superintendent's guest lecturer. Since I was a Navy MSCS > student, she "signed" it with stripes and gaps in magic marker, as the ones > and zeroes in ASCII representing her name. > > An enterprising headhunter scoured retirement communities in Florida, > Texas, Arizona, etc., in 1999, looking for COBOL programmers who knew where > the two-digit dates were in the code. In many cases, the source had been > lost by the 1990s, so they really had to know the code. AIUI, the Federal > Reserve and many banking systems still run COBOL executables that have been > wrapped to enable them to be run on modern OSes on current hardware, much > as FORTRAN executables run on NASA missions, such as the Mars orbiters, > landers, and rovers. Rewriting such code would introduce bugs galore, > especially anything contracted out by the government to the lowest bidder. > > As for learning computing, I have a slightly different range of students > that are my charges than present company. It starts with kindergartners > and ends with adults of all ages in colleges and universities. OK, so what > the heck can a kindergartner possibly learn about computing? Notice that I > didn't say computer science, that's a subset of computing. Computing > encompasses mathematics, physics, science, engineering, hardware, software, > and all of the more specialized areas under each of those major > categories. Programming isn't even up toward the top, any more than > soldering is, although my students all learn some things that will be > useful throughout their lives, no matter where they wind up career-wise. > > Here's what kindergartners can learn about computing: the concepts of > something and nothing, and that there is literally money in computers. > Huh? The little ones don't even see a one or a zero when I start them out > - we start with one of the most fundamental concepts in computing that even > some freshman CS students often don't comprehend, the difference between > something and nothing. I ask them to identify opposites that they can > sense, such as light and dark, a marble and an absence of a marble, left > and right hands, magnets that attract and magnets that repel, etc. > > Eventually, we graduate to pennies: nice, shiny, brand-new-from-the-bank > pennies that, to a kindergartner, are actual gold. They play with the > pennies to discover that they can roll around, and learn that they're not > food or nasal suppositories, under careful supervision by multiple adults. > They also find out that there is another opposites concept: heads and > tails, which we acknowledge as what we educators call a scaffolding > element, upon which other concepts will be built later. > > They're then provided egg cartons, which enables them to start learning the > concept of organization, which even many adults never get close to > mastering. After a while, the tykes are encouraged to toss the pennies > short distances and they learn that the pennies just happen to fit nicely > at the bottom of the egg-holding parts of the cartons. That's when I begin > repeating the mantra to them every day: "There's literally money in > computers. There's literally money in computers ... " When they start > repeating it at home, their parents/guardians thank me profusely when they > see me. > > Now the magic begins - the kids are shown that patterns can be created with > shiny pennies and not-so-shiny empty holes. I collect egg cartons from > institutional kitchens that use real in-the-shell eggs, e.g. breakfast > places like IHOP, Denny's, etc., that serve eggs sunny-side-up/down. Very > few kitchens use real eggs any more unless they're serving dishes with > actual yolks and whites - omelettes, scrambled eggs, baked goods, etc., are > all made with powdered eggs or liquid egg mixtures, even at what you might > consider upscale restaurants. The cartons they use are upwards of > eight-by-eight eggs in size, which stack nicely for storage, as well as > rapid access to make lots of whole, fresh egg dishes. > > You might be seeing where I'm going with the eight-by-eight cartons, > because they're ideal for representing arrays of bits as bytes, with rows > potentially representing successive memory locations, registers, graphics > buffers, etc. Of course, the kindergartners aren't going to understand > anything about those sorts of concepts, but by the time I do get to them, > they don't think twice about manipulating pennies in egg cartons. > > In the higher grades, I teach them binary math after we map pennies to > ones and the egg holes to zeroes. They haven't learned decimal numbers and > math at that point, yet, so this is a terrific opportunity to get them > comfortable with bits without the confusion of seeing 10 and reflexively > reading it as ten - it's always pronounced "one zero". > > At that point, they can learn the four rules for binary addition: 0 + 0 = > 0, 0 + 1 = 1, 1 + 0 = 1, and 1 + 1 = 0 and carry 1 to the next digit to the > left. This is much simpler than learning decimal addition and prepares > students by scaffolding decimal math on top of binary math that they > learned as early as possible. Early on, I also ensure that the > something-nothing opposites concept of something and null are deeply > instilled > > I use these techniques for students all the way up through elderly adults > to help them understand what's really going on in binary digital > computing. You would be surprised at how many supposedly computing-savvy > people have no idea that computing hardware almost universally executes > everything at the bit level, and that the air around them is filled with > exabits/second of serialized data via all sorts of frequencies and > modulations. > > Extrapolate that sort of progression through all of the computing concepts > discussed in previous posts, and much more, using scaffolding all the way > up through the postgraduate computing level and you now have an idea of > where computing education is going. This is not your grandfather's, > father's, or even your own kind of educational experience, this is > something more befitting of the 21st Century, and it's not limited to just > computing. > > Waiting until the post-secondary or even secondary educational levels to > teach computing is no longer an option, as we don't have the luxury of only > educating an elite few. We have to start as early as possible with > everyone and build layer upon layer alongside all of the other fundamentals > to establish a citizenry to whom computing fundamentals are as familiar as > the A-B-Cs and 1-2-3s, along with other important ideas and skills that > haven't been taught appropriately for going on 100-plus years.
What a wonderful post. Started out with me being a little envious of meeting Admiral Hopper and having a nanosecond, and ended up with an inspiring tale of teaching logic. *Applause* Thank you for that! -- Liam Proven – Profile: https://about.me/liamproven Email: lpro...@cix.co.uk – gMail/gTalk/gHangouts: lpro...@gmail.com Twitter/Facebook/LinkedIn/Flickr: lproven – Skype: liamproven UK: +44 7939-087884 – ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053