プログラミングはおでんと同じ? 順・繰・条の基本ルールを覚えよう『親子で学べる いちばんやさしいプログラミング』#4
小学校でプログラミングが必修化されたけど、親はどうしたらいいの?プログラミング知識ゼロの方も必見! プログラミングスクールTechKidz ACADEMY 代表・熊谷基継さんの著書『親子で学べる いちばんやさしいプログラミング おうちでスタートBOOK』(すばる舎)よりプログラミングを親子で楽しむコツをお届けします。
プログラミングの基本ルールはたったの3つ
プログラムは「おでん」のレシピ
むずかしそうに見えるプログラムですが、じつはたった3つの思考法から組み立てられているという話を前回でしました。
「順次実行」「繰り返し」「条件わけ」この3つです。
簡単な例として、おでんを作るときの手順を「順次実行」「繰り返し」「条件わけ」で構成すると、上図のようになります。日常生活でもやっていることをプログラムというもので置き換えるだけなので、けっしてむずかしくありませんよね。
プログラムでゲームを作るのであれば、必要な機能や効果をパーツに分解し、その手順を3つのどれかにあてはめながらパズルのように組み合わせるだけです。まずはこの3つのパターンの組み合わせでできていることを覚えておいてください。今回はそれぞれの考え方について掘り下げてお話ししていきます。
<思考法 その1> 順次実行
順々に、次々と
プログラムは、基本的には上から下に書いた順番に、1ステップ(1行)ずつ実行されていきます。この順番に実行していくという考え方が「順次実行」です。当たり前といえば当たり前ですが、実行する順番を間違えるとうまく動かないため、何を先にやるべきか優先順位をつけることが必要になります。
たとえば絵画、とくに水彩画でいえば、はじめは「うすい色」で大きいところからぬって、だんだんと「濃い色」にして細かいところをぬっていく、というのが大原則です。もちろん例外もあって、いきなり濃い色からぬりだすこともありますが、原則そうしないのは、とりかえしがつかなくなるのを避けるためです。
段取り=流れを考える
また料理でいえば、煮物を煮るときの「さ・し・す・せ・そ」という言葉があります。これは美味いしく煮物を味付けするための手順をいったもので、「さ」は砂糖、「し」は塩、「す」は酢、「せ」は醤油(旧仮名遣づかいで「せうゆ」と書くのです) で、「そ」は味噌のことです。
ここでも淡く下味をつけるうすい調味料から濃い調味料へという流れです。これもまた、あくまで原則であって例外もあるのでしょうが、基本はこの順番で味付けをすると、うまく味が重なるように染みこむのでベストだということをいったものなんですね。
目標に向かって何をやるべきか、まずはパーツや要素、手順などをリストアップして(ここで抜け漏れがあってはNGです)優先順位を決め、それにしたがって順次こなしていく……。これは、ふだんの家事や仕事でもやっている考え方です。
機械やコンピュータにどの順番で実行させるかを考えるのがこの「順次実行」思考で、まさに段取り力の部分になります。
<思考法 その2> 繰り返し
共通部分をくくってラクしたい
次は「繰り返し」です。おでんや煮物でいえば、だし汁やスープが濁って見た目が悪くなるのを避けたり、雑味みが出ないようにせっせと繰り返しアク(灰汁)をとる作業がそれにあたります。
プログラムでは何回も同じことをやる場合、同じような記述を何回も書くのではなく、「○○回繰り返して」とか、「╳╳になるまで繰り返して」といった繰り返しの記述を用います。長いことプログラムの作業をしていると、「あれ、同じようなことを書いているなあ……」と気づくことがあります。いわゆる脳の「パターン認識」というやつです。
慣れてくると、このような場合に「少しでもラクをしたい」という、たいていの人間がもっている傾向から「同じ部分を繰り返しで1つにまとめられないかな?」と効率化を考えるようになります(とりわけ、プログラマーと呼ばれる人たちはこういった思考の癖がしみついています)。子どもたちも例外なく、ほうっておいても効率化を求めるようになります。
「まとめ習慣」を親子で身につける
仕事も家事も、こうした要領によるところが大いにかかわっています。子どものうちからプログラムをやっておくことで、同じことをまとめるという合理的な思考法や、効率化を求める癖が自然と身についていきます。
「習い、性となる」(ナライショウというのは本来の読みではないようです)という言葉があります。習慣はその人間の性(特徴や性格)になるということですので、これを機に効率化を考えることを、癖や習慣にまで強化されてみてはいかがでしょうか?
仕事でも家事でもこの「まとめ癖」「まとめ習慣」が大いに役立つので、子どもたちだけでなく、親(大人)もいっしょに学ぶことで、いろんなムダがはぶけるかもしれません。
<思考法 その3> 条件わけ
たとえば京都旅行で
最後は「条件わけ」です。簡単にいうと、「もし〜なら……する」というが考え方が「条件わけ」です。たとえば朝、その日の天気予報が「(まとまった)雨」とか「降水確率が50%」とかであれば傘をもって出かけますし、「晴れ」であればもっていきませんよね。プログラムも日常の行動と同じように条件によって実行することをいくつか用意して書いていきます。
たとえば京都のような、観光スポットとともに美味しいお店がたくさんある観光地へ旅行にいくとき、事前に絶対はずせない観光スポットや第一候補のお店はどこか、その周辺に別の観光スポットはないかなどを考え、それをもとにルートを計画します。
また、紅葉シーズンならば嵐山、夜ならば先斗町などと、季節や時間帯、その日の天候などでも「条件わけ」してスケジュールや行程を決めるはずです。
条件わけは分岐点
あるいは、営業の人が商談するときもそうです。できる営業パーソンは、相手の興味や会話の内容によって、次に話す内容を変えているといいます。こうした臨機応変のシナリオ選択も、事前の「条件わけ」をもとに頭のなかで行なわれているわけです。
これがゲームのプログラムであれば、ゲーム展開を左右する分岐点になり、またゲームの細かいルールにも直結するものになります。もしここで、展開を左右する条件が「白か黒か」だけでなく「グレーもある」ときは、その場合の条件設定も必要になります。さもないと、そこでトラブってゲームが立ち行かなくなるからです。すなわち、プログラムを学ぶことで、事前に予想されるトラブルを解決するパターンを考えることになります。
あらかじめパターンが予測できれば、こういうときはこうすればいいという対応法を考えることによって、リスク・マネジメントができるようにもなります。プログラムもこれと同じで、起こりうる条件を予測しながら「条件わけ」の選択肢を書いていきます。
(熊谷基継『親子で学べる いちばんやさしいプログラミング おうちでスタート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冊でしっかり身につく本
早く仕事を終わらせたいから、プログラミングはじめました。