PAAAAAR@CALSTATE.BITNET (11/14/89)
I taught "Theory" in a University in England from 1971 through to 1978 but I've been fighting for practical training for Computer Professionals for my whole career (say since 1970 ...) with mixed success. Here are some grossly over-general conclusions. (1) You can not teach "real" engineering in an undergraduate class. Real projects take too long. They involve team work and creativity. Real problems are not be defined in advance, and then graded and forgotten. (2) The most realistic training is real work. In the UK some universities require one or more "industrial periods" in which student is employed by a company for 12 months to 6 months. The grading was simple - without completing these periods satisfactorily the student could not graduate. In the US an equivalent is an "intern" or "co-op" program. Different Schools have different rules. In one scheme an intern registers in a class to work under the direct supervision of a "real" employer (company, charity, department). Grading is Credit/No Credit. Whether or not the intern is paid for work that receives credit or not causes controversy. (3) Students with co-op/sandwich/intern work as part of the curriculum are more employable than those who have not been in class. They typically graduate to earn more money outside of academe than inside. A company can hire graduates that it has helped train before they graduated. Ask your local colleges if they they have a co-op/internship/sandwich program . (4) Some academic bureaucrats are not permitting the development of new CS degrees and are require CSAB Accreditation. Some schools consider themselves to be setting the standard and above accreditation. Whatever - Standard CS programs include a year or two of physics and calculus and NO practical experience. They fit into scientific environments quite well. Accredditted CS programs have to hire graduates of these programs. They (in general) will tend, therefore, to be inexperienced. (5) The technology of undergraduate teaching is not realistic. Most undergraduate programs do not have enough of the equipment found after graduation. An exception is where a company has "adopted" a department - typically with alumni donating equipment and recruiting graduates from it. (6) There exist several techniques/methodologies that are used in practice but are not understood well enough in academe to be taught. As a result the CS teachers do not teach them to students; who graduate to teach CS. (7) Science should not be confused with Engineering. A scientist has made a breakthrough if an experiment does something unexpected (Kuhn/Popper), but an engineer is in hot water if a product does something unexpectedly bad! The USA Science degree is aimed at producing scientists (surprise:-). ***** We need to separate SOFTWARE ENGINEERING from COMPUTER SCIENCE. ------------------------------------------------------------------------- Richard J. Botting, Department of computer science, California State University, San Bernardino, 5500 State University Parkway, San Bernardino CA 92407 PAAAAAR@CCS.CSUSCC.CALSTATE paaaaar@calstate.bitnet PAAAAAR%CALSTATE.BITNET@CUNYVM.CUNY.EDU --------------------------------------------------------------------------- Disclaimer: This is not the opinions of CSU or my CS Dept ---------------------------------------------------------------------------