子ども向け

プログラミングを
学ぼう(中学校編)

テクノロジーは、それまでの世界が内包していた困難や問題を解決する力を持っています。日々の暮らしの中で、誰かを手助けしたり、もっとやりやすくしたり、新しい学び方を提供したりできます。プログラミングは、そうした解決方法を生み出す、一つのツールでもあります。

プログラミングは21世紀の今、読み書きや計算と並んで大事な基本的なスキルです。森裕崇先生は数学と情報科目の教師として、中学校や高等学校でプログラミング教育を教えています。そしてAppのデベロッパであり、テクノロジーを活用して教育現場の変革に努めるApple Distinguished Educatorの一人でもあります。森先生に、中学校でどのような教育を行なっているのか、自身のApp開発の話、そしてプログラミングに興味を持つ子どもたちのために今、必要な教育について聞きました。

Appを活かした
数学の授業

京都市立の高等学校で教えている森先生は、昨年までは市立中学校で数学を教えていました。授業の中では、プログラミングの考え方やAppも使って教えてきたと言います。森先生は、数学と情報の教員免許を持っていて、App StoreにあるAppのデベロッパでもあります。学校ではバスケットボール部の顧問も担当していました。

森先生:「数学の授業では、『GeoGebra空間図形』を使って、図形を知る助けにするなど活用しています。数学で図形を学ぶ時に、見取り図や展開図を書きます。白板に書くと、生徒の座る位置、つまりどの角度から見るかによって、書かれた図形の見取り図が違って見えてしまいます。図形の模型も数に限りがあるので、全員が同時に同じ模型を観察できる訳ではありません。生徒がそれぞれのiPadに入ったAppで図形を3DやAR(拡張現実)を使って観察できれば、そうした学習環境のハードルも解決できます」

「GeoGebra空間図形」で図形をAR(拡張現実)を使って表示している様子。

    GeoGebra空間図形

    3次元,グラフ,曲面, 作図

    表示

プログラミングをどのように学ぶか

森先生のいた中学校では、授業でコーディングの学習まではしていませんでした。ですが、数学でより無駄のない、洗練された解法を見つけていくことは、プログラミングを考えることと似ていると言います。

森先生:「数学を学ぶ中で、生徒たちはすでにプログラミング的なことを学んでいます。実際子どもたちも、『ScratchJr 』というプログラミングを学ぶAppを体験した時に、特にコーディングについて知らなくても、順序よく処理を実行していけば、結果プログラミングができる、というのを実感していました。自宅などで自主的にプログラミングを学んでみたい子には、『ScratchJr』や『Swift Playgrounds』が良いかもしれません」

「ScratchJr 」の画面。順序よく処理を実行していくことで、自然とプログラミング的思考を学習できます。

「『ScratchJr』はブロックを並べる感覚で、プログラミングを学習していけます。ひらがな表記で小学生の子どもたちでも使えるように作られていますが、内容は本当に入門編かな、と思うほど作り込まれています。また『Swift Playgrounds』はガイドブックもよくできていて、初めてコードに触れる人にもわかりやすいと思います。自由気ままに使いながら、なぜ動かないのかと考える中で、子どもたちは学んでいきます。子どもたちは経験として学習するのが上手ですね」

    ScratchJr

    教育

    表示

    Swift Playgrounds

    教育

    表示

「ScratchJr」と「Swift Playgrounds」はiPadで使用できます。

子どもたちがプログラミングに興味を持った時に、どのように学びを深めたら良いのでしょうか、森先生におすすめのAppを聞きました。

森先生:「中学生くらいになると、興味を持つ子は自分でどんどん探して伸びていきます。そのスピードはこちらが思うよりもずっと早かったりします。自主的に学びたい子におすすめしたいと思うのは『アルゴリズム図鑑』です。初歩的なアルゴリズムがどうなっているのかを教えてくれます。コードを書く以前の、このプログラムはなんで動いているのか、コンピュータが動いている裏でどのような処理が行われているのか、本質的なことを学べます」

「アルゴリズム図鑑」では、アルゴリズムについてイラストと説明文を通して学べます。

    アルゴリズム図鑑

    見て分かる、試して分かるアルゴリズム

    表示

生徒のためにAppを開発

森先生は、Appのデベロッパでもあります。大学に入ってプログラミングを学び始め、コードを書く面白さを知ったと言います。学校の中で、生徒や他の先生が困っていることを解決するAppを自分で開発してきました。それらはApp Storeでダウンロードして、実際に学校生活の中で活用されています。

