Chapter 0 この本は誰に何を提供するか
0.1 これまでの教え方が持つ三つの問題
0.1.1 要素がバラバラ
0.1.2 プロ向けの道具がもたらす挫折
0.1.3 できなくても仕方ないと思われている
0.2 この本は何が違うか
0.2.1 一つのプログラムを最初から最後まで作る
0.2.2 専用に道具を用意する
0.2.3 本当に初めての人を対象にする
0.3 では、始めよう!
Chapter 1 プログラム作りを始める前に
1.1 あのゲームを作るためにはどうしたらいいか
1.1.1 あのゲームに必要なプログラム技術とは何か
1.1.2 あのゲームはどんなものか
1.1.3 プログラムとは何なのか
1.1.4 この奇妙な文章は何なのか
1.1.5 君の目標はどのくらいの高さにあるのか
1.2 どこから手をつけるか
1.2.1 プログラミング言語の学び方
1.2.2 どこから作り始めるか
1.2.3 何か手のつけやすい要素を抜き出せないか
1.3 この章で伝えたかったこと
Chapter 2 メモリに触れてみる ~四角を描く~
2.1 書いたプログラムを動かす
2.2 四角を描く
2.2.1 四角を描くための最低限のルール
2.2.2 この一行は何を意味しているのか
2.2.3 メモリとは何か
2.2.4 メモリをいじると点が出るのはなぜか
2.2.5 コンピュータとはどういう機械か
2.2.6 画面の点は何番のメモリにつながっているか
2.2.7 メモリに覚えさせる数と色の関係
2.3 好きな場所に四角を描く
2.3.1 画面の真ん中に赤い四角を描く
2.3.2 1足したり引いたりが面倒だ!
2.3.3 なぜ0始まりか
2.3.4 これであのゲームの絵を描けるか
2.4 この章で伝えたかったこと
Chapter 3 くり返し ~プログラムを短くする~
3.1 行数を減らす
3.1.1 一行で複数のメモリをいじりたい
3.1.2 なぜくり返しか
3.2 くり返しの使い方
3.2.1 くり返しの文法
3.2.2 何があれば四角を描くのに使えるか
3.2.3 固定していない数
3.2.4 1回実行して終わりにする
3.2.5 2回実行して終わりにする
3.2.6 16回実行して終わりにするにはどうするか
3.2.7 好きな回数くり返す方法
3.2.8 くり返す度に別の画素を塗るにはどうするか
3.3 くり返しで四角を描く
3.3.1 だがそう簡単には行かない
3.3.2 くり返しをくり返すにはどうするか
3.3.3 このプログラムの何が悪いのか
3.3.4 頭の中で動かす
3.3.5 結果から考える
3.3.6 思ったように動かない時にすべきこと
3.3.7 くり返しで書くことに価値はあるか
3.3.8 画面の真ん中に描くにはどうするか
3.4 この章で伝えたかったこと
Chapter 4 プログラムの変形 ~四角をたくさん描く~
4.1 くり返しで壁を描く
4.1.1 四角を描くことをくり返す
4.1.2 20個描く
4.1.3 この調子で右の壁や底も描く
4.1.4 注釈
4.2 もっと短くしたい
4.2.1 くり返しをくっつける
4.2.2 まだやれることはないか
4.2.3 底も含めてもっと短く書く方法はないか
4.2.4 これはわかりやすいプログラムか
4.3 この章で伝えたかったこと
Chapter 5 プログラムを分ける ~四角を楽にたくさん描く~
5.1 行を使い回すための、くり返し以外の手段
5.1.1 参照が使えたとしたらどうなるか
5.1.2 参照のわかりやすさ
5.2 Sunabaにおける「参照」
5.2.1 実行について
5.2.2 部分プログラムが役立つために必要なもの
5.2.3 参照する度に違う点を塗りたい
5.3 部分プログラムを使って壁と底を描く
5.3.1 左右も部分プログラムを使って描くには
5.3.2 部分プログラムに価値はあるか
5.4 もっとわかりやすく
5.4.1 注釈はなぜ必要か
5.4.2 「変な数」に注目する
5.5 この章で伝えたかったこと
Chapter 6 動きのあるプログラム ~四角を落とす~
6.1 次は何をすべきか
6.2 四角を落とす
6.2.1 点を落としてみる
6.2.2 四角を落としてみる
6.2.3 間違いを直す
6.2.4 問題を直す
6.3 もっと速く塗りたい
6.3.1 手加減をやめさせるには
6.3.2 手加減とは何か
6.3.3 手紙を送る
6.4 ここまでを組み合わせる
6.4.1 まずはくっつけるだけ
6.4.2 壁と底を描く
6.4.3 手加減をやめる
6.4.4 落ちる四角を真ん中に
6.5 この章で伝えたかったこと
Chapter 7 メモリに名前をつける ~もっと日本語で~
7.1 今のプログラムは何が悪いか?
7.1.1 どんな道具がほしいか
7.1.2 番号を自分で決めたくない
7.2 Sunabaでメモリに名前をつける
7.2.1 とりあえず使ってみる
7.2.2 メモリの番号を決めなくていい、ということ
7.3 名前付きメモリのルール
7.3.1 名前付きメモリが作られるのはいつか
7.3.2 名前付きメモリは部分プログラムごと
7.3.3 くり返しの外からは見えない
7.4 この章で伝えたかったこと
Chapter 8 操作できるプログラム ~四角を動かす~
8.1 操作するとはどういうことか
8.1.1 キーボードに反応する
8.1.2 プログラムはどうやって外のことを知るか
8.2 操作できるようにする
8.2.1 押す暇がないし、押せてもわからない
8.2.2 動いている間にキーを押したい
8.2.3 点を動かしてみる
8.2.4 手加減をオフに
8.2.5 下以外にも動くように
8.2.6 四角を動かす
8.3 動きっぱなしを避ける
8.3.1 まずは小さく始める
8.3.2 動き続けないとはどういうことか
8.3.3 前回押されていなければ、をどうするか
8.3.4 ホワイトボードを見てどうするか決める
8.3.5 式を思いつく
8.3.6 上下左右に動けるようにする
8.3.7 四角に戻そう
8.4 落ちてくる四角を動かせるようにする
8.4.1 壁と底を描いて、すぐできる改造をする
8.4.2 落とす
8.5 この章で伝えたかったこと
Chapter 9 「計算」の本当の意味 ~ゆっくり落とす~
9.1 ゆっくり落とすということ
9.1.1 毎回動かないプログラム
9.1.2 前動いたら今回動かない
9.1.3 割り算を使う
9.1.4 もう一つの方法
9.2 条件実行
9.2.1 行を実行したりしなかったりする
9.2.2 くり返しを1回で止める
9.2.3 条件実行はおいしいか?
9.3 Sunabaで条件実行
9.3.1 前の例はどうなるか
9.3.2 ゆっくり線を引く
9.3.3 ここまでを組み合わせる
9.3.4 押しっぱなしへの対処を整理する
9.4 計算の本当の意味
9.4.1 条件式が正しいということ
9.4.2