探究型プログラミング学習(探プロ)

プログラミングの考え方を学んで、未来を創る力を手に入れる

プログラミングの考え方を学んで未来を創る力を手に入れる

21世紀型スキルの観点からみた、プログラミングを学ぶ理由

今回は、『探究型プログラミング学習』の最も根幹の考え方である、プログラミングを学習する目的・理由、について書いてみます。

 

国内外で進むプログラミング教育に対する認知の広がりをみていると、何のために子どもたちがプログラミングを学ぶのか?

といった点において、以下のロジックが展開されていることが多いです。

今後、社会においてITの活用は必須となり、IT技術の進化スピードも速くなる

対応するには、IT人材が足りない

IT人材を育成しなければならない

 IT人材(ITを使ってモノをつくる人)を育成するために、様々なプログラミング教育のカリキュラムやサービスが提供されていますが、これらは「21世紀型スキル」でいうところのWays of thinking(思考)Tools for working(ICT活用)のみをカバーするものが大半です。

こうした学習プログラムには技術的な要素を強く含むものが多く、どうしても技術者育成の側面が目立ちます。

逆に技術的な要素を意識させない学習プログラムは遊びの要素が強くなる傾向にあり、ゲームを与えることとの違いが非常に曖昧になっている、とも思います。

 

私は、このIT人材(ITを使ってモノをつくる人)を育成するためのプログラミング教育に違和感があります。

なぜなら、少なくとも日本においては今後、量産型の技術者へのニーズが増えるとは思えない(むしろ減るはず)ですし、一流の技術者を求めるのであれば、それこそ英才教育する方が相応しいと思うからです。

 

いまのプログラミング教育のあり方は、一方で全ての子にプログラミングを体験させて量産型の技術者を育成しようとし、一方でその中からスーパープログラマーを育成することも狙う、といったどっちつかずの形が多いように感じます。

もしくは、そうした観点から外れて論理思考力や問題解決力の育成などを強調するケースもありますが、その場合は手段としてプログラミングを選択する必要性がないため説得力がありません。

 

私は、次世代の全ての子どもたちが身につけるべきるべきは

ITを活用し、他者と協力しながら社会の問題を解決する

スキルであると考えています。

そしてこれは「21世紀型スキル」でいうところの、Ways of thinking(思考)Tools for working(ICT活用)に加えてWays of working(チーム活動)Ways of living in the world(社会との関わり)の全てをカバーすることになります。

f:id:dig_learning:20160315203256p:plain

「社会」は今後、いま以上にグローバル化が進み、IT技術の進化によってより複雑化していくことは明らかです。

複雑化する「社会」の問題を解決するために重要なことは、どうやって解決するのか?(how)といった「モノづくりのステップ」よりも、そもそも何を(what)を解決するべきなのか?を考えて対象を見つけることです。

 

『探究型プログラミング学習』ではこれを「モノゴトの本質を見つけるステップ」と定義し、ITを活用し、他者と協力しながら社会の問題を解決するスキルを身につけるために、「モノづくりのステップ」に加えて「モノゴトの本質を見つけるステップ」の修得も目指しています。

 

このように書くと、一般的に想像するプログラミングのイメージを逸脱した学習に想えるかもしれません。

そもそも、ここでずっと語っている「プログラミング学習」とは何でしょうか?

 

諸説あると思いますが『探究型プログラミング学習』においては、「プログラミング学習」とは、コンピュータ・サイエンス(計算機科学)の基礎を学習することであり、『探究型プログラミング学習』ではこれを、「モノゴトの本質を見つけるステップ」と「モノづくりのステップ」の両ステップを通じて学習するため、その意味するところは非常に幅広いです。

 

「プログラミング」に馴染みのない人たちは、もしかすると「プログラミング」といった用語から、パソコンに向かって難しい単語の羅列を入力する姿を連想するかもしれません。

『探究型プログラミング学習』ではこれを「モノづくりのステップ」に含まれる「コーディング」と呼び、あくまでも「プログラミング」の一部として位置づけています。

しかし従来のプログラミング教育の多くは、「プログラミング」=「コーディング」となっていることからも、「モノづくりのステップ」に偏っていることが分かると思います。

 

「モノゴトの本質をみつけるステップ」を経て「モノづくりのステップ」へと進む学習方法のことを、『探究型プログラミング学習』では学習フレームワークMACと定義しています。

学習フレームワークMAC)とは、モデリングアルゴリズム化、コーディングの3つのプロセスと、探究学習によって成り立っているのですが・・・

詳細はまたの機会に。

@tanpro-lab