初のアマゾンKindle電子書籍を出版しました。
「小学校でプログラミングを教える先生のためのコンピュータサイエンスの基礎:隙間時間を使って1ヵ月でマスターする」 (レイジーラボ)
なんと、4月26日の朝から現時点(夕方)までで「売れすぎランキング 無料Top100」の1位です!
こんなこともありうるんですね~。 (でも「生々しい素人写真」が猛烈な勢いで追いついてきてます!)
Lazylaboという組織を友達と作って、そこのFBページに投稿していた内容を1冊にまとめた、というわけです。30回に分けて投稿した内容に加えて「はじめに」と題したセクションも加えました。
値段は一応、恰好が付くようにワンコイン、税込み500円で買えるようにしてますが、とりあえず無料キャンペーン設定しました(設定の上限は5日間なんでこの投稿からまるっと4日間ぐらいかな・・・)。需要しだい、また無料にします。
「はじめに」の導入部分
2020年の新学習指導要領では、子供たちが情報技術を主体的に活用していく力をつけるための「プログラミング教育」の一環として「プログラミング的思考」を育むことが盛り込まれています。
小学校プログラミング教育の手引(第一版)によると、「プログラミング的思考」とは、「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」とあります。
現在、この「プログラミング的思考」を育むために、さまざまな教材やアクティビティが開発・提供されています。コンピュータを一切使わずに紙と鉛筆、時には体を使って学ぶスタイルのものもあれば、実際にプログラミング言語を使ってコーディングを行うものもあります。ただし、それらの個別の概念やアクティビティが、情報技術全体の中でどのような位置を占めているか、どのように他の概念と関係しているか明確でないケースが多いようです。結果、生徒のみならず教える側の先生の間でも混乱の原因になっているようです。
本書は「教える側である先生」を対象に、情報技術の中心にあるコンピュータサイエンスとソフトウェア工学の基礎を、その全体像を把握することを目的にまとめてあります。今後、コンピュータとプログラミング教育の現場で知っておくと役に立つ原則的な基礎知識を体系的に、そして消化しやすいフォーマットでまとめています。
コンピューターサイエンス(コンピューター科学)は、コンピューター(計算機)を利用する「コンピュータシステム」についての学問ですが、その範囲は非常に広範囲に及びます。また「ソフトウェア工学」も同様に、ソフトウェアの設計から始まり、運用・保守にいたるまでの様々な過程をカバーします。この本では、「プログラミング的思考」を育むために必要な基本概念のみを体系的に整理し、解説することを優先しています。また、それぞれの基本概念については、全体の中での位置が分かるように「コンピュータ・サイエンスの地図」という全体図を提案しています(図表1)。
この「コンピュータサイエンスの地図」は、基礎概念がどのような位置づけで全体と関わっているか、などを可視化しています。
多くの方がすでに指摘していることで、私も強く共感することに、昨今のプログラミング教育としてのプログラミング教室や教材などは、私本人がやってきたものも含めての話なんですが「打ち上げ花火」ように、その場かぎりの学習になってしまい、その後にどのような学習をすれば良いのか、全体の中のどの部分をマスターしたのか、などがさっぱりわからないケースが多いように見受けられます。勉強した気になったり、教える側の自己満足で終わったり、という状況もあるようです。
EdTechの中でこの辺りを模索しているというのが現状だと思います。そこで「コンピュータサイエンスの地図」を1つのモデルとして提案しています。私たちも、今後の教材などはこの地図を参照しながら、迷子にならないように(そして、子供たちを迷子にさせないように)注意しながら進めていこうと思うわけです。