The ep5 Educational Broadcasting Foundation

educational content for public radio and television

Building a bridge between science and the public

Welcome to ep5

The ep5 Educational Broadcasting Foundation is a not-for-profit charitable institution established in 1988. We produce educational
content for cable and for public radio and television. Our television programs are broadcast locally, and we produced a radio series on topics
in science and technology for a year and a half. This series is still carried by a number of stations from Florida to Malibu to Alaska.

We are funded by public donation and rely upon volunteers for almost all functions. You may want to know why you should even consider
ep5 as a production house for the programs you will find on this web-site. It’s a fair question, and we are delighted to answer it.

Every organization eventually decides how it will deal with the world. Some are quite remarkably pompous and choose to take themselves very seriously.

The world-wide growth in interest in software development skills makes this the ideal time for a public television series which will teach the viewer computer programming. With an emphasis on
actually writing functional and useful code, the series will forego the academic rigor of a university computer science
degree program and concentrate on creating real-world applications which do useful and fascinating things.

Even better, it’s time to do a series on programming in which we emphasize how good a career choice software development is for young women.

There is a Darwinian theory which holds that women are better at tasks requiring meticulous attention to detail and the taking of great care in getting everything right. It would be difficult to identify a set of skills
better suited to writing software than these. From the presenter/instructor, a charismatic and articulate woman, to the more than half of the on-screen class of students, women will be
shown as full and equal participants in programming.

Better still, this series can open the door to young people mired in the hopeless darkness of poverty, giving them a path to follow that can take them up into the world of
light and give them the hope of remunerative skilled work in jobs that offer promise and potential. A sense of purpose gives even the least among us reason to face the future with optimism, and the young person’s
mind constitutes fertile ground for learning a skill in ever greater demand in the modern economy.

Some people do well teaching themselves new skills. But…think about it. If this worked for all of us, why would we have schools and teachers?

“You have to crawl before you walk.”

“You must walk before you run.”

Certainly . . . if you are an infant still in diapers.

But, is this necessarily the best way to learn a programming language? We think not. Just possibly, treating the student of
software development like an infant might not work the best. Why not start out doing something better than rote memorization of what each of those dozens of odd-looking icons on
the screen does, trying to understand terms that are strange and seem not to relate to anything real?

Why not start by writing a short and comprehensible program that actually does something interesting?

And we don’t mean “Hello world”!

For those who do not or, more typically, simply cannot devote four years to a Computer Science course at university, the conventional wisdom has long been reliance upon tutorial videos on the ubiquitous YouTube.

While free of cost and available essentially anywhere upon demand, these videos carry a number of potentially irremediable drawbacks. They constitute a virtually endless source of entertainment, but that derives from their
unpredictability and lack of consistency. For those without ad-blockers, the constant interruption by advertising makes local television look good. More to the point, the quality of their ad-libbed content depends wholly upon the whims and preferences of their
creators, and this spans the entire gamut between utterly irreproachable integrity and barking madness. Almost without exception, these videos are presented by the person making them. A video about JavaScript features a JavaScript
expert (whether real or self-imagined), with exactly and precisely no consideration given to the charisma, visual appeal, and elocution of that individual.

Compare this to public and commercial television, in which the people seen on-screen are seasoned and capable actors, flawless in the delivery of their dialogue lines. After all, one does not appear in a prime-time drama on CBS or PBS
without first proving oneself capable of very high quality acting.

Equally, the television script is written by the writers, not the actors. On YouTube, there is no script, and the presenter stumbles and mumbles his way through what sounds much like a completely off-the-cuff delivery.

If your car needs major repairs, whom would you rather have working on it? An automotive engineer who never once in her life had grease under her fingernails? Or a truly superb and highly experienced car mechanic? Equally, would you
buy software simply because it was written by a television star? Of course not. Then, why buy a television program presented by a star software developer?

Visualize a lively and imaginative display of text popping into view on the screen and transforming itself into a clever and surprising program delivering a dramatic result. Imagine a sophisticated and extremely effective example
of pedagogic communication, in the manner of the best of public television, instead of an unscripted video cobbled together in someone's rec room.

Now, picture this presented by a skilled actor depicting an experienced teacher in the classroom. Exploiting the “Dr Fox effect”, she speaks clearly and at
a moderate pace, never stumbling over her words. There is no harshness in her voice, and she exhibits no annoying peculiarities of speech or massive contempt for proper grammar. Presenting the course content with style, charm, enthusiasm,
and charisma, she never once addresses those watching her as “You guys”.

