The software technology around a language has to be considered if we are to deliver some realistic skills. The academic directions within the School determine broad parameters governing how we approach the selection of a teaching language. Learning Comfort Certain practical issues affect the students' ability to learn effectively. Can we obtain direct support for methodological constructs, rather than lots of mechanism with little conceptual framework. Environment and Language Size Students expect to see good windows interfaces for any development tool, and react badly to those which fall short.
Smaller languages ease the learning process, but at the expense of omitting important concepts.
Feedback and Incremental Development With less laboratory staffing and more distance learning, we must have a system that supports software development rather than text editing, and gives students full feedback on their errors. Visualisation and Interactive Programming Learning is difficult without a visual model of executing software. Resource Provision Teaching systems may need to run on our own systems, those of the franchise colleges, and even the students' home computers. 3 Technical Requirements For teaching purposes we need to establish the core set of technical requirements for a language to be usable in the delivery of fundamental concepts. Our chosen language should provide a simple syntax for the class as virtually the only type structuring and unit packaging construct available, with clear and powerful control over visibility.