MTIzNjEzMTg5NjUzMjM1MjE0_0
Pocket

教育についてシリコンバレーからワシントンに渡って言われていることは「全員プログラミングを学ぶべきだ」という事である。しかし技術者から学生の親に伝わるまでの間、何かが欠落している。

こう否定しよう。全員がプログラミングを学ぶ必要はない。プログラミングは常に進歩し続ける技術における1つの側面でしかない。

プログラミングを学ぶことと、テクノロジーの根本を理解するということには大きな隔たりがあり、多くの人にとっては後者のほうがはるかに重要だ。

学生や、将来のキャリアにおいて活躍したいと思う人たちが身に付けるべき事は、ITリテラシーだ。

自動車学校があってなぜプログラミング学校はないのか

コンピュータやモバイルデバイスを使うことは、車の運転に少し似ている。複数の要素がテクノロジーが機能するために働いている。

私が初めて運転を習う時、母は2つの事を教えてくれた。タイヤの替え方とオイルのチェック方法だ。トランスミッションの組み直しの方法まで知る必要はなかったが、タイヤがパンクして立ち往生したとき、問題を理解し解決することが出来た。

先週の木曜にサンフランシスコでGitHubによって開かれた「プログラミングは新しいリテラシーだ」というセッションで、パネリスト達はテクノロジーを扱うことと、プログラミングを書けるようになることとプログラムを理解することの違いを学生に教えることの重要さについて議論した。

「仕事の9割で、私達は何らかの形でデジタルリテラシーを必要とされる。コンピューターサイエンス関係の仕事でなくてもだ。プログラミングは第二の段階であり、リテラシーとはコンピューターおよびそれに入っているアプリケーションをどの様に使うか、コンピュータを使って自分がやりたいことをどうやるかという事の基本的な理解のことだ」と、グーグルの Summer of Codeのマネージャーを務めるキャロル・スミスは語った。

ホワイトハウスのUS2020という構想によれば、2018年までに、科学、テクノロジー、エンジニアリング、数学の分野で、120万の新しい仕事が創生され、その枠を埋める候補者が不足するという。これら将来生まれる仕事の枠を埋めるため、幾つかの団体は学校と直接提携を行っている。例えば、学生が人工衛星のプログラムを行えるようになる事を目的とするArdusatや、その他代数計算や物理計算などのコンピュータサイエンスをカリキュラムの中核にしようとする、Alliance for California Computing Education for Students and Schoolsの様な団体がある。

米国に住む多くの人々は、自分が使っているツールやソフトについて理解していない。先日iCloudが攻撃を受け、プライベートな写真が流出した一件は、この事を露骨に表している。

関連記事:クラウドで自分の身を守る方法

「クラウド」とは、未だ正しく理解されていないにも関わらずあちこちでよく見られる単語の1つだ。CNNですら視聴者にiCloudの様なクラウドサービスでデータがどの様に保存されているかを正しく伝えられていない。

事実、クラウドサービスを提供しているCitrixが2012年に行った調査では、51%の人が天気が悪くなるとクラウドコンピューティングに影響があると考えており、回答者の95%はクラウドを使ったことはないと考えているという結果が出た。

Pythonやスクリプティングを学びたい学生にプログラミングを選択科目として提供することは、根底にあるデジタルリテラシーについての問題を解決する助けにはならない。もし学生全員にプログラミングを教えることが目的であったとしても、まず最初に行うべきは、コンピュータの構成要素自体についての教育だ。

彼らが次のDropboxを作れるようになる必要はないが、クラウドサービスがどの様に動いているのか、理解はしておくべきだ。

「既存のアプリを使うにしても、新しくコードを書くにしても、もしマシンに何かをさせたいのなら、まずそのマシンが何が出来て何が出来ないのかを理解しなければならない。それはプログラミングをする事はない場合でもだ。」と、Palantir Technologiesのエンジニアリングアンバサダーであるアリ・ジェシャーはイベントでそう語った。

では学校は何をしているのか?

米国に37,000ある高校のうち、10%以下が大学レベルのコンピュータ・サイエンスを教えている。カリキュラム及び教育法のディレクターであり、コンピュータサイエンスプログラム Project Lead TheWayをデザインした、ベネット・ブラウンの様な人にとってはこれが問題だという。彼はコンピュータ・サイエンスのコンセプトと、デジタルリテラシーは二回生の前半頃には教えられるべきだと考えている。

コンピュータやタブレットが使えないクラスでも、紙ベースで教師が基本的なコンセプトの教育を行うためのリソースを提供するための、Code.orgの様な構想もある。

先進的なテクノロジーが利用できる生徒には、コンピュータ・サイエンスのコンセプトと、既に学習しているコースを併せて、両方を学習することも出来る。Bootstrapを例に取ると、代数幾何を使ってビデオゲームを作る事で、生徒にプログラミングのコンセプトを教えている。教材はオープンソースで、12−16歳の生徒を受け持つ数学教師がBootstrapをダウンロードし、クラスに導入することが出来る。

しかしテクノロジーとコンピュータ・サイエンスのコンセプトを教えることが出来るインストラクターの調達は難題かも知れない。

Lead The Wayプロジェクトでは、サイエンス、テクノロジー、エンジニアリング、数学のコースを、カリキュラムの開発及び教師のトレーニングを通して国中の学校に提供している。これにはコンピュータ・サイエンスの教育のための訓練や、様々な背景を持った生徒達に授業に興味をもってもらう方法も含まれている。

この団体は昨年、プログラムの試験運用を行い、今年から全国の学校で稼働させる。

「最初の年で、2週間の集中トレーニングコースを受けた教師の80%が、学校に戻って生徒にこのコースを教えることに自信が持てた、といっている」とベネットは言う。

「プログラミングを学ぶ」という活動については、ほぼ同数の賛同者と懐疑論者がいる。プログラミングとプログラムがどう動くのかを理解することは大きく異なるという点もその理由の1つだ。

カリフォルニア大バークリー校で電子工学と情報工学の教授を務めるアルマンド・フォックスは、デジタルリテラシーは親がなぜそれを履修しなければならないのか理解されるまで、生徒の必修科目では無かったという。

親は小学校のカリキュラムにおいて、子供が何をするかなど関係なく役立つものが欠落しているという事に気づく必要がある。きっかけ作りは起こるべき事の一部だと彼は言う。

トップ画像提供:Brad Flickinger

Pocket