She reads from a carefully prepared script, with no hesitation or mistakes. The entire presentation flows smoothly, without distraction, toward a specific objective. The presenter not only teaches effectively, she is a genuine
pleasure to watch and listen to. After all, the entire purpose of an actor is to make the most convincing and persuasively real presentation of her role’s content. Think back to the very best teacher
you ever knew in school: this is what the presenter of our program will strive to be.

Unlike the vast array of Internet videos and web-sites purporting to instruct avid neophytes, our series will be a well-thought-out presentation
done to the high production value standards of public television. Using a unique combination of proven teaching techniques and proprietary methods we have developed for this series, our program
about programming takes a “cookbook” approach to teaching coding. Unlike hardcopy books which soon drift into semi-obsolescence,
the television/WWW series will be completely current, up-to-date, and consistent with the latest releases of the programming language and the tools used in its application to real and interesting problems. The examples used in
explaining the principles will take the form of reusable modules that do useful tasks and which can be “plugged in” to the programs that the viewer creates on her own.

It works, especially because we present not only specific examples of the topic under consideration but also, critically, complete example programs using the code. Not merely confusing program
fragments written by an expert who omits the details that he takes for granted but which confuse the neophyte.

Furthermore, we have developed additional methods which neatly and reliably steer the program around obstacles which often render ordinary Internet tutoring ineffectual. No magic tricks;
simply, ways of teaching which work.

In one sentence, our emphasis is NOT on what the viewer will learn but on what she can DO.

We’re teaching software development, certainly, but
which language is it?

The best way of learning is from a really good teacher, in the classroom, one on one. With television, even the best explainer in the most elegant simulated classroom cannot hear the questions that the
students in the television audience invariably have. In the classroom, it’s all about the spirited interaction between student and teacher. How can you possibly achieve this on the ’Net?

We’ve found a way that comes very close. It’s not perfect, but it does work.

Many Internet tutorials consist in the main of a seemingly endless listing of the language’s features and capabilities, apparently on the assumption that the student has an
eidetic memory and has mastered total recall at will. They assume either that the student already has programming skill, knowledge, and experience and will do her real learning on her own or that the
student is as programmable as the computer itself, with a single quick explanation, presented with glib informality, sufficing to
convey the entire topic at hand. We all know that the best way of learning is doing, yet many programming courses seem long on theory and short on coding. When Edsger Dijkstra made his now-infamous
recommendation to “Resist the urge to code!”, he wasn’t talking to you!*

The heart of our approach is encouraging the viewer/student to write as much code as possible, with constant evaluation of how well it works. Integral to this is an emphasis on code black boxes and their re-use.

For instance…

In conventional training, the principles and objectives of object-oriented programming (OOP) are explained at
length, with analogies to cars and animals, accompanied by earnest assurances that the OOP paradigm is best. The student must take it on faith that all this is true, having no way to see the truth of it.
She thinks, “Yes, all very clever, but why should I bother with it?”

This is as silly as it is unnecessary.

Our teaching method begins with a simple and utterly straightforward program utilizing traditional procedural code to accomplish an easily grasped
program objective. This might be copying a file between directories
or making entertaining things appear and disappear on the screen: it hardly matters.**
We then rewrite this function, converting it to the OOP model and show that it still works. Next, we demonstrate how a similar functionality
is implemented in the procedural world, using a new procedure or functions with parameters. This is immediately followed by the equivalent in OOP, demonstrating that a hierarchy of objects can bring efficiency and clarity
to the task of implementing a group of related
algorithms in a concise and reliable manner. At all times, we use fully working programs to show what is accomplished and how this is expressed in code. Not in mickey-mouse make-believe code examples. In code that
accomplishes recognizably useful real-world tasks that properly ought to be done by computer.

In the simplest possible terms, “Don’t tell me how it works. Show me how I can do it myself! ”

In fact, we expect to examine whether OOP even is worth all the hoop-la, noise, and passion that it elicits in programmers. We propose to have and exercise an open mind in the consideration of alternatives.

Finally, one of our “secret weapons”…

Virtually every single instructional, how-to, tutorial, or explanatory video, manual, or essay makes one fatal error: it assumes that everything will go exactly by the book, precisely
as described. Anyone who has ever used a computer for anything more challenging than web-surfing or e-mailing knows that this just isn’t how it really works. In learning how to create programs or to set up
a web server or to do anything complex, one invariably stumbles across something that, for whatever the reason, will not do what it should.

Unlike almost everyone else, we have a solution for this.

