Synopses & Reviews
Get a Fast, Clear Understanding of the Concepts and Skills of Good Programming! Karel the Robot, Second EditionKarel the Robot teaches you 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 — the same ideas that apply to all computer programming languages. This widely-praised guide begins by introducing Karel, a literal-minded robot whose built-in capabilities allow him to explore his world and manipulate simple objects in it. It then introduces Karel's programming language (a block-structured language similar to Pascal), which emphasizes logical deduction and spatial reasoning rather than calculation and algebraic reasoning. Once you learn the details of Karel's deceptively simple programming language, you will soon be designing well-structured programs that instruct Karel to perform surprisingly complex tasks. Along the way, you will be absorbing sophisticated programming concepts that will enhance your programming ability! A software simulator for Karel's programming language and world is available on a wide variety of mainframes and microcomputers — details inside.
Some comments about the Second Edition
"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
"There are no bits, no bytes or bugaboos to intimidate new minds to computers. Pattis et al. have done a wonderful job in assembling a simple little robot, giving it a little language to understand, giving it a little world to wander about in, and finally giving it to [us] so that we can all play and learn in Karel's world."
—Billibon H. Yoshimi, Columbia University
Review
"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
"There are no bits, no bytes or bugaboos to intimidate new minds to computers. Pattis et al. have done a wonderful job in assembling a simple little robot, giving it a little language to understand, giving it a little world to wander about in, and finally giving it to [us] so that we can all play and learn in Karel's world."
—Billibon H. Yoshimi, Columbia University
Synopsis
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.
Synopsis
Uses a creative approach to teach the basic skills and concepts of programming quickly. This edition offers excellent insights into problem solving and program design processes. It will also improve comprehension of such computer science considerations as loop invariants and recursion. Includes 60 color line drawings.
Synopsis
Uses a creative approach to teach the basic skills and concepts of programming quickly. This edition offers excellent insights into problem solving and program design processes. It will also improve comprehension of such computer science considerations as loop invariants and recursion. Includes 60 color line drawings.
Table of Contents
Chapter 1. The Robot World 11.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