学習指導要領におけるプログラミング
新しい学習指導要領の目玉の1つと言えるのが、小学校の「プログラミング」である。このことが伝わってから、小学校でのプログラミング教育の試行や計画がニュースを賑わすようになった。一方で、それに戸惑いを覚えている教師も多くいるようだ。
実際のところ、プログラミング教育として、どのような内容が想定されているのだろうか。学習指導要領に書かれている事項の要点は、次のとおりである。
・児童がプログラミングを体験しながら、コンピューターに意図した処理を行わせるために必要な、論理的思考力を身に付ける学習活動を行う
・算数で上記の活動を行う例として、(プログラミングによって)正確な繰り返し作業によって正多角形が描け、一部を変えて多様な正多角形をつくることが挙げられている
・理科で上記の活動を行う例として、電気の性質や働きを利用した道具が、与えた条件に応じて動作していることや、条件を変えたときの動作の変化について考えることが挙げられている
・総合的な学習の時間に上記の活動を行う場合は、それが探究的な学習の過程に適切に位置付くようにすることが求められている
こうしてみると、プログラミング、特にプログラム言語によってプログラムをつくることが求められているわけではないようだ。むしろ、論理的思考力を身に付けることに重点が置かれている。ただし、誤解してはいけない。
プログラミングと論理的思考力の関係
プログラミングによって、論理的思考力が身に付くと言われる。ある意味で、プログラミング教育を行う理由付けとも思われる。実際にはどうだろうか。論理的思考とは、とても多様な考え方を含む。
考えを論理的に伝えさせるときには、根拠を示すように言う。根拠には、自分の経験から調査結果、観察や実験の結果などさまざまだ。それらの中から適切な根拠を選んで、自分の考えを伝えるような論理的思考に、プログラミング教育は役に立つだろうか。
三段論法を使うことも、証明で背理法を使うことも、論理的思考である。そのような思考法をプログラムの中に含めることは可能だが、三段論法によって説得的に論を立てることや、実際に背理法を用いて段階を追って証明を書くことと、プログラミングにはあまり関係がない。むしろ、それらができるようになると、プログラミングにも活かせるというのが実際だ。

図1に示したように、論理的思考力の一部にプログラミングに必要な論理的思考力が含まれるのであって、逆ではない。
ただし、プログラミングは論理の可視化には役に立つ。しかし、それも論理の筋道を可視化するためのツールとしてフローチャートがあり、それで表されたアルゴリズムをコンピューターの言語に落として行くことが、プログラミングだというような関係においてである。
このようにプログラミングと論理的思考力の関係を捉えると、小学校で重要なのは、考え方を可視化できるように、自己の考えの筋道を客観的に捉える力を育成しておくことだと言えるのではないだろうか。これが、本書(*1)を企画した理由である。
*1 「プログラミング教育導入の前に知っておきたい思考のアイディア (教育技術MOOK)」発行:小学館
フローチャートを描くというのとは、やや異なる。完全なフローチャートを描くことまで求めるのではなく、将来フローチャートを描くのに必要な、基礎的なものの見方や捉え方、自分の考え方を自覚することなどに光を当てようというのである。
発行:小学館
<著者:黒上 晴夫>
関西大学総合情報学部教授。米国や豪州における授業研究を元に、2012年に「シンキングツール~考えることを教えたい~」を無料でWeb公開。以来、思考スキル・思考ツールの活用研究をリードしてきた。学習指導要領改訂に関わる各種会議委員。
<著者:堀田 龍也>
東北大学大学院情報科学研究科教授、博士(工学)。東京都小学校教諭を皮切りに、情報社会に生きていく子どもたちのための授業の在り方を追いかけてきた。文部科学省参与(併任)。中央教育審議会情報ワーキンググループ主査。小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議主査/学校におけるICT環境整備の在り方に関する有識者会議座長。