最近、話題の「プログラミング教育」。
今日は、子どものプログラミングを学ぶ意味や学習法について、基本の話から一緒に考えてみましょう。

1. プログラミングは魔法のことば
まずは実際にプログラムをみてみましょう。
プログラミングを使うと、 まるで「魔法のように」いろいろなものを「操る」ことができます。それぞれの文字の大きさが時間に合わせて変化する このエフェクトは、「JavaScript」というプログラミング言語を使っています
コード引用元:https://codepen.io/Sitefall/pen/bgbmer

このプログラムは、パソコンで「JavaScript(ジャバスクリプト)」というプログラミング言語を使って入力しました。
決められた英単語や数式を組み合わせて、動作を記述しています。

ゲームやアプリ・ロボットなど、いろんな動作を「プログラム(前もって決める)」できるのが、プログラミングの魅力です
2. おすすめのプログラミング言語・環境
いきなり上のようなアルファベットの「コード」を学習するのは子どもにとっては難しいですが、オススメのプログラミング言語はいくつかあります。
2-1. パズルゲーム「Lightbot」(5歳ごろ〜)

「Lightbot」はロボットを動かすパズルを通して、「プログラム」に親しむゲームです。
プレイヤーは電気をつけるようにロボットを案内する「命令タイル」並べます。
シンプルなパズルですが、命令シーケンシング、手順やループなどの「プログラミングの基礎的な概念」が身につくように考えられています。
まずはこのようなプログラミング・パズルでお子さんの反応を見てみましょう。
自分の「命令」を並べて、「ロボットが思い通りに動く」という体験。
子どもさんはどんな反応をするでしょう?

大人も一緒に楽しめるパズルですよ

2-2. タイルを並べるのも立派な「プログラミング言語」

絵柄なのに「言語」は変な感じだね
「プログラミングといえば英語」と考えがちですが、「言語」の意味を調べてみると…
一定のきまりに従い音声や文字・記号を連ねて、意味を表すもの。
グーグルより
「記号」を組み合わせて「ロボットの動き方」という意味を表していますので、タイルを並べるだけのLightbotも立派なプログラミング「言語」といえます。

「これでもプログラミング言語なんだぁー」と私もびっくりしました
2-3. 定番は、Scratch(スクラッチ)

「Lightbot」の「ロボットが思い通りに動く」という体験にニコニコ笑顔の子どもたちは、「プログラミング」の適性が大アリ!
もっと自由に制御できる「Scratch(スクラッチ)」がオススメです。

子ども向けのビジュアルプログラミング言語はいろいろありますが、アメリカのMITの開発した「スクラッチ」が一番教育現場で普及していますね。
2-4. 教育用プログラミング言語のかんたんな歴史

これまでも小学校ではクラブ活動で「パソコン」がありました。
クラブ活動なので「必修」ではなく「選択制」でした。
そこではBASIC(ベーシック)とかLOGO(ロゴ)などのプログラミング言語が教えられていました。

子どもの頃に習った方もいるのでは?
今話題のScratchは、LOGOをもとに低学年でも触れるようにブロックの組み合わせで作れるようにしたものです。
これまでのプログラミング言語と似ている部分が多いことに気づきますか?
2-5. ゲームだってブロックだって立派なプログラミング
子どもたちの反応見てみると、一方で「いちいち命令を並べるのが、ややこしい・邪魔くさい」という子どももいます。
そりゃそうですよね。
小学生の発達段階ではまだまだ自分で直感的に動かす方が楽しい、という方が一般的です。

「動く!」という感動までの手順が多すぎると途中で飽きてしまいやすいです。
まずは焦らず「組み合わせてつくる」という感覚を育てましょう。
まずは「命令」という抽象的なものではなく、「ブロック」や「家具」「植物」など具体的なものを組み合わせて遊ぶのが良いと思います。

積み木やブロックでもよいですし、ゲームを通して学ぶこともできます。
「組み合わせ」・「イメージの具体化」に慣れ親しむだけで大丈夫。
中学・高校と成長の過程で、思考の抽象化が進めば、その経験はきっとプログラミングにも役立ちます。
2-6. 「どうぶつの森」だって組み合わせ

「どうぶつの森」は、コミュニケーションゲーム、というジャンルの任天堂のゲームです。
プレイヤーがとある村に移り住み、そこで暮らすどうぶつたちとのコミュニケーションを楽しむゲームです。
「ゲームのクリアやゴールがない」のが特徴で、好きなように行動しながら、住人たちとの会話、買い物、釣り、昆虫採集、自分の部屋の模様替えなどを楽しみます。
ゲーム世界でキャラクターを動かして、花や果物を集めたり、服や部屋など作って、友だち同士で見せ合うことができます。
2-7. マリオだってプログラミング

