大学進学とともにプログラミングに出合った峰田さん。
今ではプログラミングスキルを磨いて、データサイエンティストとして航空業界のデータを分析し、搭乗予測を行うAI作成に取り組んでいらっしゃいます。
プログラミングとの出合いやその魅力、学ぶ際の心がけなどについてお話しいただきました。
※本記事は、2021年01月27日に「Z会 STEAM・プログラミング教育情報サイト」上で掲載した記事を一部修正の上、再掲しています。
[プロフィール]
峰田健司(みねた・けんじ)DATUM STUDIO株式会社/早稲田大学大学院理工学術院総合機械工学専攻修了。大学1年次に授業でプログラミングに出合い、ロボットプログラミングに熱中。
その後、ゲーム制作にも取り組む。大学院修了後はプリンターメーカーに就職し、機械系の開発職として自動で製品を組み立てる装置の開発に従事。業務の一環でプログラムを作成するうちに、プログラミングを仕事の中心にしたいという思いが募り、現在のDATUM STUDIOへ。
航空業界の顧客の行動データをもとに未来の搭乗を予測するAIの作成に従事している。※2021年1月時点
「動いているもの」の仕組みがわかるのがおもしろい
プログラミングに初めてふれたのは大学1年生の時です。
プログラミングをして簡単なモーターを回したり、ライントレーサーロボット(地面に描かれた線に沿って自動的に走る模型自動車)をつくったりする実験の授業でのことでした。
つくったものを好きに動かせることや、自分でつくることでこれまで見てきた「動いているもの」の仕組みがだんだんとわかってくることがおもしろくて、このライントレーサーロボットやマイクロマウス(自律制御で未知の迷路を走破するロボット)をつくるサークルに入り、競技会にも参加するようになりました。
そうするうちに、興味の対象がプログラムを書くこと自体に移ってきて、簡単なアクションゲームの制作など、パソコン上だけでできることに取り組むようになりました。
ゲーム制作は、ロボット製作と違って、部品をいくつも買ってくる必要がなく、パソコンさえあればできるので手軽だったという理由もあります。
私の周囲を見ていると、一口に「ロボット好き」と言っても二つのタイプがあります。
ロボットなど動くモノ自体が好きという人は、動くモノをつくることやそのプログラミングにはまりますし、動くモノ以上にその動かし方や複雑なロジックでモノを動かす方法を考えることに興味を持つタイプの人は、シミュレーションなどパソコン上でできるプログラミングに取り組んでいるように思います。
私は後者で、モノを動かす仕組みや複雑なロジックを考える方がおもしろくなったタイプです。
数学とプログラミング、働くこととの共通点
小学生のころから算数が好きで、中学・高校で数学になってもそれは変わらず。
算数・数学をとおして学んだ、「複雑な問題を分解して考える力」は、プログラミングにも、社会に出て働く上でも、役立っていると思います。
例えば、数学の応用問題の大半は、複数の基礎問題が組み合わさってできていて、難しい問題も分解すれば基礎的な知識で答えを導き出せるようになっています。
プログラミングも、複数のプログラムの機能が組み合わさって複雑な動きになるので、一つひとつの機能を覚えていくと複雑なことができるようになる点が、数学の考え方に似ていると感じます。
そして、実際の仕事においても、目の前の課題に対して、何を組み合わせれば解決できるかを考えることが求められます。
その際に、数学の応用問題を解くような感覚で、今自分ができることのうち「これとこれとこれを組み合わせればできるんじゃないか?」とか、「今の自分にはできないけれど、これを勉強すればできるんじゃないか?」とかいったことを考える力は、数学をとおして身についたものだと思いますね。
一方で、自分の考えていることを正確に言語化して相手に伝える力は、小学生のうちからもっと鍛えておければよかったと思います。
仕事をしていると、自分がやったことを上司やお客さんに伝える必要がありますし、つくったプログラムもただ動けばよいわけではなく、なぜそのように書いたのか、何を考えて設計したのかなどを説明することが求められます。
仕事を始めたばかりのころはうまく伝えられないことがよくあり、苦労しました。
いずれの場合も、答えがないなりに「自分はこう考えたから、こういう答えを出しました」と説明することが求められるので、小学生のうちから答えが一つではない問題に取り組んで、出した解の根拠を説明するような練習ができれば、仕事をする上でも役に立つんじゃないかと思います。
試行錯誤することを恐れずに
これからプログラミングを学ぶ小学生のみなさんには、「たくさん試して、たくさん失敗して、少しずつ成功に近づいていく経験」を積んでほしいと思います。
先述したとおり、仕事をしていると正解のない課題に直面することがたくさんあります。
そこで消極的になってしまったり、やったことのある考え方にとらわれてしまったりすると、いい仕事ができない場合があります。
とくに仕事を始めたばかりのころは、そこで二の足を踏まずにいろいろ試していくことで仕事そのものに慣れていけますし、効率的に速く成長できるのではないかと思います。
プログラムはデータなので、一旦今のプログラムを保存しておいて、少し変えて実行してみたり、その結果が良くなければ元に戻して、また別のところを少し変えたり…などとトライ&エラーがしやすいものです。
そうやって試行錯誤する経験を、早いうちからプログラミングをとおして積んでおけば、仕事で未知の課題に出合っても、躊躇せずにいろいろと挑戦できるのではないかと思います。
また、プログラミングを仕事の道具にして生きていく場合も、次から次へと新しく出てくる言語や技術をすぐに学び、自分のものにしていかないと、だんだんと時代においていかれてしまいます。
この点でも、いろいろなこと・ものを躊躇せずに試す力があることは重要だと思います。
保護者の方もプログラミングを楽しんで
保護者の方がお子さんのプログラミング学習をサポートする場合は、具体例やイラストを交えて補足説明をされるといいのではないかと思います。
例えば、「もしこうならAをして、そうでなければBをする」といった条件分岐の考えがあったときに、図に置き換えてみる、などです。
あるいは、現実世界で起こっていることについて「論理的に考えるとこうだよ」などと例示するのもいいと思います。
そうやって具体的なものに紐づけて考えていくことができると、「ゴールへの効率的な道筋を順序立てて考える」というプログラミング的思考を楽しんで身につけることができるのではないかと思います。
あとは、保護者の方自身にもプログラミングを楽しんでもらいたいですね。
私は、親から「パソコンでゲームができるよ」と教えてもらったことがきっかけで、小学校4年生の時からパソコンをさわり始めました。
これは、インターネット黎明期だった当時、親自身がパソコンでできることを楽しみながら探り、その情報を共有してくれたからこそ実現できたことで、このおかげで私も「パソコンって楽しいんだな」と感じることができたように記憶しています。
保護者の方が楽しんでプログラミングに取り組んでいるところを見せることができれば、お子さんもきっと「楽しいものなんだな」と思えるのではないでしょうか。
プログラミングをとおして身につく論理的思考や試行錯誤力は、どんなことにも役立ちます。将来プログラムを直接使う仕事に携わらないとしても、プログラミングの自由さ、幅広さを楽しみながら学んでいってほしいと思います。
峰田さんにQ&A!
Q1. もし今小学生だったとしたら、プログラミングを学んで挑戦してみたいことはありますか?
A1. スマホアプリ開発に取り組んでみたいです
スマホアプリなら公開する場があって世界中の人に見てもらえるので。
いろいろな人に見てもらって評価してもらえる経験ができれば、モチベーションも上がると思います。
友だちと開発し合って、それぞれにリリースしてダウンロード数を競い合うのもおもしろそうです。せっかくつくるなら、人の目にふれるものをつくると、やったことが報われるというか、やりがいになると思います。
Q2. 小学生のころからパソコンにふれていたとのことですが、どんなことをされていましたか?
A2. 小学生のときは、シューティングゲームやRPG風のゲームで遊んでいました
まだ常時接続ができなかった時代だったので、毎日ではなく、1回に1時間にも満たない時間です(笑)。常時接続ができるようになった中学・高校時代はネットサーフィンも楽しみました。
おかげで、パソコンに対して苦手意識をもつこともなく、マウスやキーボードの操作にも慣れておけたので、大学でプログラミングを学び始めたときに基本的な操作につまずくことなく研究や作業に没頭できました。
Z会サービスの紹介
学年やお子さまの興味に合わせた講座を展開中です。
- おうちで学べる通信教育 Z会のプログラミングシリーズ
https://www.zkai.co.jp/z-programming/ - Z会プログラミングシリーズ 資料のご請求【無料】
https://www.zkai.co.jp/z-programming/catalog/