Check our Terms and Privacy Policy.

䜎孊幎児童のためのプログラム教育教材の䜜成ずそのための実践第䞀版 (4th)

プログラミングずいう抂念は、手続きを曞くこずず同矩ではありたせん。 本䌁画では、䞻に䜎孊幎児童向けにプログラムそのものの抂念の把握から、プログラミングの考え方の倚様性ずデヌタ構造の重芁さを理解できるような講習を行ない、か぀教材および資料の䜜成を目指したす。

珟圚の支揎総額

0円

0%

目暙金額は1,950,000円

支揎者数

0人

募集終了たで残り

終了

このプロゞェクトは、2017/10/06に募集を開始し、 2017/10/30に募集を終了したした

䜎孊幎児童のためのプログラム教育教材の䜜成ずそのための実践第䞀版 (4th)

珟圚の支揎総額

0円

0%達成

終了

目暙金額1,950,000円

支揎者数0人

このプロゞェクトは、2017/10/06に募集を開始し、 2017/10/30に募集を終了したした

プログラミングずいう抂念は、手続きを曞くこずず同矩ではありたせん。 本䌁画では、䞻に䜎孊幎児童向けにプログラムそのものの抂念の把握から、プログラミングの考え方の倚様性ずデヌタ構造の重芁さを理解できるような講習を行ない、か぀教材および資料の䜜成を目指したす。

このプロゞェクトを芋た人はこちらもチェックしおいたす


なぜアンプラグドなのか 正盎に蚀えば、アンプラグドであるこずにこだわりがあるわけではありたせん。講座ずしおは、OSのバヌゞョンなどなど现かいこずを気にするのが手間だからずいう皋床の理由です。 「それではあんたりな理由だ」ず思われるかもしれたせん。 そこで、すこしたしな理由を挙げるず、アンプラグドでかたわないからず蚀えるでしょう。アンプラグドな環境で詊したこずを、PCやタブレットでも詊しおみたければ、講座のあずでもできるこずですから。 ですので、環境が敎えば、アンプラグドでない講座も怜蚎の範囲には入っおいたす。 なぜパズルやゲヌムなのか プログラミングや情報工孊の教科曞や課題には、たくさんのパズルやゲヌムが茉っおいたす。 それは、パズルやゲヌムが、プログラミングや情報工孊の倚くの問題を的確に珟しおいるからです。問題そのものもですし、問題の解き方に぀いおもです。 この点においおは、講座がアンプラグドであるこずはむしろ利点でもありたす。ずいうのも、ちょっずしたバグによっお混乱するような事態を避けられるからでもありたす。 パズルやゲヌムずいう問題の解き方を圢匏的に考えたり曞いたりする際には、疑䌌コヌドずいう方法もありたす。その蚀語を実行する環境が存圚しないプログラミング蚀語を䜿う方法です。 こちらに぀いおは、ちょっずした疑䌌コヌドの甚意がありたすし、必芁なら疑䌌コヌドの芏栌も公開できるかず思いたす。      * * * * ず蚀うわけで、「なぜアンプラグドなのか」に぀いおは、それで困らないからです。 「なぜパズルやゲヌムを䜿うのか」に぀いおは、そこにプログラミングや情報工孊の重芁な問題がシンプルな圢で存圚するからです。


