[comp.edu] Karel the Robot

wjt@psc90.UUCP (Dr. William Taffe) (05/22/89)

Does anyone know of a source for Karel the Robot for PC's?
I'd appreciate an e-mail reply - many thanks.

Bill Taffe
Dept. of Computer Science
Plymouth State College
Plymouth, NH 03266
(603) 536-5000 X2530
WTAFFE@UNHH.bitnet

holt@turing.toronto.edu (Ric Holt) (05/28/89)

In article <915@psc90.UUCP> wjt@psc90.UUCP (Dr. William Taffe) writes:
>
>Does anyone know of a source for Karel the Robot for PC's?
>I'd appreciate an e-mail reply - many thanks.
>
>Bill Taffe
>Dept. of Computer Science
>Plymouth State College
>Plymouth, NH 03266
>(603) 536-5000 X2530
>WTAFFE@UNHH.bitnet


This is a bit of a red herring, but...
After studying Karel the Robot a bit, I got the feeling that the syntax was
pretty wordy and that Karel wasn't quite entertaining enough.  Sooooo....

I've written a game called Frogo (the fabulous frog) (any resemblance to
Logo the langorous turtle a pure coincidence :-)  )...

After you've played the game of Frogo, thru various levels, you end up
learning fundamental programming up thru the level of IF's and LOOP's.
The syntax of IF and LOOP is exactly that in the Turing programming language.

And... I'm looking for teachers of intro programming who'd be willing
to give me some feedback on Frogo.  Comes on a diskette.  Requires an MS-DOS
machine with 640k.  Send me email if this sounds interesting.

	Ric Holt (Prof)
	Dept of Computer Science
	Univ of Toronto
	10 King's College Rd.
	Toronto CANADA M5S 1A4
s

abcscnge@csuna.csun.edu (Scott "The Pseudo-Hacker" Neugroschl) (05/29/89)

For those who don't know and love Karel, he is a poor developmentally
disabled robot who can only move forward, turn left (right?), pick up
a beeper (whatever that is), or put a beeper down.  The concept is
by programming him, you can learn top down programming...


I don't know where to find him, but we once blew him up... (we disguised
a land mine so that it looked like a beeper)

Boy was he surprised!

Anyone from UCSC Fall Q 1983 who took CIS 12 with Goldberg remember the
joys of Karel?


-- 
Scott "The Pseudo-Hacker" Neugroschl
UUCP:  ...!sm.unisys.com!csun!csuna.csun.edu!abcscnge
-- Beat me, Whip me, make me code in Ada
-- Disclaimers?  We don't need no stinking disclaimers!!!

abcscnuk@csuna.csun.edu (Naoto Kimura) (05/30/89)

In article <2021@csuna.csun.edu> abcscnge@csuna.csun.edu (Scott Neugroschl) writes:
>For those who don't know and love Karel, he is a poor developmentally
>disabled robot who can only move forward, turn left (right?), pick up

whichever it was, it's still the same.   For those who didn't know, you
had to define the other as a function of the one it knew:

    DEFINE-NEW-INSTRUCTION TurnLeft AS
	BEGINNING-OF-INSTRUCTION
	    ITERATE 3 TIMES
		TurnRight
	END-OF-INSTRUCTION

>a beeper (whatever that is), or put a beeper down.  The concept is
>by programming him, you can learn top down programming...
>
>
>I don't know where to find him, but we once blew him up... (we disguised
>a land mine so that it looked like a beeper)
>
>Boy was he surprised!
>
>Anyone from UCSC Fall Q 1983 who took CIS 12 with Goldberg remember the
>joys of Karel?
>
>
>-- 
>Scott "The Pseudo-Hacker" Neugroschl
>UUCP:  ...!sm.unisys.com!csun!csuna.csun.edu!abcscnge
>-- Beat me, Whip me, make me code in Ada
>-- Disclaimers?  We don't need no stinking disclaimers!!!

There was one posted on comp.sources some time ago (back in '85 if I
recall correctly).  I Fiddled around with the program for a while before
getting fed up with the verbosity of Karel code, combined with its
tendency to be brain-dead (you couldn't write recursive code with it, no
variables).  I was working on putting aggressive commands into its
abilities - like instead of put-beeper it would use put-mine and have
multiple karel the Robots running around, but never got around to
finishing it.  Please don't ask me to post the sources to Karel because
all I've got is a printout I don't want to go and type it in.

For those who care, I was deranged enough to make a bunch of #defines so
I could have C programs that looked like Karel the robot code.  Of
course, it was all for a joke.

                //-n-\\			 Naoto Kimura
        _____---=======---_____		 (abcscnuk@csuna.csun.edu)
    ====____\   /.. ..\   /____====
  //         ---\__O__/---         \\	Enterprise... Surrender or we'll
  \_\                             /_/	send back your *&^$% tribbles !!

pattis@june.cs.washington.edu (Richard Pattis) (05/31/89)

