[comp.edu] Software for instruction in algorithms

deogun@unocss.unomaha.edu (deogun) (06/29/90)

I am teaching an undergraduate course in Algorithm Design (at Junior level).
Recently, I came across some software that graphically simulates the
performance of different sorting algorithms on Macintosh.  This particular
program has been very helpful in instruction allowing the students to
visualize the performance of algorithms.

I have been wondering if there is any software for simulating other
algorithms, for example, the minimum path algorithm and other network flow
algorithms.  If you know of anything like this, I'll appreciate your
informing me about the source from where I can acquire it.

Thanks for your help.

Sanjiv
-- 
Sanjiv K. Bhatia			Department of Computer Science
sanjiv@fergvax.unl.edu			University of Nebraska - Lincoln
(402)-472-3485				Lincoln, NE 68588-0115

mfrydenb@cvbnet.UUCP (Mark Frydenberg, x MS 4-1) (07/02/90)

From article <3015@unocss.unomaha.edu>, by deogun@unocss.unomaha.edu (deogun):
> ... Icame across some software that graphically simulates the
> performance of different sorting algorithms on Macintosh.  
> 
> I have been wondering if there is any software for simulating other
> algorithms, for example, the minimum path algorithm and other network flow
> algorithms.  
> 
> Sanjiv

There's a film out there called "sorting out sorting" which does a
good job of demonstrating how different algorithms work, but I
don't know off hand where you can get hold of it. Maybe someone else 
does?

siegman@sierra.STANFORD.EDU (siegman) (07/04/90)

References on algorithm animation:

Marc H. Brown, ALGORITHM ANIMATION (1988, 186 pp., $30.00).  
ISBN 02278-8 (1987 ACM Distinguished Dissertation Winner).  (I seem to
have everything on this one except the publisher!)

John Stasko, TANGO: A Framework and System for Algorithm Animation
(Ph.D. dissertation, Department of Computer Science, Brown University,
May 1989).  (Also Tech. Report No. CS-89-30, same place).

max@Neon.Stanford.EDU (Max Hailperin) (07/04/90)

In article <111@sierra.STANFORD.EDU> siegman@sierra.STANFORD.EDU (Anthony
 Siegman) writes:
>[...] Marc H. Brown, ALGORITHM ANIMATION (1988, 186 pp., $30.00).  
>ISBN 02278-8 (1987 ACM Distinguished Dissertation Winner).  (I seem to
>have everything on this one except the publisher!) [...]

MIT Press, which also means the ISBN number given should be prefixed by 0-262-.

harrison@necssd.NEC.COM (Mark Harrison) (07/05/90)

In article <3015@unocss.unomaha.edu>, deogun@unocss.unomaha.edu (deogun) writes:
 
> I have been wondering if there is any software for simulating other
> algorithms, for example, the minimum path algorithm and other network flow
> algorithms.  If you know of anything like this, I'll appreciate your
> informing me about the source from where I can acquire it.

You might consider the "Algorithm Animator" by Bentley and Kernighan.
It is availible from the Unix System Toolchest.  You can find out
information by dialing 1-201-829-7256 and logging in as "guest".  Here
is the description the toolchest provides:


                                Tool name: anim

                            anim -- Algorithm Animation

                                    Jon Bentley
                                  Brian Kernighan

        anim provides a basic  system  for  algorithm  animation  through  a
        simple  language  that  describes  the  dynamic  display  of  simple
        graphics. The system currently produces animations on 5620  and  630
        terminals  and  workstations  running X11.  The system is so easy to
        use that novice users can animate a program within a few hours.

        The anim package consists of three tools: movie, develop and stills.
        movie  processes  an  input  script language animation file, calling
        develop when necessary, to convert  the  script  language  animation
        file  into  a  form  suitable  for  use by movie. movie displays the
        animation on the terminal.  stills  is  a  troff  preprocessor  that
        converts selected frames into pic(1) commands.  stills allows you to
        include  still  frames  from  your  animation  files  within   troff
        documentation.

        anim graphically represents the dynamic execution of  a  program  or
        algorithm.   For  instance,  a memory allocator can be animated with
        lines that appear when memory is allocated and that  disappear  when
        it is freed; a sort can be animated by a randomly scrambled sequence
        of lines being permuted into order.  Such animations are useful  for
        debugging   programs,   developing  new  programs,  and  graphically
        communicating how programs work.

        An animation is produced by adding print statements  to  a  program.
        Each statement requests that some piece of the animation is drawn or
        erased.  Objects can be lines, boxes, circles, or  text,  positioned
        arbitrarily.   anim  scales  coordinates  so that the display always
        fits the screen.  The display can contain multiple independent views
        that   depict   different  aspects  of  interest;  these  views  are
        completely independent of each other and are scaled separately.

        When movie is used interactively, the viewer can control  the  speed
        of display, proceed forward or backward through time, and change the
        screen layout to emphasize certain views.  It is  also  possible  to
        mark  interesting  points  in  time  and  step  from  event to event
        interactively.  stills permits  the  selection  and  positioning  of
        arbitrary collections of interesting frames and views.

        The system is  described  in  detail  in  "A  System  for  Algorithm
        Animation  -- Tutorial and User Manual," Bell Labs Computing Science
        Tech Report #132, January, 1987.

        Version                    : 1.0
        Price for source           : $    100.00
        Price for sublicensing     : $   1000.00
        Size of source (K bytes)   : 529
        Size of object (on 3B20)   : 201
        Size of docs (K bytes)     : 7
        Language                   : C, sh
        Provider                   : Kernighan, B; Bentley, J
        Machines :
                 3B20; DEC VAX; IBM MAXI/AMDAHL; Sun3
        Operating systems :
                 SVR2, SVR1(5.0), V9; BSD
        Dependencies/Restrictions :
                 nawk (req. by stills), graphic terminal (5620, 630, X11)
-- 
Mark Harrison             harrison@necssd.NEC.COM
(214)518-5050             {necntc, cs.utexas.edu}!necssd!harrison
standard disclaimers apply...

wjt@psc90.UUCP (Bill Taffe) (07/07/90)

In article <3015@unocss.unomaha.edu> sanjiv@fergvax.unl.edu (Sanjiv K. Bhatia) writes:
>I am teaching an undergraduate course in Algorithm Design (at Junior level).
>Recently, I came across some software that graphically simulates the
>performance of different sorting algorithms on Macintosh.  This particular
>program has been very helpful in instruction allowing the students to
>visualize the performance of algorithms.


Sanjiv,

  Could you give us a reference to this software?  Thanks.

Bill Taffe
Dept. of Computer Science
Plymouth State College
wjt@psc90.uucp

morgan@unix.SRI.COM (Morgan Kaufmann) (07/11/90)

In article <595@cvbnetPrime.COM> mfrydenb@cvbnet.UUCP (Mark Frydenberg, x    MS 4-1) writes:

>There's a film out there called "sorting out sorting" which does a
>good job of demonstrating how different algorithms work, but I
>don't know off hand where you can get hold of it. Maybe someone else 
>does?

"Sorting Out Sorting" is an entirely computer-genererated video using
animation to teach a variety of sorting techniques.  Nine sorting
techniques are presented, grouped into three classes: insertion sorts,
exchange sorts and selection sorts.  The techniques are compared for
efficiency with animated color graphs of their respective performance
characteristics and through "races" between techniques.

It is available from Morgan Kaufmann Publishers, 2929 Campus Drive,
San Mateo, CA, 94403.  Phone: 415)578-9911. Fax: 415)578-0672.
ISBN: 1-55860-030-2  Price: $125

A preview is available for $10.  ISBN: 1-55860-030-P