【情報I】プログラミングに関する3つの誤解

eyecatch-3655v2

先日、とある保護者からこのような質問がありました。

保護者
保護者

「情報」でプログラミングが出題されるから、解けるようになるためにプログラミングスクールは必要ですか?

思わず気になってしまいますよね。

今回はこのような素朴な疑問と誤解を抱いてしまっている方に向けた記事となっています。

2025年から大学入学共通テストに追加される「情報」。その範囲の中に「プログラミングが入る」ことは話題となりました。

しかも真新しい単元だから詳しく知っている人が少ないですよね。

数学の学習指導要領が変わった!となっても、

  • 数学がどんな感じの教科なのか
  • 高校数学がどれだけ難しいか

ということを実体験として知っていればその経験を軸にイメージできますが、

なにぶん真新しい教科、保護者にとっては自分の頃には全く学ばなかったこと、

そしてプログラミング=難しいハイレベルなことというイメージが重なって、

「情報が教科に追加される」「プログラミングが出題されるから難しくなる」というイメージだけが先行して誤解を抱きかねません。

コトゼニ
コトゼニ

でも実際、そうではないんです。

馴染むまでは難しく感じますが、ツボやコツを押さえて鍛えることができれば高得点を目指すこともできます。

そこでこの記事では筆者が「情報I」のプログラミングに関して、これまで身近に人から質問のあった3つの疑問・誤解について解説します。

その誤解とは

  1. プログラミング問題を解くには英語・数学ができないとダメ
  2. プログラミング問題に強くなるためにはプログラミングスクールに通わないとダメ
  3. プログラミングを学ぶのだからプログラミングができるようになる

です。

順に紹介していきますので

この記事を読めば、必要以上にプログラミング問題に対して怯えることなくなり、対策すべき1つの分野でしかないことがわかります。

プログラミングに関してぼんやりとした情報しかなく、一歩踏み込んだ情報が欲しい。

という方はぜひ最後まで読んでみてください!

本記事の信頼性

