学習方法/高校情報

令和四年度からは、『社会と情報』・『情報の科学』から『情報I』(必須)・『情報II』(選択)への移行しました。
本書はまだ、『社会と情報』と『情報の科学』当時の記載が中心であることに注意してください。
高校の「情報」教科では、データの圧縮のしくみや、エラー訂正のしくみといった情報科学・情報工学および関係する数学、あるいは関する法律など社会的な知見など、中学より高度な内容を学びます。
単なるマウスの使い方、キーボードの使い方などは中学校卒業までに習っている前提で教科書は書かれています。
大学入試の新共通試験に『情報I』が加わりましたが、内容は情報科学と数学、および関係する法律など社会科的な知識です。基本的にはマウスやキーボードの操作は、共通試験には出ません。国の大学入試センターから共通試験サンプル問題などが公開されていますので、もし疑うなら確認できます(ただし、前提知識になる可能性はあります。ですが学校で普通に実習などをしていれば操作知識については対応できる範囲内でしょう)。
実際、旧科目名の『社会と情報』及び『情報の科学』を踏襲したものになっています。
文科省の指導要領などでは実習なども要求されていますが、しかし直接的には、Officeソフトの Word の使い方とか Google アプリの使い方 などといった実習で遭遇するだろう特定アプリの操作については、共通試験には出ないことに注意してください。(大学入試センターのサンプル問題で確認できます。)
教科書会社が Word や PowerPoint などの実習用の教材も出していますが、しかしあれは検定教科書ではありません。「副教材」とか「副読本」とか言われる教材です。副教材の内容は、基本的には大学入試には直接は出ません。
出題傾向については、センター試験時代の『情報関係基礎』のような出題を基本的には踏襲していくものと思われます。過去問については、 情報処理学会で、センター試験『情報関係基礎』の過去問がアーカイブされています。(なお、新共通試験の対応する情報の科目名は『情報I』になるものと思われます。)
ただし、直接的には共通試験では問わなくても、もしかしたら設問文などの状況設定で、実習のような状況設定にする可能性は今後はあります。
たとえば
みたいな、実習体験を前提にした複合問題が出題される可能性です。文化祭に限らず体育祭とか部活動とか委員会とか生徒会とか、どこの高校にも基本的には存在するはずの活動なので(養護学校など一部は例外もあるかもしれないが)、いろんな出題パターンの可能性が考えられます。
なので、高校の各所での実習も、ちゃんと参加しましょう。
ほか、指導要領とは別に、文科省のGIGAスクール構想のための大量の公費の補助金によって、公立高校にもICT化の補助金が多く与えられましたので、もはや「わが校は貧乏」というイイワケは通じず、「うちはお金が無くてパソコンの勉強ができなかったので、コンピュータの実習が苦手なんです~」みたいなイイワケは通じない時代になっています。
まあ、ふつうに校内の活動などの実習などに参加していれば、共通試験対策としては、特に問題は無いと思います。あくまで情報I・IIは情報科学などを学ぶ科目ですので。
さらにほか、2020年の新型コロナ問題もあって、学生ならビデオ会議ツールの使い方とか、リモート学習とかも、マジメな学生なら練習してあるはずです。受験対策としては、操作に深入りする必要はありませんが、しかし余裕を見てそういうのも時々は勉強・おさらいするのも良いでしょう。
令和3年度(2021年度)までは、普通科高校の情報科目には『社会と情報』『情報の科学』の2つの科目がありました。 『情報の科学』のほうが技術的詳細について説明されていました。
この教科にかぎらず、基礎的なコンピュータのリテラシーについて自習する場合は、しばらくは検定教科書を中心に読んで勉強せざるを得ないでしょう。
書店に行っても、手頃なコンピューターの入門書が置いてない場合が多いでしょう。教科書取り扱い店で、高校の情報科目の検定教科書を注文する必要があるかもしれない。
いちおう、2023年の現在では、情報科目の参考書は出版され始められているのですが(国の方針などにより新共通試験で国公立大受験に『情報』科目がほぼ必須科目になった)、しかし高校『情報』科の参考書市場がまだ始まったばかりなので、参考書のデキは未知数です。
さらに、2022年に情報I・IIに教科が改訂されたばかりなので、まだ参考書は教科の改訂への対応が追い付いていません。
あるいは、書店によっては、Windowsの使い方の書籍とか、そういう特定の商品の使い方の操作マニュアル的な入門書しか置いてない場合もありえます。
しかし、単なる操作マニュアル本ではせっかく読んでもたいしてコンピュータのリテラシーが身につかない。あるいは、たとえ「C言語入門」のようなプログラミング入門書が書店に置いてあっても、それらは専門的であり高校レベルの初心者の勉強の役には立たない。
「基本情報技術者試験」の試験対策本が書店に置いてあっても、中学を卒業したばかりの初心者には、その対策本はレベルが合っていない。
しかし、検定教科書を除けば、「基本情報技術者試験」対策本以外に、他に高校生向けのコンピューター・リテラシーの書籍が書店に売ってないのが現状どうしても情報科の検定教科書が購入できない場合には、「基本情報技術者試験」の参考書を買って読むのが次善の策でしょう。
二進数の計算など、この単元には、計算する部分もあります。
なので、検定教科書を見ながらでいいので、実際に紙に書くなどして計算してみましょう。
おそらく入試などでも、計算問題なども問われると思います。
ただし、統計などは膨大なデータを扱うため、手計算は難しいので、そういう単元では数値計算ではコンピュータを使っても仕方ないものです。(数学でも同様でしょう)
ただし、式変形などの計算練習は、手で行いましょう。
学校にも寄りますが、ふつうの高校で導入されているソフトは、けっこう高度です。
たとえば、Microsoft 365 とか、個人で購入しようとすると、買えなくはないのですが、しかし一人でクラウド利用するのは、うまい使い道がなかなか思いつきません。なお、都立校全校が Microsoft 365 for Education を導入しています。
ほか、まだ東京限定の話題ですが、東京の全公立高校に、フォトショップなどAdobeのクリエイティブソフトが導入されています。
ICT環境には地域差があるので、共通試験では前提知識にはならないですが、しかし個人で買うと高額になりそうなソフトが学校では使えますので、なるべく在学中に操作方法など練習しておきましょう。
学割(がくわり)とか、一括購入などによる値引きなどによって、学校はソフトウェアを格安で購入しているのです。学生は、この機会を利用しましょう。
無料ソフトはあとからでも使えます。それよりも、高校在学中は、校内の有料ソフトを使いましょう。なお、高校に限らず、大学でも同様です。
Googleアプリは一般向けには「無料」と思われていますが、じつは Google アプリにも有料アプリがあります。 Google Classroom とか Google Worakspace とか組織運営系のアプリは有料のものもあります。仮に無料プランを使うにしても、卒業後に個人でこれらを経験するのは難しいので、なるべく学生のうちに積極的に校内のICT活動などには協力しましょう。
もっとも、ソフトウェアは卒業後もお金を払えば買えるので、それよりも部活動・委員会活動などのような高校時代でないと活動の難しい活動のほうを優先すべきですが。とはいえ、ソフト代もそこそこ高いので、時間に余裕のある範囲で、校内のICt活動に協力するのが良いでしょう。
こういう事が分かってくると、プログラミングの勉強でも、Scratch(スクラッチ)とか JavaScript は無料ソフトで実習できるので、勉強はやや後回しで良い、というのも分かります。それよりも有料ソフトの Excelが必要な VBA のほうを優先して勉強したほうが、資金的にも効率が良いです。もっとも、人工知能ブームで Python のほうを習う高校も多いかもしれませんが。
『社会と情報』では、以下の話題を説明していました。
『情報の科学』では、さらに以下の話題を説明していました。
「PDCA法」とか、あまりコンピュータと関係のない話題も、これら情報科の科目の教科書では、扱われています。技術系の試験などに出てくる用語なので、そのような用語も覚えておきましょう。
コンビニエンスストアの「POS」システムなどの社会科でも習う用語も情報科では習います。
C言語やBASICなどプログラミングについては普通科の旧「情報」科では習っていません。ただ「C言語」という名称だけなら紹介している検定教科書がありますし組み込みソフトなどでC言語が使われる用途もある事も検定教科書で紹介されています。
また、BASICで書かれた簡単なプログラム文は中学校の技術科で紹介されています。
ただし、情報I・II時代の新・情報の検定教科書は、pythonまたはJavaScriptまたはVBAなどに対応しています。
しかし、使用言語が統一されていないなどの問題もあり、共通試験ではそれら特定の言語の知識は問われません。共通試験では、実在しない架空のプログラミング言語「DNCL」が使われます。一説には、「大学入試センター言語」 Daigaku Nyuusi Center Gengo の略だろうとも言われています。

