Skip to main content


Karel The Robot: A Gentle Introduction to the Art of Programming, 2nd Edition

Richard E. Pattis, Jim Roberts (Revised by), Mark Stehlik (Revised by)

ISBN: 978-0-471-59725-4 July 1994 176 Pages


KAREL The Robot teaches students the fundamental concepts and skills of programming, quickly and easily. By emphasizing logic and structure over calculation, it provides a nonthreatening introduction to the central ideas in programming.

This widely praised guide begins by introducing KAREL, a literal-minded robot whos built-in capabilities allow him to explore his world and manipulate simple objects in it. Once students learn the details of KAREL's deceptively simple programming language, they will soon be designing well-structured programs that instruct KAREL to perform surprisingly complex tasks. Along the way students will be absorbing sophisticated programming concepts that will enhance their programming ability.

Related Resources


View Instructor Companion Site

Contact your Rep for all inquiries

Buy Set of 1 Items

This item: Karel The Robot: A Gentle Introduction to the Art of Programming, 2nd Edition

Purchased Together:$88.95

Buy Set of 2 Items

This item: Karel The Robot: A Gentle Introduction to the Art of Programming, 2nd Edition

Purchased Together:$151.95

Chapter 1. The Robot World 1

1.1. Karel's World 1

1.2. Karel's Capabilities 3

1.3. Tasks and Situations 4

1.4. Problem Set 6

Chapter 2. Primitive Instructions and Simple Programs 7

2.1. Changing Position 7

2.2. Handling Beepers 9

2.3. Finishing a Task 9

2.4. A Complete Program 10

2.5. Error Shutoffs 13

2.6. Programming Errors 14

2.7. Problem Set 19

Chapter 3. Extending Karel's Vocabulary 25

3.1. Creating a More Natural Programming Language 25

3.2. A Mechanism That Defines New Instructions 26

3.3. Block Structuring 27

3.4. The Meaning and Correctness of New Instructions 28

3.5. Defining New Instructions in a Program 29

3.6. Boxing: How Karel Understands a Program 32

3.7. An Ungrammatical Program 34

3.8. Tools for Designing and Writing Karel Programs 35

3.9. Advantages of Using New Instructions 53

3.10. Writing Understandable Programs 57

3.11. Problem Set 59

Chapter 4. Conditionally Executing Instructions 65

4.1. The IF/THEN Instruction 65

4.2. The Conditions Karel Can Test 66

4.3. Simple Examples of the IF/THEN Instruction 67

4.4. The IF/THEN/ELSE Instruction 74

4.5. Nested IF Instructions 76

4.6. More Complex Tests 79

4.7. When to Use an IF Instruction 80

4.8. Transformations for Simplifying IF Instructions 81

4.9. The Dangling ELSE 84

4.10. Problem Set 87

Chapter 5. Instructions That Repeat 93

5.1. The ITERATE Instruction 93

5.2. The WHILE Instruction 95

5.3. Errors to Avoid with WHILE Loops 100

5.4. Nested WHILE Loops 104

5.5. WHILE and IF Instructions 112

5.6. Reasoning About Loops 112

5.7. A Large Program Written by Stepwise Refinement 116

5.8. When to Use a Repeating Instruction 126

5.9. Problem Set 128

Chapter 6. Advanced Techniques for Karel 141

6.1. Recursion 141

6.2. Searching 145

6.3. Doing Arithmetic 149

6.4. Problem Set 152

Appendix 155

Technical Term Index 157

Instruction Index 159

  • What reviewers are saying...
  • "I think KAREL The Robot is the greatest way to introduce programming concepts that I have seen."
    —Tim Thurman, University of Kansas
  • "I first used this language in 1981 as a student. I found it to be stimulating and challenging. In 1984 I began using KAREL as a teacher. Since 1984 I have used KAREL every term except one. That term represented an experiment to see how students would do without using KAREL. I was not satisfied; the students performed poorly relative to those who used KAREL."
    —Peter Casey, Central Oregon Community College