子ども向けプログラミング

【現役SEの視点】子どもが楽しく取り組めるプログラミング学習法【2020年必修化】

更新日:

2020年4月から小学校でプログラミングが必修化されます。

「そもそもプログラミングって何かを知りたい。子どもがプログラミング学習を自分からやるにはどうすればいいだろう…。子どもの未来をよくしたい気持ちはあるけど、どうすればよいかわからない。具体的な方法が知りたい。」

こういった疑問に子ども・新社会人向けプログラミング教育経験豊富な現役SEがお答えします。

読者の方への前置きメッセージ

本記事は 2020年4月からの小学校でのプログラミング 必修化にさきがけて 「子どもが楽しく取り組めるプログラミング学習法を知りたい」という方に向けて書いています。

この記事を読むことで、子どもの「プログラミング『学習』に対するアレルギー解消方法、プログラミングの始めかた、これからの時代に必要となるスキルの習得」をイメージできるようになると思います。

「これから何をしていいのかさっぱりわからない」と感じていた退屈な大学生活を送っていた私を救ってくれたのがプログラミングです。 プログラミングで人生が変わった私が、これから大人になって世界に羽ばたく子どもに、プログラミングというツールを使って自身の人生を豊かにしてほしい、という気持ちを込めて記事を執筆します。

本記事のテーマ

【現役SEの視点】子どもが楽しく取り組めるプログラミング学習法【2020年必修化】

子どもが楽しくプログラミングをするまでのステップ

  1. 目標設定:子どもがプログラミング学習を進んでやる様になる
  2. 環境準備:必要なものはパソコンのみ
  3. 基礎理解:ビジュアルプログラミング scratch
  4. 学習手順:すぐに思いどおりに動くものの作り方を教える
  5. 実践練習:楽しいと思えば子どもは 進んでプログラミングをする

記事の信頼性

記事を書いている私は、プログラミング歴30年ほど。
現在フリーの現役SEです。
(開発やプロジェクト管理などのほか、子ども向けプログラミング教室教師や、新人教育のプログラミング講師といった仕事も含みます。)

それでは、さっそく見ていきましょう。

1. 目標設定: 子どもがプログラミング学習を進んでやる様になる

目標は「子どもがプログラミング学習を進んでやる様になる」とします。

嫌だと思ってしまったものを、自発的に継続して行うのはほとんどの子どもにとって難しいことです。

ですので、一見回り道に見えても子どもが「楽しい!」と思ってもらうことが「プログラミング学習を進んでやる」、その後の「プログラミングというツールを使って自身の人生を豊かにする」という目的の最短ルートです。

2.環境準備:必要なものはパソコンのみ

次の章で詳しく書きますが、小学校で使われるプログラミング言語はおそらく「scratch」というブラウザ上で動かす言語になります。

つまり、ブラウザが動くパソコンであればプログラミングできます。高価なパソコンは不要です。

たとえば、楽天で中古PCを検索するだけで2020年3月現在2~3万円のものがでてきますが、これらのPCで十分です。

ただ、中古のPCの場合は電池がほぼ無い状態で販売されているものも多いので、電源に常につないだ状態で使用した方が良いでしょう。

また、プログラミング学習以前に子どもが一番とまどうのがマウス操作です。いまの時代はスマホやタブレットがあたりまえになっており、画面をタッチするのとは違う操作に慣れるのに、多くの子どもは苦労します。

ですがマウス操作を練習するサイトはいろいろあります。

「マウス」「操作」google検索

ゲーム感覚で練習できるサイトも多くあります。「これからプログラミングをやっていくよ」という話を子どもにあらかじめする必要はありません。遊んでもらえればOK。練習用のサイトでマウス操作に十分慣れてもらってから、パソコンを使ったプログラミングを始めましょう。

3.基礎理解:ビジュアルプログラミング scratch

プログラミングとは

簡単に言えばパソコンにやってもらいたいことをパソコンがわかる言葉で順に書いた「文章」です。書いた文章を上から下にパソコンは実行していきます。

アイコンをクリックしたら動くアプリは、元々プログラマーがプログラムして作ったものです。