In article <89May28.161910edt.4608@turing.toronto.edu>, holt@turing.toronto.edu (Ric Holt) writes:
> This is a bit of a red herring, but...
> After studying Karel the Robot a bit, I got the feeling that the syntax was
> pretty wordy and that Karel wasn't quite entertaining enough.  Sooooo....
  ************                ********************************
> 
> I've written a game called Frogo (the fabulous frog) (any resemblance to
> Logo the langorous turtle a pure coincidence :-)  )...
> 

1) Karel's syntax is designed to mimic Pascal (wordiness and all), because
   Karel is most often used as a prelude to Pascal courses.

2) Karel's language was designed to emphasize structural decomposition,
   logical deduction, and spatial reasoning (not calculation and algebraic
   reasoning).  The language focuses purely on control structures; statements
   are controlled by sensing the state of the world (not by evaluating
   expressions over variables). Karel's world is complex enough to encode
   all sorts or problems, such as sorting (with no variables, much less array
   variables).

3) The Karel book is 106 pages short.  It was designed as a short, direct
   introduction to programming with Pascal-like control structures.  Within
   this restricted context, it explores many "interesting" issues in
   programming, and assumes the reader has had no programming experience.  At
   present the book is in its 15th printing, and can be obtained in English
   Danish, Japanese, Italian, and Spanish.

mbenveni@irisa.irisa.fr (benveniste marc,lsp) (05/31/89)

From article <2025@csuna.csun.edu>, by abcscnuk@csuna.csun.edu (Naoto Kimura):
> I Fiddled around with the program for a while before
> getting fed up with the verbosity of Karel code, combined with its
> tendency to be brain-dead (you couldn't write recursive code with it, no
> variables). 

 Verbosity is not a valid argument to criticize an effort towards improving
programming introduction. Programming languages could possibly damage a
healthy brain, but dead lays rather in methodological illness.
 As for recursive code, Karel computational power relies on recursive
procedures. For instance, multiplication algorithms are recursively coded.
Karel state may be seen as local variable as Karel's world may be seen as
a global one.  

> I was working on putting aggressive commands into its
> abilities - like instead of put-beeper it would use put-mine and have
> multiple karel the Robots running around, but never got around to
> finishing it.

 I did finish a sort of concurrent Karel system (called LPC for Concurrent
Programming Lab in spanish) and designed it while writing its formal semantics.
 LPC can be used as an introductory tool to concurrent programming which allows
beginners to actually watch concurrent processes, to play around with mutual
exclusion paradigms, deadlock examples and basic concepts. Obviously, LPC is
a short usage tool. Nevertheless, the programming language embedded has a 
formal semantics which could lead to interesting exercices in program 
verification.

References:

 
Benveniste, M., "LPC: A Concurrent Programming Laboratory", in procs. 5th
                STACS, R. Cori & M. Wirsing ed., LNCS 294, pp.391-392, 1988.
                
Benveniste, M., "LPC: un Paradigma de la Programaci'on Concurrente", 
                Comunicaciones T'ecnicas, serie naranja 526, IIMAS-UNAM,
                Aug.88.
        
 Present Address,                              Original Address,
 
 Marc Benveniste                               IIMAS-UNAM,
 IRISA/INRIA-Rennes                            Apdo. Postal 20-726,
 Campus de Beaulieu                            Delg. Alvaro Obreg'on,
 35042 Rennes Cedex                            01000 M'exico D.F.,
 FRANCE                                        MEXICO
 mbenveni@irisa.irisa.fr

rapaport@adara.cs.Buffalo.EDU (William J. Rapaport) (03/03/90)

Does anyone know the cost and availability of Karel the Robot,
preferably for Macs?
			William J. Rapaport
			Associate Professor of Computer Science

Dept. of Computer Science||internet:  rapaport@cs.buffalo.edu
SUNY Buffalo		 ||bitnet:    rapaport@sunybcs.bitnet
Buffalo, NY 14260	 ||uucp: {rutgers,uunet}!cs.buffalo.edu!rapaport
(716) 636-3193, 3180     ||fax:  (716) 636-3464

pattis@cs.washington.edu (Richard Pattis) (03/03/90)

In article <18770@eerie.acsu.Buffalo.EDU>, rapaport@adara.cs.Buffalo.EDU (William J. Rapaport) writes:
> Does anyone know the cost and availability of Karel the Robot,
> preferably for Macs?
> 			William J. Rapaport
> 			Associate Professor of Computer Science
> 

I sell the PC and Mainframe verions.  The PC version is priced at a bit
under $200 (for a lab license, unlimited machines at your site, copy to
take home, etc.).  The mainfram version sells for a bit under $500.  Both
come with a 45 day, free trial period.  You can call me at (206) 685-1218.
I'm PATTIS@CS.WASHINGTON.EDU.  My address is in the book.  Oh, solutions to
all the problems in the book are included too.

A Mac version (built into an entire environment, including structure editor,
debugger, etc.) is avaliable from Phil Miller (PLM@GNOME.CS.CMU.EDU). A
similar environment exists from Pascal.  I think the price is about $25/copy
with some kind of reduced price site license (talk to Phil).

Various other organizations sell various versions of Karel Simulators.
Prices and quality may vary.

Rich Pattis