20・21章
12週間の授業計画
週ごとの内容と、1回あたりの授業の流れ。
週ごとの計画
| 週 | 主な内容 | 演習 | 対応する回 |
|---|---|---|---|
| 1 | プログラム・マイコン・開発環境 | LED | 第0回 |
| 2 | 変数・型・演算子・if | LED / センサ | 第1回 |
| 3 | for・while・switch | 状態による制御 | 第2回 |
| 4 | 関数・スコープ | モータ関数 | 第3回 |
| 5 | 配列・ポインタ・参照 | センサ配列 | 第4回 |
| 6 | C++基礎・const・namespace | 小規模プログラム | 第5回 |
| 7 | クラス・オブジェクト・コンストラクタ | LEDクラス | 第6回 |
| 8 | ヘッダ・cpp・カプセル化 | Motorクラス | 第7回 / 第8回 |
| 9 | enum / enum class・状態管理 | RobotState | 第9回 |
| 10 | 継承・protected | Sensorクラス | 第10回 |
| 11 | virtual / override / 抽象クラス | IMU / GPS | 第11回 / 第12回 |
| 12 | ポリモーフィズム・設計・最終課題 | 統合 | 第13回〜第15回 |
講師向け
各回の授業形式
1回あたり以下の構成を基本とする。
① 前回の復習
↓
② 新しい概念の説明
↓
③ 小さなコード例
↓
④ マイコンでの例
↓
⑤ 演習
↓
⑥ 発展課題
↓
⑦ 次回までの課題講義だけで終わらせず、受講者自身にコードを書かせる。
| 段階 | ねらい | 目安 |
|---|---|---|
| ① 前回の復習 | 前提が抜けたまま進まないようにする | 5〜10分 |
| ② 新しい概念の説明 | なぜその機能が必要なのかから入る | 15〜20分 |
| ③ 小さなコード例 | 最小限の例で文法を確認する | 10分 |
| ④ マイコンでの例 | 実物が動くことで納得させる | 10〜15分 |
| ⑤ 演習 | 手を動かす時間を必ず確保する | 30〜40分 |
| ⑥ 発展課題 | 早く終わった人向け | 任意 |
| ⑦ 次回までの課題 | 次回の導入につなげる | 5分 |