Updating Computer Science Education. - Cohen, Jacques (Communications of the ACM, 2005)
The article presents information on various updates in computer science (CS) education. Along with the continuing advances in computer hardware over the past four decades, CS has undergone its own enormous growth and evolution. That growth requires that faculty periodically update curricula to prepare their students for the new tasks they are likely to face upon graduation. The introduction of structured programming, Object-oriented programming, and graphical interfaces are notable examples of how curricula are being updated in the area of programming languages. Similarly, algorithmic complexity, program correctness, the properties of grammars, and automata are subjects that have been given a prominent place in CS education. Updating CS curricula is generally guided by the development of hardware that allows users to address previously undoable tasks. The improving capabilities in memory and speed of personal computers and the vast network of servers on the Web are noteworthy variables that increasingly influence CS education.