プログラミング教育を進める — 吉田 晋

突然ですが、問題です。
① (1-2)%8 を求めよ。

これ、求められますか?
何を言っているのかさっぱりわからない、という方が大半ではないかと思います。
では次はいかがでしょう?
② 8を法とする剰余類で、1-2と合同な数を0~7のうちから選べ。

ちょっと言葉は難しいですが、②なら数学A(高校1年生程度)の範囲です。
とはいえ、これでもまだ難しいかもしれません。
次はどうでしょう?
③ 図で、+(数)は時計回りに(数)歩進める、-(数)は反時計回りに(数)歩進めるとします。このとき、1-2を求めなさい。

③まで来ると、小学生でも答えられるのではないかと思います。
実は、①~③はすべて同じことを聞いていて、表現が違うだけです。
ちなみに①はPython (パイソン)というプログラミング言語で書かれており(Python 以外の多くの言語でも同じ書き方ができます)、手元のPython に計算させると、次のように返ってきます。

$ python
>>> (1-2)%8
7

ということで、正解は「7」です。

さて、本校科学部のチーム”NANAKA”は去る2月11日に最終審査会が行われた、「きのくにICTプログラミングコンテスト Switch Up WAKAYAMA2019」において、最優秀賞をいただきました!受賞作品は”AIで火事を予測”というもので、過去のデータから和歌山県内で火事が起こりやすい箇所をAIに計算させ、地図にして表示するアプリです。

もちろん大変うれしいのですが、同時に大きな重みを感じています。ご存知の方も多いと思いますが、この4月から全国の小学校でプログラミング教育がスタートします。高校では2年遅れて2022年4月から全国でスタートということになっています。そんな中、和歌山県は知事様の強い意向もあってプログラミング教育にとても力を入れており、本コンテストもプログラミング教育を盛り上げるための一環という位置づけになっています。その栄えある第1回目の大会で最優秀賞を頂いたということは、次年度以降エントリーなさるみなさんは我々の作品に追いつけ、追い越せと立派な作品を作ってくるでしょう。我々も負けてられませんが、全体のレベルが上がることはすばらしいことと思います。

ところで、プログラミング教育はいったい何を目指しているのでしょうか。これについては立場によって様々な考え方あると思いますが、数学を教える立場から言うと、「数学に対する見方を1つ増やす」ところに意義があるように思います。上記の例でいうと、②の問題が与えられたとき、「あ、これはプログラムでいうと①のように言えるし、図示すれば③のようになるんだな」ということになります。数学は多角的な見方・考え方を学ぶ学問ですから、見方が1つ増えるということはとても大きな意味を持ちます。①の見方は確実に、プログラミングを学ばないと身につかないものですよね。

高校で本格的にプログラミング教育が始まるまでまだしばらく時間がありますが、本校科学部では先取りして行っています。初心者の方にはScratchやmicro:bitから上級者にはPython、TensorFlowまで様々丁寧に指導いたします。もちろん中学生もOKです。なので、興味のある方はぜひ科学部に入って、プログラミングを一緒に勉強してみませんか。