Ease Students into Programming with Turbo Hal

   Karel the Robot was invented by Richard E. Pattis in the 1970s and named after the Czechoslovakian playwright Karel Capek, whose play RUR ("Rossum's Universal Robots") introduced the now common R-word into our vocabulary.

    Karel lives inside a computer and is capable of a few simple tasks peformed into a two-dimensional world, such as putting beepers down and picking them up. Karel's behavior is controled by a very simple true programming language resembling PASCAL.

   Simple as he is, by doing only what we tell him, Karel can teach about programming in any structured language. Karel was designed for the mainframes of the times and the microcomputer version pretended the micro was a mainframe and had to operate outside of the DOS of the times.

   TURBO HAL: the intergrated environment, was developed in 1989 as an improved MS-DOS version of Karel using the exact same syntax as Pattis' version (with Pattis' blessing*). It is a tool to introduce students to structured programming, especially in beginning programming classes such as Pascal. It is designed to be low cost alternative progamming simulator to Karel. It is actually free. HAL is an easy-to-use integrated environment running in MS-DOS that does not require a separate editor, compiler, linker, linker and debugger in order to create, debug and run Karel programs. HAL lives in the Borland language environment (that of Turbo Pascal) with its editor, DOS-windows and pull down enviorment. This software was designed by Tim Totten of Hillsborough Community College of Tampa, Florida.

Patricia Watson's drawing of Turbo HAL
Turbo HAL by Patricia Watson
Turbo HAL Instructions: MS-dos screens and directions

Sample Screen and Program:    Hal World P2711B and Tim Totten Program

   TURBO HAL has been successfully used with elementary and junior high school students. Initially a lifesize three-dimensional grid, made from a bed sheet and felt strips, is used as a 'playing board'. The students design HAL'S World by putting down the felt strips as walls and placing the beeper on the grid. The students are then given programming templates on which they write-in the primitive commands to solve the HAL problem in the 3-D World. The problem is for the students to start at a beginning point, move through the grid avoiding walls, fetch the beeper and deposit the beeper off the grid.


The Simple Programming Template:

My HAL Program

filename: _________________.hal

BEGINNING-OF-PROGRAM

      BEGINNING-OF-EXECUTION

 






      END-OF-EXECUTION

END-OF-PROGRAM


The Primitive Commands available to the new programmers are:
  • MOVE
  • TURNLEFT
  • PICKBEEPER
  • PUTBEEPER
  • TURNOFF

   If HAL hits a wall, the program crashes and must be corrected or 'debugged'. Students then become HAL, step on the grid, and march through the maze as the teachers reads off the primitive commands from the student's paper. While observing 'HAL' walking through the grid, the other students eagerly check and 'debug' their own programs to solve the problem.

   Since HAL can only make a limited number of simple moves, the students soon discover they need more primitive commands. This introduces the concept of a procedure, which has the syntax in Turbo HAL as:

Sample Turbo HAL animation

The Simple Programming Template with a Procedure:

My HAL Program

filename: _________________.hal

BEGINNING-OF-PROGRAM

      DEFINE-NEW-INSTRUCTION __________AS _________

         begin

 


         end

      BEGINNING-OF-EXECUTION

 






      END-OF-EXECUTION

END-OF-PROGRAM


EME 2040 Students (Preteachers):

Intro Video Video 3 Video 4 Video 5 Video 6 Video 7
Older elementary and middle school students are easily introduced to:

  • iteration:

    ITERATE ____TIMES _______;


  • conditionals:

    IF_________THEN _________;
    or
    IF ________THEN________ELSE________;


  • loop structures:

    WHILE _________DO__________;

   By using a combination of the the 3-D WORLD and HAL's 2-D WORLD on the computer, students are successfully programming solutions to more complex mazes.

   Teachers as well as students may generate their own problems by using the HAL WORLD generator or watch HAL execute step-by-step instructions solving many different HAL problems. The 3-D WORLD is very easy to use, but the 2-D WORLD program was before WINDOWS and designed for high school or college programming students being taught by computer science teachers. It does not have the normal help menus of windows to explain how to use the program. To bridge the gap, John Taylor has developed a hypertext environment using Asymetrix Toolbook to introduce HAL to teachers and students. It includes sample templates for beginners and instructions on how-to-build HAL grids. From any 'page' (screen), the user may access a lesson or slide show to review or reinforce programming concepts. There is link on each screen to access the MS-DOS TURBO HAL program.

   TURBO HAL runs on low end MS-DOS machines and operates in text mode. It can be used on old 5 and 1/4 inch floppy disks of 360k. The software is distributed free by Hillsborough Community College or can be download from the Internet. The runtime hypertext presentation disk is available through John Taylor. It also can be run off the Internet using Asymetrix's Plug-In Neuron.


Al helping Ken Anderson with 3D HAL    student working on 3D HAL

Fall 2001 CGS 1555 Class Video

New On_line Version of Turbo HAL

Developed by Al Falkenstein and John Taylor