森先生:「最初にAppを開発しようと思ったのは、美術が専門の高校にいた時です。当時『造形表現』という授業があり、限られた図形を使って絵を描くというのをやっていたのですが、そのためのAppとして『造形表現デザイン』を開発しました」

数学の授業やバスケットボール部のクラブ活動で、生徒が使うためのAppも開発してきました。

森先生:「2進数を教えていた時に、スイッチのようだという例えをするのですが、生徒たちの中にはイメージしづらい子もいた。その時に、0と1のスイッチを自分で切り替えて2進数を表示していけるAppを作ってしまおうと思って、開発しました」

森先生が生徒たちのために開発した「バスケボール2」。

森先生:「バスケットボールで使うためのAppもいくつか開発しています。試合中に作戦を伝えるために、選手の動きなどを手書きですぐに書き込めるボードや、シュートの回数を数えるAppを作りました。どれもシンプルな機能ですが、授業やクラブ活動で生徒たちが使う時には、実は必要な機能だけが入ったAppの方が操作がしやすいのです。シュートを数えるAppは、ボールとiPadを持ち替えて入力するのは手間ですし、危ないので、Apple Watchで使えるように機能を追加しました」

なぜ自らAppを開発してきたのか、その理由について、森先生はこう語ります。

森先生:「ないから作ろう、というのが強い動機ですね。ものづくりが好きな性格だと思います。日々の業務に当たりながら開発するのは大変ですが、自分が熱中できる時間が家に帰ってからある時は、ずっと作業してしまいます。どういうテクノロジーを使うともっと合理的に高度にできるか、自分の欲しい機能がすべて実装できるか、App自体を構想するのに時間が必要です」

問題を解決するための
プログラミング

森先生の取り組みのように、プログラミングは身近な問題を解決する方法を生み出します。Appを開発してみたい、と思った子どもに向けたアドバイスを聞きました。

森先生:「以前、Apple 京都で開催されたToday at Appleのイベントで『Be my eyes』という視覚障がいのある方をサポートするAppのデベロッパの話を聞く機会がありました。なぜ開発したのか、デベロッパから直接話を聞く機会は子どもたちにとってもとても勉強になると思います。様々な工夫や努力が積み重ねられてAppが運営されているのですが、目の前の問題に向き合う中で、Appのサービスを実現できた、という話を聞けて、とても興味深かったです。日々の生活の中で子どもたちも、この世界にある問題を、新しいものを作ることで解決できる、と感じ取っているのではないかと思います」

Appを通してつながった人が、画面に映ったものを説明するなどのサポートを提供できる「Be My Eyes」。

    Be My Eyes – Helping blind see

    ライフスタイル

    表示

充実した放課後に
つながれる居場所

子どもたちのプログラミングへの興味や子どもたちの生み出す可能性をどのように広げていけば良いのでしょうか。どのような教育が必要とされているのでしょうか。

森先生:「子どもたちのコーディングへの興味が大人側に十分に認識されていないように感じます。例えばワールドワイドデベロッパカンファレンス(世界開発者会議、WWDC)でSwift Student Challengeを実施しているなど、若い開発者を支援するプログラムは意外とたくさんあります。そして興味のある子は、自分たちで調べていて、それらの存在について教師たちよりもずっと詳しかったりもします。そうした子どもたちが、さらに伸びていけるようにサポートするのは、教師側のチャレンジだと思っています」

日々の生活の中で子どもたちも、この世界にある問題を、新しいものを作ることで解決できる、と感じ取っているのではないかと思います

森裕崇さん、京都市高等学校教師兼Apple Distinguished Educator。

また子どもたち同士が集まれる環境を作るのも、良いアイデアかもしれないと森先生は言います。

森先生:「子どもたちが自由にコーディングに挑戦して、失敗できる環境を作るのが大事かなとも思っています。放課後に自習するような感じで、クラブとかみんなで一緒にプログラミングに取り組める場が作れたらいいなと思います。生徒の中には、放課後にそんなこと(プログラミング)をやっていいんですか、と聞いてくる子もいるのですが、むしろ放課後にもっと自由にやれる場所を作れたら良いな、と思います。そこは僕たち教師の方に課せられているように思います。例えば、Swift Student Challengeに参加する子どもたちの横のつながりとかも作れたら良いかもしれません。学校が抱える問題として、先生の数が圧倒的に限られているというのがありますが、コミュニティを作って、運用できれば、もっと気軽に子どもたちが参加できるのではないでしょうか。子どもたちは放課後の方が元気です(笑)」