その他
Webデザイナーに資格は必要?ウェブ業界の仕・・・
2020.08.31
TRASPコラム
その他
更新日:2023.04.13
公開日:2021.01.08
昔は珍しかったITも、今では日常で当たり前に利用する技術になっています。政府もITに関する重要性を理解しており、ITを理解する上で一つ重要となるプログラミングを2020年4月に必修科目として小学生の授業に加えるようになりました。
プログラミングではまずその構造を理解しながら論理的思考を身に付け、各コードで思考をサービスとして落とし込む力が必要です。子供へプログラミングを理解してもらうためには、親としても協力が必要でしょう。
今回は将来に備えたい家庭向けに、今からでも始められる子供のプログラミング学習に関して覚えておきたいことをまとめて詳しくご紹介していきます。
目次
子供へプログラミングに興味を持ってもらうには、まず親としてプログラミングの内容や面白みなどを分かりやすく説明できるようにしておきましょう。
プログラミングとは簡単に説明すると、「ノートパソコンといったコンピューターへ命令を出すためにコードを記述すること」です。コンピューターは人間の記述したコード(プログラム)に基づき内容を0と1の2進数へ変換して、命令を実行していきます。「Google Chrome」といったWebブラウザー上で使うサービスやスマホアプリなども、手法や言語は違いますがプログラミングによって制作されています。
初心者に分かるように説明付きで各言語を説明すると、
といった感じになります。他にもさまざまな言語が開発されて利用されているので、プログラミングを覚える際は最初に覚えたい言語を選択する必要もあるのがポイントです。ちなみに「JQuery」といったような、プログラミング記述を簡単にするための「ライブラリ」と呼ばれる技術も存在しています。
政府はITの広がりに伴い、ITのサービスを構築するために必要なプログラミングの必要性を痛感しました。そこで2020年4月から小学校へプログラミング教育を必修化して、将来のIT人材を育成しようとしています。
小学校のプログラミング教育では、直接コードを操作するようなことは行いません。あくまでもプログラミングの基礎となる基本的な考え方を理解できるような教育が行われています。
ただしプログラミングの面白みは、「一からコードを打てるようになってサービスやアプリなどを開発できるようになる」点にあります。「ノーコード(まったくコードを打たない)」や「ローコード(直接入力するコードが少ない)」といった技術を使えば簡単にプログラミングが実現できますが、できれば一からコードを打って簡単なサービスを制作できるようになっておくと、(簡単なフルスクラッチができるようになっておくと)将来のプログラミング学習においてもモチベーション維持に役立つでしょう。
ちなみにですが、ホームページを制作する「HTML(ページの中身について記述する言語)」や「CSS(ページのデザインを決める言語)」もプログラミング言語として括られるケースがあります。しかし上記2種はコンピューターが計算処理をして結果を出すための言語ではなく、内容をそのまま出力するのが基本の言語です。よって厳密にはプログラミング言語とは言えないので、間違って子供にプログラミング言語として教えないようにしてください。
コードを打って内容を読み込ませるという意味ではプログラミング言語に似た部分もあり記述も簡単なので、プログラミングを覚える取っ掛かりとしては優秀な言語ではあります(プログラミング言語ではないが言語と呼ばれる点も、違いに関する理解をややこしくしていそうです)。JavaScriptといったプログラミング言語と組み合わせる場面も多いので、覚えておくとプログラミング言語と同様役立つでしょう。
子供が今からプログラミング学習に取り組むと、次のような効果が得られるでしょう。
プログラミングというのは順番が肝心です。「次にこのコードを読み込ませた後に、このコードを読み込ませて命令を伝える」といったように順番を考えて記述を行う必要があります。
コード自体にミスがあったり組み合わせや順番が間違っていると、内容が想定通りに実行されずエラーが発生するので原因を考える必要が出てきます。またエラーの原因についても個所を特定して内容を一から洗い出すスキルが必要なのもポイントです。
プログラミング内容を意味が分かるように順番に組み合わせられるよう思考を鍛えるのは、論理的思考を身に付けるために必要なプロセスになります。つまりプログラミング言語を理解して打てるようになると、論理的思考が身に付くのがメリットです。
論理的思考はプログラミング言語だけに必要な思考ではありません。たとえば
といったビジネスの場面でも論理的思考に基づいて作業を行う必要があります。「学級会議」や「運動会」のような小学校のイベントでも、論理的思考が身に付いていると開催された際に子供が運営側に回ったとき役立つでしょう。
プログラミング言語は
といったようにさまざまな場面で利用されています。プログラミング言語を覚えて使えるようになると、いわゆるサービスを想像して作っている開発者の仲間入りができるのがポイントです。
一からプログラミングを行ってサービスを想像できるようになると、データ入力といった単純な仕事だけができるようになるよりも仕事の幅が広がります。
といったことが実現するのがメリットです。
またプログラマーやエンジニアなどに限らず、現代人にはWeb上のサービスやアプリを使うにあたって「このサービスはこうやって動いているから、こう動作させればエラーが解決するのではないか」というプログラミング的思考が必須になりつつあります。プログラマーやエンジニアに興味がなくても、プログラミング教育で教えてもらう内容については当たり前に仕事やプライベートで活用できるようになるように準備しておく必要もあります。
現代のIT社会においては、プログラミングを見ない場面はまずありません。表向き直感的に操作できるようになっているWebサービスやアプリも、実態はプログラミングの集合体で構成されています。プログラミングについて知らないと社会の仕組み自体が分からない可能性もあります。
プログラミングについて最低限仕組みを理解するだけでも、社会の成り立ちをよく理解してさらなる学びへつなげられるのがポイントです。またプログラミングコード自体を打てるようになれば、サービスを制作する中で社会に自分がかかわっていることをより実感できるでしょう。子供に学習させるだけではなく、メリットを理解して子供へ教えられるよう自分もプログラミング学習を行っておくとなおよいです。
ちなみにコロナ禍における企業のサービス提供や医療へのサポートも、プログラミングなしには成り立ちません。「コロナ禍で社会が成り立っているのは、ITそしてプログラミングがあるから」だと子供へ教えられれば学びを促進できるでしょう。
子供向けのプログラミング書籍を購入して学習に役立てている方もいらっしゃいます。ここでは効率よく書籍を手に入れるための3つの選び方をご紹介していきます。
文字だけの学習だと子供の理解が難しく、モチベーション維持が難しい傾向になります。このため説明イラストが豊富に用意されており、書いてある内容が分かりやすく補足されているか確認しておく必要があります。
といった観点で楽しく本を選べるとよいでしょう。
プログラミングを理解するには、まず基本的な構造を理解する必要があります。このため
を初心者向けに解説してくれている書籍は子供のプログラミングに対する理解を促進してくれます。大人でも読んですぐプログラミングの基礎が分かる内容だとグッドです。
プログラミングを理解するためには、構造の理解だけでなく実践も重要です。このため説明して終わりではなく、
といった書籍はプログラミング言語習得において役立ちます。
ちなみにプログラミングをプロから教えてほしい場合は、セミナーなどに参加して子どもといっしょにプログラミングを学習する方法もおすすめです。本だけを見て納得せず、子供がどんどん実践ができる環境を整えておきましょう。
ここからは子供向けのおすすめプログラミング本を5つご紹介していきます。
小学校入学前にスムーズにプログラミングを理解できる本です。
Scratchを活用してプログラミングの使い方や遊び方などを学べます。またひらがなで内容が書いてありイラストもポップなので、小学校入学前のお子さんでも楽しく読めるように工夫されているのもポイントです。Scratchの直感的にプログラミングを組み立てられるメリットも活かされています。
こちらもScratchを基に学習を行っていく本です。
国語、算数といった他の教科とも関連する問題が出てくるため、プログラミングが科目にかかわらず活用できる技術であり、考え方だというのを理解してもらうために役立てられるのがメリットです。大人でも読むとためになるプログラミング知識が記載されています。
プログラミング知識や技術がない大人が、子どもといっしょに学習を進められるようになっています。
シューティングゲームなどをいっしょに制作して遊べます。今はコロナウイルス蔓延で自宅待機している方もいらっしゃるので、すき間時間に子どもといっしょにプログラミング学習をして仕事に役立ててみるのもよいかもしれません。画像もたくさん掲載されているので分かりやすく、サンプルダウンロードも可能で学びやすいです。
ScratchだけでなくPythonも学習できるのがポイントです。Pythonは仮想通貨のブロックチェーン(前の取引内容を次の取引内容に暗号化して保存、鎖のように整合性を持たせて不正を防ぐセキュリティ技術)にも活用されている実用性の高い言語になっています。
条件分岐や繰り返しなどの実際にコードを打つ際の基本がすぐ分かり、Pythonの簡単なシステム作成も可能です。実際にコードを打って学習するので、踏み込んだ内容の本が欲しい方へおすすめできます。
中学生向けのプログラミング学習本です。
ネット接続環境で「Scratch2.0」を利用しながら学習を進めていきます。各ステージをクリアしながら徐々にプログラミングを理解していける実践度の高い書籍なので楽しく学べます。
直感的にプログラミングできるのでスムーズに学習できるのもメリットです。
先ほどまでプログラミングに使えるおすすめの書籍をご紹介してきましたが、スマホやタブレットのアプリを活用することでもプログラミング学習は可能です。
アプリでプログラミングを学習すると、
といったメリットがあります。ただし単独で詳しい学習を行うには不向きのケースも多いのがネックです。
たとえば「アプリで基礎を学習した後は実践的に学習できるサービスを紹介する」といった工夫が必要です。また書籍と併用して学習を促進するといった工夫も有効でしょう。
といったアプリが利用できます。個人的にポッキーを使ったプログラミング学習を実現した「GLICODE」は、子供の興味を引きやすくおすすめできるアプリです。
プログラミング教育に関して、親が注意すべきポイントもあります。
小学校のプログラミング教育では、直接コードを打ってサービスを作ったりという踏み込んだ内容には特に触れません。基礎は学べますが応用は難しいかもしれないというデメリットがあります。
このため親としては、コードを打って楽しくサービスが作れるレベルに無理なく子供を導けるように工夫を行う必要があります。
継続しないと力は身に付きません。子供がプログラミング学習を無理せず継続できるようにするには、
といった親としての協力も必要不可欠です。特にエンジニアとして活動している親の方はそういないと思うので、自分も初心者の場合は子供の教育を見て自分も理解ができるようにいっしょに学習してみるとよいでしょう。
親としてプログラミングの理解ができれば、子供の学習だけでなく自分の仕事にもプログラミングの知識や技術が活用できるようになり一石二鳥になります。
プログラミングというのは実践しようと思うと、嫌でもパソコン・スマホなどのディスプレイを見ます。長時間ディスプレイを確認するのはあまりよくありません。このため
といった学習上の工夫が重要です。
現在、無料でプログラミングを体験できるWebサービス(サイト)がたくさん提供されています。その中でも
といったサービスはおすすめです。
https://www.nhk.or.jp/school/sougou/programming/
「Why!?プログラミング」は有名芸人の「厚切りジェイソン」氏が出演しており、彼が仲間たちといっしょにScratchを使ってプログラミングに関する問題を解決していくスタイルで進行する教育番組です。テレビ番組でありながらWeb上で無料配信されているのもポイントで、
といったようにバラエティもさまざまな面白い動画が並んでいます。流し見するだけでもプログラミングの基礎が分かり面白くはありますが、実際にScratchを用意して画面通りに動かしてみるとより楽しめるでしょう。
「ドットインストール」は本来、社会人や学生などがさまざまなプログラミング言語を無料で学習できるWebサービスです。3分の動画で1講座が構成されており、すべての講座を見るとそのカリキュラムの内容を学習完了できます。すき間時間でも気軽に学べます。
有料会員になると
などが可能です。
Scratchに関する講座も用意されており、子供でも学習に活用できるのもメリットになっています。ただし説明文には漢字も普通に混ざっており、子供用に最適化して作られているわけではないので中学生以上くらいからの利用がおすすめです。
動画を閲覧して内容を確認するだけでもプログラミング理解は促進されます。しかしできれば内容を確認した上で直接実践ができる環境が用意されたサイトを利用したほうが、環境を用意する手間が省けますしリアルタイムで学習した内容をアウトプットできるので便利です。
おすすめのサイトは次の2つです。
小学生のプログラミング学習に活用されている代表言語、Scratchの公式サイトです。先ほども何度かScratchの名前は挙げていました。
Scratchはクリックするといった直感的な操作だけでプログラミングが実践できるのがメリットで、プログラミングの仕組みを楽しくキャラクターを動かしながら学習できます。公式サイトではさまざまなユーザーが制作したゲームが並んでおり、プログラム体系を学びながらゲームをプレイして仕組みを理解可能です。またその場でプロジェクトに参加して自分の作ったゲームを公開することも可能なのがポイントになっています。
他の方が作ったゲームを参考にして子供がゲームを制作できるようになるとよいでしょう。
日本製の言語作成ツールであり、信頼性も高いです。「メガネ」という仕組みでプログラミングを行うのが特徴となっており、組み合わせによっては難しい内容も実行可能になっているのがポイントになっています。
パソコンのブラウザー上からすぐに学習を始められますし、GooglePlayやAppStoreなどでアプリも提供されています。好きな端末上で学習が可能です。
「コンピュータをどう動かすか」というコンセプトのScratchとは違い「コンピューターに何をさせるか」に重点を置いたツールになっており、併用して違いを理解するのもプログラミング学習の理解に役立つはずです。
ここからはプログラミング学習を始める方法を解説していきます。
まずはどんな目的でプログラミング学習を学びたいのかを明確にしましょう。なるべく子供から「こうしたいから、この言語を学びたい」と自発的に考えさせるとモチベーションの維持や向上にもつながります。
といったケースが考えられます。言語の数は多いので目的といっしょに必要な言語(学習の必要がある言語)をいっしょに絞れるかが一つポイントです。
将来的なプログラミングの動向も加味しながら最適な目的を決定していきましょう。目的が明確でないとモチベーション維持が難しいですし、次々とプログラミング言語に手を付けてしまい混乱が起きてしまう危険もあります。
プログラミング言語によって用意すべき環境はさまざまです。
など必要なソフトウェアやデータなどをインストールして用意する必要があります。
上記例で言うとScratchやJavaScriptは開発環境の用意が簡単ですが、PythonはOSの「コマンドプロンプト」を操作したりと若干準備が面倒です。クラウド環境でブラウザー上からプログラミング開発するのもよいですが、本格的な開発にはローカル環境の用意が必須の場合もあるので注意しましょう。
また開発環境でプログラミングのスムーズにできるパソコンの用意も重要です。
ネットショッピングでのお買い物とパソコンを比較するスキルがあれば、子供用の中古パソコンを購入して学習に利用してもらうといった方法も有効です。あまりスペックの低いパソコンを購入してしまうとプログラミング動作に支障をきたす恐れがあります。事前にプログラミング言語の公式サイトなどにアクセスして必要なパソコン環境を確認してみてください。
プログラミング言語を学習するにはいくつか方法があります。
書籍を購入してテキストで学習する方法は、プログラミングが今より人気でなかった時代から利用されてきた学習方法です。書籍店や中古本店などで書籍は購入可能です。
書籍店で新品書籍を購入すると値が張るので、中古本店で購入するケースもあると思います。古い内容の本も多いので、今でも学習に通用するのかその場でスマホを使い確認すると間違いがありません。
テキストで学習する場合は開発環境の用意が必要です。テキストで読んだだけでは根本的なプログラミングコードは理解できません。ただし開発環境の用意についてはPythonのように手間が掛かるケースも多いので、時間があるときに準備してみてください。
Webサービスやアプリなどを活用すれば、書籍店に行かなくてもよいですし無料で学習が可能です。ただしより本格的なサービスを利用するために課金を必須としているサービスもあります。無料版で内容に納得がいけば課金しても大丈夫ですが、どんな機能が追加されるか確認して課金の有無を決定するのを忘れないでください。
Webサービスやアプリなどを活用すればその場で実践もできるパターンが多いので、開発環境用意の手間が掛かりません。ただし開発環境の用意に関する作業は将来的に必要になる可能性もあるので、あえて子供が自分で用意した環境でプログラミングを動かしてみるのも手です。じっくり内容を確認しやすい書籍も併用しながら学習を進めてみると、より効果が出る場合もあるので子どもといっしょに計画を練ってみましょう。
今回は子供のプログラミング学習について、親として覚えておきたい内容をまとめてご紹介してきました。
小学校の必修になったのはプログラミングの考え方や構造などであり、実際にコードを打って動作させるところまでは特にカバーしていません。ですから家庭ではその点を考えて実践がしやすいサービスを子供に使ってもらうのがポイントになってくるでしょう。
書籍やWebサービス、アプリなどさまざまな方法でプログラミング学習が可能です。子供がモチベーションを維持しやすいように親としても工夫して、場合によっては子供といっしょにプログラミングをマンで学んでいきましょう。