0. Intro đż
I think that itâs extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun.
â Alan J. Perlis
A most intriguingâand confoundingâbook is CLRS, the much-talked-about book on algorithms, one thatâs heavily geared toward researchersâ needs, and which has come to be known simply by the initials of its four co-authors. Titled Introduction to Algorithms, and now in its fourth edition, it is published by the venerable shop that is The MIT Press.
CLRS is a monumental work, being a veritable goldmine for researchers, but a perennial landmine for (unwary) studentsâstudents who approach it with the hope of learning algorithms, that isâwith correspondingly explosive and dismally obliterating consequences for the latter.
I think you sense where weâre going: Letâs make sure nobody gets buried under any monument. And weâll look for the upside with an eye on keeping the studyâand practiceâof algorithms a fun pursuit. It doesnât have to be root canal, amirite?
Intrigued? Read on.
This stuffâthe relevance, or otherwise, of books and such to the lives of everyday programmers and other tech typesâgoes to the heart of how life might well get (unwittingly) drained out of algorithms. More importantly, how does one avoid such a fate: We simply donât do gloom-and-doom around here. Oh no, none of that.
Looks like weâve got some unpacking to do, amirite? With a ton of ideas already jostling about, seeking clarity, the thing to do is to unpack them together, you and I.
Onward.
1. With A Straight Face đ
A fine quotation is a diamond on the finger of a man of wit, and a pebble in the hand of a fool.
â Joseph Roux
But first things first: Check the Easter Island-like monumental bust pictured above. Thatâs my pal, Long Face. So I had to commission a small commando operation to snag Long Face from a neighborhood garden, namely mine. Hush now. Youâre not a tattletale, are you?
Not a few moments had passed after my putting Long Face alongside CLRSâjuxtaposition being the fancy word for thatâthan his face grew measurably longer. Evidently, our pal had had some prior exposure to CLRS, none of it too endearing. Oh my!
And thatâs how Long Face came to be chosen as the poster child for this essay. You see, our pal had fashioned a life revolving around algorithms, devoting his days and nights to the study of algorithmic coolness.
But then came that ill-starred day when CLRS crossed Long Faceâs threshold. And needless to say, given that Long Face had always been an oh so ardent student of all things algorithmsânot a researcher, mind youâeverything went south from there. His unalloyed, pristine school of thought had led him to a solid algorithms education based on prep stuff such as that featured at the coordinates below:
But this CLRS, with its intimidating mathematical machineryâresearchers take noteâwas a bit too much for poor Long Face.
2. We Got⊠Um, Color đȘ
Thereâs hope a great manâs memory may outlive his life half a year.
â Shakespeare
Anyhow, with CLRS now into its fourth editionâand colorization now featured prominently as a selling pointâwhat do we have on our hands?
Alas, it is still algorithms with the life drained out of them, albeit in (flatline) color this time. Oh, it comes in colors everywhere, oh everywhere, just like a rainbow; hey, did anyone catch the reference to that Rolling Stones song with the rainbow and colors theme?
Recall how the colorization of that canonical movie, The Wizard of Oz, is a legend unto itself. The same, when applied to CLRS, a bit less so. You see, analogies can take one only so farâand this is not an especially pretty one, though itâs the one that leapt to mindâis of the meme thatâll have you put lipstick on the pig. Sigh, all in a dayâs work, amirite?
Letâs lunge for an analogy here. Consider how, outside of its two principal authorsâBertrand Russell and Alfred North Whiteheadâhow many people really, really understood what the Principia Mathematica was all about? Five? Ten, tops? Iâm sure CLRS has its ardent adherents; researchers all, in all likelihood. I mean, the copious references and mathematical rigor is great. But when it comes down to the business of learning algorithms, studentsâand other mere mortalsâwould be best served by looking elsewhere.
In other words, hereâin CLRS landâbe dragons everywhere, oh everywhere, for newcomers, that is. Oh yes, they got the red and black trees in color all right, but with the selfsame rigor mortis attendant on previous (oh so black and white) editions. Thank goodness, as I was muttering under my breath just the other day, that they did not consider featuring daguerreotype to illustrate algorithms. Go, creativity.
Look, the authors are to be commended for the monumental effort that they have been putting in over the years. Itâs just that the material is way too opaque for the mathematically uninitiated: In a remarkably candid self-admission, which I recall from Professor Cormenâs slender volume titled Algorithms Unlocked, that one decidedly aimed at beginners, the highly learned professorâthe âCâ in CLRSâtalks about how the book reviewers of CLRS at The MIT Press had given feedback to him that the material in the manuscript was too technical for students at MIT. Now fancy that.
3. Getting Concrete đ
And out there in that great big concrete jungle, I wonder how many others there are like me. Poor bedeviled guys on fire with thirst.
â Charles Brackett
Now give me something concrete, you say. Well, taking a cue from that imposing Greek sigma letter featured above, the one engraved in concrete, letâs just say that thereâs a kindler, gentler approach to learning algorithms than what CLRS offers.
Please know that this is not meantâby any stretch of the imaginationâto be a takedown of CLRS. To the contrary, and as Iâve gone to great lengths to acknowledge, the authors of said tome are to be commended for the monumental effort that theyâve been putting in over the years. Researchers rejoice; learners, (much) less so.
Letâs not beat about the bush: The material in CLRS is way too unfriendly for the uninitiated.
Interestingly enough, a duck has lined up to check the chiseled-in-concrete sigma, amirite?
4. But, Compared To What? đ
I compare human life to a large Mansion of Many Apartments, two of which I can only describe, the doors of the rest being as yet shut upon me.
â John Keats
Concrete and ducks and all, the question remains, though: Compared to exactly what does CLRS come out short? Glad you asked. And this oneâs simple. All I have to do is point you in the direction of algorithms texts that are eminently friendly for the student:
Aimed as they are for learners, the mileage of researchers may (well) vary. Or, as they, YMMV.
But wait a second: Are we ready for a hint from the playbook of ace sleuth Tintin, he who has barged into the scene pictured above? And we hear him say, his mouth wide agape, quoting from a fellowâand equally eminentâsleuth on a predicament:
âData! Data! Data!â Sherlock Holmes cried impatiently. âI canât make bricks without clay.â
â Arthur Conan Doyle (in The Adventure of the Copper Beeches)
You see, itâs elementary: Keep the material friendly for learners of algorithms. (And if a book is aimed at researchers, please say so; please donât be disingenuous about advertising who a given bookâs audience is. Are learners the audience, or researchers?)
5. And The Plot Thickens đ«
The life of every man is a diary in which he means to write one story, and writes another; and his humblest hour is when he compares the volume as it is with what he vowed to make it.
â James Barrie
Elementary indeed, except that poor Tintin was heading in the wrong direction a few moments ago, sigh, back when we were contemplating whether we were ready for a hint from the playbook of our ace sleuth. Oops!
But not to worry: We now have our star sleuth looking some upright, algorithmic material straight in the face, as in the pic above, amirite?
The plot thickens, and the algorithmic picture grows richer by the minute. (Check that globe-enshrined dandelion just to Tintinâs left-hand side.) And with everyoneâTintin, duck, dandelion, and Long Faceâpeering intently in the direction of algorithmic coolness, weâre ready to bring on-stage some splendid volumes on the subject of algorithms.
6. Check These Out, For Example đł
It has often been said that a person does not really understand something until he teaches it to someone else. Actually a person does not really understand something until he can teach it to a computer, i.e., express it as an algorithm⊠The attempt to formalize things as algorithms leads to a much deeper understanding than if we simply try to comprehend things in the traditional way.
â Donald E. Knuth
And there you have it: A handful of splendid volumes on the subject. (For a whole lot more, check the two linked references from a few minutes ago, repeated here for your handy reference:
At this time, we thank Tintin, duck, dandelion, and Long Face for their rapt attention in this matter of being our captive audience.
Check that: Tintin gets to stand on his soap-box.
Wait, what? Thatâs no soap-box! Thatâs a nifty Ahmad Tea-box⊠What could be brewing there here for us? And while Tintin ascends to the Pantheon, we mere mortals have plenty of (algorithmic) coolness right here on our hands, no?
7. Always, Keep Going Back To The Basics â
I got into my bones the essential structure of the ordinary British sentenceâwhich is a noble thingâŠ.Â
â Winston Churchill
One thingâs for sure: It paysâit will always repayâto keep going back to the basics, to keep going back to the classics. Keep looking for that friendly text on algorithms that resonates with you, the one which lights your spark.
And what do you know? Featured above, standing right behind Tintinâs outstretched raincoat is a friendly volume titled Algorithms Unlocked by none other than Professor Cormen. (Youâll recall him as the âCâ in CLRS.) You may notice it being spiral-bound; its pages had fallen apart from overuse or something.
Speaking of the fine professor, I invite you to check out his sincere review (of CLRS) on Amazon.com.
8. Algorithms Unchained, Yay! đ§
Scorn not the sonnet; Critic, you have frowned,
Mindless of its just honors; with this key
Shakespeare unlocked his heart.
â William Wordsworth
Interestingly enoughâand check Professor Cormenâs Algorithms Unlocked pictured above, Polaroid-style, and from a time when said bookâs pages were still intactâthe fabled Towers of Hanoi make a guest appearance, amirite?
One of these days, letâs you and I chat some about a certain package delivery company, you know the one with those inimitably endearing, chocolate-brown trucks, and really about how they go about finding near-optimal routes for their trucks; thatâs algorithms at work, amirite? (TSP, anyone?)
Onward.
9. A Happy Reunion đ
Live now, believe me, wait not till tomorrow;
Gather the roses of life today.
â Pierre de Ronsard
Finally, we have a reunion of sorts, one featuring the following ragtag, motley crew: Tintin, duck, dandelion, cardboard house and, most of all, our pal, Long Face. The only thing missing is algorithmic stuff. But weâre good there, having shared a boatload of learner-friendly algorithms resources, amirite?
Life that might have otherwise gotten drained is resurgent, reveling in the glory of motivation, all revved up. Check the river teeming with life, coming right next up.
10. Life Is Coming Back, The River Flows Again đ
Thâ imperial ensign, which, full high advancâd,
Shone like a meteor, streaming to the wind.
â John Milton (in Paradise Lost)
Life is good. A river runs through it, one coursing with life. A thing well begun is half done, they say, so letâs echo the quote from Alan Perlis, the one with which we had set the tone of this essay at the outset: âI think that itâs extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun.â
And weâre no stranger to that tone, amirite? Hey, thatâs the bedrock of the philosophy here at Programming Digression: Keep the fun in programming and stuff like that.
Oh, and wedging in a (last) word, edgewise: Look for patterns and, really, look for the unreasonable effectiveness of patterns at work. That study will enrich you for a lifetime.
With that, I thank you for checking an exploration of why itâs âextraordinarily important that we keep fun in computing,â algorithms and all. See you next time.
Meanwhile, we would love to hear from you, by way of comments and stuff like that.