Some of the important lessons that I learned as a software developer can be applied to teaching and learning–in particular to the use of computers in schools. I believe this because I also have 13 years of teaching experience, more than 30 years as a student, and 18 years as the parent of a student.
There are three important guidelines to recognize before starting a software development project:
- Use technologies (software, hardware, techniques) that are appropriate to the task.
- Use the fewest technologies sufficient to accomplish the task.
- Use the simplest form of each technology, such that the task can still be accomplished.
The first guideline should be obvious: for each task there are always alternative technologies. Some attack the task at hand directly, some only indirectly or use only a subset of their functions to address your task.
The second guideline not only simplifies development, it simplifies overall management and reduces purchasing costs, personnel costs, and maintenance costs. (It is appalling to see job requirements that list dozens of technologies for a given task when you know that only a few would be actually necessary.)
The third guideline simplifies development and maintenance by avoiding clutter and arcane approaches, both of which distract from the task at hand.
How do these computing guidelines apply to the uses of computing in schools? First let’s clarify some differences between software development and “schooling”: While software development is mainly a technical activity with significant social components, education is mainly a social activity that has technical components.
We also need to recognize that education really consists of two distinct activities, administration on the one hand, and teaching and learning on the other. In fact, it may be going too far to lump teaching and learning together, since one is communicating a worldview, while the other is constructing a worldview.
The first guideline, as applied to education, might be better stated as using the appropriate technology if any. It is obvious that computer technologies are appropriate for administrative tasks such as record keeping, reporting, and some kinds of communication. It is not so obvious that computer technologies are appropriate for learning to read, for example.
In many cases the computer is simply a change in medium–a screen instead of paper. Why would that be appropriate, and why pay for it?
The second guideline is actually a ramification of the first. And in fact, the “fewest” might also be “none”. There is always a “startup cost” when attention must change from one technology to another, whether this change is each hour or each day.
The third guideline says to use the simplest form of any technology. In the context of teaching and learning, this would mean using technologies (whether books or computer programs) that are straightforward, with as few distractions as possible. Unfortunately, today’s textbooks are loaded (or larded) with distractions that actually inhibit a student’s ability to read attentively.
Using the simplest form of any technology absolutely does not mean that the task at hand should be or can be simplified to fit the technology! This includes the act of teaching itself.
Let me make a point by modifying an earlier statement: “education is and should be mainly a social activity”. There are few genuine reasons why teaching and learning (as opposed to administration) should be computerized unless computers are the actual point of the course.
Educators and programmers too often give in to what we call “feature creep”. This is when we allow ourselves to be persuaded that we ought to include this or that new feature or function. And this one. And that one. And …
Use what you need; be direct; keep it simple. When these guidelines are violated in software development as much as they have been in many schools, development goes into a tailspin of confusion and costliness.