用意されたステージで遊ぶのではなく、自分で作るという遊びもあります。
「スーパーマリオメーカー」は、自分でブロックやキャラクターを配置して、ゲームのステージを作るゲームです。
面白いのが「全自動マリオ」という作り方です。
まるでジェットコースターのアトラクションみたいですね。
事前にどのように動くか考えてブロックを配置するので、ここまでくると まさに「プログラミング」。
通常の遊ぶステージだけでなく、バネやブロックの組み合わせで自動的に音楽がなるようにしたりして、いろいろな楽しみ方が生まれているんです。
2-8. マインクラフトにはプログラミングがある

「マインクラフト」は、サンドボックスゲーム(箱庭ゲーム)というジャンルです。
こちらもゲーム世界を探検したり、モンスターと戦ったり、集めた材料を組み合わせて建物を作ったりできます。
マインクラフトの特長として、そのまま「プログラミングにステップアップできる」ことがあります。
Microsoft社の提供する追加プログラム「Code connection for Minecraft」を使うと、「プログラム」でキャラクターを操作してすることができるんです。
プログラムを使えば、自分の代わりに作業をさせて複雑な建物を作ったりすることができます。
2-9. すでにプログラミング的な遊びが増えている
これまで見てきたように、実は子どもの世界には、すでに「ゴールのない、自分で作り上げていく」という遊び方が増えています。
今の子どもたちはプログラミングの考え方に自然と親しみながら成長しているんですね。

「どうぶつの森」や「マインクラフト」は、子どもたちの方から「遊びたいー」とねだられることも多いのではないでしょうか。
でも、いろいろな家庭の事情から「全ての子ども」にこういう遊び・学びのチャンスがあるわけではありません。
だからこそ、学校教育でも取り入れていくことになったのです。
3. プログラミングを習わせたい
「2020年プログラミング教育が小学校で必修化された」というニュースを目にして、不安になった保護者の方も多いのではないでしょうか。
でも、急に焦らなくても大丈夫。
まずは、そもそも何のためにプログラミングを習わせたいのか、整理しておきましょう。
「プログラミングを習わせたい」背景をまとめてみると…
- 「人生を豊かにするため」
- 「仕事の選択肢を増やすため」
- 「いろんなことに興味を持たせるため」
- 「よい会社に就職するため」
どれか1つというわけでもなく、「子どもの幸せ」はいろいろな要素の「組み合わせ」になっていますよね。
一番、不安になるのは「学校の勉強についていけるかしら」というもの。
3-1. プログラミング教育の必修の誤解
さて、2020年に必修化される小学校のプログラミング教育ですが、「教科」にはなっていないんです。
「教科」ではないのにいつ教えるのか?というと、算数や理科、あるいは音楽や国語など、すでにある教科や総合学習の中にプログラミングの考え方を「取り入れる」、という方法になっています。

