The Northern Spy
May 2021
Random Lessons From The Lessons
by Rick Sutcliffe
|
|
The academic realm
is often stereotyped as an impregnable, remote-from-life, unscalable ivory tower with little to say to the real world. The Spy's corner of said kingdom is actually an ivory basement overdue for new carpeting and a coat of paint, and he likes to think his students are becoming well-equipped to tackle the real world--not just as it is today, but as it is becoming for the years to come.
Oh, he could see grads walk the virtual stage tonight in their confident belief that they are exclusive and expert Python/Java/C++ programmers, ready to write the next greatest apps and take the word by storm, but that would be a sad delusion if they do so think. The reality is that whatever specific skills they learned in year one and two are borderline obsolete by year four, and its skill set in turn irrelevant within four years of entering the workplace.
No, the goal of the TWU experience of computing studies is to graduate versatile problem solvers--people who can tackle situations no one has seen or even heard of before using tools they have never previously encountered, and do so with an engineering mindset: customer oriented thinking, fanatic attention to detail, sound analysis and decision making practice, exacting care in team organization and operation, appropriate domain-specific tool choice, principles-driven design, coding, testing, deployment, and longevity planning...in short, with an informed, ethical, professional approach. A problem solver may not always be called a programmer, but she will always have a job.
If they cannot both work generally and collaboratively as part of a team and also individually concentrate intensely on their own coding assignment, they won't last a month. If they cannot intentionally and continually redefine their job, they could be out of a job after completing their first project, if indeed they last that long. Unless they can evaluate programming tools, set up and work in teams and establish an appropriate working environment operating by sound software engineering and project management principles, they will never be lead programmers, much less shop supervisors. Nor will they last long in the industry.
For instance, in his just concluded principles of programming languages course, the whole point was not to get students proficient in five or six languages (CV padding), but to equip them to (a) "get" that a programming notation (better word) is just an extended algebra with features that in any specific instantiation may or may not be appropriate for a given problem domain, (b) understand the basic principles of programming notation design, and therefore what to look for and why as a programmer, (c) be able in the near term to get up to speed in short order when handed a programming environment and notation they have never seen or even heard of before, and (d) be capable in the longer term to effectively evaluate available tools for domain appropriateness and product longevity. Oh, and there is the ethical and practical matter of utility, safety, security, and reliability trumping the Dilbert "get it out the door and let customers find the bugs" mentality.
Similar considerations apply in such courses as
software engineering, where the point is to teach principles of working that encompass the "how to" of teamwork, design, daily working practice, testing, deployment, management, and maintenance. Typically, the Spy attempts to replicate the workplace on a small scale by having each student present project proposals, the class to vote on them plus indicate which ones they would want to participate in. The top vote getters go ahead under the proposer as lead programmer, and assigned the requested number of workers, per their preferences (always so far #1 or #2), and with weekly code reviews with yours truly in the role of manager.
The discrete math course sequence (the Spy's other academic hat) serves two purposes: to teach logical thinking as applied to mathematics and computing science, and to equip both groups with basic understanding of a branch of mathematics that is both inherently interesting in itself, and also critical for computing science students' daily work.
In most universities, computing science grew out of mathematics departments as programming tools were indeed seen as extended algebras useful for off-loading intensive computational work to machines. However, many students interested in computing careers do not arrive at university as the most skilled mathematicians (ahem), so equipping them with the necessities in this area can be a challenge. The Spy illustrates with an anecdote from a former student, now a lead programmer in a software shop whose products are widely used:
"You remember that discrete math course I took from you all those years ago--the one I hated so much?"
"Ye....ss..?"
"I use it every single day."
It's also worth observing that sound software engineering practice not only involves close code examination while it's under development, but also through subsequent years of use as new security issues arise over time. Failure to pay attention to the code base gets even large companies like Microsoft and Apple in trouble from time to time. We teach well-known principles of software development and maintenance. Shouldn't it be obvious to all practitioners and managers? Some corporate cultures generally mandate and practise these, others evidently do not.
Over to the hardware course,
where the Spy laboriously explains how electronic circuits actually work and has his students build several, including flip flops, a few bits of memory, and eventually a working digital clock--all from discrete components and 7600 family multi-gate chips.
Among many other things covered is the difference between CISC and RISC, how CPUs work, the tunnelling effects that limit the extent of size reductions in printed circuit traces, and in one particular, how multiprocessing, CPU code caches, and pipeline optimizations such as branch prediction are used to optimize instruction throughput in the face of those limitations.
The Spy has always had reservations about CISC. One is that there are heat limitations imposed both by the complexity of each core and the number of cores on a chip. These ultimately limit their future potential. Second, utilizing those cores in multiprocessing entails a process supervision overhead that with sufficiently many cores could eventually grow to be time-counterproductive. Third, his evil imagination has always wondered whether the cache-and predict scheme was secure from malfeasance. Now, reports come from security experts that this system can indeed be hacked to allow malicious code to escape security protocols and execute. The Spy declines to review the details here, but this both empowers the dark hats and delivers additional bad news for Intel.
In the light of this, Apple's decision to develop their own new RISC chip and ultimately deploy it across their product line appears well-founded, even prescient. So do the blow-in-away performance specs of the fist silicon to be installed, and this is only the beginning. This is not the first time Apple has tried to go this route. The Spy was most impressed by the PowerPC chips they once jointly designed with IBM and Motorola, but IBM's lack of interest in producing a low-power, low-heat version suitable for laptops doomed the line for Apple, forcing a switch to Intel chips. His reader will not that he has always believed this was temporary, only until Apple could do it right themselves. That time would appear to have come, and just in time. There will, however, be no buy in here until Apple has an M-machine desktop capable of supporting at least three monitors, which the new iMac cannot (only its own and one external).
..which leads us to his courses that cover
ethical and social issues in technology and its adoption--well trodden ground in this column, where he early on dissed a prospective Internet touted to create a global village and instead accurately forecast its counter-usage as a medium for the purveyance of falsehoods in the cause of exacerbating old prejudices, rivalries, and hatreds, and at the same time manufacture of new ones. It's not that people are more gullible, more easily made prejudiced or believers in assorted falsehoods than they were in the anteinternet era. No, people haven't changed much. Rather it has become far easier and quicker to reach huge audiences with new lies and reinforce old prejudices and hatreds than ever before in human history. Moreover, the Internet enables echo chamber communities whose members refuse to hear anything but reinforcement of their own beliefs, no matter how absurd they are.
The consequence: Western "Liberal" democracy has become so viciously polarized it is in danger of collapsing, its peoples becoming pawns of assorted despots who despise elections. Of the latter there are already abundant aspirants who know of a certainty they are right about everything and require zero advice or input from the people. Whether a dictator happens to be of the "left" or of the "right" makes no practical difference to the lives of the ordinary Josephines they rule with a corrupt iron fist. Despots are fundamentally all the same--ruthless authoritarians who do as they please and brook no dissent.
The Spy attempts to ameliorate this by having his students participate in debates on issues where they may find themselves advocating and defending a point of view contrary to their own beliefs. To be sure, most of the issues raised relate to ethical choices in technology adoption and/or education, but the point is really something like: "Before your company unleashes some new product on the world, before your political party advocates or passes a new bill, does anyone think deeply about the practical effect it will have on society for good or otherwise?" Or, does no one care as long as it makes money or enhances the party's image among its supporters? Do the latter encompass the totality of that for which leaders exist?
But whither ethics, anyway? The IT coordinator of a large school district once said to me, "Praise the Lord for pirated software. I run the entire district on it." I would hope that our students finish with a better grasp of ethical ideas and their application to the profession than that sad individual.
Technology consequences range from the complex and life-altering to the merely interesting. The Spy often asks his class, "What effect will the Internet have on the hobby of stamp collecting?" Students give a variety of thoughtful answers on information mining on the Net and on keeping track of stamp collections with technology. After they all thus miss the point, I ask, "When was the last time you licked a stamp, affixed it to an envelope and mailed it?" It has been a few years since I've had a student who has ever done so. Time to think more carefully and deeply. And, it is telling that among the Western countries politicians the sciences are almost completely unrepresented.
The bottom line of these reminiscences
on this graduation day 2021 05 01, is that the classroom is not in fact an ivory tower, isolated from the real world, but an idea incubator for equipping and enskilling students who can make a positive difference to people and systems in a broken world. It is possible to know better, to program better, to relate better, to think better to be better. Sadly, this year's grads will find that only some people and institutions in the after-university world appreciate this.
See you all again next month--DV.
--The Northern Spy
Opinions expressed here are entirely the author's own, and no endorsement is implied by any community or organization to which he may be attached. Rick Sutcliffe, (a.k.a. The Northern Spy) is professor of Computing Science and Mathematics and Assistant Dean of Science at Canada's Trinity Western University. He completed his fiftieth year as a high school and university teacher in 2020. He has been involved as a member of or consultant with the boards of several organizations, and participated in developing industry standards at the national and international level. He is a co-author of the Modula-2 programming language R10 dialect. He is a long time technology author and has written two textbooks and ten alternate history SF novels, one named best ePublished SF novel for 2003. His various columns have appeared in numerous magazines and newspapers (paper and online), since the early 1980s, and he's been a regular speaker at churches, schools, academic meetings, and conferences. He and his wife Joyce celebrated their fiftieth anniversary in 2019 and have lived in the Aldergrove/Bradner area of B.C. since 1972.
URLs for Rick Sutcliffe's Arjay Enterprises:
The Northern Spy Home Page: http://www.TheNorthernSpy.com
opundo : http://opundo.com
Sheaves Christian Resources : http://sheaves.org
WebNameHost : http://www.WebNameHost.net
WebNameSource : http://www.WebNameSource.net
nameman : http://nameman.net
General URLs for Rick Sutcliffe's Books:
Author Site: http://www.arjay.ca
Publisher's Site: http://www.writers-exchange.com/Richard-Sutcliffe.html
The Fourth Civilization--Ethics, Society, and Technology (4th 2003 ed. ): http://www.arjay.bc.ca/EthTech/Text/index.html
Other URLs of relevant interest:
BC Government COVID site: http://www.bccdc.ca/health-info/diseases-conditions/covid-19
TWU COVID Info: https://www.twu.ca/covid-19-information
|