高校で使われているプログラミングの教科書を全部購入して比較 (情報の科学)
義務教育ではないものの、高校ではプログラミング教育を含むIT教育が「情報」という教科として2003年から実施されてきています。 今回は情報の教科書を再び大人買いしましたので、全ての教科書に目を通した上でそれぞれの教科書の特徴を見ていきます。
以前の記事でも触れましたが、教科書は教科書会社が学習指導要領を元に作成し、教科書検定を受けたものが各学校によって採択され使用されます。 教科書に掲載されているからといってその内容がそのまま授業で行われるわけではないのは注意が必要です。
今回はその中でも平成28年に検定を受け、現在使用されている下記の6つの教科書を紹介します。 前置きが長くなりそうなので、各教科書について見たい方はジャンプしてください。
- 東京書籍 - 情報の科学 [情科306]
- 実教出版 - 最新 情報の科学 新訂版 [情科307]
- 実教出版 - 情報の科学 新訂版 [情科308]
- 数研出版 - 改訂版 高等学校 情報の科学 [情科309]
- 日本文教出版 - 新・情報の科学 [情科310]
- 第一学習社 - 高等学校 情報の科学 [情科311]
- 記事の執筆に使った簡易的な一覧表
また今回の記事は教育に携わっていない方向けに紹介しますのでは高等学校を高校など一般的な用語で表します。
「情報の科学」とはどんな位置づけなのか
教科「情報」が平成15年(2003年)に開始されてから普通科の高校では常に必修の教科となっています。 しかしこれは選択必修という形になっており複数の科目が想定されていてそのうちいずれかを履修すれば良いという形式です。 当初の科目編成は次の3つです。
- 情報A
- コンピュータや情報通信ネットワークなどの活用を通して、情報を適切に収集・処理・発信するための基礎的な知識と技能を習得させるとともに、情報を主体的に活用しようとする態度を育てる。
- 情報B
- コンピュータにおける情報の表し方や処理の仕組み、情報社会を支える情報技術の役割や影響を理解させ、問題解決においてコンピュータを効果的に活用するための科学的な考え方や方法を習得させる。
- 情報C
- 情報のディジタル化や情報通信ネットワークの特性を理解させ、表現やコミュニケーションにおいてコンピュータなどを効果的に活用する能力を養うとともに、情報化の進展が社会に及ぼす影響を理解させ、情報社会に参加する上での望ましい態度を育てる。
- 参照
抽象的な表現になっていますが、ざっくりいうとITリテラシーを扱う情報A、計算機科学とプログラミングを扱う情報B、表現と情報社会を扱う情報Cという構成です。 そして結果としてどうなったかというと多くの学校が情報Aだけを開講し、エクセルやパワポなどを教えるというICT教育という形になり、情報Bを開講して実施できた学校は少なかったと言われています。 これは教科ができても教える教員を新規に採用できるわけではなく、短期間の研修を受けた現職教員の誰かが担当したという背景があります。
この状況を受けて平成21年の学習指導要領では教科・情報は次のように再編されます。
- 社会と情報
- 情報の特徴と情報化が社会に及ぼす影響を理解させ,情報機器や情報通信ネットワークなど を適切に活用して情報を収集,処理,表現するとともに効果的にコミュニケーションを行う能 力を養い,情報社会に積極的に参画する態度を育てる。
- 情報の科学
- 情報社会を支える情報技術の役割や影響を理解させるとともに,情報と情報技術を問題の発 見と解決に効果的に活用するための科学的な考え方を習得させ,情報社会の発展に主体的に寄 与する能力と態度を育てる。
- 参照
3つあった科目が2つに統廃合され、情報収集、情報活用、コミュニケーション(つまり情報A+情報C)を扱う社会と情報と計算機科学やプログラミングを重視するものが情報の科学と再定義されたわけです。 これによりコーディングを含むようなプログラミングは基本的に「情報の科学」の科目で実施されるようになりました。 このような経緯もあり、これから紹介する教科書の中には妙に古臭く感じる記述や内容がある時がありますが、それは過去の情報Bから引き継いでいるという側面があるでしょう。
また補足になりますが、次回の学習指導要領にて教科・情報は再びの再編を控えています。次は下記のような編成になります。
- 情報Ⅰ
- 情報に関する科学的な見方・考え方を働かせ,情報技術を活用して問題の発見・解決を行う学習活動を通して,問題の発見・解決に向けて情報と情報技術を適切かつ効果的に活用し,情報社会に主体的に参画するための資質・能力を次のとおり育成することを目指す。
- 情報Ⅱ
- 情報に関する科学的な見方・考え方を働かせ,情報技術を活用して問題の発見・解決を行う学習活動を通して,問題の発見・解決に向けて情報と情報技術を適切かつ効果的,創造的に活用し,情報社会に主体的に参画し,その発展に寄与するための資質・能力を次のとおり育成することを目指す。
- 参照
何が変わったかこれだけだとわからないですよね?内容の方も見るとこんどはどちらにも「プログラミング」が入ります。つまり高校でもプログラミング教育が本当に必修になります。 教育行政に興味が出てきた方はパブリックコメントの動向や続報をチェックしてみてください。というわけで本題の各教科書のレビューです。
各社の教科書の全体的な傾向
前置きがずいぶん長くなりましたが、ここからが情報の科学の教科書の内容です。 学習指導要領では下記のような項目が提示されているのでこれらをカバーする形で各社が教科書を編纂しています。
- コンピュータと情報通信ネットワーク
- コンピュータと情報の処理 (注: 文字エンコーディングの言及あり)
- 情報通信ネットワークの仕組み (注: DNS TELNET、Webサーバー、URLの言及あり)
- 情報システムの働きと提供するサービス
- 問題解決とコンピュータの活用
- 問題解決の基本的な考え方
- 問題の解決と処理手順の自動化 (注: プログラム言語の言及あり)
- モデル化とシミュレーション (注: プログラム言語の言及あり)
- 情報の管理と問題解決
- 情報通信ネットワークと問題解決
- 情報の蓄積・管理とデータベース (注: SQLとは書かれていない)
- 問題解決の評価と改善
- 情報技術の進展と情報モラル
- 社会の情報化と人間
- 情報社会の安全と情報技術
- 情報社会の発展と情報技術
各社の教科書がどのような意図で編纂されたのかは下記で趣意書が公開されています。
個別の特徴はこのあとに記しますが、全体的な傾向としては下記のような内容が各社共通してカバーされていました。
- アナログとデジタルの違い、データ化、基数変換(2進数、16進数)、文字コード
- ネットワークの仕組み TCP/IP、DNS、E-mail
- アルゴリズム
- データベース、正規化(第1、第2、第3)
- POSシステム
- なんらかの形でのWeb
- セキュリティや関連法規、ネットトラブル
ではここからが各教科書の特徴です。
東京書籍 - 情報の科学 [情科306]
中学校の教科書がとても楽しい内容になっていた東京書籍の教科書は比較的スッキリした内容で、かつ興味を引くような実習内容が入っていました。
たとえばテキスト音楽 サクラを使ったDTMは他社の教科書には見られない実習内容です。 ドリトルを使った実習も視覚的かつ、日本語でのコーディングが出来るので敷居が低そうです。
上記のような楽しい教材以外にはHTML、CSS、VBAなどが登場しておりテクニカルな部分は易しめになっているように感じます。 一方で知識面ではクリエイティブ・コモンズやSOHOなどのトレンドにも言及していました。 またデータベースの概念や設計に加えてSQLも例示されています。
東京書籍の情報の科学[情科306]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
情報量を抑えてスッキリしている。テキストから音楽を作成する実習、メールヘッダとプロトコル、パソコンのスペック表解読などがユニーク。 pic.twitter.com/FAylnUGet2
情科306 コーディングはHTML、CSS、VBA。SQLも例が示されている。ドリトルという日本語のタートル言語も。 pic.twitter.com/Cn8O0vPWG3
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
情科306
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
クリエイティブコモンズ、SOHO、ユニコード、twitterなど言及あり。 pic.twitter.com/YRtncJykcE
実教出版 - 最新 情報の科学 新訂版 [情科307]
実教出版の教科書はアカデミックな雰囲気の強い教科書です。特にCPUの動作の仕組みを説明するためにレジスタやメモリの番地を操作する簡易アセンブリの例が登場するのは群を抜いています。 一方でこれだけ込み入った内容を果たして現場の先生が教えられるのかというのは不安ですが面白いですね。 暗号化やアルゴリズムについても比較的深く解説しており、VBAで書かれたコードはインデントも深い構造になっています。 SQLの具体例の例示もありました。
知識面ではクリエイティブ・コモンズやSOHO、Wikiの言及はありますが、Eメールのマナーや文字コードについての記述は一昔前の内容という感じが強いです。
実教出版 最新情報の科学 新訂版 [情科307]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
計算機科学テイストが強い。擬似アセンブラやさまざまなアルゴリズム実装、データ圧縮などが目立つ。 pic.twitter.com/ARjPu2L6p8
[情科307]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
HTMLメールを避ける、Webページで一般的なEUCなど現在の状況にそぐわない記述もあり。
一方で在宅勤務、クリエイティブコモンズの言及あり。検索エンジンの分類も本文には無し。 pic.twitter.com/QtXoRAGcgE
実教出版 - 情報の科学 新訂版 [情科308]
実教出版からは2種類の教科書が発行されており、同じ科目でありながら注力する点が変わっています。 言語のようなものはVBAしか取り扱わない代わりに、問題としては数独を解くプログラムや暗号の作成などに取り組みます。 ウェブを重視しないのであればエクセルさえあれば実習ができるような形なので使いやすいのかもしれません。
実教出版 情報の科学 新訂版 [情科308]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
内容のスコープとレベルを限定することで教えやすくする意図を感じる。HTMLすら取り扱わず、実習は全てVBAに限定した上で数独を解く、オリジナル暗号などユニーク。パスワード作成にも言及も。 pic.twitter.com/B3rYIzEn53
[情科308]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
同じ実教出版と同様の文字コードの記述。検索エンジンの使い方は以前のヤフー想定か? SQLはコラム的扱い。httpsは錠は出ますという扱い。 pic.twitter.com/pwOLcdY3es
数研出版 - 改訂版 高等学校 情報の科学 [情科309]
数研出版の教科書の特徴は非常に豊富な実例の引用です。またTRONで知られる坂村健先生の名前が入っています。 ネット炎上に関するトラブルなど、ぼやかした例として紹介する教科書は多いのですがこの教科書では新聞記事のスクラップが多数貼られており、何が起きるかという事を強く伝えようとしています。
また手を動かす実習を扱わない代わりに知識の内容は先進的になっていて、「電池が長持ちする偽アプリ」やデータベースのトランザクション、Unicodeを3バイトの例として表示するなど頑張っています。 また検索エンジンについてはディレクトリ型は少なくなってきていると書かれており、ディレクトリ型の大手がなくなった現在の状況とも整合性を保っています。
ニコニコ動画や初音ミク、同人マークなどが教科書に掲載されている点も面白いですね。
数研出版 改訂版 高等学校情報の科学 [情科309]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
実際にコンピューターを使う実習を廃して座学に特化。実際の新聞記事の引用が豊富。日常の問題を防ぐ意思を感じる。アルゴリズムは探索をVBA 偽アプリにも言及。 pic.twitter.com/rznyMkg3xC
[情科309]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
SQLは扱わないが、トランザクションに言及。文字コードについてもunicodeを3バイトもあり得る例示に。クリエイティブコモンズ、同人マーク、在宅勤務も。 pic.twitter.com/z5oBOOXEDd
[情科309]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
ディレクトリ型サーチは少なくなってきていると言及。Eメールのマナー、あいさつ、テキスト形式など。初音ミク、ニコ動、ピクシブも登場。 pic.twitter.com/eZeEm4bnsw
日本文教出版 - 新・情報の科学 [情科310]
日本文教出版の教科書はインターネット業界でよく知られている村井純先生の名前も入っている通り、実際に現役のエンジニアから見ると最も高度な教科書といってよいでしょう。 実習は全てJavaScriptとVBAを併記する形になっており、またプログラミング自体も分岐や変数といった基礎構文をカバーしてからアルゴリズムに進むようになっています。 またアルゴリズムのコストの比較も行われています。
ブートローダ、NoSQL、ファームウェアアップデート、NOC、オープンソースのような完全にテクニカルな単語が入ってくるのもこの教科書の特徴です。 また動画や静止画のファイルサイズについてもフレーム間圧縮にまで言及しているのはこの教科書だけです。 Unicodeが4バイトになるケースを想定した記述もありました。 大手ショッピングサイトの公開鍵の中身を確認してみましょうという課題も実世界の痛い所をついています。
検索エンジンについてはクローラを前提としてアルゴリズムで並べ替えられている事、SEO対策がある事、任意のサイトのSEO対策をmetaタグで確認するといった内容まで入っているのもこの教科書だけです。
ほとんどの点で他の教科書よりも深い内容になっており、大学レベルでの計算機科学などにつなげようとしているのではと感じました。 理数系に強い学校などには良さそうです。ですが明らかに人を選ぶ教科書で実務的な経験が薄い先生がこの教科書を使うのには大変な努力がいるかと思います。
日本文教出版 新・情報の科学 [情科310]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
村井純先生の名前も入っており専門性が高い。実習はJavaScriptとマクロ言語(VBA)を常に併記。
逐次探索と二分探索のコストの違いの考察も行う。計算機科学やソフトウェア工学に近い。 pic.twitter.com/rtOZpyhOyx
[情科310]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
ブートローダ、フレーム間圧縮、WiFiのセキュリティ、NoSQLとどのトピックも一段階深い踏み込み。
大手ショッピングサイトの公開鍵を確認してみようという実習もよい。 pic.twitter.com/3DdPVEXeFe
[情科310]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
文字コードの記述も詳細、検索エンジンはクローラを前提にSEOにも言及。RSA鍵の破り方、アフィリエイトの仕組み。現代的な内容が反映されている。 pic.twitter.com/Wy2tN6QdDg
[情科310]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
電子メールのマナーの記述あり。HTMLの禁止言及は無し。NOC、クリエイティブコモンズ、オープンソースの記述あり。
巻末にJISコード表。 pic.twitter.com/EOWTGXhToP
第一学習社 - 高等学校 情報の科学 [情科311]
第一学習社の教科書はアニメ絵が多く、一見軟派な印象を受けるのですが内容はなかなか工夫されています。 例示や実習を全てJavaScriptに統一しており、その上でプログラムの書き方に幅があることや計算量の比較、CANVASなども扱っています。 アルゴリズムの例題もパリティ、待ち行列、バブルソート、コームソート、時間量計算、ライフゲームなど幅広く登場します。 またシステム開発を想定したような「ブルックスの法則」の解説や作業ミス、USBメモリの紛失による情報漏えいなども扱っています。
クリエイティブ・コモンズについては自作の地域キャラクタを創ってライセンスを考えよう。やくまもんなどのキャラクタのライセンスを調べてみようという実地的な内容が盛り込まれています。
こちらの教科書はシステムエンジニアやプログラマを目指す職業訓練への入り口というような印象が強く、生徒の進路の状況がそういった形ならフィットするのかなと思いました。 おそらく数年でもそういった業界の経験があるとか、友人がいるという先生ならうまく教えられそうな内容です。
第一学習社 高等学校 情報の科学 [情科311]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
ビット高校という設定のアニメ絵が多い教科書だが内容は本格派。例示はJavaScriptに統一されていて、さまざまなアルゴリズムに時間量計算も扱う。 pic.twitter.com/S8uhUtHVry
[情科311]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
プログラミングは答えが一つとは限らないと言及する教科書は珍しい。素数判定、Canvasでのグラフィック処理などの例題も陳腐化していない。
ブルックスの法則やテストと保守に言及しているのも珍しい。 pic.twitter.com/LvOzT6A9ev
[情科311]
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月29日
クリエイティブコモンズの紹介と地域キャラを作ってライセンスを考える問いかけ。文字コードはUTF-8がよく使われるという記載。メールについては「きちんとしたメール」の例のみ。検索はクローラを前提に欄外でディレクトリ型を捕捉。 pic.twitter.com/wWWrIuyHqR
まとめ 優れた記述の教科書は存在する
なんとなくあら捜しをしようとするとさまざまな事情で不正確、あるいは陳腐化した記述を教科書から見つけるのは難しくありませんでした。 これはどの教科の教科書であってもそうかと思います。 一方で多くの教科書には工夫を凝らしたと思われる特徴があり、見比べてみるのはとても興味深い体験でした。
もちろん教科書が正確であったほうがいいのはもちろんですが、正確であればいい教科書かというとそうでもないでしょう。 学校の設備や生徒の状況、先生の対応可能な範囲などを元に教科書を選び授業を実施するという事なのだと思います。
- プログラミング教育に関するその他の記事
追記 東京都教育委員会による教科書の研究結果
各地域の教育委員会が教科書採択の助けになるような調査や学校への推奨をする場合があるようです。 東京都教育委員会の場合は結果がウェブサイトにて講評されていました。 事前に見ていたらバイアスがかかりそうなくらいよくまとまっています。私の書いた上記の評価は個人の観点ですので教育委員会による評価と合わせて見ることで教科書の特徴がさらによくわかるかと思います。
高校の情報の科学の教科書について東京都教育委員会が研究した内容が公表されていました。みなさんが感じた印象と教育委員会の評価は一致しますか? 発展的な内容と構成上の工夫については下記のような講評です。https://t.co/IEGTKB2ivx pic.twitter.com/TenN9htTY2
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月30日
各教科書の実習内容がひと目でわかりますね。 pic.twitter.com/GpqRryeMvV
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月30日
東京都の「情報の科学」の教科書の採択状況。バラけていますね。エンジニアの人に人気のある?日本文教出版の教科書も25%なのでかなり使われていますね。
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月30日
実教出版 45.8%
日本文教出版 25.2%
東京書籍 15.9%
数研出版 7.5%
第一学習社 5.6%https://t.co/Oqq7BOgzCb pic.twitter.com/Nmp4NuEZy9