Slide 1

Slide 1 text

玩具じゃなくて 本物で教えよう 有限会社システム設計 増田 亨 第一回プログラミング教育について話し合う会 2022年3月25日

Slide 2

Slide 2 text

①私にとってのプログラミング教育 A) アプリケーション開発者の育成 B) プログラミング教育とは設計と文書化の教育 C) 設計は経験則 D) 体験的に学び成長していくことを支援する

Slide 3

Slide 3 text

②アプリケーション開発を学ぶ ✓既存コードを理解する ✓部分的に変更する(失敗して修正) ✓ちいさく追加する(失敗して修正) 利用者の立場になって、自分で使ってみる

Slide 4

Slide 4 text

③教え方の基本方針 ◆本物のアプリケーション開発を最初から体験する ◆本物のアプリケーションの部分変更に挑戦する ◆うまくいかない時にどこを見て、何を探すと良いかをガイド 成功体験よりも失敗体験をたいせつに!

Slide 5

Slide 5 text

④本物のアプリケーション開発 自分のスマートフォンからアクセスできる公開Webアプリケーション Herokuにデプロイ GitHub ソースコードリポジトリ/ドキュメント/コミュニケーション 統合開発 IntelliJ IDEA エディタ、ビルドツール、プログラミング支援 言語(さまざまなソースコード) Java, SQL, HTML, CSS, XML, Groovy フレームワークとライブラリ Spring Web, Thymeleaf, MyBatis, Junit, JIG, Almond.css, …

Slide 6

Slide 6 text

私の教え方の原風景 Unix 開発チームの統合開発環境 豊富なツール・ライブラリ・manページ ユーザ・グループ・パーミッション ドラゴンクエスト 広大で奥深い世界 外の世界にでて旅をしながら成長していく 成長のストーリーは一つではない 死んでも生き返ればよい #include main() { printf(“hello, world¥n”); } $ cc hello.c $ a.out ・これを実行できる環境のアカウント ・最初から stdio.h ・次のお題は摂氏と華氏の対応表

Slide 7

Slide 7 text

何を教えるの?

Slide 8

Slide 8 text

⑤読む力(読もうとする力) IDEのプロジェクトのファイル構成 ソースコード、定義ファイル IDEの警告・サジェション 実行時のログメッセージ APIドキュメント 攻略本/攻略サイト • わかるとこだけつまみ食いで良い • 名著は積読で良い • 三日坊主でよい(アクションを起こすことがたいせつ) • 三日坊主を繰り返す、積読をたまにはつまみ食い

Slide 9

Slide 9 text

⑥何が起きるか 設計の経験則データベースの強化学習 ① 脳内キャッシュ(短期記憶)を刺激し続ける ② 脳内データベース(長期記憶)に多重に書き込み ③ 書込み強度・頻度・回数で長期記憶への書き込み深さが変わる ④ 脳内データベースのインデックス/パーティションの継続的再構築 ⑤ パターンマッチ力強化 • 探索パスの効率化 • フィルタリング(取捨選択)の動的最適化 • 最適化ヒントの活用能力

Slide 10

Slide 10 text

本物で教えるための推薦図書 教える側はこのくらいは完全にマスターしているよね?