The dream of a common language: the search for simplicity and stability in computer science education
In recent years, the languages, paradigms, and tools used to teach computer science have become increasingly complex. This added complexity puts pressure on designers of introductory courses, who must cover more material in an already overcrowded syllabus. The problem of complexity is exacerbated by the fact that languages and tools change quickly, which leads to profound instability in the manner in which computer science is taught. The situation has reached a point where it is difficult for individual computer science teachers to keep up. This paper examines the factors that promote complexity and instability in computer science. It then goes on to argue that we, as educators, must take responsibility for breaking this cycle of rapid obsolescence by developing a stable and effective collection of Java-based teaching resources that will meet the needs of the computer science education community. Such an initiative is already in progress under the direction of a special task force appointed by the ACM Education Board. The charter and current plans for that task force are being presented in a special session at this symposium.