プログラムずはなんなのかずいうこずに぀いおは、ノィルトの「Algorithm + Data Structure = Program」ずいう著曞がありたす。ここで、「Algorithm + Data Structure」ずありたすが、AlgorithmずData Structureはかならずしも分離できるものではありたせん。たた、逆に、必ずしも䞀䜓のものでもありたせん。ですが、片方を遞ぶずもう片方も決たっおくるずいう傟向はありたす。堎合によっおは、あるデヌタ構造を遞ぶず蚈算が速くなったり、プログラムを曞くのがずおも楜になったりしたす。 このAlgorithmに぀いおは、「Algorithm = Logic + Control」ずも蚀われたす。 「Algorithm + Data Structure = Program」のほうはただわかりやすいかず思いたすが、「Algorithm = Logic + Control」のほうはわかりにくいかもしれたせん。 AlgorithmずData Structureの堎合のように、LogicずControlもかならずしも分離できないず考えおいいのではないかず思いたす。そうした堎合、凊理 (おおむね “文” ずしたす) の䞊びや、入れ子が、デヌタをどう凊理するのかずいうLogicに盞圓するず考えおみたす。 では、Controlはどうなのかずいうず、 “文” に含たれるず蚀えば含たれたすが、 “if” だずか、 “while” だずか、手続き型の蚀語の堎合であれば順次実行あたりがおよそ盞圓するのではないかず思いたす。これらは、 “文” ずしお曞かれるので、Logicの䞀郚ずも蚀えるかもしれたせん。あるいは、 “if” などは、それ単䜓ではあたりどうこうずいうこずはできず、蚀うずすれば耇合文ずしお蚘述され、たた実行されたす。この耇合文であるずいうずころがControlの特城かもしれたせん。 耇合文がControlだず考えるず郜合がいいのが、関数呌び出しや再垰もControlであるず考えやすいずいう点が挙げられるかもしれたせん。 問題は (?)、Prologですが。 P(なんずか). ãšã„う事実の堎合、それは単玔なLogicだず考えたしょう。この事実がベヌスにあっお、 P(x) :- Q(x), R(x). ãšã„うようなルヌルが曞かれたす。この堎合、たず Q(x),R(x) ãšã„う郚分は、 Q(x) ã§ã‚り、か぀ R(x) ã§ã‚るずいうこずになりたすが、この Q(x),R(x) ã®éƒšåˆ†ã¯ã€ãã®ãŸãŸLogicだず考えおいいず思いたす。ず同時に、 Q(x) ãš R(x) ãŒåŒæ™‚に成立しないず P(x) ã¯æˆç«‹ã—ないずいうControlでもあるずも考えられるかず思いたす。あるいは、 Q(x);R(x) ãšæ›žããšã€ Q(x) ã‹ R(x) ã®ã©ã¡ã‚‰ã‹ãŒæˆç«‹ã™ã‚Œã°ã„ずいうControlであるずも考えられるかず思いたす。ただ、ナニフィケヌション自䜓にLogicずControlが含たれるずも考えられるので、他の蚀語ほどにはLogicずControlが目には芋えないかもしれたせん。 さお、「Algorithm = Logic + Control」であるなら、「Algorithm + Data Structure = Program」は、「Logic + Control + Data Structure = Program」ず蚀えるこずになりたす。Scratch、ScratchJrなどでは、Data Structureの郚分が芋えにくいように思いたす。 たた、ScratchやScratchJrだず — あるいは他の堎合も — 、プログラムが動いたからいいずいう立堎をずるずか、そういう立堎を取らざるをえないように思いたす (これは、もちろん指導者にもよりたすが)。プログラムを曞いた経隓がある人ならわかるず思いたすが、この立堎はプログラムの怜蚌ずいう面から芋るずかなり甘いものです。ずいうか、プログラムを開発䞭の仮のテストではそれでもいいずしおも、そのテストで枈たせるずいうのは、甘いずいうよりも危険ずも蚀えたす。 「Logic + Control + Data Structure = Program」であるずしたら、それに応じた、プログラムの蚭蚈ず怜蚌を蟌みでのプログラミング教育が必芁ではないかず思いたす。


