The ep5 Educational Broadcasting Foundation

educational content for public radio and television

“The Art of Programming”

Technical advisor: Dr Axel T Schreiner

How we will do it.

The public face of “The Art of Programming” will be the public television series itself, with twenty-six hours of broadcasting. These episodes will address the core elements of programming, those aspects which all JavaScript programs will require. However, the body of the project lies in the much greater amount of tutorial content presented on the Web. Here, we will be able to provide the viewer with additional topics covered in more depth and detail.

Increasingly, the public television norm is to make broadcast episodes available on the WWW for access at any time, and this is a splendid idea. Unless, of course, it is done behind a paywall of some sort. That takes all the fun out of it. The entire program, whether a one-off or a series, should be viewable at will. For free. And permanently, not for a limited time only.

But, why leave it at that?

The WWW offers enormous potential that can take the scope and depth of a pub-tel series far, far beyond what is possible on ordinary television. The rigidly constrained time and scheduling of broadcasting mean that the series seen on air must follow a tightly defined format and thread. As a series, it requires a consistent “look & feel”. If the theme is teaching programming in JavaScript, then the program cannot wander off into a three episode long investigation of various operating systems, with extended discussions of which works best where. It has fifty-six minutes; neither more nor less. It has thirteen episodes per semester, twenty-six per series.

Why accept such a confining set of boundaries?

Enhancing the television series with extensive additional content for the WWW lifts the series over all of these barriers. It allows us to:

  • make as many episodes as we wish, subject to funding availability
  • let each episode run as long as it needs to
  • discuss anything that relates usefully to learning to program small computers
  • bring in industry experts, including those from series underwriters
  • be more…entertaining than is customary on public television
  • add deeper and broader content over time without being bound to broadcast schedules
  • accommodate audience participation via questions and complaints (What? Complain about us?? Outrageous!!!)
  • use a less well-known and more affordable presenter, thus getting much more mileage from the available funding
  • range farther afield in the selection of topics to explain, such as JSDoc for program documentation

A television program must necessarily operate within the limits imposed by a discrete series. Not so on the WWW, where we can go on making episodes for as long as the funding lasts. Once the production process is under way, then adding incrementally to the episode inventory proves remarkably inexpensive and fast. The full television series runs twenty-six one-hour episodes. The WWW version of the program can run riot, limited by only our own imagination and the underwriters’ generosity.

These platforms will be used in demonstrating JavaScript programming:

  • Windows
  • Mac OS X
  • Linux Mint

Additionally, various real-time operating system platforms will be examined for hosting the applications built during the course. The selection of RTOS platforms will be driven by the availability of free or very-low-cost OSes for popular hardware alternatives, such as x86, amd64, ARM, and others.

The series will demonstrate JavaScript programming for the popular pocket-sized computers, such as the Raspberry Pi. It will discuss the merits of such tools as Rhino, Node.js, VS Code, and others suitable for beginners. For those baffled by procedural versus object-oriented versus functional programming, we promise clarity and understanding.

This syllabus represents our initial view of how to structure the series. Naturally, once development begins, the course design will benefit from improvements as more experts contribute to production. Underlying the presentation of JavaScript code will be the explanation of how the programmer thinks through the problem before deciding how to reduce it to code. That is, how does the programmer devise and develop the algorithm with which the problem domain can be resolved?

Always, what we say will be demonstrated in functional and understandable examples. To accomplish this, we intend to use very simple games which allow the student to interact with the JavaScript in real time. Moreover, the JavaScript code can be changed and experimented with, quickly and easily, taking full advantage of the JavaScript interpreter.

For a working illustration of how we’ll present JavaScript, click here.

Web-site by Dreadnaught Steam Traction & Electric Broadcasting Works, Ltd