日本の学校における教育課程の基準となる「学習指導要領」は、おおむね10年に1度大幅な改訂が行われる。直近では2017年3月に改訂が行われ、小学校課程では2020年度(2020年4月)から、中学校課程では2021年度(2021年4月)から改訂内容が完全実施されている。
小中学校課程における新学習指導要領において目玉の1つとなったのが「プログラミング教育」の導入である。小学校課程では複数の既存教科(主に算数と理科)の学習にプログラミング教育を組み込むのに対して、中学校課程では「技術・家庭科」の技術分野に組み込む形で実施される。
プログラミング教育の必修化を見越して、東京都渋谷区は2019年6月、同区に本社を構える企業5社(東急、ミクシィ、サイバーエージェント、DeNA、GMOインターネット)と「プログラミング教育事業に関する協定」を締結。この協定に基づき、「Kids VALLEY 未来の学びプロジェクト」が立ち上がった。
参画企業の1つであるミクシィは、2020年度から渋谷区立鉢山中学校でプログラミング教育の支援を行っている。プロジェクト全体において、中学校を対象とする支援は本件が唯一だという。
先述の通り、2021年度から中学校課程でもプログラミング教育は必修化されている。それに伴い、鉢山中学校の技術・家庭科の授業において、ミクシィが新たに開発した授業カリキュラムと専用ソフトウェアが用いられることになった。
前置きが少し長くなったが、筆者はその授業を見学する機会に恵まれた。そこで「前編」「後編」の2回に分けて、その模様をお伝えしようと思う。前編では、初回の授業(9月8日実施)と2回目の授業(9月15日実施)の様子をまとめる。
●あえて「キーボード入力」でプログラミング
ミクシィが開発したカリキュラムは「ミクシィ中学Pythonプログラミング課題解決実践」という。名前の通り、「Python(パイソン)」というプログラム言語を使って学習を進めることが特徴だ。
読者の中には「言語を使うのは当たり前でしょ?」と思う人がいるかもしれない。しかし、中学校におけるプログラミング教育では、小学校課程と同様に「Scratch」のような「ビジュアルプログラミング」を用いるケースが多い。キーボードによるタイピングが苦手な生徒でも取り組みやすいからだ。
一方で、PythonはAI(人工知能)などの開発でも使われる本格的なプログラミング言語である。当然、キーボードを使ってスクリプトを入力しなければならないため、キーボード入力が苦手な生徒にとってハードルは高い。ただし、渋谷区では区立学校に通う児童/生徒全員に「Surface Go 2」のLTEモデルをキーボード込みで貸与している。それを踏まえて、より実践的なキーボードを使ったプログラミングを教えることになったのだろう。
鉢山中学校ではSurface Go 2の自宅への持ち帰りも認めていることもあってか、キーボードに不慣れな生徒は思ったより少ない(さすがにゼロではない)。学習用端末の持ち帰りは、キーボードを含めた端末への習熟に一定の効果があるようだ。
●体系的に学べるように工夫されたカリキュラム
ミクシィのカリキュラムでは、同社が開発したオリジナルの学習ソフト「Python Programming Software by mixigroup(PPS)」と、Pythonの文法が学べるテキスト「Python 文法基礎」が大きな柱となる。
PPSは「Pythonの文法学習」「コードパズル」「課題解決」「ソフトウェア開発」の4つの機能を備え、Pythonを体系的に学べるように工夫されている。テキストは31ページ構成で、「型」「式」「制御文」といった基本から、「関数定義」「クラス定義」といった応用まで一通りしっかり解説している。
プログラミング学習の単元「情報の技術」は、50分×4コマで学ぶことになる。PPSとテキストの内容を全て網羅するには、どう考えても時間が足りない。しかし、自分で学習を続けられるように工夫されているので、興味を持った生徒は自宅などでもPythonの学習に取り組める。
●1回目の授業で制御文まで学習
ここからは、1回目の授業の様子を見ていこう。
始めに、鉢山中学校で技術分野を受け持つ磯部正則教諭から、この授業の講師役を務めるミクシィの田那辺輝氏が紹介された。田那辺氏は今回の企画の中心人物で、PPSやテキストの開発にも関わっている。
先に触れた通り、ミクシィは2020年度から鉢山中学校におけるプログラミング教育に携わっている。田那辺氏は2020年度も講師を務めていたそうで、中学生を相手にそつなく説明をこなしていた。
●中学校の「技術・家庭科」のカリキュラムについて
現行の学習指導要領における中学校課程の「技術・家庭科」では、「技術分野」と「家庭分野」のそれぞれが4つの内容で構成されています。指導計画(実際の授業の進行)は学校により異なりますが、以下の内容を3年間かけて学んでいくことになります。
・技術分野(全内容必修)
・A:材料と加工に関する技術
・B:エネルギー変換に関する技術
・C:生物育成に関する技術
・D:情報に関する技術
家庭分野(A~Cの一部小単元は選択必修)
・A:家族・家庭と子どもの成長
・B:食生活と自立
・C:衣生活・住生活と自立
・D:身近な消費生活と環境
今回のプログラミング授業は、「技術分野D(情報に関する技術)」の小単元の1つ「プログラムによる計測・制御」に含まれる内容です。
田那辺氏はまず、Pythonの特徴やPPSの使い方などを説明を説明した。その後、文法のテキストが配布された。
これを踏まえて、田那辺氏はPythonの基本的な言語構造である「型」「式」「文」「コメント」などを解説し、プログラムの入力と実行の手順を示した。
その後、生徒たちは実際にテキストを見ながら各自Pythonのコードを入力し、その動作を確認するといった流れで学習が進められた。
1回の授業は、50分しかない。そのため、説明はやや駆け足だったが、生徒たちはみな集中して取り組んでいた。驚いたことに、最初の授業で基本的な制御文である「if文」や「for文」まで進んだ。
田那辺氏の他に、ミクシィからは指導補助として数名のスタッフが参加し、適宜生徒たちのサポートに入っていた。このことも、想像以上のスムーズな進行につながったのだろう。
授業の最後に、磯部教諭から各自の端末を使って授業アンケートに答えるように指示があった。この回答をもって、1回目の授業は終了となった。
●2回目では「リスト」の概念まで学習
ちょうど1週間後の9月15日に行われた2回目の授業では、机の配置が変わった。これにより、生徒同士が相談しながら課題に取り組めるようになった。講師は、引き続き田那辺氏が務めた。
まず、前回の授業の復習として、for文を使った繰り返しの解説が再度行われた。ここは念入りにということだろう。
復習後、2回目の“本題”である「コードパズル」の解説が始まった。コードパズルには多くの課題が用意されており、正しくクリアできれば「Mission Complete!」と表示され、次の課題に取り組めるという仕組みだ。
課題はスモールステップ(小規模)だが、進めれば進めるほど難しくなっていく。隣に座っている生徒と相談しながら進めることはもちろん、黙々と自力で取り組みやすくもなっている。筆者が観察する限り、相談しながらコードパズルに取り組む生徒が多かったが、無事に「Mission Complete!」が表示されると所々で笑顔が見られた。
キーボードごとSurface Go 2が貸し出されているとはいえ、タイピングの習熟度には生徒ごとに差がある。そのため、プログラムの入力に手こずる生徒も見受けられたが、前回同様に集中して課題に取り組む姿が印象的だった。
コードパズルがある程度進んだ所で、もう1つ“本題”である「課題解決」のやり方が説明された。
課題解決では、「オラゴン」というキャラクターをプログラミングによって動かし、ゴールに到達させる。当然、オラゴンを動かすためにPythonを使うのだが、授業の時間を考えるとコードを一から書くのは難しい。
そこで今回は「前に○歩進む」「右に90度曲がる」といったプログラムがボタンとしてあらかじめ用意されており(いわゆる「ライブラリ」に相当する)、そのボタンを押していくことでコードを生成できるにしていた。
この課題には、プログラムの手法によって幾つもの「解」がある。そのこともあり、課題解決までのアプローチは生徒によって異なる。地道にクリアする生徒もいれば、「そういうやり方もあるのか!」というプログラムを組み立ててゴールにたどり付く生徒もいた。
授業の終わりでは、再び文法解説が行われた。シーケンスの一種であり、配列みたいな使い方ができる「リスト」をメインに、「リスト操作組み込み関数」「ディクショナリー」「文字列検索」「リスト検索」まで解説された。前回の授業と同様、思った以上にハイペースである。
今回は、授業後に数人の生徒から授業の感想を聞いてみた。すると、こんな回答が寄せられた。
進むのがちょっと早くて大変だったけれど、うまくプログラムが動くとうれしかった。
あまりプログラミングに興味がなかったけれど、少し仕組みが分かった気がした。
カッコや記号なども正確に打ち込まなくちゃいけないのが難しかった。
授業中の真剣な様子を見ても、プログラミングについて興味がある生徒は男女を問わず多いようだ。
後編では、3回目(9月22日実施)と4回目(9月29日実施)の授業の模様をお伝えする。楽しみにしていてほしい。
PCUSERより