庭の地図

どの小道から歩いても、かまいません。

おすすめは、コース1の入口から。ここまでの歩みは、ブラウザがおぼえています。

コース 1 公開中 10 / 10 レッスン

ことばとしてのプログラミング

世界一誠実な読み手と、ことばを交わす

プログラミングの経験はいりません。コンピュータという「読み手」に、曖昧さのない文を書く技術——その出発点から、JavaScriptで小さな作品を作るところまで歩きます。

コース 2 公開中 12 / 12 レッスン

じぶんの言語をつくる

言語は、与えられるものではなく設計するもの

電卓から始めて、変数、分岐、関数、そして自分だけの文法へ。コース1で使った「にわ語」の正体を、作る側から解き明かします。

コース1のつづきとして歩くのがおすすめ

コース 3 公開中 8 / 8 レッスン

もようをさがすことば — 正規表現

数文字で書ける、いちばん小さな言語

電話番号、日付、メールアドレス。文字の並びにひそむ「もよう」を言い当てる小さな言語が、正規表現です。検索窓の裏で動く機械を、自分の目でのぞきます。

コース1のつづきとして歩くのがおすすめ

コース 4 公開中 8 / 8 レッスン

アルゴリズムのかたち

同じ問題にも、速い手順と遅い手順がある

さがす、ならべる、おぼえておく。手順の「かたち」が変わると、同じ仕事が千倍速くなることがあります。回数を数えながら、その理由を体で確かめます。

コース1のつづきとして歩くのがおすすめ

コース 5 公開中 8 / 8 レッスン

計算できる、とはどういうことか

紙とえんぴつの機械が、計算の限界を教えてくれる

コンピュータにできること・できないことの境界線は、100年近く前に紙の上で引かれていました。チューリング機械を自分の手で動かして、その線まで歩きます。

コース2のつづきとして歩くのがおすすめ

コース 6 公開中 8 / 8 レッスン

型のはなし — まちがいを、起きる前に

実行せずにプログラムを読む、もうひとりの読み手

誤りには、動かして初めて分かるものと、動かす前に分かるものがあります。コース2で作った言語に「型」という目を足して、後者を捕まえる仕組みを作ります。

コース2のつづきとして歩くのがおすすめ