Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
教える側が知らないプログラミングの3つのこと
Search
Naoki Kishida
March 26, 2022
Programming
7
15k
教える側が知らないプログラミングの3つのこと
2022/3/25に行われた「第一回プログラミング教育について話し合う会」でのLT資料です。
https://opt.connpass.com/event/240392/
Naoki Kishida
March 26, 2022
Tweet
Share
More Decks by Naoki Kishida
See All by Naoki Kishida
LLMベースAIの基本 / basics of LLM based AI
kishida
11
2.9k
Java 24まとめ / Java 24 summary
kishida
3
580
AI時代のプログラミング教育 / programming education in ai era
kishida
25
24k
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
10
2.5k
AI時代に求められるプログラマの能力 / ability of programmer in AI era
kishida
19
12k
Java 23の概要とJava Web Frameworkの現状 / Java 23 and Java web framework
kishida
2
520
Java Webフレームワークの現状 / java web framework
kishida
10
11k
Is Object Oriented nesessary? COSCUP 2024
kishida
0
190
プログラムに組み込みたい人向けLLMの概要 / LLM for programmers
kishida
3
730
Other Decks in Programming
See All in Programming
推論された型の移植性エラーTS2742に挑む
teamlab
PRO
0
150
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
620
マテリアルって何者?RealityKitで扱うマテリアル入門
nao_randd
0
140
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
6.1k
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
0
140
TypeScript エンジニアが Android 開発の世界に飛び込んだ話
yuisakamoto
6
960
Language Server と喋ろう – TSKaigi 2025
pizzacat83
2
670
衛星の軌道をWeb地図上に表示する
sankichi92
0
250
バリデーションライブラリ徹底比較
nayuta999999
1
440
TypeScript だけを書いて Tauri でデスクトップアプリを作ろう / Tauri with only TypeScript
tris5572
2
540
iOSアプリ開発もLLMで自動運転する
hiragram
6
2.2k
REST API設計の実践 – ベストプラクティスとその落とし穴
kentaroutakeda
2
320
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.3k
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
RailsConf 2023
tenderlove
30
1.1k
Facilitating Awesome Meetings
lara
54
6.4k
Rails Girls Zürich Keynote
gr2m
94
13k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Code Reviewing Like a Champion
maltzj
523
40k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
890
Fireside Chat
paigeccino
37
3.5k
Transcript
教える側が知らない プログラミングの3つのこと 2022/3/25 第一回プログラミング教育について話し合う会 LINE Fukuoka きしだ なおき
テーマ • プログラミング教育を考えるときは 教育の勉強もしておきましょう • 既出なので「上手な教え方の教科書」 も読みやすいのでおすすめします
プロになるJava • プロになるのだ! • Javaでプログラミングの 勉強をする本 – Not 「Javaの勉強をする本」 •
etc. floatやlongは扱ってない • あと、オブジェクト指向をdisる本です – オブジェクト指向が、いかに現代のJavaで使えないか書いてます – オブジェクト指向は現代的プログラミングに対応できない (この話すると3日くらいかかるので略。プロJavaのP337読んで) – そろそろみんな(とくに教える側)オブジェクト指向から卒業しよう • プログラミング教育の場面でしかオブジェクト指向という言葉は出てこない
プロになるJavaの インストラクショナルデザイン • 教える題材の構造ではなく理解の構造にしたがって教える – 教訓3 教える理由をはっきりさせる – 教訓4 成功の基準をはっきりさせる
– 教訓5 標的行動を見せてやらせて確認させる – 教訓9 誤答を教える – 教訓11 学び手を知る – 教訓14 学ばせて、楽しませる 職業プログラマになる Swing 練習問題 JShell 今日の話
3つのこと • テキストを出すのは「プログラム」とは みなされない • 逐次実行がわからない • プログラミング能力は読み書き能力ではない
テキストを出すのは 「プログラム」とはみなされない • できごと – メモ帳+javacでfor文などを教える – Swingでウィンドウを出す – 「プログラムがうごいた!」
• 目にみえる結果重要 – テキスト出力の意味はプログラムを理解しないと わからない – プログラムを理解したいのにプログラムの理解が必要
逐次実行がわからない • 通常目にする文章は状態が一定 – 適切な接続詞があれば順番に依存しない – 推理小説 • 犯人Aという状態を徐々に明らかにしている •
「プログラムが動く」ということがわからない – 目にみえる結果 – REPL – デバッガ
プログラミング能力は 読み書き能力ではない • 書き方読み方を教えただけではダメ – プログラミングの学習は知識の集成ではなく行為の習得 • 文法を教えただけではプログラムは組めない – 「プログラムが動く」ということの理解が必要
• エラーの読み方を教えただけではエラーは読めない – 「プログラムが動かない」ということの理解が必要 • 結局、読み書きができないのではなくプログラムの動きが わかっていない • 自分の動作への反応としての学習が必要 – なのでJShellの入力と実行結果を目にするだけと 実際に動かすときで、情報は変わらないのに理解の実感が違う – 大脳ではなく小脳への学習
まとめ • 教育への理解が必要 – プログラミング教育というときプログラミングの 特殊性に注目しがち。基本は「教育」 • プログラミングを学習することの理解も必要 – 「わからない」の理解が必要
– 文字の読み書きにとらわれすぎない • もちろんプログラミングの理解も必要