アルゴリズムは"カレーライス"で掴め! 段取り力がプログラミング思考を育む 『親子で学べる いちばんやさしいプログラミング』#5
小学校でプログラミングが必修化されたけど、親はどうしたらいいの?プログラミング知識ゼロの方も必見! プログラミングスクールTechKidz ACADEMY代表・熊谷基継さんの著書『親子で学べる いちばんやさしいプログラミング おうちでスタートBOOK』(すばる舎)よりプログラミングを親子で楽しむコツをお届けします。
プログラミングはアルゴリズムがキーポイント
複雑なものを作るときに必要なこと〜アルゴリズムの考え方〜
ゴールを決めて道順を考えよう
前回もお話ししましたが、プログラムは通常、ある目的(ゴール)のために何をどの順番で組み立てればいいかを考えてから書いていきます。この目的を実現させるための手順・解き方がアルゴリズムでした。
たとえば「今夜は美味しいおでんを作ろう!」と思ったときは、もちろん「美味しいおでん」がゴールです。そして、それに必要な手順、すなわち「美味しいおでんの作り方(=レシピ)」がアルゴリズムです。
アルゴリズムについて考えるのが、あとあと大事になってくることも前述のとおりです。何も考えずにプログラムの組み立てを開始すると、多くの場合、途中でプログラムがぐちゃぐちゃになってしまって、わけがわからなくなってしまいます。
仕事も料理も段取りが命!
これから本文を読みすすめていただくにあたっては、まず、
①「こうすればいいかも!」と考える作業
これをしっかりしたあとで、
② 実際に手を動かしてプログラミング
この2段階の流れを意識して、取り組んでみてください。つねにアルゴリズムを考えるプログラミング学習をすることで段取り力がつくというのはこのためです。家事もビジネスも同じ。できる主婦もビジネスマンも段取り力が違います!
カレーライスのアルゴリズム〜作業を細かく分解する〜
バラバラにして順番を決めるだけ
では実際にアルゴリズム、つまり段取りを考えるコツをここで1つご紹介します。
そのコツとは、すでに少しふれましたが、作業をできるだけ細かく分解することです。なーんだと思われたかもしれませんね。でも、これ、すごくシンプルに見えて、けっこうむずかしいことなんです。
実際にカレーライスを例にとって、料理のアルゴリズムを作ってみましょう。まずはカレーライスの完成形をイメージしてください。そして、カレーライス完成までの道のりを、1つ1つの細かい作業単位にわけながら完成(最終ゴール)までたどっていきます。
もし、いきなり作業単位にわけるのがむずかしそうな場合は、最終的に作りたいものを構成するパーツ・素材から考えていくとわかりやすかもしれません。
大分類から小分類へ
ということで、まずはカレーライスを細かいパーツにわけていきましょう。カレーライスの場合は「カレーの具」と「カレーのルー」、そして「ライス(ごはん)」が構成するパーツになりますね。これらが大きな分類になります。
それらをさらに最小単位になるまでわけていきます(ステップ1・ステップ2)。その過程を図示したのが上図です。
次に、それぞれの具やルーを作るために必要な作業をリストアップしていきます。順番はいまの段階では考えず、思いつくままにリストアップしてください(ステップ3)。そして最後に、リストアップした作業リストを優先順位を考えて、いちばん効率のよい順番に置き換えてください(ステップ4)。
これでカレーライスのレシピの完成です。
レシピ不要のプロフェッショナル
今回はカレーライスを例にしましたが、きっとほとんどの方はカレーライスを作るのに、わざわざこういった細かい手順をリスト化したうえで作ってなんかいませんよね。
なぜなら、みなさんは「カレーライス作りのプロ」だからです。慣れてくればレシピがなくても作れますし、いちばん効率のよい作り方、オリジナルのカレーライスの作り方を編み出していることと思います。
これとまったく同じことが、プログラムにもいえます。最初は慣れないかもしれませんが、慣れてくれば何も見なくても書けますし、レシピなしでゲームを作ることもできます。プロのプログラマーも腕ききの料理人と同じ。いちばん効率のよいプログラムやオリジナルのプログラムを書いている人たちがプロのプログラマーなのです。
(熊谷基継『親子で学べる いちばんやさしいプログラミング おうちでスタートBOOK』(すばる舎)より一部抜粋/マイナビ子育て編集部)
>>『親子で学べる いちばんやさしいプログラミング おうちでスタートBOOK』のほかの記事も見る
<関連リンク>
・子どもの塾通い、何年生からが多い? 3割以上の親はプログラミング必修化対策も
・子供の電子ブロックまとめ!知育やプログラミング教育に役立つ理由
・子ども専用パソコンはいつから与える? いつから与えた? ママたち163人の考え
書籍『親子で学べる いちばんやさしいプログラミング おうちでスタートBOOK』について
小学校での必修化、あせらなくても大丈夫。まずは無料ソフトを使って、家庭でいっしょにトライ! できた! 楽しい! という体験をお子さんと積み重ねてください。
プログラミングの面白さに目覚めた子どもは、論理的に考える力、自分で答えを導き出す力をぐんぐん伸ばしていきます!
【目次】
はじめに/子どもたちがプログラミングを学びたくなる8つのステップ
第1章 いま最も必要とされているプログラミング教育〜親が知っておくべき7つのポイント〜
第2章 これだけ知っていれば大丈夫! プログラムの基本ルール
第3章 いますぐ始めるプログラミング【体験編】
第4章 いますぐ始めるプログラミング【クリエイティブ編】
第5章 いますぐ始めるプログラミング【継続編】
おわりに/おすすめ書籍およびWEBサイト
熊谷 基継さんのプロフィール
有限会社ENY代表取締役、プログラミングスクールTechKidzACADEMY代表。
1975年生まれ。 東京出身。 青山学院大学大学院理工学研究科修了。 院生時代に脳科学の一分野であるバイオフィードバック(生体自己制御)によるリラクゼーション・システムを研究。 大学院修了後、日本電気株式会社(NEC)のインターネット・サービス・プロバイダ事業(当時)BIGLOBEにて販促・営業を経験。
その後、飲食業界へと転身。 中目黒のおでん屋で料理人・店長として働く。 さらに企画・コンサルティング会社でWEB開発・マーケティングを担当したのち、新宿の専門学校HAL東京で講師(プログラミング、WEBデザイン担当)を務めた。
講師時代に「もっと早い時期からプログラミング教育はなされるべきだ」と思い立ち、オンラインによるプログラミング早期体験スクールを立ち上げ、現在に至る。開発したプログラミング教材が長崎県対馬市教育委員会に認定され、対馬市小学校のプログラミング教材として採用される。
マーケティング・エンジニア、デザイナー、イラストレーター、料理人など多彩な経歴を、小学生向けのプログラミング体験イベントやオンライン学習サービスの提供、中小企業向けITコンサルティング、WEBデザイン・開発などに生かしている。
代表的な著書
小学校6年生までに必要なプログラミング的思考力が1冊でしっかり身につく本
早く仕事を終わらせたいから、プログラミングはじめました。