[comp.sys.mac] SPJC Task Force

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
-------