ビジュアルプログラミング

ビジュアルプログラミング言語(英: visual programming language)とは、プログラムをテキストで記述するのではなく、視覚的なオブジェクトでプログラミングするプログラミング言語である。(wikipedia より)

要はブロックを組み合わせることでプログラミングできる言語です。

ほかのプログラミング言語では文字列をたくさん書いたり、入れ子構造(ネストといいます)に悩まされたりしますが、ビジュアルプログラミングはこういった問題が圧倒的に軽減されている最高のプログラミング入門言語です。

scratch

前の章でも書きましたが、scratch はブラウザ上で動きます。scratch はMIT(マサチューセッツ工科大学)で開発された子ども向け入門用のプログラミング言語で、現在もMITのドメインの中で運営されています。2020年3月現在、無料で利用することが可能です。

scratch の公式サイト

様々な言語に対応しており、日本語の場合、「日本語」(漢字あり)と「にほんご」(すべてひらがな)の2パターンをそろえるほどの充実ぶり。制作されていらっしゃる方々には本当に頭が下がります。

scratch でプログラミングをする手順は簡単に書くと以下の通り。これだけです。

  • アカウントを作成
  • 「作る」を押してプログラミング開始

それぞれについて詳しく書いていきます。

アカウントを作成

※子どものアカウント作成は大人がやってしまって構いません。

まずは scratch のサイトにアクセスし、画面一番下の言語選択画面で「にほんご」を選びます。

次に画面上部にある「Scratchにさんかしよう」をクリックします。

username (ユーザ名、ただし他の人が使っていないもの) とパスワードを2回入力して「つぎへ」をクリックします。

住んでいる国を入力して「つぎへ」をクリック。

うまれた年月を入れて「つぎへ」をクリック。

性別を入れて「つぎへ」をクリック

メールアドレスを入力して「create your account」をクリック。

これで完成です。「はじめよう」をクリックすればプログラミングをはじめることができます。

「子どもがプログラミング学習を進んでやる様になる」 のが目標ですので、本来は大人があまり子どもに「こうやればできるよ」というアドバイス(≒こたえ)を出すべきではありません。しかし、こういったプログラムをつくる前の準備などでつまづいてしまうとプログラムを始める以前に「プログラムってつまらない!」となってしまいかねないので、もしも子どもがプログラムに入る前の段階で手間取っているならば手伝ってあげましょう

「つくる」を押してプログラミング開始

画面上部にある「つくる」をクリックします。

こんな画面が出た後に・・・

この画面がでてくれば成功です。いよいよプログラミング開始です!

4.学習手順: すぐに思いどおりに動くものの作り方を教える

キャラクターを上下左右に動かす

まずは簡単なプログラムから。キャラクターが動くプログラムを親子で作ってみましょう。短いもので全く問題ありません。矢印キー(↑、↓、←、→ )でそれぞれ上下左右にキャラクターが動くものを私はおすすめします。下の図は、その一例です。

子どもには scratch のブロックは「うごき」「みため」「おと」などのジャンルごとに分類されているということを教えてあげましょう。

「うえむきやじるしキーが押されるというのはイベントだよね。だからイベントのジャンルにあるんじゃないかな。」とかそんな感じの声掛けで大丈夫だと思います。

鬼ごっこプログラミングについて

文部科学省のガイドラインに「鬼ごっこ」のプログラミングについて記載があります (scratch での「鬼ごっこ」の作り方はこちら) 。すでに簡単なプログラムを作ったうえでの「鬼ごっこ」のプログラミング作成であれば教育経験も多い現役SEの私も賛成です。私自身初めて scratchで作ったプログラムは「鬼ごっこ」でした。

しかし、大半のプログラミングをはじめて経験する子どもにとってはこの「鬼ごっこ」のプログラミングはかなり難しいものになると思います。いきなり難しいものを作ることは普通できません。 私は他のプログラム言語でプログラミングの経験があったからできただけです。いろいろな失敗と成功を経験してだんだんと大きなものを作れる様になるのは子どもも大人も同じです。