Please accept our apologies for not explaining just what this solution is, how it works, or why we see it as the cure for an ill that often becomes the unacknowledged dragon in the room. It took a not inconsiderable
amount of time and effort to develop this technique, and, for now, we’d prefer to regard it as proprietary. Sorry ’bout that!

On occasion, we are asked why there is no demo reel or sample episode for “The Art of Programming”. It’s simple: the essence of the entire series lies in how it presents the course content to the viewer, with:

Conciseness

Clarity

Easily followed organization

Syllabus tailored to the beginning student

To make a demo reel that would usefully reflect the quality and effectiveness of our teaching method would require actually starting to make the series, as that is the only way in which the necessary
resources would be available. The key to the success of this series is the polish and elegance of its production values enhancing the carefully thought-out tutorial content. Achieving this requires the resources of
a full production process. In short, some things cannot be properly simulated, and this is one of ’em.

If one principle characterizes “The Art of Programming” more than all others, it’s the vital need for reliability — and we strongly recommend reading this essay on software reliability, written by a hardware guy. Students of formal computer science education risk being buried in the complexity and
detail of their studies. Our audience will begin, at the very start, with an emphasis on the importance of reliable code that always does what the programmer intends. We will teach the value of creating
black boxes which can be verified, validated, tested, and certified as reliable tools which accomplish specific purposes and can be reused as often as necessary. The cookbook method means that code segments of
proven value reduce the risk of program failure, while intensive and unrelenting testing of evolving program code ensures that reliability never fades in importance and priority.

It needs to be emphasized that “The Art of Programming” is not intended to serve as an introduction to a comprehensive education in programming. It won’t be the initial course in the study of a variety of
languages covering all of the skills that a commercial software developer needs. This series is for someone else entirely: the person who really finds programming fascinating and wants to develop some degree of
proficiency in one general-purpose language that she can use at will, when and as she wishes.

How involved will our series get? Up to the level of state machines and event loops. One can accomplish a great deal with these techniques.

That there exists a demand for such training may be inferred from YouTube videos on such topics as SQL which have as many as two and a half million views, despite their poor production
values, frequent errors, and unappealing (anti-charismatic?) presenters.

- PRAGIM Technologies

One of our core assets is our emphasis on reusable and readily adapatable program fragments, each of which embodies a common functionality. After the viewer/student has finished watching the series, she will have these
extremely useful code samples at hand, easily plugged into her programs with only modest revision to fit the application.

Learning begins with memory, with remembering what one has been taught, but it succeeds only through the actual use of the skill one wishes to develop. Our stress will be on the doing, not on the theory and principle.
To this end, we’ll bring into play one of our “secret weapons”: putting the lab ahead of the lecture. Think about it…when does the explanation of a complex process make more sense and sink in? Before you
have tried doing it? Or after?

Think of it in terms of flight training. While the instructor does explain a number of things before climbing into the cockpit, the actual training occurs in flight, not in a classroom. Just as the student pilot learns to fly real
airplanes only by flying real airplanes, but keeps his aircraft and flight manuals handy as references, our series will include an extremely well-written and meticulously detailed textbook in .pdf form which can be downloaded
at will by anyone.

The series design includes a clever and
cost-effective advertising campaign aimed at public
schools and libraries in areas of greatest poverty
and need. It will encourage students and readers to
watch the series and learn a useful and usable
skill. This will be made as widely available as our
resources will allow, at no cost to the schools,
libraries, and other public institutions.

What will follow this series on learning programming with Java? A
second series, also using Java, which will teach more serious programming, in greater depth and with more involved real-world applications.
Alternatively, another basic course but featuring
another language. In either event, it will run for three trimesters, thirty-nine weeks, with
abundant WWW content.

* He was actually making a singularly important point, to wit, think the problem through before dashing off the obvious code that looks as though
it’ll answer the application’s demands.

** We will make history as the very first to teach a programming language without ever once writing “print
(‘Hello world’)” anywhere, under any circumstances. Instead, we might present a short but functional program much more likely to capture the students’ attention, such as one that pings a Web address to see
if it’s awake. Why? To make a dramatic and effective start to teaching, for one thing. Instead of treating the viewer as a total noob, we’ll present a bit of a challenge, right off the bat. This will stimulate the viewer’s
interest and demonstrate that this series will be anything but superficial.

What else are we doing – right now?

Who has not, at one time or another, watched a train rumble by and wondered what it would be like to work on the railroad?
Some even wonder what it’d be like to own and operate one, a railroad all of your own. Don’t scoff; it happens.

