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.
ep5 is one of the others
For our corporate Statement of Purpose - everyone needs one of those! - please click here.
For how we work, including an explanation of why you should take the time to read what we present on this web-site, you might take a look here.
ep5 currently has an opening for a volunteer marketing manager to oversee the foundation’s relationships with the world.
Interested? Looking for a way to actually make a positive difference in the lives of others?
585.889.4026 or email@example.com
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.
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.
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:
- 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.
Our intent is to provide a very high quality free-of-cost alternative to conventional on-line training, a once-promising concept that appears to have failed to fulfill expectations. We believe that the concept of computer-based training does have value and potential and that realizing this potential requires a different and better thought out method.
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.
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 satisy the application’s requirements.
** 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?
Difference is, we made a feature-length movie about it. Based on an almost true story, it’s called...
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).
(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...