もし、いきなり「鬼ごっこ」を小学校のプログラミング授業で教え始めることになったたとしたら、子ども達はほぼ間違えなくプログラミングが嫌いになるでしょう。そして、いままでプログラミングをしたことが無い小学校の先生方が文部科学省の意図を理解しちゃんと子どもにプログラミングを教えられるかも私は疑問です。

小学校の先生はすでに頑張っています。なかには時間外でも「子どものためになるならば」とさらに力を振り絞っていらっしゃる先生すらいらっしゃいます。そんな先生にこれ以上の負担を強いることは正直気の毒だと私は思います。

であるならば、自分の子どもにプログラミングを教えつつ、大人もプログラミングを通してスキルアップをしていくというのは素敵なアイディアではないでしょうか。

余談:Hello world について

プログラミング経験者の中で、はじめて大学や会社でプログラミングを学んだときに出された課題が「『Hello world と画面に文字を出してください。」だったという方は多いはずです。

確かに「すぐに思い通りに動くものをつくる」ということはこの課題でもできます。とはいえ、今の時代に自分の作った文章がパソコンに表示されても正直喜びはさほどではないでしょう。 文字しか出せないパソコンしかなかった時代。Windows95やMacintoshが出る以前は確かにそれでも良かったのでしょうが …

パソコンの世界はものすごい勢いで進化していきます。子どもや入門者に対しての教え方もどんどんそれにあわせてよくしていく必要があります。

5.実践練習: 楽しいと思えば子どもは 進んでプログラミングをする

答えは教えない

プログラミングをしていく中でわからないことは必ず出てきます。ですが、ここで答えを絶対に教えないでください。大人がプログラミング経験者だとやってしまいがちですが、(繰り返しで恐縮です)答えを絶対に教えないでください。最終的に子どもが自分で考えて答えにたどり着くのが目的です。考える機会を奪ってはいけません。たとえば google 検索のしかたや「どうしてこうブロックを組んだの?」とか子どもの考えを引き出す問いかけを行うのが、つまづいた子どもに対する良い接し方だと思います。

成功と失敗の繰り返しで子どもは成長する

自分でプログラミングを完成させることができれば「自分が思った様にパソコンの上でキャラクターが動いた!」という、ものすごい成功体験ができます。

成功体験はもちろん非常に大事です。しかし成功体験の前に子どもが経験している数々の失敗の方が実は子どもの成長にとって大事だったりします

失敗しどうすればいいか自分で考えて修正する

これを何度も繰り返すことがプログラミングに限らず成長の最短ルートだと私は思っています。プログラミングは、子どもが書いた通りにしか動きません。つまり成功も失敗もすべて子どもの書いたものの中に理由があります。成功と失敗の理由を理解する。これが文部科学省も目的としているプログラミング的思考の獲得です。プログラミング的思考は、他のどの分野でも必ず使える考え方です。

また、この「失敗→分析→修正」の流れ。私が見てきた限りすべての子どもが「楽しい!」と思ってくれます。

楽しくやることで明るい未来が見えてくる

楽しいと思えば子どもは 進んでプログラミングをします。そうなれば目的は達成です。

プログラミングについての大人の出番はここでほぼ終了。あとは、子どもを遠くから見守るだけにしましょう。子どもの成長にとって大人が必要以上にアドバイスを行うのはマイナスです。子どもが「これ作ったよ!」といって持ってきてくれたプログラミングをものすごく褒めてあげる。これだけで十分です。あとは子どもが勝手に成長していってくれます。

楽しく自分で考えながら成長する。これこそがこれからの時代に必要となるスキルです。

正しいプログラミング教育が行われることによって、子どもにとって素晴らしい未来が開けます。

それでは、皆様にとってよきプログラミング生活を!

というわけで以上です。
質問はTwitterからお受けします。お気軽にどうぞ。
» くらやす@子どもIT教育スペシャリスト (@kurayasukigyou) | Twitter

-子ども向けプログラミング
-,

Copyright© くらやすぶろぐ , 2020 All Rights Reserved Powered by STINGER.