As shocking as the admission may be, we ourselves have occasionally fallen prey to such temptation. Not to actually build a railroad. No, but
we have wondered what it would involve. How much would it cost? What would its chances of success be?

We have just completed it. Despite our best efforts, it turned out splendidly.

In less than an hour and a half, we explain how you can make a small fortune in the railroad business.

After first investing a very large fortune, you gradually convert this obscenely huge amount of money into a long stretch of track, add a
few locomotives, find customers, hire some people who, it is earnestly to be hoped, know something about running a railroad, and stir constantly ’til you have become the
owner of the world’s newest railway. We also take a close look at a few of the Forces of Darkness who will all line up to take pot-shots at you,
both figuratively and literally (Title 49 Code of Federal Regulations Part 223).

– The world’s loveliest train

The program has been completed. It is broadcast periodically on the Rochester, NY, cable system. Watch the hour and twenty minute movie in full here, or see the 03:47 trailer here.

(For the second loveliest train ever built and evidence of how Japanese train companies grasp the concept of branding far better than their peers elsewhere in the world do, see
this.)

Public radio – out now

Between mid-2015 and early 2017, ep5 produced a public radio series entitled "Ninety Second Science". It was released
at the rate of one episode per weekday. The series featured daily minute-and-a-half stories on fascinating topics and themes from science
and technology, with an inclination toward the exotic, peculiar, and remarkable. It is distributed nationally by PRX and NPR.

Click the image below...

Public radio – upcoming

Did you ever have a “driveway moment” in your high school science class, when the bell rang and you wanted the teacher to go on with her explanation of something fascinating?
No? Neither did we. Driveway moments, as NPR will earnestly assure you, occur only on public radio. Well, have we got a deal for you!

Currently in the prototype stage, Wow! I Didn't Know That! is an intellectually provocative science news magazine both whimsical and serious that won't insult your intelligence or speak down to you.
Intended for weekly release, “Wow! I Didn't Know That!” will run half an hour and feature short stories about what’s new
and interesting in science and technology. We’ll bet that you won’t have heard these stories anywhere else. In fact, if you take the bet and we lose,
we’ll let you buy us lunch at the best restaurant in town!

In addition to news from science, technology, and engineering, WIDKT will feature thought-provoking editorials.

Television programs about the nature of Nature use exotic and ultra-costly graphics to illustrate the behavior of the Universe. Their sometimes vague and always scientifically over-simplified
explanations of the underlying science give the viewer a sense of the principles but not a clear insight. Radio must paint its pictures in words. Thus, the radio script expresses its ideas with far greater
clarity. This guides the writing of each episode of “Wow! I Didn't Know That!”

To listen to the “Wow! I Didn't Know That!” sample full episode, click the caveman.

What else will we have?

Few today know about the canal that New York State built to connect the agricultural and industrial areas of the western part of the state
with the rest of the country, back before railroads and highways became common.

It was a good idea, the right idea, but the canal was doomed from the start, thanks to an invention made in Newcastle-Upon-Tyne a few years earlier
by two engineers, Richard Trevithick and Robert Stephenson.

To learn more about the “Death of a Canal” project, please click the image below...

Television

ep5 has produced a number of locally broadcast television programs, still shown on the Rochester cable system.

We have developed several proposals for public television. These include episodic series and hour-long documentaries.

To learn more about these, yeah, you know what to click...

This web-site works, more or less, with the Firefox browser. To the extent that other browsers do not correctly interpret HTML5 and CSS3, anomalies may appear if you
use something else. It’s not that we like Firefox all that much...rather, it’s pretty much the de facto standard.

As it stands now, this web-site works best on full-size desktop displays. It has not yet been optimized for mobile devices. This is currently changing, but the actual
implementation of this update will take some time.

This web-site does not use cookies. If you find any, don’t complain to us about it; we didn’t put them there. Personally, we blame the Girl Scouts...

From time to time, there comes upon the management of this establishment the urge to make various improvements to this web-site. We have removed a number of inconvenient
peculiarities in its layout, rearranged the order of things to be a little less confusing, and added substance and detail to the overall presentation. We do this work wholly in-house,
so this entire process occurs slowly. Very slowly.

If you have been here before, you’ll possibly need to refresh each page when it shows, in order to have the new links function properly. We have put in code which,
in theory, should accomplish this automagically. This varies with browsers, of course, so don’t be surprised if it doesn’t. In our extensive testing, involving
guinea pigs trained to operate computers, it worked about half the time.

Typical of anything on the ’Net...

Don’t you just hate it when browsers don’t work correctly? Don’t you just hate it when guinea pigs go on strike demanding smaller keyboards?