プログラミング授業が2020年必修に!?一体どんなことをやるの?

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
programming_teaching

プログラミングは2020年に小学校の必修科目になる予定です。

それを知ったあなたは、「ついに授業プログラミングをやる時代が来たのか」なんて思いながら、「子供に聞かれたらどうすればいいのだろう」「そもそもどんな授業をやるのか」など、さまざま思いを抱えてこのページを開いたのではないでしょうか?

その気持ち、とてもよくわかります。

私たち親世代からすると、プログラミングは専門的なものという印象がありますし、いかにも難しそうでとっつきにくい感じがしますよね。

 

ですが、プログラミング授業で学ぶことは、プログラムの書き方・作り方だけではないので、そう身構えなくても大丈夫です。

プログラミング授業「考え方や想像力を育む教育」と捉えてください

 

今回は「プログラミング授業」と「プログラミングの基礎知識」について紹介していきます。

 

【関連記事】

 

 

1.プログラミング授業ってどんなことをやるの?

プログラミング授業を通して身につけたいのは、問題を解決する力協力して物事に取り組む姿勢です。

ですから、いきなり「さあ!プログラムを書いてみよう!!」というわけではないので安心してください。

 

プログラミングは難しいイメージがありますが、はじめのうちは子供たちが楽しんでできる体験的な授業が多いです

簡単な課題からおこない、興味・関心を高めながら少しずつ難しい課題にしていく。
その中で、課題をクリアする喜びや積極性を学ぶことができるのです。

 

それでは、プログラミング授業についてみていきましょう。

1-1.文部科学省を参考にまとめた授業

プログラミングの学習過程ですが、現段階では文部科学省は「プログラミング授業をおこなう学年や学習内容は、各学校の指導体制や実情等に応じて決める」としています。

つまりプログラミング授業といっても、明確に「これをやる」というものが定められるわけではありません

では、どういった授業をおこなうのか気になりますよね。

