【こどもに説明もOK】プログラミングのイメージを、”家づくり”で説明する

プログラミング

こんにちは、元ITベンチャー企業でプログラマーをしていたおしま狩人です。

 

2020年から小学生への義務教育にプログラミングが必修化されますが、もしあなたのお子さんから

プログラミングってなに?難しいの?

と聞かれたときには

プログラミングは家づくりと同じだよ!

という答えでOKだと思います。

 

プログラミングを義務教育化する理由として、”論理的な思考を育てる”という目標が立てられていますが、

子どもにとっては抽象的でわかりにくいですよね。

 

”論理的な思考を育てる”というのは、プログラミングを学んでいく中で気づいたらそうなっていた!

という副産物的な要素です。

 

プログラミングを学んでできるようになることに

  • スマホやPCで動くアプリを作れる
  • WEBサイトを作れる
  • エクセルの作業を自動化できる

などがあげられますが、

 

今回はお子さんにもあなたにとってもイメージがつきやすい、スマホで動くアプリを家づくりと比べながら説明していきますね(`・ω・´)

アプリ = 家づくり

スマホのアプリを家づくりで説明していきます。

 

まずは必要な項目を書き出してみましょう。

比較項目スマホアプリ
骨格鉄筋や木材、コンクリートHTML
装飾フローリングや窓ガラスCSS
外部との連携水道や電気、ガスJavaScript, Python, Rubyなど

 

それぞれをサクッと解説していきますね。

骨格

家でもアプリでも、骨格となる部分が必要不可欠です。

建物にコンクリートや鉄筋、木材が使われるのと同じように、ぼくらが慣れ親しんでいるTwitterやInstagramの画面上の骨格部分はHTMLというプログラムでできています。

 

家の骨格部分がボロいと欠陥住宅になるように、アプリのHTML設計が下手くそだとエラーが表示されますし、雑に設計すると美しくありません。

 

HTMLとは、Hyper Text Markup Language(ハイパーテキスト マークアップ ランゲージ)のことで、文字や画像を表示させるための言語のひとつです。スマホのアプリやwebページなどに使われています。

装飾

家に壁や屋根をとりつけただけ…だけでも、住むことはできますが、おしゃれな窓ガラスやデザイン性の高い装飾をしたいですよね。

 

スマホアプリにおいても適切な配色をしたりアニメーションをつけることによって、みやすく使いやすいデザインになっていきます。

 

プログラミングでその役割を担っているのがCSSという言語です。

 

CSSとは(Cascading Style Sheets、カスケーディング スタイルシート)のことで、画面上のデザインを綺麗に整えていく役割を担っている言語のことです。

外部との連携

家を建てただけでは、快適な生活を送ることはできません。

水道や電気、ガスの供給をすることで不便なく生活することができますよね。

 

アプリにおいても、外部との連携をとり持つプログラミング言語が存在します。

骨格 = HTMLと表現しましたが、外部との連携をするPythonやRuby、Javaはアプリの”心臓”といってもいいです。

 

You TubeやInstagramを支えているプログラミング言語は最近人気のPythonで、Rubyは日本人が開発したプログラミング言語なんですよ。

まとめ

 

プログラミングってなんだろう?

という疑問でつっかかってしまうのは、プログラミングでできることが多く、イメージがしにくいというのが原因だと思っています。

 

今回はプログラミングのイメージを掴んでもらうために、身近なスマホのアプリを例にして紹介しました。

 

余談ですが、少し前まではHTMLやCSSを文字通り”手書き”で入力してキレイな画面を作り上げていましたが、

最近ではクリック&ドラッグで、HTMLやCSSの知識がそれほどなくても設計できるようになっています。

 

小学生の義務教育にも、まずはこのようなドラッグ&ドロップでプログラムが動くことを体感していくことから始まるようです。

 

あなたとお子さんのプログラミング理解に、少しでも役に立てたのであれば幸いです。

 

オンラインでお子さんのプログラミングスクールを受講するならD-SCHOOLオンライン、スクール通いなら全国200教室以上の展開をしているヒューマンアカデミー こどもプログラミング教室がおすすめですよ。

 

おしま狩人でした。