詊行錯誀
2017/10/08 07:10

 たた、『図解 プログラミング教育がよくわかる本』〔石戞 奈々子, 講談瀟, 2017.〕のp. 14にはこのような箇所がある:| なぜ? どうしお?| ロボットを぀くり、「たっすぐ歩く」ずいう動きをプログラミングしたの| に、その通りに動かない。理由を考える  たた、p. 15には明確にこうある:| 自然に詊行錯誀ができるずいう特城もありたす。  ここは本文にあるこの郚分に察応するず芋おいいだろう:| 自分が意図する䞀連の掻動を実珟するために、どのような動きの組合せ| が必芁であり、䞀぀䞀぀の動きに察応した蚘号を、どのように組み合わ| せたらいいのか、蚘号の組合せをどのように改善しおいけば、より意図し| た掻動に近づくのか、ずいったこずを論理的に考えおいく力  これは䞀面においお詊行錯誀ずも蚀えるだろう。だが、すくなくずもプログラミングにおいおは必芁な詊行錯誀ず、䞍芁な詊行錯誀が存圚する。  さお、プログラミングにおいおは詊行錯誀は悪だ。単玔なミスはなくならないだろうから、その分の詊行錯誀は陀いおだ。たた、モデルが明確でない堎合ずいうのもある。モデルそのものを怜蚎する際の詊行錯誀は必芁だが、たずもにモデルが䜜れおいないための詊行錯誀は悪だ。  では、「自然に詊行錯誀ができるずいう特城」ずいうのは、いったいどれを指しおいるのだろう。すくなくずも『図解 プログラミング教育がよくわかる本』の䟋であれば、それはデバグの範疇であり、䞍芁な詊行錯誀の䞀䟋であるず思える。  プログラミングにおいお詊行錯誀ができるこずを勧めるのは、プログラミングに぀いおの根本の理解ができおいないからずも蚀える。プログラミングにおいおは、詊行錯誀がないこずが最善だ。そのためには、詊行錯誀によっお、か぀「プログラムが動いたこずでよしずする」ずいう立堎ではなく、「プログラムが意図のずおりに動くこずを論理的に蚌明」する/できるずいう立堎に立぀必芁がある。  もう䞀床繰り返しおおこう。プログラミングにおいおは詊行錯誀は悪だ。    * * * * 公開しお急なおしらせになりたすが、2017幎 10月 9日、13:30〜16:30に、「コンピュヌタを䜿わない、コンピュヌタずプログラミング入門」ずいう講習を詊隓的に行ないたす。 䞻な察象は小䞭孊生ですが、高校生以䞊、倧人も受講しおいただけたす。 堎所は、山梚県 倧月垂 åž‚立図曞通 䌚議宀です。 参加の予玄は䞍芁です。ただし、申し蟌みをしおいただくず、準備に際しお助かりたす。 たた、芋孊も歓迎いたしたす。 詳现ずいうほどのものではありたせんが、こちらのペヌゞを参照しおいただければず思いたす。


 2020幎からのプログラミング教育の必修化に向けお、文科省が掲げおいる暙語が「プログラミングを通しお教科を孊ぶ」ずいうものだ。  蚀うのは簡単。だが、実際にどうするのかず考えるず、この暙語は難題だ。  教科ずしお、囜語(日本語)、算数・数孊、理科(物理、化孊、生物、地球科孊)、瀟䌚(歎史、地理、公民)、図工、音楜、䜓育ずいうあたりを考えおみよう。  算数・数孊は数匏に察応するプログラムを曞くこずによっお、簡単に実珟できるように思える。よく芋るのは、タヌトルあたりで倚角圢を描かせるずいうものかもしれない。もっずも、これは二次関数ずか連立方皋匏ずかそのあたりたでであっお、高校における埮積分になるずすこし面倒になる。あるいはやはり高校だず確率・統蚈も入っおくるかもしれない。確率・統蚈になるず、もう衚蚈算を䜿ったほうが手っ取り早いし、わかりやすいだろう。それも、スクリプトもいらない。セルに埋める関数で充分だ。  理科(物理)も、ニュヌトン力孊の初歩のあたりは、どうにかなるだろう。だが、盎線での等加速床運動あたりから、数孊で曞いた埮積が関係しおきお、面倒になる。  だが、この2぀はただわかりやすいほうだ。  理科(地球科孊)はどうだろう。地球の深さによる圧力、重力、熱になるず、䞀筋瞄ではいかない。地球の熱収支であればなんずかなるだろうが、これは衚蚈算を䜿ったほうがわかりやすいし手っ取り早い。倧気圏の状態に぀いおはどうだろう。倩気予報でもやらせたいのだろうか。そうでなければ、察流圏などの知識を扱かうずいう問題になる。  理科(化孊、生物)はどうだろう。これらを「プログラミングを通しお」ずいう原則で孊ぶなら、偏埮分方皋匏を扱かえる必芁がある。䞭孊生にはたぶん無理だろう。ずするず、これも知識を扱うずいう問題になる。  瀟䌚(歎史、地理、公民)はどうだろう。たぁ、公民に぀いおは、瀟䌚秩序うんぬんをシミュレヌトさせるずいうこずもあるかもしれない。でも、それも衚蚈算で充分だし、むしろわかりやすいだろう。歎史ず地理はどうだろう。どうにもわからない。衚蚈算を知識ベヌスずしお䜿うくらいだろうか。  なお、「理科 (生物)」や、「瀟䌚 (いろいろ)」は「捕食-被食関係」だずか、その「[ロトカ・ノォルテラの方皋匏」なんかをやっおみるずいうこずもあるかもしれなり。ですが、考えおみればこれも衚蚈算でできたす。  図工はどうだろう。タブレットの䞭の謎物質でなにかを䜜るずいうこずはあるかもしれない。だが、それは粘土でやるのずどう違うのか。あるいは描画゜フトで絵を描くずいうこずもあるかもしれない。実際に描画するほうが埗意な人もいるだろうし、描画゜フトを䜿うほうが埗意な人もいるかもしれない。あるいはARを通した衚珟ずいうこずもあるかもしれない。だが、そうなるずプログラミングが䞻ななのか、図工が䞻なのかわからなくなる。小孊校であれば、描いた絵のパヌツを動かすずいうようなずころでお茶を濁すかもしれない。あぁ、昔(今も)のスラむドのように、なんか目に優しくないのが倧量生産されるのかず思うず気が重いですが。  音楜はどうだろう。タブレットに鍵盀を衚瀺し、ずいうのは「プログラミングを通しお」ずいう題目にはあわないだろう。ずするず、デヌタを打ち蟌んでの挔奏くらいだろうか。たさかフヌリ゚倉換を䜿っお、楜噚の音を再珟するなどずいうこずはできないだろう。  䜓育はどうだろう。ダンスの機䌚もあるそうだから、音楜の再生ず、ラむトの制埡なんおこずはできるかもしれない。  ここたでは、ただ、なにか方法があるかもしれないものだ。  問題は囜語(日本語)ず英語(あるいは他の倖囜語)だ。いったいどうやっお「プログラミングを通しお教科を孊ぶ」のだろう。たさか圢態玠解析や統語解析のプログラムを曞かせるわけでもないだろう。甚意された甚䟋コヌパスから、語句の甚䟋を求めるずかだろうか。それもかなり難易床が高い。あるいは電子蟞曞を匕くだけだろうか。珟実的なのは、甚䟋も含たないわけではないが、単語垳ずしお䜿う方法だ。これなら衚蚈算で充分ではある。ただしプログラミングを通しお教科を孊ぶずいう題目からは離れるが。  たさかずは思うが翻蚳゜フトを䜜るずか、䜿うずいうこずはないだろう。既存の翻蚳゜フトはただただ信甚できないし。  あるいはスラむドを䜿っおなにかをするずいうのはあるかもしれない。でも、それはプログラミングを通しお教科を孊ぶず蚀えるのだろうか。  ずいったずころで考えるず、「プログラミングを通しお教科を孊ぶ」ずいうのは、かなりの無理難題であるように思える。実際にやるなら、衚蚈算で蚈算をするか、衚蚈算を知識ベヌスずしお䜿うかで、かなりのこずが枈んでしたうようにも思える。もっずも、衚蚈算だずプログラミングにおいおあちこちに出おくる、探玢を扱うのはすこし難しいかもしれたせんが。知識ベヌスずしお衚蚈算を䜿うなら、「もういっそのこずProlog䜿う」ずも思えたす。    * * * * 公開しお急なおしらせになりたすが、2017幎 10月 9日、13:30〜16:30に、「コンピュヌタを䜿わない、コンピュヌタずプログラミング入門」ずいう講習を詊隓的に行ないたす。 䞻な察象は小䞭孊生ですが、高校生以䞊、倧人も受講しおいただけたす。 堎所は、山梚県 倧月垂 垂立図曞通 䌚議宀です。 参加の予玄は䞍芁です。ただし、申し蟌みをしおいただくず、準備に際しお助かりたす。 たた、芋孊も歓迎いたしたす。 詳现ずいうほどのものではありたせんが、こちらのペヌゞを参照しおいただければず思いたす。