Technical advisor: Dr Axel T Schreiner
Currently, the project is anticipated to cost two and a half million dollars. This is $96,000 per broadcast episode, not counting the Web-only episodes, and around $32,000 per episode for the entire series. We believe that this compares spectacularly well to other television series made to public broadcast standards of quality.
We take special pride in noting that all episodes of the series, including those on the WWW, will be made with the same production values that characterize the best of public television.
Public television originated as a means of education as well as a source of entertainment. It is certain folly to attempt a television series that fails to provide any entertainment value, but it’s equally wrong to assume that entertainment and education must be mutually exclusive.
In recent years, the number of people interested in computer programming has grown, and public broadcasting has thus far failed to keep up. That there exists a void waiting to be filled may be inferred from the number of programming-related tutorial videos made by amateurs and exhibited on YouTube.
Public television now offers how-to and instructional programs dealing with painting, woodworking, wood turning, innumerable styles of culturally uplifting travel, music, pre-school education, arts & crafts, kids’ moral growth, stained glass, the yuppie lifestyle, horse riding, metal spinning, photography, cultural diversity, ethnic tolerance, stringing beads, hunting and fishing, gardening, home economics, home improvement, composting, psychology, knitting, crocheting, sewing, and quilting.
Oh, yeah . . . scrapbooking.
Along with an endless stream of cooking programs. And we mean endless.
Doubtless, there are numerous other fields which have been and will be acknowledged by public TV, yet the absence of educational and documentary content on the creation of software becomes increasingly conspicuous with each passing year.
We believe that the time has come to remedy this deficiency. And, we are hardly alone in believing in the necessity for and value of teaching programming more widely. To quote from a BBC news article , “...the Hong Kong government aims to make computer programming a required subject for students as young as 11 years old.”
Further, we believe that success in such an undertaking requires understanding the audience extremely well. At ep5, we draw on our own experiences in self-taught Java, C#, and other languages in making the promise that public television has something of genuine value to offer the millions of Americans with a degree of interest in coding.
We propose having the entire series of episodes stress the simple and beautiful fact that a piece of software has the capability of accomplishing something of value, precisely according to the intent and wishes of its creator.
We explain how the premise of teaching computer programming on public television is transformed from an iffy and debatable idea into a sound and defensible proposal by the incorporation of a series web-site for which the television program in effect serves as the front end. Moreover, we propose an unusual, if not unique, bit of experimental research into how television can teach programming.Return to top
The question may occur to you, what can we offer in this series that is not available anywhere else? Perhaps even more germane is the question, how can we avoid the fate that befell that darling of the day, MOOCs?
An examination of the dynamic of learning a programming language, taken to its logical extreme, reveals that everything in the process is fixed and known, save for one critical core component of the process: the mechanism by which the ability to use language-specific complexity is conveyed to the student. The beguiling simplicity of this premise explains why it is routinely and predictably ignored by those who take it upon themselves to provide the resources available to and usable by students.
In conventional schools, teachers assume that the qualifications which enabled them to secure employment sufficiently establish their bona fides, while, elsewhere, amateur teachers do not even question their own ability to teach: they assume it as self-evident. In this document, we challenge this latter assumption and offer a better way.
Is it not time that the resources available to them rose above the level of the haphazard and the amateurish and attained some degree of parity with those enjoyed by full-time students?
A bit of methodology
When someone out in the real world, far from the coccoon of the academic environment, determines upon learning a programming language on her own, there is generally a particular and specific objective that she needs to accomplish. To this end, she will look for features in the programming language which directly address what needs to be done and then attempt to find and adapt code to her own application. This typically results more in frustration than in accomplishment, leading to wasted time and energy, as well as, all too frequently, giving up in disgust on the idea of learning to code.
It’s easy to repeat the old mantra about learning to crawl, then to walk, then to run, and then to compete in marathons, but making this actually happen is neither simple nor easy. We assert that the universities, with their insatiable appetites for money and time, ought not to own the monopoly on effective training in software development. Our method entails creating a series of steps by which the beginner can make solid progress, fast enough to generate the positive feedback that encourages adhering to the program — you should pardon the expression — but with no time or effort avoidably devoted to distraction or irrelevance. It is one thing to learn how to do straightforward create/read/update/delete operations in a simple database and altogether another to spend a week on the philosophy of Edgar F Codd.
A practical benefit
How do we substantiate such a grandiose claim?
Of the billions of programs in use today, a great many comprise some form of automation, and automation has long been understood to be the key to saving energy and other resources. When the efforts of a full-capability software bureau are brought to bear on a complex system, great things can be accomplished. But, what about the vast number of smaller projects that never happen simply because the business, farm, or individual cannot afford the extremely high prices commanded by such software vendors? In many instances, a simple application, if tailored to the specific circumstances, can effect non-trivial savings. These add up, making the business owner’s ability to write his own software a valuable one.
We have a good deal of in-house experience in creating such automation, meaning that we know what we are talking about. When a non-programmer, such as the owner or an engineer or technician normally tasked with non-software responsibilities, can write, implement, and debug a control application, all manner of things become both possible and plausible.
It would also have made for a happier millwright.
This type of application is hardly limited to the smokestack part of town. Building automation systems have proved their worth for many years, but they remain complex, costly, and out of reach for huge numbers of small facilities. We certainly do not claim that, after completing our public television and WWW course, a non-programmer will suddenly be able to automate a full-scale oil refinery. She will, however, have the skill-set required to design, assemble, install, and debug a simple but nonetheless useful building automation system suited to a residence, farmstead, store, or shop.
Even better, our series will feature a forum in which all interested individuals can exchange ideas and programs, help each other through the hard spots that seem a permanent part of the software landscape, and benefit from the expertise and experience of others. Think of it as a specialized version of Stack Overflow.
This aspect of the course, working title ep5BAS, is made far more practicable by the exceptionally capable and free scheduling utility, Obsidian.
The creation, testing, and evolution of such programming is well within the scope of our series. Much more to the point, we will show precisely how this kind of system can readily be done using the cookbook approach. The widespread application of this kind of ad hoc software development would, by itself and over time, save enough to more than justify the cost of producing this series.
But . . . but . . .
As we were wont to yell on the barricades of ’48, “Down with elitism!”
A closing thought
The average public television program is broadcast once and then, if it’s fortunate, repeated a few times before being consigned to dead storage. The entire investment in its cost of production has to be recouped in just a tiny number of forays out into the real world. The Art of Programming, by virtue of its intrinsic nature and because of how we propose to structure and present it, will continue to provide substantial public benefit for years. Please keep this in mind when considering both its merits and its price.
While only a few technical topics will prove to be a good fit for broadcast on public television, the educational resource represented by the web-site extends far beyond this limitation. The free availability of thorough, extensive, high quality training in skills having considerable vocational potential can leverage the funding spent on the production of this series into an asset of substantial value to the nation’s economy.
To the extent that the nation’s economic future depends upon mastery of high technology skills by those willing and able to learn, there will always be an on-going need for well thought-out and well-implemented tutorial content, delivered via a medium accessible by the greatest possible number of people aspiring to better themselves through education.
For this reason, while the underwriting requested for The Art of Programming will pay for this one series of twenty-six broadcast episodes and fifty hours of additional content, it will also create the foundation atop which can be built a long-term, on-going, singularly useful educational asset of real value to the American public.
There already exists an abundance of avenues, including public television, by which the public can be told about high technology. There already exists a structure of institutions which provide formal education and training to those able to commit to the time and the extraordinary expense of a university curriculum. Isn’t it time to create a means of giving hands-on, practical, usable training to those who want much more than to watch others using technology, yet cannot afford to devote four years and enormous expenditure to a degree program?
Please give this proposal the attention that the idea of a television series on computer programming warrants, and feel free to direct any questions, comments, and concerns to us.
Thank you.Return to top