ここでは、文部科学省のWebページ(http://www.mext.go.jp/)で紹介されているプログラミング授業の実践例をいくつか紹介します。

 

学習環境などを詳しく知りたい方は以下のページをご参照ください。

出典:「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」(文部科学省) (http://jouhouka.mext.go.jp/school/programming_zirei/

1-1-1.プログラミングを使った授業【その①】

<1年生からのプログラミング体験>

①1年生からのぷろぐらみんぐ体験

 

この授業「VISCUIT(ビスケット)」というビジュアルプログラミング言語を使用して、絵を描いたり動かしたりするものです。

VISCUITは絵でプログラムを作るので、難しい言葉はいりません。

直感的に動かすことができるため、子供たちが「プログラミングって楽しい!」と感じることが期待できます。

1-1-2.プログラミングを使った授業【その②】

<めざせ!行列のできるおすし屋さん!>

②めざせ!行列のできるおすし屋さん!

 

この授業「プロロボUSB プラス」というプログラミングで動くロボットを使用して、お寿司を目的地に運ぶというものです。
プログラミングはプロロボ専用のプログラムでおこないます。

前進・後進・停止・右旋回・左旋回など、必要な動きはすべてコマンド化されているので、ドラッグ&ドロップでプログラムを簡単に作れるのがプロロボの良いところです。

「どのように動かしたら目的地に着くのか」を考えてプログラムを作り、実際にプロロボを動かして、うまくいかないときには改善を加える。

この授業では、プログラミングの基本的な仕組みを体験できます。

プロロボのイメージ画像

1-1-3.プログラミングを使った授業【その③】

<調べた人物をプログラムで表現してみよう>

③調べた人物をプログラムで表現してみよう

 

この授業では「Scratch(スクラッチ)」というビジュアルプログラミング言語を使用して、調べた人物を紹介するアニメーションを作ります。

アニメーションは文字が書かれたブロックを組み合わせて作ります(下図参照)。

Scratchのイメージ画像

 

複数のキャラクターを登場させて「○○○ってどんな人?」「□□□で有名な人だよ」のように会話形式で紹介したり、ひとつの説明が終わったら少し間を空けたりするなど、さまざまな表現ができます。

1-1-4.プログラミング授業で得られるもの

結論からいうと、プログラミング授業で得られるものは、以下の3つの「取り組む力」です(細かく説明するともっとありますが、ここでは基本的なものだけ紹介します)。

 

  • 自分で考えて取り組む力(主体性)
  • 協力して取り組む力(協調性)
  • 物事に意欲的に取り組む力(積極性)

 

では、どうしてプログラミング授業でこの3つの「取り組む力」が身につくのかを説明していきます。

 

注目していただきたいのは、「プログラミングを使った授業①②③」で紹介した授業の共通点です。
学習する学年や単元によってプログラミングの難易度は変わるといえども、以下の3点は共通しています。

 

  • 視覚的に体験できて、プログラミング操作が簡単
  • ひとりひとりが自由にプログラミングをおこなう時間がある
  • イラストやロボット、アニメーションなど、授業を楽しめる要素がある

 

このことから、プログラミング授業“先生が一方的に教えるのではなく、子供たちが主体的おこなう(自分で考える)授業“興味や関心を高める授業といえるでしょう

 

子供たちが主体的におこなう授業では、子供同士で相談したり教え合ったりする姿が多く見られます。
こうした「自分以外の考えを知る対話的な行動」によって、物事への理解を深めながら選択肢を広げて、協力することの大切さを学んでいきます

 

そして、興味や関心を高める授業では、子供たちが積極的かつ体験的に学ぶことが期待できるのがポイントです。

子供たちは「プログラミング」の難しいイメージを崩して、「こんなことができるんだ」と知り、「それを自分で実現できる!」と気づき、「達成する喜び」を知ります。

これらの気づきが“物事に意欲的に取り組む力”となります

1-2.コンピューターを使わないプログラミング授業

文部科学省(Web)にあるプログラミング授業は、もちろんコンピューターを使ってプログラミングを体験するものが多いです。
ですが、コンピューターを使わないプログラミング授業もあります。

コンピューターを使わなくても、プログラミング的思考を育むことはできるのです。

 

例えば【ワークシートに「朝ごはんを食べる」ための行動を書く】という課題があるとします。

おそらく、ワークシートに書く内容は以下のように人それぞれになるでしょう。

考え方の違い_【行動】朝ご飯を食べる

「朝ご飯を食べる」という身近な題材でも、これだけの違いが出てきます。

普段の何気ない行動や当たり前のことを表現するのは意外と難しいものですね。

 

コンピューターを使わないプログラミング授業では、こうした「身近の物への気づき」「情報を整理すること」「必要な行動・手順を考えること」、それを「表現すること」などを学んでいきます

 

とくに「必要な行動・手順を考えること」は、筋道を立てて考える「論理的思考」が求められるため、子供たちは「問題を解決する力」を身につけることができます
(この「論理的思考」や「問題を解決する力」が、いわゆる「プログラミング的思考」であり、プログラミング授業を通して育まれる力なのです)

1-3.プログラミング授業:書籍の紹介

【コンピューターを使わない 小学校 プログラミング教育】という書籍では、授業の実施例を紹介していますので、興味がある方はぜひ購入してみてください。

準備するものや授業の流れ、ポイントなどがわかりやすくまとめられているので、プログラミング授業のイメージがしやすいのでオススメです。

 

コンピューターを使わない…(850×1200)

出典:翔泳社「小学校プログラミング教育」
http://www.shoeisha.co.jp/book/detail/9784798152615

 

<あわせて読みたい本:ルビィのぼうけん>

「コンピューターを使わない 小学校 プログラミング教育」で紹介されている授業は、フィンランドのプログラマー、リンダ・リカウスさんの絵本【ルビィのぼうけん】を参考に実践されています。
難しい言葉を使わずにプログラミングの本質を物語にした絵本なので、子供も楽しく読むことができます。ぜひ読んでみてくださいね。

ルビィのぼうけん

出典:翔泳社「ルビィのぼうけん」
http://www.shoeisha.co.jp/book/detail/9784798143491

 

2.「プログラミング授業」と「アクティブラーニング」

プログラミング授業は、「実際にプログラミングを体験するもの」プログラミングをおこなわずにプログラミング的思考を身につけるもの」がありましたね。

しかしながら、どちらの授業も大切なことは「プログラミングを学ぶこと」ではありませんでした

 

プログラミング授業で大切なのは個人の能力や人間性を高めたり知識や理解を深めて選択肢を広げたりといった「生きていくために必要な力の教育」です。

そう考えると、プログラミング授業とは授業方法の1つ”といえるのではないでしょうか

 

実は、近年注目されている「アクティブラーニング」という生徒参加型の授業方法とプログラミング授業はとてもよく似ています。

同サイト関連記事【アクティブ・ラーニングとは|小学校でも導入中の新しい授業法】で、アクティブラーニングについて紹介していますので、興味がある方は、ぜひご参照ください。

 

3.プログラミングでよく見る用語

さて、ここまでの紹介で「プログラミング授業はプログラムを書くのが目的ではない」とわかっていただけたと思います。

しかしながら、授業の難易度が上がればプログラミング用語を聞くことがあるはずですから、本章では重要なプログラミング用語をいくつか説明していきます

3-1.プログラム・プログラミング

コンピューターにやってほしい指示を書いたものを「プログラム」、その指示を書くことを「プログラミング」といいます。

詳しくは次章で紹介しますが、プログラミングはコンピューターが理解できる言語でおこないます。

3-2.アルゴリズム

問題を解くための具体的な「手順・方法」のセットを「アルゴリズム」といいます。

 プログラミング授業の紹介で書いた「筋道を立てた考え方」や「プログラミング的思考」とは、ずばり「アルゴリズムの考え方」です。

そして、アルゴリズムをコンピューターでプログラムとして表現することをプログラミングといいます。

プログラミングをおこなうと、必ず目にする用語なので、しっかり覚えましょう!

3-3.シーケンス

プログラムは書かれた順に次々と実行されます。

この順序を、「シーケンス」といいます。

3-4.分岐条件(ぶんきじょうけん)・真偽値(しんぎち)

「○○なら処理Aを実行」「△△なら処理Bを実行」など、条件によって実行する処理を分けるときがあります。
それを「分岐」または「条件分岐」といいます

そして、条件分岐をおこなう際に使われるのが「真偽値」です。
質問に対して、合っているのか(真)、違うのか(偽)を判定して進む処理を決定します。

真偽値は、「真理値(しんりち)」と呼ばれることもあります。

3-5.ループ

同じ処理を何度も繰り返すことを「ループ」といいます。
大量のデータを扱うときや、プログラムを簡略化したいときなどに使います。

ループは真偽値によって終了条件を指定しますが、この指定がうまくいかないと永遠にループから抜けられず、次の処理に進めないことがあるので注意しましょう。

3-6.変数(へんすう)

数字や文字列などのデータを“プログラムの中に一時的に保存しておくための入れ物の名前”を「変数」といいます。

変数について、以下の2つをしっかり覚えておきましょう。

 

①データの取り扱いには必ず「変数」と呼ばれる入れ物が必要

変数がないと、プログラムは「どのデータを使えばいいの?」「計算結果の保存先はどうする?」と困ってしまいます。

変数について


②基本的には、ひとつの変数にはひとつのデータしかいれられない

同じ変数に別のデータを入れると、もともと入っているデータは消えて新しいものだけになってしまいます。
追加ではなく上書きになるので注意してください。
複数のデータを使うときは、変数もそれぞれのデータごとに用意しましょう。

3-7.配列(はいれつ)

複数の値をひとつのグループにしたものを「配列」といいます。

イメージは複数の変数が連なったもので、身近なもので例えるとマンションのようなものです。

それぞれの値には部屋番号があります。

配列のイメージ

配列を理解すると、ひとつの変数でたくさんの値を扱うことができるようになります。

 

4.プログラミングの言語について

最後に、プログラミング言語について紹介をします。

プログラミング言語とは「コンピューターが理解できる言葉」のことです。
私たちに日本語や英語、フランス語などさまざまな国の言語があるように、コンピュータにもたくさんの言語があります。

あまり使われていないものを入れると、プログラミング言語は約8000種類あるといわれており、広く使われているものその中の数十種類です。

ここですべてのプログラミング言語を説明することはできませんが、今回はプログラミング言語の特徴を大きく2つに分けた「テキスト型のプログラミング言語」「ビジュアル型のプログラミング言語」について紹介していきます。

4-1.テキスト型のプログラミング言語

プログラミングと聞いて多くの人がイメージする、「なんだか難しそうな文字が並んでいるもの」が、テキスト型のプログラミング言語です

テキスト型は、その名の通り文字でプログラムが書かれます

少なくとも「3.プログラミングでよく見る用語」で紹介したシーケンスや分岐条件、変数、配列などを理解する必要があるので、プログラミング初心者にはハードルが高いかもしれません。

それでは、テキスト型の長所と短所を見ていきましょう。

4-1-1.テキスト型の長所

  • 複雑な指示を書くことができる
  • 表現の幅が広い
  • 修正や追加をしやすい

4-1-2.テキスト型の短所

  • パッと見ただけではどんなプログラムなのかわかりにくい
  • プログラムを書くために「書き方」を覚えなければいけない
  • プログラムを書く順番やつづりを間違えるとエラーになってしまう

4-2.ビジュアル型のプログラミング言語

プログラミング的思考を育むための授業」で使われるのは、おそらくビジュアル型のプログラミング言語です。

例えば「1-1.文部科学省を参考にまとめた授業例」に出てきた“VISCUIT”“Scratch”はビジュアルプログラミング言語でしたね。

 

ビジュアル型は、画面上にある「プログラムを作るための部品」を組み合わせてプログラムを作るため、初心者小さい子供でも直感的にプログラミングをおこなうことができます

また、キャラクターを動かしたりイラストを描いたりなど、楽しい要素があるのも魅力的です。

 

それでは、ビジュアル型の長所と短所を見ていきましょう。

4-2-1.ビジュアル型の長所

  • プログラムの書き方や規則を覚えなくても、直感的にプログラミングができる
  • あまり文字を使わないので、小さい子供や初心者でも挑戦しやすい
  • イラストやアニメーションが楽しい

4-2-2.ビジュアル型の短所

  • 大きいプログラムを作るのは向いていない
  • 複雑なプログラミングを作るのは向いていない
  • 修正や追加に時間がかかる(画面上の部品を組み換えるのが大変)

 

5.<まとめ>

2020年に必修化になる予定のプログラミング授業ですが、どのような授業かイメージできたでしょうか。

もし「いまいちピンとこなかった」という方は、この記事に出てきた「BISCUIT(ビスケット)」「Scratch(スクラッチ)」をネットで検索して体験してみてください(文部科学省の「プログラミン」も操作が簡単なので、楽しくプログラミングを体験できます)。

無料でできるのでオススメです。

プログラミングを体験してみると「次はこうしよう」「こうしたらもっと良くなるぞ」と自然と考えるようになるので、「これがプログラミング的思考で、授業ではこういうことをやるんだな」とわかると思います。

 

【関連記事】

 


【参考書籍】

・上松 恵理子『小学校にプログラミングがやってきた! 超入門編』三省堂、2016

・高橋 与志『教えて♪ プログラミング まずはなんとなく分かることが大切よ!』リックテレコム、2016

・米田 昌悟 『プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業』SBクリエイティブ、2016

・小林 祐紀、 兼宗 進『コンピューターを使わない小学校プログラミング教育 “ルビィのぼうけん”で育む論理的思考 』翔泳社、2017

・リンダ・リウカス『ルビィのぼうけん こんにちは! プログラミング 』翔泳社、2016

関連記事