I tutored kids in mathematics for a decade and a half. I understood that we all have different modes of comprehension, and our intelligence is not measured by our grasp of a singular explanation. With pictures and tactile engagement, 12 year olds can learn calculus. Yup.
So, it would have been antithetical to the goal of deepening children’s comprehension, if I insisted that they do all their work in Roman Numerals! Obfuscation doesn’t ‘challenge’ them in a productive way.
Yet, the educational mode relied upon in software engineering, to the exclusion of all others, is ‘RTFM’ — a singular path, insisting that ‘you MUST find the answer in obscure and poorly written bash man pages, because that is how you learn to code’.
Consider the alternative:
What if students collaborate in finding ways to express concepts, such that comprehension is possible for people who do not have an obsession with keyboard shortcuts? Your boss, asking for an explanation, would fire you for saying ‘RTFM’. Your kids, who may have other ways of approaching the world, would be doomed to exclusion from the burgeoning tech future.
If a school was designed to accrue student-generated explanations that normal people could understand, then their documentation would be a diverse pool from which to learn. Students could clean up those mangled man pages, for example. Or, they find pictorial representations of C memory allocation. And, with those projects, they could provide multi-modal documentation to the public — it would be easier for the visual and kinesthetic thinkers to bring their own insights and creativity into the world of code.
We could finally rid ourselves of scrolling through dozens of snarky posts on StackOverflow, liberated from the egotism that insists ‘you should just get it, in the format I learned it, or you must be stupid’. Wikipedia has succeeded in making curated, public explanations, without corporate or government contract. In contrast, the keyboardists involved in generating shell documentation have let their explanations stagnate for three decades. Let’s have students generate public explanations that work for the learner, rather than stale, esoteric alphabetizing of text-blobs from a handful of pompous hats who validate their exclusivity.
Unfortunately, that school is NOT HOLBERTON.
I do give credit to the value and power of peer learning. Dialogue and team exploration is potent enough to save Holberton from being an expensive ploy to read the web pages you already looked at, hoping to learn C. Its mentors still suffer from the hubris that ‘RTFM’ is the only modality appropriate for learning, however. And, most of the tasks involve deciphering the intentional errors in instructions, and recovering from mistakes presented as canon, in order to ‘teach the student to look carefully, be rigorous, and check for mistakes’.
None of my kids would have grasped maths with that methodology. And, unfortunately, the result of their dirty tricks is a growing suspicion of the mentors’ tasks. At Holberton, and other schools for code perhaps, creative problem solving is secondary to ‘remember to /sleep/ your computer, because we encourage students to hack each other’. Real problems in code, in contrast, are not the product of ‘they’re trying to make me fail’.
Unwilling to Encourage Alternatives:
Rather than support, or even look kindly upon, attempts to re-state problems, Holberton staff were surprised and dismissive when I sought to physically print the bash manual pages. I explained: “I would benefit from the ability to highlight in different colors, annotate, and form pictorial representations in the margins. Anyone in college for biochemistry or architecture would want print-outs or books, to mark-up in a way that is difficult or impossible on a computer. I cannot highlight shell manual pages, so I am handicapped by the need to scroll through pages I had read many times, seeking the information that I had previously found relevant.” The response I got was a vague plea that I ‘get used to reading poor documentation on a computer’.
That doesn’t prepare students for the hardest part of business. Your manager wants a print-out, and pictorial expression of complex problems wins TED talks and grants. Students who practice converting the arcane into the humane are developing the skill to be a teacher. THAT is the best way to study. And, in contrast to the incoherence of most IT tech, students who master depiction of processes are unicorns.
Holberton, I will persevere despite panic attacks and suspicions, if only to have the skills I seek. We could invest our time in making bash easier for anyone to understand. I hope that my efforts to provide a printer-friendly bash manual can shed light on the brittle places in your methodology. (I’ll provide its entirety here on Medium, soon!) My peers, here, were excited and hopeful when I mentioned my plan.
(I easily use mouse and left-handed keyboard, like all gamers. And speech recognition will soon obviate the need for keyboards, in general. We can safely let the keyboardist-autism die. So, I’ll also be elaborating my musings on a truly pictorial IDE, where aliases are formed by highlighting, dragging to a paint-program-esque palette, and are re-inserted with a simple drag-and-drop. Personal computers wouldn’t be such a valuable market, if we all had to use MSDOS. And no one would bother with smartphones if the interface was bash. The time for humanist programming is long overdue… and would free our best minds to focus on higher problems that memorizing grep options.)