5歳の子供と遊んで学ぶプログラミング。楽しく子供の論理的思考力を育てたい

スポンサーリンク
Pocket
LINEで送る

私の職業は、いわゆるSEやPGと呼ばれるものです。

でも、プログラミングの勉強は社会人になってから学びました。

それまでは普通の文系大学生でした。

仕事では、営業部から開発依頼を受けてシステム開発をします。

その中で一番困るのが、その人の感覚で物事を漠然と伝えてくる人。

たとえば、「使いやすいの」とか。

でも、こちらからすると

「使いやすいってなに?」

「使う人はどんな人?若い人?年配者?」

「どんなときに使うの?」

など、いろいろ疑問に感じてしまうのです。

だって、

Aさんにとっての使いやすい

「多少時間がかかっても、ボタン一つ押せば、処理ができるもの」

Bさんにとっての使いやすい

「処理前のデータチェックなどは人が出来るから、それよりも複雑な部分だけをシステムで処理して。とにかく作業を早く終わらせたい」

かも、しれません。

でも大抵の依頼主は、私のことを相手の考えを読み取れる超能力者と思っているのか

自分の要望を精査せずに開発依頼をしてきます。

そのために、私たちはまず依頼主の持っているイメージを

誰でも理解できる文章にする作業から始めます。

そうすることで依頼主も自分が何を望んでいるのか、

もう一度考えるきっかけにもなります。

でも、自分の考えをしっかり相手に伝えるのって難しいですよね?

そのために、何度も何度もやり取りしてイメージを具体的にしていきます。

でも、たまにいるんです。

いつまで経ってもイメージを具体化できない人。

きっと、やったことないんだと思います。

高学歴の方でも、自分の中にはイメージはあるのにそれを相手と上手く共有できない。

学校の成績は良かったかもしれませんが、それではこちらも困ってしまいます。

そうした仕事上の経験(苦労)から、

自分の子供には自分の思い・考え方を

しっかり言葉で表現する力を身に付けさせたい。と思っていました。

なぜ、プログラミングを学ぶと論理的思考力が身に付くの?

料理とプログラムは似ていると思います。

料理に必要な材料、設備、レシピがなければ、その料理は完成しません。

また美味しく作るためには、レシピ通りに作業をしなくてはいけません。

そして、そのレシピを使えば誰でもいつでも同じ味を再現することが出来るのです。

再現性がある、というのはとても重要ですね。

レシピさえあれば食べたことのない料理も作れてしまいますよね?

突然ですが、試しに目玉焼きレシピを書いてみましょう。

——————————————-
<材料>
卵Lサイズ 1個

<道具>
コンロ
フライパン 1つ(大きさは直径16センチ以上)
平皿    1つ(大きさは直径16センチ以上)

<手順>

  1. コンロの上にフライパンを乗せ、中火で加熱
  2. その間に、お茶碗に卵を割っておく
  3. フライパンがあったまってきたら、2の卵をそっとフライパンに乗せる
  4. 火を弱火にして蓋をする。
  5. そのまま5分待ったら、火を止めて蓋を外す
  6. フライパンの目玉焼きをお皿に移す

——————————————–

どうですか?

目玉焼きは5分もあれば完成できるほど簡単な料理です。

でも、単純でもいくつもの手順があることがわかると思います。

この手順は1つ1つ意味があるもので順番を守らなければ、目玉焼きは完成しません。

プログラミングも同じです。

大事なのは、完成をイメージして必要なもの材料をリストアップし、

材料をいつどのタイミングでどのように使用するのか考える。

今考えた目玉焼きのレシピのことをITの世界では「アルゴリズム」と言います。

「アルゴリズム」、お子さんがいる方ならなんとなく聞いた事があるのでは?

N●Kの子供番組でやっている「アルゴリズム体操」ですよね!

複数人が一列に並んで、それぞれ違う動きをしながら進んでいるが、

全体でみるとそれが妙に組み合わさって意味を成す。という面白い体操です。

