プログラミング入門(2) 文法の学び方
講座の目標、狙い
- 変数、変数への代入、変数での計算だけを扱って「文法を学ぶ方法」を学びます
- 文法を学ぶとは「自分の中にメンタルモデルを構築する方法」を洗練させることに他なりません
- プログラミングでは、メンタルモデルを構築する方法は、(1)ルールを確認し、(2)ルールを理解しているか自分をテストし、(3)その結果から、判定し、次の行動を考えることです
- これらの「メンタルモデルを作る」という地道な作業を楽しい!と思えるようになることが目的です
- そのためには「一人で黙々と学ぶより、数人で集まって議論して進める」ことが効果的です
1. イントロ (0:00 – 0:05 [5min])
- 期待を高める説明、導入を行う
- 例
- 文法を覚える必要がある
- 大抵は、「退屈を我慢し、繰り返して慣れる結果、応用が利かない。悪い癖がつく」
- そうではなく「楽しく」「単なる繰り返しではなく」「応用が効く」「良い学び方」を学ぶ
- チームで取り組むことで、効率よく、楽しく学べる
2. Good & New (0:05 – 0:10 [5min])
- 良い学習の雰囲気を作る
- Good & New などをする
3. メンタルモデルの修正 (0:10 – 0:50 [40min])
ワークについて
- メンタルモデルについて、簡単な理解をする
- それに基づいて、変数を用意するということだけを試す
- その実行結果をどう受け止めるか?知る
- 文法を学ぶ = メンタルモデルの修正と理解する
3.1 説明 (7min)
- 文法とは?
- 誰かが作ったルール(言語開発者、協会、グループ)
- なぜ、そうなったのか(理由がたくさんあるが、初学者にはわからない)
- 先ずは、ルールを素直に理解すること、そのうち「なぜ、こんなルールにしたか?」がわかってくる
- 日本語で感謝を伝えることを「ありがとう」というが、「なぜ、ありがとうという音なのか?」を考えても、初学者にはわからない。理解できないのと同じ
- 文法を学ぶ悪い方法
- A ならば B。こうやればいい
- ただ慣れる、闇雲に繰り返す
- 良い学び方
- A とすると、「こんな仕組み、ルール、裏側」になって、Bとなる
- 自分なりの解釈(文法ルールの説明書、言語リファレンスなど参考に)を行う
- その解釈が理解しているか、実験を考えてみる、自分の理解を試す
- 予想外になったら、すぐに「ルールを確認し、実験し、自分の解釈(メンタルモデル)」を修正する
3.2 デモ(8min)
- 文法を学ぶ5ステップ
- (1) ルールを確認
- (2) コードを書く
- (3) ストップ
- (4) 結果と、その理由を予想する
- (5) 実行結果に納得する解釈 or 再実験
- デモをやってみる
- echo “Hello World”
- $a — 箱を用意することが必要を説明
3.3 実行 (15min)
- チーム分けする
- 三人ぐらいが適度な人数
- 紙とペンを用意して、書いてもらう
- 受講者資料の練習問題をする
- echo ‘Hello World’;
- echo “Hello World\n”;
- echo “Hello World\n”;
- echo ‘Hello World’;
- $a
- $a = 10;
- var_dump( $a );
- 補足
- var_dump は箱の中身を調べるためのもの
- 開発中に、うまく動いているか調べるためのもの
3.4 感想会 (10min)
- ここまでの取り組みを、ワイワイ話す
- 感想を言い合う
- よかった点・改善点
- 予想外・予期せぬこと
- 学び・発見・気づき
- 次やるなら
4. 変数の型と計算(0:40 – 1:20 [40min])
ワーク概要
- 変数の型について知る(ここでは意味がわからないので、詳しく説明はしない)
- 計算をすることによって、意味を知ったり、実感する
- ここで最重要ポイントは「学び方を学ぶ」こと
4.1 説明 (5min)
- 続いて、説明を見ながら文法を探求してもらう
- ここで重要なことは「メンタルモデルを修正する方法」を学ぶこと
- 自分の捉え方に注意を払って、どう考えれば良いか?を考えること
- 解説と練習問題があるから、それを時間の限りやってみよう
- なお、詳しい意味は「先にならないとわからない」ので、気にせず進もう
- 理解の間違いは、必要な時に修正すればよ
- なお、探求の仕方シートを参考に取り組むこと
- 文法を学ぶステップ
- 4つの意識
- どのように裏の仕組みを解釈しているだろうか?
- 絵や図を書いたりして、考えてよう
- 焦らず、ゆっくり、楽しんで「結果の予想」を行う
- 良い実験、自己診断テストを考えよう
4.2 実行 (7min)
- 練習問題を実行する
- 練習問題は、とにかくシンプルなもの
- 変数、変数の型、足し算、引き算、文字列の足し算ぐらい
4.3 休憩・振り返り(3min)
- チームで振り返りをする
- ここまでのステップを振り返って、次の10minの取り組み方を考える
- どのように進めるか?を話し合って、再びワークに入る
4.4 実行(7min)
- 練習問題を実行する
4.5 振り返り (3min)
- 振り返りをする
4.6 実行(7min)
- 練習問題を実行する
5. まとめ (1:20 – 1:30 [10min])
- 今日学んだことをThink&Listen
- これからどのように学ぶか?をThink&Listen