プログラミング教育とは?現役の子ども向けプログラミング講師が解説!
2020年に学校教育でも取り組みの始まった「プログラミング教育」
これから小学生になるお子さんをもつ親御さんや、お子さん達に「プログラミング教育」を提供する立場の学校の先生方にとって関心の高いテーマだと思います。ところがこの「プログラミング教育」、いったい何をやっているのか分からない人も多いのではないでしょうか。
私もその一人で、子ども向けのプログラミング講師になるにあたって、そもそも「プログラミング教育」って何?という状態でした。
いろいろと調べてみた結果「なんだそういうことか!」「プログラミング未経験の私でも分かるぞ!」と感じました。今回はその当時の私のように「プログラミング教育」って何?という人の為に分かりやすく解説していきます。
「プログラミング教育」が始まったけど何それ?
学校で実際にどんなことが行われているのか分からない人が多いのでは?
小学校でのプログラミング教育が始まったけど、いったいどんなことをしているんだろう?小学生にプログラミングが出来るのかな?
小学校でのプログラミング教育が始まったけど、いったいどんなことをしているんだろう?小学生にプログラミングが出来るのかな?
私が教えているプログラミング教室の生徒さんの保護者の方からも「よく分からない」「難しそう」といったお話はよく聞きます。
そして意外と知られていないなぁ、と感じるのが「プログラミング教育ではプログラミングそのものは教えない」ということです。
プログラミング教育とは「プログラミング的思考」を育むこと!
「プログラミング教育=プログラミング(コードを書く)」ではない!
プログラミングに取り組むことを通じて、児童がおのずとプログラミング言語を覚えたり、プログラミングの技能を習得したりするといったことは考えられますが、それ自体をねらいとしているのではないということを、まずは押さえておいてください。
出典:小学校プログラミング教育の手引(第三版)
実際に学校で指導する先生方の為に、文部科学省は指導の為の手引きを作成しています。その手引きの「プログラミング教育のねらい」に関する説明の中で、上記のように説明されています。
つまり、子ども達はプログラミング教育を通してプログラミングには触れるし体験するけれども、プログラミング自体を身に着けるためにプログラミング教育があるわけではないということなんです。
え?!そうなの??って感じですよね。
「プログラミング教育」は学校の先生たちも不安がいっぱい!
私たちと同じように学校の先生たちも「プログラミング教育」って何?いったい何をするの?という不安があるようです。新しいことを始めるときってそうですよね。
上記の小学校プログラミング教育の手引きでは「プログラミング教育」の導入の経緯について、次のように説明されています。
小学校プログラミング教育の導入は、中央教育審議会における学習指導要領の改訂に向けた議論の中で検討されました。中央教育審議会の議論では、情報化の進展により社会や人々の生活が大きく変化し、将来の予測が難しい社会においては、情報や情報技術を主体的に活用していく力や、情報技術を手段として活用していく力が重要であると指摘されています。さらに、子供たちが将来どのような職業に就くとしても、「プログラミング的思考」などを育んでいくことが必要であり、そのため、小・中・高等学校を通じて、プログラミング教育の実施を、子供たちの発達の段階に応じて位置付けていくことが求められると指摘しています
出典:小学校プログラミング教育の手引(第三版)
長いのですが「『プログラミング的思考』大事!だから小学校から『プログラミング教育』やろう!」ってなったよ。と書いてあります。
「プログラミング的思考」とは「困ったなぁ」を解決する考え方のこと!
じゃあこの「プログラミング的思考」って何なのよ!
なかなか答えに辿り着けないですよね。笑
では、この「プログラミング的思考」とは何なのか?ですが、それについても同手引きの中で次のように説明されています。
「プログラミング的思考」とは、「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」である
出典:小学校プログラミング教育の手引(第三版)
長い!そして分かりにくい!
ですが、簡単に言い換えると「自分が解決したいことの為に、手段や方法を論理的に考える力」と説明できると思います。
そしてこの「手段や方法を論理的に考える力」ということも例えを使ってより簡単に説明します。
Googleの検索窓に「知りたいこと」を入力するということ!
例えば今日のお昼に何食べようかな?と思った時、おもむろにブラウザを立ち上げて「現在地 ランチ」などの検索をしたとします。
この行動がまさに「自分が解決したいことの為に、手段や方法を論理的に考えた結果の行動」なんです。この行動の中には以下の要素が含まれています。
- 検索窓にキーワードを入力する
- 関連する複数のキーワード間にスペースを入力する(and検索)
これってつまり、検索エンジンというコンピュータに対して「キーワード」と「スペース(and検索)」を組み合わせることで、より効率的に検索結果に辿り着くということです。
さらにいうと、このキーワード検索でみても「より効率的なキーワードの選定」「and検索とor検索の使い分け」など、改善や工夫のしどころがあります。
現に「なんだか検索上手な人」っていますよね。その人はきっと「自分が解決したいことの為に、手段や方法を論理的に考える力(=プログラミング的思考)」に長けているといえるのでしょう。
この記事を読んでいる人すべてが「プログラミング的思考」の持ち主
この記事を読んでいるということは、何かしらの意図をもって検索をしたり、プログラミング教育に関連する記事を読んでいてここに辿り着いたのではないでしょうか?そうでなくても、ブラウザを使って検索をしたことが無い人はいないのではないでしょうか?
その行動こそ「プログラミング的思考」の結果であり、この記事を読んでいるすべての人が「プログラミング的思考」の持ち主だと言えるのです。
これからの未来を生きていく子ども達にとっては、より一層コンピュータを使って効率的に課題や問題を解決していく力が必要とされます。
そうした力を「プログラミング教育」を通して積極的に身に着けていってほしいというのが2020年に始まった「プログラミング教育」の意図なのだと思います。