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
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
AI時代に求められるプログラマの能力 / ability of programmer in AI era
kishida
17
11k
Java 23の概要とJava Web Frameworkの現状 / Java 23 and Java web framework
kishida
2
470
Java Webフレームワークの現状 / java web framework
kishida
10
10k
Is Object Oriented nesessary? COSCUP 2024
kishida
0
170
プログラムに組み込みたい人向けLLMの概要 / LLM for programmers
kishida
3
580
Javaの現状2024夏 / Java current status 2024 summer
kishida
6
2k
Java 22 Overview
kishida
1
360
Is Object-Oriented nessesary?
kishida
0
130
Other Decks in Programming
See All in Programming
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
160
color-scheme: light dark; を完全に理解する
uhyo
3
320
ARA Ansible for the teams
kksat
0
150
Grafana Cloudとソラカメ
devoc
0
170
Spring gRPC について / About Spring gRPC
mackey0225
0
220
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
iOSエンジニアから始める visionOS アプリ開発
nao_randd
3
130
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
740
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
120
CI改善もDatadogとともに
taumu
0
120
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
260
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
120
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Six Lessons from altMBA
skipperchong
27
3.6k
Automating Front-end Workflow
addyosmani
1368
200k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Building Your Own Lightsaber
phodgson
104
6.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
Faster Mobile Websites
deanohume
306
31k
Done Done
chrislema
182
16k
It's Worth the Effort
3n
184
28k
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の入力と実行結果を目にするだけと 実際に動かすときで、情報は変わらないのに理解の実感が違う – 大脳ではなく小脳への学習
まとめ • 教育への理解が必要 – プログラミング教育というときプログラミングの 特殊性に注目しがち。基本は「教育」 • プログラミングを学習することの理解も必要 – 「わからない」の理解が必要
– 文字の読み書きにとらわれすぎない • もちろんプログラミングの理解も必要