高校レベルの初心者にとって、プログラミング言語の文法を完全に習得するのは難しいことです。なぜなら、高校生活では他にも5つの教科に時間を割かなければならず、熟練したプログラミングスキルを身につけるためには時間が足りないからです。現代のプログラミング言語は非常に多機能であり、初学者にとっては敷居が高いことがあります。
同様に、Officeソフトウェア(ワープロソフトや表計算ソフトなど)の高度な使用方法に深入りすることも控えた方が良いでしょう。これらのソフトウェアは基本的な使い方は比較的簡単ですが、高度な機能や操作になると中学生や高校生には難しいことがあります。高校生活は多くの教科に対処しなければならないため、時間が制約されています。
ワープロソフトや表計算ソフトなどは、最低限必要なスキルを実務実習や教育の一環として学び、高校で教育を受ける際に深化させることができます。例えば、Excelのグラフを作成するために使用される最小二乗法など、高度な数学や情報科学のコンセプトは、高校の情報科学のカリキュラムで学ぶことができます。
そのため、最初に高校の検定教科書を学び、基本的なスキルを習得することをお勧めします。高校のカリキュラムは、必要な知識やスキルを提供してくれるでしょう。
プログラミングで、特にやりたいことが決まっていなく、とりあえずプログラミングっぽいことをしてみたいというような初心者が学ぶプログラミング言語は、文法が簡単で、解説が豊富で、なおかつ汎用性があるものがいいだろう。
そのようなものとして、Python が挙げられる。Pythonはメジャーなプログラミング言語で英語はもちろん日本語での解説も充実している。Pythonには豊富なライブライリーがあり、数値計算、機械学習、統計、ゲーム、サーバーなど幅広い範囲のプログラミングが出来る。
ほかに初心者向きの言語としては JavaScipt などがある。
初心者むけとして有名な言語に、「JavaScript」(ジャバ スクリプト)というプログラミング言語があります。
JavaScriptは、ウェブブラウザで動作するので、最も広く普及しているプログラミング言語の一つといえます。
誕生当初 Netscape Navigator に実装された JavaScript は、まさに初心者むけの言語でした。その後、JavaScriptの普及とともにブラウザベンダーは競うように新機能を追加し、機能が増えるのだけなら良いのですが、ブラウザによって機能があったりなかったり、微妙な差異があり、プログラマはその違いに苦慮する状況が生まれました。
また、ウェブブラウザ上のJavaScriptを学ぶには、HTMLとCSSをある程度は習得しておく必要があります。HTMLも、かつては初心者向けの技術でしたが、しかし2020年代の現代ではHTMLが高度化しており、もはや多くの高校生にとって、HTMLは身近な学習対象ではないので、ここにも一つJavaScriptを学ぶにあたってのハードルがあります。他方、JavaScriptをウェブコンテンツに組み込んでダイナミックなウェブサイトを作ることは、大きのモチベーションの1つになりえます。
高校生が、もし学校でJavaScriptを習えるのなら、その機会を利用したほうが良いでしょう(多くの検定教科書は、Python や VBA とともに JavaScript を紹介しています)。
なお、JavaScript と Java(ジャバ) とは、異なるプログラミング言語です。混同しないように注意しましょう。Javaの複雑な文法と膨大なライブラリクラスは初心者むきではありません。
書店では、プログラミング言語の初心者向けの書籍 と 専門家向けの書籍 が同じ棚にあることが珍しくないので気をつけましょう。残念ながらこれは図書館にも言えます。
「比喩が分かりやすい本」ではなく、「一通り文法事項が順序立てて説明してある本」と評されている書籍の購入を勧めます。「具体例な開発例が分かりやすい本」ではなく「一通り文法事項が順序立てて説明してある本」を買いましょう。
あるプログラミング言語の入門書一冊で、そのプログラミング言語のすべてを理解しきることは望むべきでありません。 プログラムの勉強ではPCを用意しプログラム開発環境を用意し、プログラムを入力し動作させるのがよいでしょう。
paiza.IOやWandboxのようなオンライン開発実行環境も年々機能向上しており、オンライン開発実行環境とタブレットやスマホの組み合わせでプログラミング環境を作ることは可能です。
プログラミングの学習に英語は欠かせないと言ってもいいだろう。なぜなら、プログラムの句は英語の単語から来ているものがほとんどだし、エラーが英語で書かれており、ライブラリのチュートリアルなどは有名なものを除けば、ほとんどが英語で書かれていて、日本語訳や日本語での説明が不足している場合が多いからである。そのため、英文を尻込みせずに読める程度の英語力は身につけている方が望ましい。
※ 本節の内容は高校の範囲を越えてるので練習しなくて良いです。高校卒業後の進学後などに参考になればさいわいです。
まず、上述したように学習環境が必要です。 どうやって実際にプログラミング言語を勉強するかというと、プログラミング言語の入門書を最初のコードが出て来るまで読み進めて実際に入力しプログラムを実行するという流れになります。 この最初のコードを入力するときは、とりあえず何も考えずに入力してみてください。そして書籍の指示にしたがった方法でプログラムの書かれたファイルを実行してみてください。 たとえば、ある入門書の最初のコードで(※ 下記のコードの例は「C++」言語の場合)、
とあれば、それをそのまま入力して、コンパイル、リンクし、実行形式を得て、実行形式を実行してみます。
まず、エラーがなく正常にリンクされるまでコードを修正します。
これを実行すると、
と2行で表示されます。
しかし、ほとんどの初心者は何らかの入力ミスをしている事が多く、ファイルをコンパイルしてもエラーが起きてしまい実行形式を得ることができないか実行できても期待どおりに動かす事ができません。
エラーがあれば、書籍に書かれたコードをよく見ながらコードを修正します。よくある間違いとしては、半角と全角の混合やタイプミスです。プログラムの英数字を全角で書いてしまうとエラーが出てしまうので注意しましょう。特に、全角スペースと半角スペースは見分けがつきづらい分厄介です。
もし、エラーせずにプログラムをコンパイル、リンク、実行できたのなら、すでにアナタは、入力したそのコードの仕組みを、だいたい分かっていますので、本wikibooksで説明するような、次の作業に移ります。
「次の作業」とは、もし入力したコードが、エラーもなくプログラムが正常に実行されれば、 今度は、さきひど入力したコードをコピーして別のファイルをつくり、数分ほど、さきほど入力したコード中にある「ようこそ!」などの文章などを、自分で思うままに書き換えてみてください。 (書き換え前の書籍どおりのコードと、書き換え後の自分流のコードの2種類を、パソコンに保管しておく。) 上記のコードの場合なら、たとえば「<< endl」を省略してみたら、どうなるかとかを、自分流コードで試してみるのです。なお「<< endl」とは「改行する」という意味です。 じっさい、たとえばあるプログラミング言語で、さきほどのコードから「<< endl」を除いてみたコード
(コード)
を実行すると
(実行結果)
というふうに、改行されずに、1行でつづけて表示されるはずです。
あるいは、「ようこそ」を「おはよう」に書き換えてみて、
を実行すると
(実行結果)
というふうに、表示が確認することを、たしかめると、良いでしょう。
いっぽう、コードの理解できない部分は、書き換える必要がありません。 たとえば
が何なのかを理解できないだろうし、ここは、まだ書き換えなくても良いのです。
このように、
なぜ、わざわざ自分なりに書き換えてみてまで、自分の理解を確かめる必要があるのかというと、その理由は、将来、プログラミングの入力エラーを自分が起こしたときに原因を特定できるようにするために、今のうちに、いろいろと試してみてどこを書き換えると、どう結果が変わるかを確認しておく必要があるのです。
また、大学などに進学してプログラミング科目を習う場合の定期テストでも、定期テストでは授業であつかったコードがそのまま出題される事はないので、自分でコードを書き換えてみて確かめるようにしないと、そのプログラミング科目の定期テストの問題が解けずに不合格になってしまう可能性もあります。
なお、大学の場合、その授業の毎時間のさいごに、その授業のコードを提出する場合があるので、授業用のコードは書き換えずに、授業用コードを自分流コードにコピーペーストして、その自分流コードを書き換えてみて試行錯誤しましょう。
プログラミングの学習では、正解のコードを、覚えることは、けっして、学習の目的ではありません。そもそもコードは、無限のパターンがあるので、覚えようと思っても不可能です。
プログラミングの学習は、もしもミスのあるコードを書いてしまった場合に、そのミスを探し当てられるようになるために試行錯誤することが、学習の目的なのです。
さて、書籍での学習で、数分ほどの書き換えによるコードの試行錯誤が終わったら、書籍をそのまま次のページへと読み進んでください。 そして、また新しいコードが出てきたら、同様に入力してプログラムを実行してみます。なお、新しいコードの入力の際、たいていは、前のページで入力した前回のコードに近いコード前回のコードをコピーペーストして、それをもとに、いまのページの新コードへと書き換えても、かまいません。
いちいち、まったくゼロから新コードを書き始める必要は、ありません。 けっして「コピーペーストをして入力作業を減らしても、技術が身に付くのだろうか?」と心配する必要はありません。なぜなら、たいていの初心者は、たとえコピーペーストをして作業を減らした場合ですら、入力ミスをしてしまうことが多く、なにがしかのエラーを起こしてしまうからです。
裏をかえせば、コピーペーストをして入力作業を減らしてもエラーを起こさずに正常にプログラムを実行できるようなコードをすぐに書けるなら、すでにアナタは、そのページの新コードが、だいたい分かっているのです。 ともかく、コードを実行してみてエラーが出ても、エラーがなくなるまで直しましょう。もし、エラーがなく正常にプログラムが実行されたら、また自分流に書き換えを数分ほどしてみて、試行錯誤します。 それが終わったら、次のページへと読み進めます。
高校生の範囲なら、このような練習方法でも、充分です。 もし高校でJavaScriptや(プログラミング言語ではないが)HTMLなどを習う場合の練習方法も、だいたい、このような感じで練習すれば、高校生なら充分でしょう。