목차
CHAPTER 1 Karel 세계
1.1 Karel의 세계 = 3
1.2 Karel의 능력 = 6
1.3 임무와 상황들 = 7
1.4 연습 문제 = 11
CHAPTER 2 기본 명령들과 간단한 프로그램
2.1 위치 바꾸기 = 15
2.2 비퍼의 조작 = 17
2.3 임무 종료 = 18
2.4 프로그램의 완성 = 19
2.4.1 프로그램의 실행 = 20
2.4.2 Karel 프로그램의 형식 = 22
2.5 에러 발생 처리 = 25
2.6 프로그래밍 에러 = 26
2.6.1 버그와 디버깅 = 31
2.7 연습 문제 = 32
CHAPTER 3 어휘 확장
3.1 자연스러운 프로그래밍 언어 만들기 = 41
3.2 새로운 명령어를 정의하는 방법 = 43
3.3 블록화 = 44
3.4 새로운 명령의 작성 요령 = 46
3.5 프로그램 안에서 새로운 명령어의 정의 = 48
3.6 박스 그리기(Karel이 프로그램을 이해하는 방법) = 51
3.7 문법에 어긋난 프로그램 = 53
3.8 Karel 프로그램을 작성하는 도구 = 55
3.8.1 점진적인 방법 - Karel 프로그램을 계획, 구현, 분석하는 방법 = 56
첫 번째 단계 - 전체 계획 = 58
두 번째 단계 - harvest-2-rows와 position-for-next-harvest 계획하기 = 61
세 번째 단계 - harvest-1-row와 go-to-next-row 계획하기 = 63
마지막 단계 - 프로그램 검증 = 65
3.8.2 디자인 트리 - 유용한 계획 기술 = 67
첫 번째 단계 - 전체 계획 = 69
두 번째 단계 - 나무의 가지 더하기 = 70
3.8.3 수직 분할을 이용한 계획의 구현 = 72
첫 번째 조각 = 73
두 번째 조각 = 75
세 번째와 네 번째 조각 = 76
마지막 조각 = 79
3.9 새로운 명령어를 사용할 때의 이점 = 80
3.9.1 에러 감소 = 81
3.9.2 개선되어야 할 사항 = 82
3.9.3 새로운 명령이 없는 프로그램 = 84
3.10 이해하기 쉬운 프로그램 작성하기 = 86
3.11 연습문제 = 89
CHAPTER 4 조건부 실행 명령
4.1 IF/THEN 명령어 = 97
4.2 Karel이 검사하는 조건들 = 98
4.3 간단한 IF/THEN 명령어의 사용 예 = 100
4.3.1 harvest-1-row 명령어 = 100
4.3.2 face-north-if-facing-south 명령어 = 102
4.3.3 face-north 명령어 = 104
4.3.4 IF/THEN 구문에 박스 그리기 = 107
4.4 IF/THEN/ELSE 명령어 = 108
4.5 다중 IF 구조 = 112
4.6 더욱 복잡한 문제들 = 117
4.7 IF 명령어 사용 요령 = 118
4.8 단순한 IF 명령으로의 변환 = 121
4.9 ELSE의 해석 방법 = 126
4.10 연습문제 = 128
CHAPTER 5 반복 명령어
5.1 ITERATE 명령어 = 139
5.2 WHILE 명령어 = 141
5.2.1 WHILE의 필요성 = 142
5.2.2 WHILE 명령어의 형식 = 142
5.2.3 네 단계 과정을 통한 WHILE 루프 구축하기 = 144
5.2.4 재미있는 문제 = 146
5.3 WHILE 루프의 에러 피하기 = 150
5.3.1 울타리 기둥 문제 = 150
5.3.2 무한한 실행 = 152
5.3.3 WHILE의 조건 검사 시기 = 153
5.4 다중 WHILE 루프 = 155
5.4.1 중복의 좋은 예 = 155
5.4.2 중복의 나쁜 예 = 159
5.5 WHILE과 IF 명령어 = 166
5.6 루프 이해하기 = 167
5.7 점진적 방법을 이용하여 큰 프로그램 작성하기 = 172
5.9 반복 명령을 사용하는 시점 = 186
5.9 연습문제 = 188
CHAPTER 6 고급 기술
6.1 회귀법 = 205
6.2 탐색 = 211
6.3 계산하기 = 218
6.4 연습문제 = 222
Karel Simulator 사용설명서 = 227
부록 = 245
색인 = 251