プログラミングといえば、算数・理科なイメージだけど、音楽でもプログラミング?
政府や企業の協力してプログラミング教育の促進している「未来の学びコンソーシアム(https://miraino-manabi.jp)」では、すでにいろいろな教育方法が提唱されています。

学校の先生たちも授業づくりの参考にしているサイトです
ここでは、そのうちの「音楽」での授業風景を見てみましょう。

学校教育の中では、イメージしたものを実際に動かす、その道具として「プログラミングを親しめる」よう、工夫をしています。
「パターンの組み合わせ」という考え方を、「プログラミング言語環境」を使って「実際に動かす」ことができるのです。
なんとなく、学校の「プログラミング教育」のイメージはつかめましたか?
3-2. 「プログラミング的思考」とは
学校の「プログラミング教育」は、習った「プログラミング」をテストで点数がつけて、わからなければ落第、というものではありません。
ちょっと長い文章ですが、文部科学省による「学習指導要領解説(先生たちが読む指示書)」から「プログラミング的思考」を引用します。
自分が意図する一連の活動を実現するために、どのような動きの組合わせが必要であり、一つ一つの動きに対応した記号をどのように組み合わせたらいいのか、記号の組合わせをどのように改善していけば、より意図した活動に近づくのか、ということを論理的に考えていく力

これを具体的な活動にすると、さきほどの「リズム作り」の学習になったり、「パズルゲーム」になったりするわけです。
リズムや動きを(1)パターンとして「記号」にして、(2)「組み合わせ」たり、動かしながら、(3)自分のイメージ(「意図」)に近づけていったわけです。
4. とはいえプログラミング教育が大事なその理由
もちろん、「プログラミング教育」のカタチは、文部科学省の示すものばかりではありません。
大人でも仕事のためにプログラムにプログラミングを習得する人も増えています。
4-1. IT開発としてのプログラミング
学生・社会人向けの専門学校・プログラミングスクールでは、IT企業で働くためのスキルとして、アプリやゲーム・システム開発のためのプログラミングを習います。
ITエンジニアへの道です。
最近は、インターネットのページも「ダイナミック(動的)」に操作できますよね。
こういうページ作りにも、プログラミングは活かされています。
こういう分野では、JavascriptやJava、PythonやC言語などの「プログラミング言語」や、その開発手法や開発ツールの使い方を学ぶことが必要になります。
4-2. 事務処理でコンピュータを活用する
あるいは、IT企業以外の一般企業でもプログラミングは役立っています。
例えば、事務処理の効率化。
たくさんの情報を集計したり、処理するのは大変です。
まだまだ、こういう作業で手書きやファックスを使って、人手によって処理する、という職場は多いです。
しかし、プログラミングというのは、こういう面倒な繰り返し処理を自動化して、スムーズにするものです。
データを正しく入力すれば、重複の確認やミスのチェックなどはかなりの部分をコンピュータに任せることができます。
いわば、コンピュータへの仕事の任せ方が、プログラミングなわけです。
こういう分野では、Excel VBAやバッチファイル・スクリプトがよく利用されます。
4-3. プログラミングは業務の効率化に役立つのか
余談ですが、コンピュータ会社のIBMは、もともとアメリカの国勢調査のためのパンチカードを製造していた会社だったんです。
半世紀以上も前ですが、国勢調査の内容が複雑化して集計が4年後の次の国勢調査までに終わらない、という事態に対処するためにコンピュータが普及しました。
しかし、日本の中小企業では海外とは雇用や残業などの労働慣行の違いもあり、まだまだプログラミングを業務の効率化に活用するのが進んでいないケースも多いのが現状です。
一部では「せっかく業務をVBAで効率化したのに逆にもらえる残業代が減ってしまった」「せっかくマクロを組んでもらったけど担当者が退職してしまって動かなくなった」など、まだまだプログラミングを利用できる人が少ないことが、コンピュータ活用のハードルになっているようです。
プログラミングの意義や価値が社会全体に浸透していくとよいですよね。
4-4. 革新的なサービス創造のため
経済界でプログラミング教育が待望されるのには、もう一つ理由があります。
それは、「GAFA(ガーファ)」。
これは、Google, Apple, Facebook, Amazonという、テクノロジー分野の大企業の頭文字を並べたものです。
20世紀は、トヨタやソニーなどの日本企業が製造業で世界をリードしてきましたが、21世紀のIT分野ではアメリカ企業のサービスが支配的です。
このような企業はプログラミングを活用して、インターネット上に「生活に役立つしくみ」を作っています。
代表的なサービスをあげると、Googleは検索やYoutube。 Appleはスマートフォンやアプリ。 Facebookはメッセージ投稿のやり取り。 そして、Amazonは買い物です。
さらに、これらの大企業は紹介したサービスの価値をさらに高める、いろいろなサービスを開発しています。
例えば Googleには、オンライン会議のサービスや音楽配信サービス、など会員になると多様なサービスを利用できます。
Googleの会員登録をすることで(サービスによっては利用料を納めることで)、便利な生活が保証されるわけです。

会員を国籍と考えると、まるで1つの国家のようです
日本でも新たなイノベーション(技術革新)が生み出していくために、プログラミング教育も一つの要素として重視されています。
5. プログラミング教育の目的は?
プログラミング教育をめぐっては、さまざまな立場や意見があるのを見てきました。
プログラミング教育の内容も2つにわけることができます。
「専門的スキル」という部分と「基礎的リテラシー」があります。
小・中学校段階の多くの子どもの場合は、「プロの」プログラミング言語を直接習得するのは難しいでしょう。

もちろん、大人顔負けのプログラムを作る天才小学生もいます
どのようにプログラミングに触れさせたらよいのでしょう。
実は、音楽やスポーツなどの習い事と同じです。
5-1. 専門的スキル:好きな子どもはどんどん
まず「プログラミングやゲームが好き」という適性の子どもさんの場合は、どんどん専門的スキルとを身に着けていくのがよいでしょう。
ゲームやアプリ・ロボットなど、自分の作りたいものを作るために必要な情報を得ることになります。
プログラミング教室では、そういう子どもたちにとって、「基本のレシピ」を一揃い得ることができます。
将来的にその分野で働く上でも、自分で作った経験は役に立ちます。
5-2. 基礎的リテラシー:苦手な子どもも親しめるように
逆に「苦手」という子どもさんの場合でも、ある程度の「プログラミング的思考」は身につけておいたほうが良さそうです。
というのも、「リテラシー」という側面があるからです。
リテラシーというのは「読み書きする能力」のことです。

いわゆる「読み書きそろばん」です
例えば従来の「製造業」を振り返ってみましょう。
工場の海外進出をみてみると、最初からどの国でも工場が作れる、というわけではなかったようです。
工場労働というのは組織的な働き方で、そこで作業をするには、「文字が読めたり」「計算ができたり」「時間がわかったり」という「リテラシー」が必要でした。
近代教育の1つの目標がこの「労働者のリテラシー」です。
専門的な知識でなくても、どの職場でも必要になる知識・能力といえます。
これからの働き方では、ますます「しくみの設計」が増えていきます。
そうなると、求められるリテラシーも変化します。
新しいリテラシーとして「プログラミング的思考」が加わるわけです。
そう考えると「プログラミングやコンピュータを嫌い」にならないことが大切です。
プログラミング教室では、ゲームやロボットなど楽しくて、五感に訴える教材が用意されています。
6. タイピングもおすすめ
そのほか、「プログラミング」に必要なスキルとしては、キーボード操作・カタカナ語・アルファベットに慣れておくことも役に立ちます。
特に家庭で身につけておきたいものは、「キーボード操作」ですね。
キーボードやタイピングのトレーニングは、プログラミングを支える「基礎力」として役に立ちます。
せっかくアイディアが浮かんでも、入力に時間がかかると完成まで到達できません。

とはいえ、タイピングはすごく速い必要はありませんのでご安心を。
プログラミングでは、コードを入力する時間よりも、考える時間の方が多いからです。
プログラミングには単純作業を省く工夫がたくさんあります。
コードのテンプレートの「コピー」もありますし、コード自体の「再利用・呼び出し」など、キー入力という「単純作業」占める割合はそこまで大きくありません。
つっかえず、思ったことがスムーズに入力できれば十分です。
6-1. よいキーボード
余談ですが、タイピングを練習させるなら、ぜひ「よいキーボード」を触らせてあげてほしいと思います。
オススメは RealForce です。
もちろん、パソコンにはじめからついているキーボードでもよいのですが、少し高品質のキーボードは「感触」や「打鍵音」が心地よいです。
とくに RealForce はフルタイムでキー操作をする事務職の方にも好まれるキーボードで、癖のないキー配列と疲れにくい感触が特徴です。

ちょっとキーボード単体としては高価なのですが、楽器などよりはリーズナブルともいえるでしょうか…?
そういうちょっとした道具立てで、興味を引き出せたらよいですね。
7. ちいラボではこんなプログラミング教育をします
プログラミング教室は、大津市内にもすでにたくさんあります。
ロボット・ゲームを通してプログラミングを習っていくことができます。
そんな中、ちいラボの特色はというと、一対一の対話を通しての個別授業です。
もし、既存の教室で内容やペースなどで「どうも合わないな」ということがあれば、ご相談下さい。
一対一の個別指導なので、その子の興味・その子のペースを引き出しながら学習していきます。
ちいラボは、プログラミング教育でも、「コンピュータの魅力に触れる機会」を提供する、ということを目的にします。
コンピュータの魅力ってなんでしょう。
それは、2つあります。
- 1つは、イメージがカタチになること。
- もう1つは、小さな命令が大きな結果につながること。
「何から手を付けたらよいかわからない」という子も大丈夫。
入力したものをプリンターで印刷するだけでも、1つの「具象化」ですし、ネットで材料を購入するのも、ロボットを動かすのも、すべてマウス・キーボードを使って、現実世界に働きかけをしたことになります。
例えば、「ロボットを作りたい」と思ったら、どんなものが必要か調べたり、材料を揃える必要があります。

ちいラボは、「小さな研究室のゼミ」です。
課題の解決を一緒になって考える場所です。
自由研究の中で、そういう課題一つ一つを通して、子どものイメージをコンピュータで解決する喜びを伝えていきます。
ぜひ、ご興味のある方はぜひお子さんと一緒に教室に相談に来てみて下さいね。
こちらもどうぞ。



