bas+@andrew.cmu.edu (Bruce Sherwood) (07/14/88)
Several of us at the Center for Design of Educational Computing (CDEC) at Carnegie Mellon University (CMU) have physics or chemistry backgrounds and are embarking on a program to develop physics materials that could be used on Macintoshes. Our specific first target is electricity at the high school and introductory college level, with an emphasis on qualitative understanding. More generally, we work with math and science faculty at CMU, some of whom have been developing materials of various kinds, though typically at the upper undergraduate university level. In addition to research and development activities in the area of using computers in math and science education, we have also been building tools to make it easier for ourselves and others to produce educational programs. A Macintosh version of the cT programming language (formerly called CMU Tutor) has just this month become available from CMU. It was originally developed to make it feasible for ordinary mortals to write programs, especially educational programs, for Unix-based professional workstations such as the IBM RT PC, Sun and DEC VaxStation. More recently the full programming environment has been ported to the Macintosh. A Microsoft Windows PC version is planned for the fall. Usually Macintosh users have not written computer programs not only because there are so many good applications available but also because it usually has been so difficult to write real Macintosh programs. We hope the cT language and programming environment will encourage more people to write programs when existing applications don't exactly meet their needs. cT is still a programming language and therefore harder to use than, say, Hypercard or Course of Action. However, there are situations where writing a program would be the simplest method to accomplish a task, IF it were feasible to write programs. Microsoft Basic and True Basic are quite good Mac programming environments for ordinary mortals, but cT has some particular advantages, especially for educational programming. For example, there are cT commands which analyze keyset input in terms of words and sentences (with spelling and word order feedback), numbers, and even algebraic functions. It takes less than twenty lines of code to set up a graph with tick marks and labels, take in an algebraic function from the user, and plot that function on the graph. Multi-font styled text output statements in the source code are edited exactly as tho one were using a word processor: You make a word italic by selecting it and choosing the "italic" menu option. There does not seem to exist any other computer language which supports multi-font styled text directly in the source code. There are unusual aspects of the cT programming environment. Incremental compilation provides fast turn-around as though one were using an interpreter, but execution is fast because expressions are actually compiled to machine code. A simple graphics editor generates cT display statements: You just click in the execution window and coordinates are inserted or changed in the source window. An on-line reference manual provides several ways to find information and includes examples which can be copied into the source window and run immediately, which provides an extraordinary "programming-by-example" environment. A striking aspect of cT is that a program written in this language is instantly portable among the wildly different machines presently supported, even though the program uses menus, graphics, mouse interactions, multi-font text, etc. Text and graphics displays are automatically rescaled to fit different screen or window sizes. The cT "menu" command generates pull-down menus on a Mac and pop-up menus on a workstation, so no change to the source code is needed when moving the program between these very different environments. Summary of major features of the cT language: interactive graphics in windowed environments instant portability across diverse computers automatic rescaling of text and graphics to fit the window multi-font text menus mouse and keyset inputs analysis of words and sentences analysis of numbers and algebraic expressions rich sequencing options standard calculational capabiliites numeric and text files Summary of major features of the cT programming environment: integrated editing and execution environment incremental compilation for fast revision and execution on-line reference manual with executable examples graphics editor which generates cT graphics statements accurate and informative error diagnostics The Mac version distributed by Carnegie Mellon University includes the programming environment, introductory text, reference manual, on-line reference manual, sample programs, and a freely distributable run-time executor. The programming environment is licensed for single users but is not copy-protected. The run-time executor may be freely copied, so that authors of cT programs can distribute this package with binaries of their programs, without having to pay additional license fees. The software is on two 800 Kbyte diskettes. System requirements: Macintosh Plus, Macintosh SE, or Macintosh II with 1 Mbyte of memory. Hard disk recommended, or two 800K floppy disk drives. For further information: cT Distribution CDEC Carnegie Mellon University Pittsburgh PA 15213-3890 Telephone: 412-268-5638 Electronic mail: ct-distribution@andrew.cmu.edu or ct-distribution@andrew.bitnet Bruce Sherwood Center for Design of Educational Computing
spohrer-james@yale.UUCP (10/28/88)
From: James Spohrer <spohrer-james> I do not know about the Junior College Level, but I have heard that Drexel University in Philadelphia has done some outstanding work get faculty excited about using Macintoshes. Also Elliot Soloway at the University of Michigan has used Macintoshes to teach introductory programming to students. -Jim Spohrer spohrer@yale.edu -------