JSP_Blog

ジェイエスピー社員が綴る日替わりブログ

小学生にPythonを教えてみた

2020-11-30 13:04:13 | 日記
先日、ある小学生を家に招き、Pythonというプログラミング言語のさわりだけ、教えるというイベントがありました。

その子は、妻の職場の同僚のご子息なのですが、マインクラフトという「コマンドを手で入力すれば、作業を自動化できる」ゲームが友だちや学校のクラブではやっているらしく、その流れでプログラミングに興味を持っているとのこと。
そこで妻が、「うちの旦那からプログラミング教えさせようか?」と同僚経由でその子に伝えたところ、私の意志はさておいて、「やってくれるのなら教えてほしい」と言われたそう。
そのように囲まれてしまえば、未来ある若者に手ほどきしないわけにはいかない....と思い、お受けすることにしました。

本当はゲームを作れるといいのでしょうが、生憎私は情報処理が専門なところ....
どうやって教えるのがいいか....と考えようとしていた矢先です。
去年会社のIoT推進委員会の中で、「LINEを使ったチャットボットもどき」の作り方を私が教授したことがあり、それを覚えていた妻は、それならその小学生の子も興味を持っているそうだとすでに話を取り付けており、他にプランが思い浮かばなかった私は、それでいきましょ、と同意したという.....

私はPython言語を初めて使ったのは、まさにその「LINEを使ったチャットボットもどき」を作ったときでした。
しかも、コードはほとんどネット上のサンプルをコピーしただけのもので、実は構文すらよくわかっていないという....
LINEのチャットボットは、Python以外でも作れるのですが、ネット上にPythonサンプルが多かったので使っただけです。
ですが、やはり周りを囲まれているので、ここは覚悟を決め、もう少しPythonを自分でも勉強し、同僚のご子息にはLINEのチャットボットでPythonを少し触れてもらうことにしました。
とりあえず4時間くらいとしました。
世界で最も利用されているプログラム言語のひとつなので、小学生で触れておいて、この先も通用するでしょう。

せっかくなので、一度作ったものは彼がその後自分で自由にいじれるようになってもらえるように準備しました。
彼の名前入りで彼専用のメールアドレスやLINEのアカウント「LINE Business ID」を、こちらで作っておきました。
また、Python Anywhereという、WEBブラウザ上でPythonでコーディングし、そのままWEB上で無料公開できるサービスのアカウントも用意しました。
これで、パソコンとブラウザと各サービスのアカウントとインターネット利用環境があれば、無料でLINEチャットボット開発ができる状態になります。
LINEアカウント(LINE for Business)は月1,000通までは無料のフリープラン利用)
チャットボットは、普段の自分のLINEより友だち登録することで利用できるようになります。
ここで作ったLINEチャットボットを、彼の実際の友だちにも登録してもらい、遊んでもらえるといいなーと思いながら。
あと、ログイン手順やアカウントの設定内容もメモ書きして、渡せるようにしておきました。

さらに、このLINEアカウントを使って、あらかじめ次のような5種類のチャットボットを作りました。
【課題1】
LINEから入力したメッセージをそのまま表示するだけ
※変数の学習

【課題2】
特定のメッセージを入力すると、それに紐づく別の特定のメッセージを表示する
(例)
「あしたの」と入力すると「ジョー」と表示する
「こんにちは」と入力すると「さようなら」と表示する
※if文の学習

【課題3】
メッセージを入力し、その後改行して数字を入力すると、入力した数字の回数だけ入力したメッセージを表示する
※変数の型やfor文の学習

【課題4】
Google翻訳ライブラリを利用して、入力したメッセージを英訳して表示する
※すでにあるライブラリを使うことの学習

【課題5】
じゃんけんゲーム
※ランダム機能の学習
※こんな感じでゲームも作れるよ

課題というか、これらをどのように書けば実現できるかの例を色々見てもらおうという魂胆です。
とりあえず4時間しかないので、Pythonの細かいルールは手探りで覚えてもらおうかと。


そして、Python勉強会当日、妻の同僚とご子息がおこしになりました。
妻と初対面の私でお迎えしました。
雑談しながら、用意しておいたものを説明していきます。
小学5年生なのですが、マインクラフトで慣れていることもあるのか、コードの入力自体には抵抗がないようでした。
ですが、キーボードで日本語や英字を打つことには慣れていないようでしたね。
この4時間で、あまりPython自体の話はできませんでしたが、LINEのチャットボットのようなものが、こういったシステム構成で、こういったコードで実現できるのよ、ということをぼんやりでも学んでくれればよかったのですが、さてどうだったか。

この子はiPhoneのSiriに質問して遊んだこともあるようで、このボットにそれを重ねていたようです。
彼がSiri以上のものを作ってくれればいいのですけどね。

勉強会を終え、後日妻が同僚から聞いた感じでは、楽しんでくれたようでした。
さらにその後、彼は「Python Anywhere」でPythonコードを少し修正しようとしたようです。
それはまさに思惑どおりだったのですが、どうやら動かなくなってしまったと同僚の方経由で連絡があり。
調べてあげると構文エラーで止まっていたようです。
ひとまずこちらで修正し、スクリーンショットで修正前と修正後を送ってあげたのですが....どうやら彼は動かなくなってしまったことが怖くなり、その後いじらなくなってしまったのだとか....
うーむ、気持ちはよくわかる。
ですが、懲りずに何度もトライアンドエラ―を繰り返してもらいたい。
次にまた会って教える機会があるのなら、それを今度は伝えていきたいところですね。
同じコードをただ写経する(書き写す)だけでも勉強になるようですので。
(参考:外部サイト「「ぷよぷよ」を写経してプログラミング学習」

まァ小学生でJavaScriptでゲームを作ったとか、耳にしたりしますが....
いいなー小学生でPythonかー!
今の頭のまま小学生に戻りたい!!

(酒)

シンプル入退室管理
  限りなくシンプルなタイムカードシステム

WhitePlug
  手のひらサイズのLinuxサーバ

monipet
  動物病院の犬猫の見守りをサポート
  病院を離れる夜間でも安心

Smart mat
  重さセンサIoTで在庫管理に革新を。
  自動発注&メールアラートで欠品・発注ミスを防ぎます

RealStocker
  リアルタイムに在庫を見える化!
  スピーディかつ正確な入出庫管理を実現します

株式会社ジェイエスピー
  横浜に拠点を置くソフトウェア開発・システム開発・
  製品開発(moniシリーズ)、それに農業も手がけるIT企業
コメント    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 追悼 | トップ | 欲張りたまごプリン »
最新の画像もっと見る

コメントを投稿

日記」カテゴリの最新記事