先進校の事例に学ぶ「プログラミング教育」新時代到来!
―東京都―
品川区立京陽小学校
小学校での「プログラミング教育」が、注目を浴び始めている。現代に必要な教育だと歓迎する声がある一方で、教育現場からは「プログラミングなんてしたことないし、知識もない。教える自信がない」という不安も聞こえてくる。そこで、「プログラミング教育」の研究開発に着手して3年目に入った品川区立京陽小学校の事例に学んでみよう。
品川区立京陽小学校
校長
青木 幸代先生
研究主任
西下 義之先生
6年2組担任
山崎 翔先生
1年2組担任
上野 美智恵先生
青山学院大学
社会情報学部
阿部 和広客員教授
6年生が1年生に、プログラミングを教える!
懇切丁寧に1年生を指導する6年生。担任の先生が発言・助言することはほとんどなく、かたわらで温かく見守っているのが印象的だった。
point 1子供が子供に教える
「このキャラクターを動かすプログラムをつくってみようね」「ここに入れる数字が、ボールが転がる速さになるんだよ。好きな数字を入れてみよう」
プログラミング教育の先進校である京陽小学校の公開授業は、数々の「驚き」に満ちていた。まず、6年生が1年生に、プログラミングを教えていたのだ。
これは6年生の市民科(品川区独自の教科)の単元で、「京陽小の伝統であるプログラミングの楽しさを、1年生に伝える」のが目的。プログラミング教育3年目の6年生が、初心者である1年生とペアを組み、マンツーマンで指導するのだ。
point 2子供でも簡単にできる
なぜ、子供が子供に教えられるのか。それは、プログラミングがとても簡単に行えるからだ。
使用するのは、「ラズベリーパイ」というシングルボードコンピュータと、「スクラッチ」という子供向けの教育用プログラミング言語(コラム参照)。「座標を( )ずつ変える」「( )回繰り返す」など、日本語で書かれた命令ブロックをメニューから選び、順番に並べるだけでプログラムを組める。難しいプログラミング言語を覚える必要も書く必要も、ほとんどない。
point 36年生が開発したプログラムを教える!
6年生が1年生に教えるプログラムは、どれもみな違う。車を走らせるゲームもあれば、足し算問題ゲームもあれば、キャラクターを動かせるアニメーションもある。
実はこのプログラムは、ペアを組む1年生に「どんなプログラムをつくりたい?」とあらかじめ聞き、その子のために考案したオリジナルのプログラムだ。参考書やインターネットに載っているお手本のプログラムを教えているのではないのだ。
では、誰が考案したのか? なんとこのプログラムも、6年生一人ひとりが自力で開発したという。「1年生が喜んでくれること」「1年生が30分でつくれること」などを目標に、案を練っては試作し、動かし、改善を重ねたそうだ。
point 4指導計画まで6年生が開発!
6年生が開発したのは、プログラムだけではない。なんと、指導計画までつくっている。「どんな順番で教えるか」「どんな教え方をすればわかりやすいか」などについて、6年生役と1年生役に分かれてロールプレイして検証するなど、検討を重ねたのだ。
じっくりと練っただけあって、指導計画の完成度はとても高い。指示は簡潔でわかりやすく、スモールステップになっていて取り組みやすい。「いいね! 上手だよ!」とほめて、学習意欲を高める指導技術まで駆使していた。
プログラミングの面白さを1年生が実感できるように、巧妙な指導計画を立てた6年生もいた。車を操作して転がってくるボールを避けるゲームをつくっていたペアで、「ボールがゆっくりで簡単すぎる」と1年生がつぶやいたところ、6年生はすかさず「ここの数字を変えると、ボールが転がってくるスピードが変わるんだよ」と言いながら、数字をあれこれ変えてみせた。「ほんとだ! 早くなった!」と、1年生は大興奮したが、実は、すべてが計画通りだった。1年生が「スピードを変えたい」とリクエストしてくるように、最初はわざとゆっくりボールが転がってくるようにしておき、数値を変えるとスピードが変わることを体感的に学ばせるねらいなのだ。まさに先生顔負けの、見事な指導計画である。
point 5プログラミング的思考を取り入れた、アクティブ・ラーニング!
6年生たちが行ってきたことをあらためて見ると、「アクティブ・ラーニングになっている」ことがよくわかる。「1年生にわかりやすく伝える。プログラミングの面白さを伝える」という課題に向かって、子供たちだけで考え、学びながら試行錯誤を重ね、課題解決に取り組んでいった。
その象徴的な存在が「プログラミング・アドバイザー」だ。プログラミングが得意な子供が任命される。「わからないことがあったら、先生に聞くよりまずプログラミング・アドバイザーに質問しよう」と、徹底され、プログラミングの専門家としてほかの子供への助言や指導を行う。また、プログラミング教育におけるリーダー的役割も担っており、今日の授業でも、他のペアがうまく進行できているか目配りし、声をかけていた。実に頼もしい存在だ。
また、「プログラミング的思考」も取り入れられていた。「プログラミング的思考」とは、「自分の意図したことを実現するために論理的に考え改善していくこと」であり、これこそがプログラミング教育の目的とされている(コラム参照)。京陽小の6年生は、それができていた。1年生に教えるプログラムや指導計画を、PDCAサイクルで検討するなど、論理的に考え改善し、完成させたのだ。
子供でも簡単に使える数千円のコンピュータと、
やさしいプログラミング言語
1年生のために6年生が開発したプログラムは、十人十色。写真上は、馬のキャラクターが足し算問題を出題するクイズ。写真下は、カーソルキーで車を動かし、ボールを避けるゲームだ。
「ラズベリーパイ」は、1枚の基板で構成されたとてもシンプルなパソコンだ。ディスプレイとキーボードにつなげば、普通のパソコンと同じ作業ができる。京陽小では一人1台のラズベリーパイを使っている。「スクラッチ」は、アメリカのマサチューセッツ工科大学で開発された、教育用プログラミング言語。写真のように、日本語で書かれた「命令文ブロック」をメニューから選択し、並べていけばプログラムができる。簡単でありながら、プログラミングの楽しさは十分味わえる。ソフトをインストールして使えるだけでなく、PCやMacではWeb上でも利用可能。しかも無料である!
6年生が考えだしたティーチングプラン。授業中はこれを片手に、指導を進行する。
「プログラミング教育」の極意とは?
今年から研究副題を変更。その背景とねらいは?
授業後、京陽小の先生方と、京陽小の指導にあたってきたプログラミング教育の第一人者である青山学院大学の阿部和広客員教授に座談会を開いていただいた。
青木幸代校長(以下・青木) 本校は、プログラミング教育の研究を行って今年で3年目ですが、今年から大きく変わった点があります。昨年までの2年間は、『デジタルテクノロジーの書き手を育てる~豊かな言語能力の育成を目指して~』が研究主題だったのですが、今年からは、主題はそのままに副題を『~プログラミングを用いた課題解決学習~』へと変えました。
―具体的には何が変わったのですか?
青木 昨年までは、各教科の中でプログラミング学習を行ってきました。それぞれの学習のねらいをより達成するために、プログラミングを活用してきたのです。これまでの成果をもとに、今年度は、市民科の学習にも活用場面を広げ、プログラミングを用いた課題解決を行わせようと考えました。
上野美智恵先生(以下・上野) 教科の単元の中にプログラミングを取り入れるにあたっては、試行錯誤を重ねました。でも、プログラミングを取り入れることによって児童の意欲が高まったり、言語能力の大きな向上が見られるようになってくると、学習を深めるための手段として有効であることが実感できました。一方で、『この教科のこの単元でプログラミング教育を行うのが最善だったのか?』と悩むことも、やはりありました。
青木 そこで今年は、教科の制約をなくし、市民科でもプログラミング学習に取り組めるようにし、さらに先生方の自由な発想を生かせるようにしているのです。
山崎翔先生(以下・山崎) 教科の単元とリンクさせる必要がなくなったので、授業をとても進めやすくなりました。
―プログラミングを用いた課題解決学習とは、どのようなものですか?
西下義之先生(以下・西下) 学年や課題に合わせて、活動内容を設定します。たとえば今日の授業は、「京陽小の伝統であるプログラミングを、1年生に伝えるには」が課題であり、この課題解決に、子供たちは取り組みました。
阿部和広客員教授(以下・阿部) プログラミング自体を学ぶのではなく、プログラミングを通して何を学ぶのか。この視点が大事なのです。有識者会議の議論の取りまとめも、同じことを言っています(コラム参照)。
プログラミング教育につきまとう課題と解決策
―その実践を開発するにあたり、どのようなことを心がけていますか?
青木 「誰でもできる」と「継続できる」がキーワードです。私もそうですが、ほとんどの先生はプログラミングの知識がありませんし、教えた経験もありません。コンピュータが得意な先生にしかできないような実践では、普及しないし、継続しないし、定着もしない。これでは意味がありませんよね。
西下 たとえば今日の授業も、担任の山崎先生は授業の冒頭と最後に、少し話す程度で、あとは子供たちに任せていましたよね。教師が教える授業ではなく、子供たちが学び合う授業にすれば、プログラミングの知識がない先生でも実践できます。
上野 私は昨年からプログラミング教育を始めたばかりですが、私よりも子供の方がよっぽど詳しい(笑)。子供たちからたくさん教わっています。
西下 私もそうです。私が組んだプログラムがうまく動かず困っていると、子供が「先生、ここが違うよ。こう直せばいいよ」と教えてくれることがよくあります(笑)。
―特に、プログラミング・アドバイザーを務める子供のスキルはとても高く、感心しました。
山崎 実は、勉強は苦手なのに、プログラミングは得意という子供が結構多いんですよ。そういう子供たちが活躍する場面をつくってあげられるのも、プログラミング教育の良さだと感じています。
阿部 算数が得意、体育が得意と同様に、プログラミングが得意なのは、一つの才能です。いろいろな才能があっていいし、さまざまな才能を開花させてあげるのも、学校の使命です。
山崎 子供たちは、学び合いで驚くほど伸びるんです。今日の単元を始める前、実は、同じ6年生でもプログラミング能力にかなりの差があったんです。苦手な子供も多く、これで1年生を指導できるのかなと心配していました。
しかし、「1年生に教えるんだからがんばらなきゃ!」と、全員が奮起しました。たとえばプログラミングに興味がなかった女子児童が、自発的にプログラミングの本を読んで勉強するようになりました。また、休み時間にパソコン教室で自習する子供の数も日に日に増え、プログラミングが苦手な子供に得意な子供がアドバイスする光景も日常化しました。学び合いによって、短期間で全員がレベルアップしたのです。
阿部 あえて先生が教えない勇気を持つことも大切かもしれません。先生が教えることが常態化すると、子供たちも教わることに慣れて、自発性が失われていきます。逆に、子供たちの自主性に任せれば、山崎先生がおっしゃる通り、大人の予想をはるかに越えて、ぐんぐん伸びていきます。
山崎 プログラミング教育の授業をしていて、「先生、わかりませーん」と手が挙がると、「まだ教え過ぎてしまっている」と反省しています。手を挙げて助けを求めるのではなく、自分たちで解決しようとするのが、良い授業だと考えています。
阿部 子供が主体的に学び合う。まさに「アクティブ・ラーニング」ですね。プログラミング教育をどう教えればいいか悩んでいる先生も多いと思いますが、アクティブ・ラーニングが、この悩みを解決する鍵になるでしょう。
文部科学省の有識者会議が発表した
「プログラミング教育」の目的
今年6月、『小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議』が、議論の取りまとめを発表した。その一部を紹介する。
学校教育として実施するプログラミング教育は何を目指すのか
小学校におけるプログラミング教育が目指すのは、子供たちが、コンピュータに意図した処理を行うよう指示することができるということを体験しながら、身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気づくこと、各教科等で育まれる思考力を基盤としながら、基礎的な「プログラミング的思考」を身につけること、コンピュータの働きを自分の生活に生かそうとする態度を身につけることである。
※「プログラミング的思考」=自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つひとつの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力。
これから「プログラミング教育」を始める方々へのメッセージ
山崎 私がプログラミング教育を始めたのは、2年前。ちょっとかじったレベルですし、大したことは教えられません。教師が教えなきゃと身構えるのではなく、子供たちに学ばせる、子供といっしょに学ぶ、子供から学ぶというスタンスでいいと思います。
西下 プログラミングを教えるのに、専門知識は必須ではないと、この2年間で実感しました。プログラミングの知識がなくても、まずは子供と一緒にやってみるといい。子供と一緒に楽しめばいいと思います。
上野 子供同士が学び合う姿、切磋琢磨してどんどん成長していく姿を見るのって、とっても楽しいですよ。まずは教師自身が楽しみましょう。楽しめば授業のアイディアも沸いてきます。
青木 プログラミングの面白さを子供たちに体験させてあげたい。「プログラミングってすごい!」と感動し、「自分でもつくりたい!」と意欲を持つことが、将来に生きるのではないかと思います。
阿部 「プログラミング教育=専門知識必須で敷居が高い」というイメージがあるかもしれません。昔は確かにそうでした。でも今は、時代が変わりました。スクラッチのように、簡単に使える教材が出てきています。身構えず、気楽に、楽しんでほしいと思います。