この記事の信頼性
kz2
コトゼニ(@kotozeni
  • 教育業界・学習塾で10年以上勤務。教員免許状所持
  • 500人以上の生徒に学習・進路指導:合格率 94.7%
  • プロ家庭教師・小学校学習支援サポーター、校内予備校の教室長
  • AIツールやオンラインでの豊富な指導経験を持つ
  • 不登校傾向のある生徒やギフテッドの特徴を持つ生徒も指導中

誤解①:プログラミング問題を解くには英語・数学ができないとダメ

questionandanswer

一つ目の誤解は「プログラミング問題を解くには英語・数学ができないとダメ」ということです。

英語や数学ができなくてもプログラミング問題に強くなれる理由は、以下の2つです。

  • 「情報」のプログラミング問題のソースコードは英単語と日本語で書かれている
  • 数学の知識が必要になるのは「データの活用」範囲

だからです。

「情報」のプログラミング問題のソースコードは英単語と日本語で書かれている

一つ目の理由は「情報」で出てくるプログラミング問題のソースコードは英単語と日本語で書かれているからです。

一般的に「プログラミング」ですとか、「エンジニア」「プログラマー」という言葉を聞くと画面いっぱいに英語が並んだ場面をイメージしますよね。

programming

プログラミング言語で書かれたテキストやファイルのことをソースコードと呼びます。実際のプログラミング言語でコードを記述する時には、英語で記述します。

ソースコードの中で、日本語が登場するのは

  • コメント
  • 文字列

のどちらからです。

とはいえ、高校の「情報I」で扱う言語は

  • JavaScript
  • Python
  • VBA
  • Scratch

の中から学校が選択する仕組みとなっています。Scratch以外はビジネスシーンや開発現場でも多用される言語なので、

保護者
保護者

実際のプログラミング言語を学ぶのだから、英語は必要でしょ?

と思うかもしれませんが、実はそうではありません。

大学入学共通テストにおけるプログラミング問題は「擬似言語」と呼ばれる、いわば「大学入学共通テスト用のプログラミング言語」が採用されており、その言語においては日本語もコードの中にたくさん登場するのです。

たとえば、プログラミング言語のひとつJavaで「『配列の中の要素を表示する』という処理を繰り返しコード」を記述すると以下のようになります。

Java

int[] numbers = {10, 20, 30}

for (int i = 0; i < numbers.length; i++){
   System.out.println (numbers[i]);
}

こう見ると英語が多い印象があります。

この処理を「擬似言語」で記載してみましょう。

擬似言語

numbers = {10, 20, 30}

i を 0 から 配列の要素の数 までくり返す:
┗  表示する(numbers[i])

さきほどのJavaでの記述よりも簡素になり、日本語で書かれている部分も多いので、処理内容がわかりやすい印象を持てますよね。

このように、大学入学共通テストで登場する「擬似言語」では日本語も織り交ぜてコードが表示されるので、コードを読み解くための能力に英語を必要としないのです。

数学の知識が必要になるのは「データの活用」範囲

保護者
保護者

プログラミングって「理系」というイメージがあります。複雑な処理を実行するために数学の知識が必要そう…

と思いますよね。

たしかに、数学の知識は少なからず活用するケースも必要です。

しかし、「情報」の問題においては数学の知識よりも重視したいのは「国語」です。

具体的な事象(いくつかの例)から「どのような場合でも正しく動作する」ために抽象化させることが必要になります。

具体⇔抽象の関係を正しくつかむために必要なのは論理的思考力です。

論理的思考力を鍛えるのは国語なのです。

eyecatch-2156【プログラミング的思考・論理的思考】違いと鍛える方法2つ(情報1)

そして、

数学の知識が本格的に必要になるのは「情報I」の「データの活用」という範囲です。

「データの活用」の範囲では

  • 平均値
  • 中央値
  • 標準偏差
  • 箱ひげ図
  • 分散
  • 共分散

といった、「数学I」の「データの分析」単元で学ぶ統計学の知識をフル活用します。

コトゼニ
コトゼニ

「データの活用」範囲は試作問題でも第4問として大問形式で出題されていたので重要単元の一つなのです

ですから数学の知識は「データの活用」単元で発揮できるように準備しておきましょう。

▶︎数学と情報Iのつながりについてはこちらの記事でも紹介しています。

eyecatch-1467【知ってる?】情報Iと数学は「データの活用」でつながっている

誤解②:プログラミング問題に強くなるためにはプログラミングスクールに通わないとダメ

programming-code

2つ目は「プログラミング問題に強くなるにはプログラミングスクールが必要」という誤解です。

コトゼニ
コトゼニ

実際私もプログラミングスクールに通いました!その経験をもとに言いますが、「情報」に強くなるためにプログラミングスクールに通う通わせる必要はありません。

プログラミングスクールについて

この記事におけるプログラミングスクールとは「エンジニアを養成するためのカリキュラム」を備えたスクールを指します。

その理由は「プログラミングスクールはエンジニア養成」のための機関であり、エンジニアという職業を目指す人のためのスクールなので、「情報」を解く上で求められるレベル以上のスキルを学ぶからです。

そもそもエンジニアを目指すためのスクールばかりなので高校生では通えないところばかりですし…。

たとえば、「情報」で出題されているプログラミング問題は

  • フローチャートなどを用いて筋道立てて物事を論理的に捉え、
  • プログラミングの基礎を活用してコンピュータに狙い通りの挙動(結果)を出させるためにコードを記述し、
  • そのコードを読み解く

構成になっています。

一方でエンジニアを要請するプログラミングスクールでは

  • プログラミングの基礎
  • データベースの操作
  • Webページ作成のためのマークアップ言語

といった知識も学びます。

コトゼニ
コトゼニ

難しい言葉、専門的な言葉ですみません。でもそれだけ「情報I」で学ぶ内容よりも専門的ということが伝わると嬉しいです

このように、明らかに「情報I」よりも高く専門的なレベルのことが中心となるので、プログラミング問題に強くなるためにプログラミングスクールに通う必要はないのです。

プログラミング問題に強くなるには「プログラミングの基礎」をまずはしっかり押さえましょう。

プログラミングの基礎となる、抑えるべきコツは

プログラム問題を読み解くコツ
  • 値・文字列
  • 変数
  • 配列
  • 算術演算子
  • 論理演算子
  • 制御文(条件分岐)
  • 制御文(繰り返し)
  • 関数
  • コメント

です。まずはこれらをマスターすることが重要です!

関連記事

eyecatch-3360v2【情報I】プログラミング問題に強くなる10個の基礎(苦手な人必見)

誤解③:プログラミングを学ぶのだからプログラミングができるようになる

laptop

3つ目は「プログラミングを学ぶのだからプログラミングができるようになる」という誤解です。

その理由は「情報Iで学ぶプログラミングはコードを書く力を鍛えることではなくプログラミング的思考を養うことが目的」だからです。

文部科学省が定める「プログラミング教育の推進」資料でもそのことが記載されています。

【思考力・判断力・表現力等】
・発達の段階に即して,「プログラミング的思考」(自分が意図する一連の活動を実現するために,どのような動きの組合せが必要であり,一つ一つの動きに対応した記号を,どのように組み合わせたらいいのか,記号の組合せをどのように改善していけば,より意図した活動に近づくのか,といったことを論理的に考えていく力)
を育成すること。

出典:文部科学省:教育の情報化の手引き「第3章 プログラミング教育の推進」

つまり、プログラミングコードを書けるようになることではなく、その一歩手前の「プログラミング的思考」を養うことが目的なのです。

プログラミング教育は小学校から始まり、学年に応じて、内容が少しずつ難しくなります。

高校生になると小・中学生とちがってプログラミング的思考を用いて小さいプログラムを作るようなカリキュラムにはなっています。しかし、普段我々が使っているようなアプリケーションを作れるようなレベル(実用的なレベル)には到達しません。

たとえば、高校の英語を学んだからと言ってコミュニケーションがスラスラと話せるようになるわけではありませんよね。

同じようにプログラミングを学ぶからといって、システム開発するレベルのプログラミングコードがスラスラ入力できるようになるわけではありません。

あくまで、「問題解決の手段としてシステムがある」ことを学び、その土台となっているプログラミング的思考を学ぶのが目的なのです。

まとめ

共通テストに追加される「情報」科。その中で出題されるだろう「プログラミングの問題」。それらについて筆者が身近な人から寄せられた3つの誤解について紹介しました。

プログラミング問題は現時点で問題集も少なく、対策のしづらさは目立ちますが、変数や配列といった基礎知識を身につけ演習を積めば、慣れることができるでしょう。

必要以上に怯えることなく、正しく対策できるようにしていきましょう!

最後まで読んでいただきありがとうございました。

この記事が少しでも参考になれば幸いです。

それではまたここで会いましょう!

ブログランキング・にほんブログ村へにほんブログ村

ブログ村に参加中です。上のバナーをクリックいただくだけで当ブログにポイントが入ります。いつも応援クリックありがとうございます。

Twitter

Twitter やってます。

新着記事のお知らせをしていますのでぜひフォローしてください!

関連記事

この記事を読んだ人はこちらの記事も読んでいます。

eyecatch-3360v2【情報I】プログラミング問題に強くなる10個の基礎(苦手な人必見)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA