プログラミング教育の目的とは? 論理的思考力ってなに?

小学校におけるプログラミング教育の必修化が、2020年度からはじまります。その目的は、プログラミングを通じて論理的思考力を高めることにあります。

プログラミング教育の必修化についてはこちらをご覧ください。

2020年「プログラミング教育」の必修化で何が変わるのか? - バレッド(VALED PRESS)

プログラミング教育が目指す「論理的思考力」とは何か

ところで、論理的思考力とはなんでしょうか。単に理路整然と物事を考えられるのか、ということでしょうか。たしかにそうも言えますが、それだけではありません。もっとも大切なことは、いろいろなことが違っている他者とともに生きるために、共有できることを増やすことです。

そのために、独り善がりにならない(思い込みをしない)こと、当たり前とか「普通」とか「常識」と自分が思っていることでも他者には必ずしもそうではないと知ること、一度はすべてを疑わしいと考えること、誰とでも考え方を共有できるようにすること、が大切です。

私たちが生きる世界には歴史があり、空間的な広がりがあり、いろいろな生き物がいます。いろいろな人がいます。そこに自分が生まれ、育ち、今、生きています。世界は自分よりも先に存在し、世界は「わたし」のためにだけあるのではありません。当然、「わたし」の思い通りになるものではありません。

世の中には、他人と一緒に生きるうえで、法律や規則、習慣、常識、約束事、モラル…、いろいろな言葉で言われていますが、一定のルールがあります。はっきりしているものもあれば、ぼんやりしているものもあります。よく変わるものもあれば、なかなか変わらないものもあります。

プログラミングがおもしろいのは、こうした世界のなかで、ゼロから約束事をつくりだし、地道に一つの世界(社会)をつくりだしていることです。

まず、何もないところから新たに生み出すという、非常に大変な手続きを行います。しかも、バグをつくらないこと、恒常的に安定して動作させることが目標です。さらには、そのなかで自分が楽しめること、幸福になること、有益な結果が生まれることが望まれます。

プログラミング教育=コーディングではないが......

プログラミングは、「コーディング」が行われてはじめて、準備が完了します。「コーディングとは、コンピューターで何かを動作させるための基本的なルールや実際に動作させたい中身をつくる作業のことです。プログラミングは、その大枠をつくる「設計」(仕様書)や、検証、デバッグ(修正)までの一連の作業全体を指します。

プログラミング教育は、コンピューターへの命令を書くことや、プログラミング言語を用いた記述方法を学ぶことそのものに目的があるわけではありません。とはいえ、プログラミングを理解することは、コンピューターを仕事や暮らしで使ううえで、とても役に立つことでしょう。

これからの社会は好き嫌いにかかわらず、コンピューターに囲まれて生きることになります。そのため、コンピューターが動作するしくみや理由がわからないと、コンピューターにふりまわされて生きることになってしまいます。

そうならないためにも、しっかりと子どものうちからプログラミングを学び、コンピューターに使われるのではなく使えるようにすることです

文部科学省が設定する学年目標

小学校におけるプログラミング教育は「プログラミング」という1つの教科ではないので、学年ごとの目標はありません。しかも、複数の科目にまたがっており、算数や理科、総合的な学習など、各教科で幅広く実施されます(「小学校プログラミング教育の手引」(第二版)、文部科学省、2018年11月を参照)。

広く見ると、まず、教育課程内で実施されるものとそうでないものに大きく分かれます。

さらに、教育課程内で実施されるものは4つに分かれます。

第一に、学習指導要領の各科目の単元ではっきりとプログラミングが組み込まれている場合です。

第二に、学習指導要領に例示はないものの、各教科等の内容を指導するなかで実施するのが望ましいとされるものです。

第三に、各教科とは別の形でプログラミング教育が実施される場合です。論理的思考を育み、プログラムの働きや長所、情報社会が情報技術によって支えられていることに気付けるようにし、コンピューターを上手に活用して身近な問題を解決したり、よりよい社会を築いたりしようとする態度を育むことを目標としています。たとえば、簡単なプログラムの作成、プログラミング体験にはじまり、各教科内容をもとに課題設定しプログラミングによる解決に取り組む、各教科等の学習をもとにプログラミングを通した表現学習を展開する、といった内容が含まれます。

第四に、クラブ活動など、特定の児童を対象として実施されるものです。

一方、教育課程外のプログラミング教育として、企業との連携、企業の社会貢献プログラムへの参加、ICT支援の活用、市民ボランティアの活用、大学との連携、NPOとの連携、学校放送の活用などが想定されています。学校を会場として実施されるものと、学校以外を会場として実施されるものとに分けられます。

1.教育課程内
1-1 学習指導要領で例示されている単元で実施
1-2 単元は示されていないが教科内で実施
1-3 各学校の裁量により実施
1-4 クラブ活動など、特定の児童を対象として実施

2.教育課程外
2-5 学校を会場として実施
2-6 学校以外を会場として実施

個々のプログラミング教育の目的

学習指導要領で例示されている単元で実施されるプログラミング教育の目的は、以下の通りです。

1-1-1 算数(5年生) 図形(1)正多角形
正多角形の性質を理解するとともに、図形を描くための所作を「ある長さの線を引く」「角度が90度の向きを見つける」という「命令」に分け、どのような順番で実行すると自分が求めていた図形になるのかを考えられるようにします。

1-1-2 理科(6年生) 物質・エネルギー(4)電気の利用
自分の身の回りにある電気の性質や働きを利用した道具への理解を目指し、たとえばセンサーを用いた通電の制御がどのような手順で動作するのか、それを再現するには命令をどのように組み合わせればよいのかを考えます。

1-1-3 総合的な学習 (1)情報化の進展と生活や社会の変化=探求課題
身の回りの製品やシステムがプログラムで制御されていることの利点を、たとえばジュースの自動販売機のプログラムの作成を通して体験的に理解できるようにします。単に「便利」で終わることなく、そうした探究活動を通して、人間らしさや自分の生き方を考え直すことも期待されています。

1-1-4 総合的な学習 (2)まちの魅力と情報技術=探求課題
情報に関する探究を進めながら、身近な生活にプログラミングが活用されていることや、そのよさを理解します。たとえば、地域の魅力の情報発信について、実際のタッチパネル式案内表示について学ぶとともに、ビジュアル型プログラミング言語を用いて、試作品を作成します。

1-1-5 総合的な学習 (3)情報技術を生かした生産や人の手によるものづくり=探求課題
ものづくりを支える人とのかかわりから、その魅力や自分らしい生活についての考えを深めます。たとえば、プログラミングを駆使した工場など、生活を支える生産活動にプログラミングが活用されていることを理解し、ものづくりのよさを体感します。

次に、学習指導要領に例示されてはいないものの、学習指導要領に示される各教科などの内容を指導するなかで、プログラミング教育を実施する場合は、以下のような事例が挙げられています。

1-2-1 音楽(3~6年生)
さまざまなリズムパターンを組み合わせて、まとまりのある音楽をつくるという課題を設定し、プログラミング言語または創作用ソフトなどを用いて音楽をつくり、仕組みを理解して楽曲を構成する技能を身に付け音楽表現を高めます。

1-2-2 社会(4年生)
47都道府県の名称と位置を学習するにあたって、地図帳や白地図のみならず、コンピューターのプログラムを活用し、それぞれの特徴(=ブロック)を組み合わせて都道府県を特定できるようにします。

1-2-3 家庭(6年生)
家族と食べる朝食の献立を考え、おいしく食べるために調理計画を工夫する学習のなかで、水加減や浸水時間、加熱の仕方、蒸らしなどの炊飯に関する一連の手順について、コンピューター上で並べ替えと条件設定をします。

1-2-4 総合的な学習
なんらかの課題について探究した後、わかりやすく効果的な資料を作成することと、自分の伝えたい内容を的確に発表するための手順を考えます。

© Valed.press