アルゴリズム体操は以下の7つの動作に分けられます。

  1. 一歩進んで 前ならえ
  2. 一歩進んで えらい人
  3. ひっくりかえって ぺこりんこ
  4. よこにあるいて きょろ きょろ
  5. ちょっと ここらで ひらおよぎ
  6. ちょっと しゃがんで 栗ひろい
  7. 空気いれます シュウ シュウ
  8. 空気が入って ピュウ ピュウ

アルゴリズム体操も完成系を最初にイメージし、

一つ一つ動きを分割し、手順を組み立てていく。

そうやって作られたんだと思います。

そして、1から7までの流れが完了したら、また1の動きに戻って繰り返す(ループ)。

一つの動作が抜けただけで意味は崩れてしまうし、

動作の順番を入れ替えても成り立たない。本当に素晴らしい体操だと思います。

さて、話しを元に戻します。

プログラミングというと、多くの方は

プログラミング言語という英語みたいな言語を覚えなきゃいけない。

と、思われるかもしれません。

たしかに、多少のプログラミング言語は覚える必要がありますが

1番大事なのは、料理のレシピを考えたように

完成をイメージして、手順を組み立てていくことなんです。

重要度としては、

要件定義・設計5割、実装3割、テスト2割ぐらいではないかと思います

(あくまでも個人的なイメージです)

要件定義っていうのは、完成系を具体的にするということです。

(例:目玉焼きの黄身を半熟にするのか、固焼きにするのか)

要件定義・設計さえしっかりしていれば、

実装(プログラミング言語で書く)はさほど難しくありません。

設計書通りに作ればいいんですから。

よく例えられる、車の設計も同じですね。

クルマの完成イメージを決め(黄身が半熟の目玉焼き)

クルマの組立手順を考る(レシピを作る)

部品を揃る(卵、フライパンがあるか確認、無ければ購入)

作業ラインで一つずつ組み立てていく(調理)

完成

あんなに複雑そうなクルマも、

部品1つ1つの組み立て工程はとてもシンプル。

複雑そうな物事も1つ1つ分解して

シンプルに考えることが重要。

ということですね。

こうした「自分が目指すゴールを具体的にする

そのゴールを実現させるには、何が必要なのか

という具体的にイメージする力は、

子供のころから自然に鍛えられるといいですよね。

頭の固い大人になってから、こうした考えを身に着けるのは難しい気がします(20代はギリギリ)。

こうして、偉そうに書いている私も社会人なりたての頃は本当に苦労しました・・・。
(百戦錬磨の大先輩からしたら、まだまだ下っ端ですが)

そんな苦労もあって、いつかは娘にも本格的なアルゴリズムでなくとも、

そのような思考を教えたいなと思っていた時に見つけたのが

「5才からはじめる すくすくプログラミング」という本。

スクラッチジュニアというタブレットアプリを使用して

子供でもプログラミングが学べるというもの。

発売当初はiPadしか対応していなかったようですが、その後Androidにも対応。

我が家はAmazonのタブレットしかないのですが、それでも使用できました。

お値段で、少し悩んだのですが

小学校でもプログラミングが必修になるという話もあるので

他では学べない思考力が幼いうちに身に付くといいなと思い購入しました。

(なにより私が読んでみたかったというのもあります)

購入したのはまだ娘が4歳の頃。

5歳になったら一緒にやろうと思って、約1年・・・(骨折や引越し等あって…)。

気付いたら娘は5歳半になっていました。

これでは、いけない!!

と、思い立って、娘と一緒にはじめてみました。

我が家は保育園児のため週末しか時間がないのですが

少しずつ進めていこうと思います。

そのあたりの記録も、また順次記事にします!!

————————————–

論理的思考力というと、難しく聞こえるかもしれませんが、

要は筋道を立てて物事を整理する力だと思っています。

よく子供と会話していると「何がいいたいのか解らない」「話がそれていく」

と感じたことありませんか?

大人でもありますよね。「で、結局何の話ししてたっけ??」みたいな(笑)

そんなときに順序立てて上手く話すことができたらなって感じますよね!ね!?

ある程度は大人になるにつれて上達すると思いますが

早く身に着けることが出来れば、早いに越したことは無いですよね。

あー。

私も論理的に物事を話せるようになりたーい!!(最後は愚痴でごめんなさい)

————————————–

シェアする

  • このエントリーをはてなブックマークに追加

フォローする