holt@turing.toronto.edu (Ric Holt) (02/11/89)
USE OF TURING IN A COMPUTER SCIENCE CURRICULUM Dave Bozak asked about the idea of using the Turing programming language across "core" courses in a computer science curriculum: >What is the general attitude toward turing as the next language to use >in intro cs classes? and more generally, as a substitute that enables >a one language approach towards classes in data structures, file >processing, assembler, and other "core" courses (which would minimize >the learning curve when moving to C, C++, Euclid, ...). > >dave bozak >computer science >SUNY College at Oswego >dab@rocky.oswego.edu The experience at the University of Toronto has been, briefly, as follows. First, in 1983, the Department of Computer Science started teaching Turing as the introductory language, leap frogging Pascal. The observation was that Turing was enough easier to teach than Pascal that the usual introductory material was covered 2 weeks faster (out of 13 weeks), leaving 2 weeks for new material. Almost immediately, the Data Processing course dropped C and pushed Cobol back, to use Turing, on the grounds that Turing's checking, syntax, and random access I/O were better for teaching concepts. Similarly, the Data Structures course dropped PL/I and started using Turing because of Turing's checked pointers and union types. Both courses were accelerated because students didn't need to labor through learning yet another programming language at the start of the course. The Languages course now does a unit on parallel programming, using the concurrency features of Turing Plus. The Compiler course gives the students a large project broken into separately compiled modules, which represent the major parts of the compiler; this too uses Turing, the reason being that Turing's separate compilation is completely checked and works conveniently under Unix. The Operating Systems course has a large project in which the students must enhance a model operating system called MiniTunis, which is essentially a simplified Unix. MiniTunis runs as a process under Unix, splitting up the student's screen so it acts like four screens of individual MiniTunis users. This is all programmed in, guess what, Turing Plus, with separately compiled modules and concurrent (sub)processes. Finally, a fair bit of research in the Department now uses Turing Plus. For example, the 100 CPU shared memory Hector project is writing its Polyx operating system in Turing Plus, concurrent numerical algorithms are being prototyped in Turing Plus, etc. The overall result has been that the courses get more material covered that was previously possible. The reason is that less time is used up teaching syntax and that Turing language features support the concepts that the courses want to teach. The Department continues to teach C and Cobol as well, but it is increasingly difficult to find anyone who wants to teach these.
rich@mrsvr.UUCP (Richard Ralston) (02/13/89)
From article <89Feb11.120551est.4328@turing.toronto.edu>, by holt@turing.toronto.edu (Ric Holt): > USE OF TURING IN A COMPUTER SCIENCE CURRICULUM Could someone please Email me about 'Turing' please? Obviously it's a programming language, what's it like? Thanks, Rich ------------------------------------------------------------------------ Richard B. Ralston | ...it was the voice of Jesus, G.E. Medical Systems | and I heard him say, PO Box 414 | "Got an Angel riding shotgun, Milwaukee, WI 53201-414 | and he's riding with you all the way." | -Daniel Amos ------------------------------------------------------------------------ uunet!steinmetz!gemed!starwolf!rich sun!sunbird!gemed!starwolf!rich ------------------------------------------------------------------------
bje@sonia.math.ucla.edu (Bjorn Ellertsson) (02/14/89)
Email didn't go through. Here is a reference: ============= Author: Holt, R. C. (Richard C.), 1941- Title: Introduction to computer science using the Turing programming language / R.C. Holt, J.N.P. Hume. Reston, Va. : Reston Pub. Co., c1984. Description: xii, 404 p. : ill. ; 25 cm. Notes: Includes index. "A Reston Computer Group book." Subjects: Electronic data processing. Electronic digital computers -- Programming. Turing (Computer program language) Other entries: Hume, J. N. P. ============ Bjorn ============ Bjorn Ellertsson, Program in Computing, UCLA (213) 825-2251 UUCP:...!{ihnp4,ucbvax,sdcrdcf,{hao!cepu}}!ucla-cs!math.ucla.edu!bje ARPA: bje@math.ucla.edu BITNET: bje%math.ucla.edu@INTERBIT