Computational Diversity, Practice and a Passion for Applications
Dave Thomas, Bedarra
THE FALLACY OF THE "RIGHT" THING
The myopic industrial context that is being imposed on many of our best educators and their students is distressing. There is a misleading assumption that software engineering is simply a matter of knowing how to use the latest "right" technology.
PROMOTING COMPUTATIONAL DIVERSITY - OBJECTS ARE NOT EVERYTHING
Students need to see beyond OO and a particular OO technology. Computer Science is not just about objects, just as science is not just about chemistry and business is not just about accounting. Students need an appreciation and understanding of computational diversity. Different tools, techniques, and metaphors are not concepts that should only be offered in optional courses or limited to graduate students. It is not sufficient to make passing reference to this a survey course.
COOPERATIVE EDUCATION CONSIDERED ESSENTIAL
Students need to learn how to work with designs, specifications, and implementations produced by other people.
A PASSION FOR APPLICATIONS?COMPUTATION IN CONTEXT
Students need to see objects in context. Students should be provided with exercises based on an actual application that can provide an opportunity to provide a concrete substrate for abstract concepts.
REQUISITE VARIETY IN CS FACULTY
In the early days of computer science the faculties contained a rich diversity of scientists, engineers, philosophers, and even talented people without a PHD! Each of these brought their external experience context to the department and to the students. Today computer science departments are so pure that if they were a liquid the lighting through them would not be refracted into the beautiful rainbow caused by the impurities.
THE CHALLENGE OF BEING INDUSTRIALLY CURRENT
Many faculty have moved away from computation simply because they feel incapable of keeping up with what is happening in the industry. Of course they see IT professionals struggle to keep on top of the latest thing. Those of us associated with such innovations need to find ways to keep our educational colleagues current, by helping them understand the essence of each commercial wave without forcing them to crawl through the plethora of quick to market books, tools and APIs. We need to make an effort to show how this is similar but different from what came before, rather than the marketing departments claims of our latest "New New Thing" being new and completely different.
We need to ensure that students?the potential software industry leaders of the future?are exposed to the concept of computational diversity. They need to critically assess ideas and products that are commonly perceived as being "in", while understanding the potential relevance and utility of ideas and products that are "out". A wide spectrum education will give students the knowledge to make technical decisions based on what solution best applies in a given situation.