Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
教える側が知らないプログラミングの3つのこと
Naoki Kishida
March 26, 2022
Programming
7
14k
教える側が知らないプログラミングの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初心者が知っておくべきプログラミングのこと - JJUG CCC 2022 Spring
kishida
5
640
脱オブジェクト指向講座(5分LT資料)
kishida
9
12k
プロになるJavaでチート能力を手にして完全勝利
kishida
0
660
Java 18新機能とJava 19以降に入りそうな機能
kishida
1
520
Java 2021
kishida
1
760
Java16新機能-言語とAPIを中心に- / Java 16 new features - about lang and API -
kishida
7
2.3k
Alpine対応のJava16で最小Docker Imageをつくる / Make minimum Docker Image with Java 16 on Alpine
kishida
0
790
Javaが最強JVM言語になる日はくるのか / Will Java become strongest JVM language
kishida
2
2.9k
Java 15を軽く紹介 / Java 15 at a glance
kishida
1
110
Other Decks in Programming
See All in Programming
読みやすいコード クラスメソッド 2022 年度新卒研修
januswel
0
2.9k
Google IO 2022 社内LT会 / What's new in Android development tools
shingo_kobayashi
0
390
「困りごと」から始める個人開発
ikumatadokoro
4
250
Reactは何を提供するLibraryなのか?
taro28
6
920
Register-based calling convention for Go functions
cjamhe01385
0
390
Pluggable Storage in PostgreSQL
sira
1
190
Edge Side Frontend という新領域
mizchi
22
10k
ESM移行は無理だけどおれもSindreのライブラリが使いたい!
sosukesuzuki
2
540
これからのスクラムマスターのキャリアプランの話をしよう - スクラムマスターの前に広がる世界
psj59129
0
190
プロダクトの成長とSREと
takuyatezuka
0
120
NestJS_meetup_atamaplus
atamaplus
0
210
FutureCon 2022 FlutterアプリのPerformance測定
harukafujita
0
130
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
689
180k
Happy Clients
brianwarren
89
5.6k
BBQ
matthewcrist
74
7.9k
Side Projects
sachag
450
37k
The MySQL Ecosystem @ GitHub 2015
samlambert
239
11k
The Web Native Designer (August 2011)
paulrobertlloyd
75
2k
We Have a Design System, Now What?
morganepeng
35
3k
Building Your Own Lightsaber
phodgson
95
4.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
337
17k
Imperfection Machines: The Place of Print at Facebook
scottboms
253
12k
Design by the Numbers
sachag
271
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
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の入力と実行結果を目にするだけと 実際に動かすときで、情報は変わらないのに理解の実感が違う – 大脳ではなく小脳への学習
まとめ • 教育への理解が必要 – プログラミング教育というときプログラミングの 特殊性に注目しがち。基本は「教育」 • プログラミングを学習することの理解も必要 – 「わからない」の理解が必要
– 文字の読み書きにとらわれすぎない • もちろんプログラミングの理解も必要