Course Technology Presentation Power Point

   Penny Haun introduced Turbo HAL to her Fall Term 2001 students in COP 1000 - Programming Logic. The DOS version of Turbo HAL served the college for a decade. This created a demand for a Windows version of Turbo HAL. Tim Totten has not been available to develop this version due to adminstrative demands.

   During the Fall 2001, CGS 2820 HTML students created several mazes for students to develop answers in COP 1000 and for public school demonstrations. Additional mazes were added by the HTML students during the Spring 2002 for the Computer Club's contest at Spring Fling. These grids are on the adjacent table.

   During October 2001 Al Falkenstein began writing using JavaScript a program to make the student's grids interactive. The first version is for the elementary students. Then he developed the advanced version for the college or high school Logic students. Links to both on-line versions are in the lower right table under Al's picture.

   The student in the elementary version may type a "1" (one) for move or "L" to turnleft in the program field. The student should write the entire program in the program field, then click "Play Program" to see if he/she has the correct solution. There are only two primatives in the elementary version. However, the student may use the buttons: "Move" or "TurnLeft" to navigate HAL through the maze step by step while the code is automatically written in the program field.

   The advanced version has an "Instruction" button the student should access to see how the menus are used. The student may develop his/her own maze by first double clicking on a corner to place Hal on the grid, then double clicking up to 32 corners to place beepers in the 256 corner grid. The student may place walls between corners both horizonically and vertically by single click the area between the corners.

   If the student clicks on the menu item, the code is written in the program field and HAL will respond on the screen. However, the Logic/Programming students should write the code in the program field and then play the program to see if the code is written correctly. Better details are in Al's instructions for the advanced version. He has transformed the code to a Visual Basic program for students to run locally on their machines.

   During the Fall of 2002, Al created a new game: Logic Rally which has scoring based on the complexity of the table, the programming prodcedures, and the execution instructions.

Artist Version of
Turbo HAL

Turbo Hal Drawing



ToolBook Introduction to TurboHal
(requires Neuron Plug-In)
DownLoad Neuron 8

Download MS-DOS Turbo Hal program:
HAL.EXE
Preprogrammed MS-DOS HAL files:
MY_FIRST.WOL
MY_FIRST.HAL
P2711B.WOL
P2711B.HAL
NONAME.WOL
NONAME.HAL

COP 2822 Students Projects-First Attempt to Make Your Own Hal Grid with JavaScript:

Create Hal Grid by Claudia Espinosa
Create Hal Grid by Jose Barriga



Al Falkenstein's Internet Turbo HAL Game:

Al Falkenstein
        Programmer: Al Falkenstein

Non-Programming Students:

Beginners

Programming Students:

Turbo HAL that saves Student Made Mazes

Hal Mazes to Challenge You:

Type the following student IDs:
al    james    jeff    justin2    max    sarah    test5

Newest Application:

Logic Rally

Sample programs:

student: s101 tabbles: testval3 or testval4

Create your own grid, save it under you name, email address and a password. Just enter your name and password, then press the retreive button and you may edit your work. If you enter just your user name, then your maze comes up without your solution. Others may try to solve your maze by just entering your user id. These solutions may be saved by entering a new set of data. Upon pressing the submit button, your instructor will receive a notification of the completion of your homework. However, you may start a new game by pressing the New Game button.



Programing with iteration of procedures:
Utilizes Server side SQL



HAL Grid - no walls (HTML template to generate grids)
HAL Grid - with walls around the border (template)

Small HAL Grid - no walls
Small HAL Grid - with walls

Hal Grid Problem #1 by George Steward
Hal Grid Problem #2 by Edwardo Oyola-Rivera
Hal Grid Problem #3 by Edwardo Oyola-Rivera
Hal Grid Problem #4 by Jason St.Pierre
Hal Grid Problem #5 by Mark Harris
Hal Grid Problem #6 by Sandi Showalter
Hal Grid Problem #7 by Vickie Geuther
Hal Grid Problem #8 by Scott Hammack
Hal Grid Problem #9 by Robert Haddad
Hal Grid Problem #10 by Jeff Compas
Hal Grid Problem #11 by Christina Owen
Hal Grid Problem #12 by Christy Heenan
Hal Grid Problem #13 by Gretel Graham
Hal Grid Problem #14by Katthryn Cannatella
Hal Grid Problem #15 by Penny Hores
Hal Grid Problem #16 by Barbara Frost
Hal Grid Problem #17 by Norma Cardo
Hal Grid Problem #18 by Kris Bexley
Hal Grid Problem #19 by John Nichols
Hal Grid Problem #20 by John Nichols
Hal Grid Problem #21 by Carlos Seymour
Hal Grid Problem #22 by Ben Flores
Hal Grid Problem #63 by Nanette Belli
Hal Grid Problem #64 by David Colson



*In 1989 Richard Pettis and Hillsborough Community entered into a letter of understanding in which HCC's Turbo HAL by Tim Totten was copyrighted by the college's attorney with the provison that HCC only distributes the software for educational use and does not charge a fee for the software.

passwords: al, jeff, sarah, max, james try yahoo
for the Logic Rally try the password yahoo.

**In 2001 John Taylor and Al Falkenstein created the online version of Turbo HAL and has began the process of copyrighting the script. The syntax of the program has been completely changed to single letter commands without punctuation and begin and end statements of procedures and execution. In 2002 the grid and syntax has been modified and the theme changed to Logic Rally. The product is provided online free for educational use.