見出し画像

「プログラミング(Python)×数学」を理系女子先生が発信します!

受験シーズン真っただ中ですね!

私は前期試験で大阪大学理学部に落ち、後期試験で広島大学教育学部第二類に滑り込んだ口なので、この時期になると不合格だったあのツラすぎる思いと最後の最後に合格できたあの嬉し涙を今でも思い出してしまいます。

そして、楽しい大学時代はあっという間に過ぎ、大学4年次に受けた教員採用試験に2次まで合格したものの、「民間企業で働きたい」という思いから、悩みに悩み、採用試験を辞退しました。

その後、3年間ほど民間企業にてマーケティングや商品開発の業務に携わりながら、論文を書いたり、学会発表をしたりしていました。

そうした学会で出会った先生や教授の勧めもあり、もともと憧れを持っていた教員という仕事への思いが再燃し、とある私立中高一貫校の数学教師へと転職し、今に至ります。

こんなちょっと変わった経歴を持っているからこそ見えてくる「教員」という仕事の魅力や大変さを日々Twitterで発信しています。

子供2人を育てるために 必要な年収

Twitter:@usagi_teacher

そして、このnoteでは、Twitterでは書ききれない日々の授業の中で生まれた算数や数学の疑問を私なりの切り口でコンテンツ化していくことを目的に始めました。

これまで書いたnoteは、次の2つです。

画像3

何で0では割れないの?

画像4

何で数学は「分数」理科は「小数」で答えるの?

そして、本日のnoteは、「プログラミング」と「数学」というちょっとホットな話題を扱ってみたいと思います。

プログラミングを学ぼうと思った動機

まず、なぜ私がプログラミングを学ぼうと思ったのか、そして、このnoteで伝えたいことは何なのかについて言語化しておこうと思います。

プログラミング教育は、小学校では今年2020年から、中学校では2021年から必修化されるということで世間をにぎわせていました。

そんなプログラミング教育のスタートに当たり、さぞや教育現場は混乱しているだろうと思いきや、私の周り(高校)ではほとんどプログラミング教育について話題になることはありませんでした。

私が勤める私立高校は一応進学校の看板を掲げており、多くの生徒はいずれプログラミングを大学で学ぶことが予想される訳ですが、今のところ我が校で数学教師に求められていることは、目新しいところで共通テストに向けた思考力・表現力という名の記述力向上くらいで、プログラミングで何かをやらせてみようという空気は全くの皆無です。

とはいえ、これからAI時代に立ち向かっていかなければならない生徒を育てる立場として、プログラミングのことをまったく無視していくこともできないかなという思いに加え、小・中学に押し寄せるプログラミング教育の波はいずれ高校へも波及するはずと考え、仕事の合間を見つけてちょこちょこと勉強してみることにしました。

こんな動機で始めたプログラミングですが、高校数学をプログラミングで解いてみるとこれがかなり面白く、その過程で学ぶことや気付くことが多々あったため、こうしてnoteにて発信してみようという気になった訳です。

今年度プログラミングで実践したこと

2019年度に入り、4月からちょこちょことプログラミングを学び始めたわけですが、学ぶ過程で私なりにいくつか挑戦してみたことがあります。

まず学校設定科目を利用して、Scratch(スクラッチ)という小学校のプログラミング教材にもなっている言語を使ってゲームやロボット作りを生徒と一緒に半期で実践してみました。

これが生徒からはかなり好評でした。

また、ゲーム作りのプログラムを組む際に、三角比やベクトルが登場し、高校数学の活用実例として良い教材になりました。

また、この授業の集大成として、地域の方々が参加する公開授業や中学生向けのオープンスクール授業でもプログラミングを用いて学びを発信することができました。

こうやって、思い付きですぐ授業に取り入れられるのが私立高校の強みなのかもしれませんね。

この2つの経験を通じ、とても沢山の学びや気付きを得ることができたわけですが、同時にプログラミングに対する反応の大きさも実感することになりました。

そして、私自身、数学教師としてプログラミングと数学の関係に強く興味を抱くようになり、もっと数学に寄ったプログラミング言語を勉強してみたいと強く思うようになったというわけです。

プログラミング言語"Python"を学んでみた

画像3

数学に寄ったプログラミングを勉強したいと思ったものの、周りにプログラミングに詳しい方がいないこともあり、何から手を付けていいのか分からない状態だったわけですが、本屋に行ったり、ネット検索やSNSで調べてみたりしたところ『Python(パイソン)』という言語がどうやら数学と相性が良いらしいという情報を得ることに。

「Pythonで学ぶ数学」系の書籍が何冊も売られており、指南書や教材には困らないかなと考え、学ぶ言語をPythonに決定!(もっとおススメの言語があれば教えてください)

そして、環境構築がめんどくさかったので、Google Colaboratoryを使って書籍やYouTubeを見ながらアレコレとコードを動かしてみました。

画像5

Google Colaboでは数学を解くために必要なライブラリーがすぐ使えるため、上のように関数グラフを描くことも簡単にできてしまいます。

これによって数学の問題を色々と観察や実験することができるようになりました。

2020年の野望

記述数学とプログラミングの両方で問題を解いてみると、今まで見えなかった世界が広がっていくようでした。

初めに狙いを定めたのは、数学Ⅰで学ぶ「2次関数」や「2次方程式」の問題を教科書レベルから大学入試レベルまでPythonで解けるようになろうと取り組んでいます。

画像6

この分野をチョイスした理由としては、何となくプログラミングとの相性が良さそうで、かつ汎用性も高い分野だと思ったからです。

今はまだ教科書レベルの問題を何とか解けるようになった程度ですが、それだけでも日ごろ慣れてる記述数学とは違い、四苦八苦。

一方で、まだまだ偉そうなことは言える段階ではありませんが、これこそがプログラミング的な思考力なんだろうなと感じる気付きも多くあります。

そうした気付きを今後noteで発信していき、2020年は「数学×Python」の理系女子先生としてnoteやTwitterで注目される存在になれればいいな、と思っています。

こんな取り留めのない文章を最後までお読みいただき、ありがとうございました。