DIVX テックブログ

catch-img

AIを用いた基本情報技術者試験の科目Aの勉強法

目次[非表示]

  1. 1.はじめに
  2. 2.この記事を読んで欲しい人
  3. 3.AIを用いた勉強法
    1. 3.1.問題を出してもらう
      1. 3.1.1.科目A
      2. 3.1.2.科目B
  4. 4.参考書を読んでもわからない時のAI活用
  5. 5.AIを使う場合の注意
  6. 6.終わりに

はじめに

先日基本情報技術者試験を受けてきました。
両科目の得点が600点を超えたため、合格の可能性が高いと考えています。

業務での経験を活かし、勉強時間は15時間ほどで効率的に知識を深めることができました。
今回の記事ではAIを用いた基本情報技術者試験の勉強法をご紹介したいと思います。

この記事を読んで欲しい人

科目Aにおいて、ある程度の勉強が終わった、もしくは特定の単元の勉強が終わって問題演習を積みたいという人向けの記事になります。

AIを用いた勉強法

弊社が開発しているDIVX GAIを用いて実際にやっていきたいと思います。

問題を出してもらう

科目A

・ランダムに出題

まず簡単に、科目Aの問題を出してもらいます。
AIに対して、 「基本情報技術者試験の科目Aの問題を選択式で出してください。」 と要求します。
すると答えと共にいくつかの問題を返してくれます。

返ってきた返答を以下に記載します。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

基本情報技術者試験の科目Aでは、コンピュータ科学や情報技術に関するさまざまな知識を問われます。以下に選択式の問題をいくつか作成しました。
問題1:
コンピュータの基本構成 次のうち、コンピュータの基本的な構成要素に含まれないものはどれですか?
A. 中央処理装置(CPU)
B. 主記憶装置(メモリ)
C. マウス
D. 入出力装置(I/Oデバイス)
問題2:
データベース管理システム データベース管理システム(DBMS)の主な機能として、最も適切なものを選んでください。
A. ソフトウェアのバージョン管理
B. データの保存、検索、更新、削除
C. ネットワークのパフォーマンス監視
D. コンピュータの物理的メンテナンス
問題3:
ネットワークプロトコル 次のプロトコルのうち、Webページを取得するために使用されるプロトコルはどれですか?
A. FTP
B. SMTP
C. HTTP
D. SNMP
問題4:
オペレーティングシステム オペレーティングシステムの役割に該当しないものは次のうちどれですか?
A. ハードウェア資源の管理
B. ユーザインタフェースの提供
C. プログラムのコンパイル
D. ファイルシステムの管理
問題5:
ソフトウェア開発 ウォーターフォールモデルにおける最初の工程として、正しいものを選んでください。
A. 保守
B. テスト
C. 設計
D. 要件定義

回答は以下の通りです:
1.C. マウス
2.B. データの保存、検索、更新、削除
3.C. HTTP
4.C. プログラムのコンパイル
5.D. 要件定義

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

上記の例ではAIが5問問題を出してくれますが、問題数を指定すれば(もちろん限度はありますが)その分だけ問題を出題してくれます。
また回答を別にするように要求し、答え合わせの時に答えを聞くことも可能です。
ある程度範囲をランダムに問題を出してくれるので、過去問演習としては役立つか思います。

・特定の範囲に絞って出題

もちろん範囲を指定して出題してもらうこともできます。
こちらもAIの返答を以下に載せておきます。

AIに対して、 「基本情報技術者試験の科目Aのストラテジ範囲の問題を選択式で出してください。」
と要求すると以下の返答が返ってきます。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

もちろんです。以下は基本情報技術者試験の科目Aのストラテジ範囲に関する選択肢問題です。正しい答えを選んでみてください。
問題1:
企業戦略における差別化戦略とは何ですか?
A) コストを削減して競争に勝つ戦略
B) 競合他社と差別化された製品やサービスを提供する戦略
C) 他社との提携を強化する戦略
D) 新たな市場に進出する戦略
問題2:
SWOT分析で「T」は何を指しますか?
A) 脅威 (Threat)
B) 技術 (Technology)
C) トレンド (Trend)
D) ターゲット (Target)
問題3:
ポーターの5 Forces分析における「新規参入の脅威」とはどのようなものですか?
A) 既存の競合企業との競争
B) 自社の提供する製品の代替品が市場に出現すること
C) 新しい競合企業が市場に参入するリスク D) 顧客の交渉力が高まること
問題4:
バランススコアカードにおける4つの視点はどれですか?
A) 財務、顧客、プロセス、学習と成長
B) マーケティング、生産、財務、顧客
C) 財務、販売、組織、リスク管理
D) 労働力、顧客、供給者、環境
問題5:
IT投資の評価方法の一つである「ROI」とは何の略ですか?
A) Return on Investment
B) Rate of Investment
C) Recovery on Investment
D) Realistic on Investment
各問題に対する答えを考えてみてください。必要であれば、答えをお知らせします!

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

このように、AIを利用して特定の範囲を指定し、効果的に問題を出題してもらうことが可能です。

・難易度を上げて出題

まずは複数解答形式にして要求してみます。
「基本情報技術者試験の科目Aの問題を複数回答有りの形式で1題出してください。」 と要求すると以下のように返ってきます。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

問題:次のうち、ソフトウェア開発における「要件定義」の目的として正しいものを全て選びなさい。

1.顧客のニーズや期待を明確にするため
2.プロジェクトの進捗管理を行うため
3.システムの設計や実装を開始するための基準を設定するため
4.テストケースを定義するため
5.プロジェクトチームの役割分担を決定するため
選択肢の正解: 1、3

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

複数解答有りの形式は自分が受けた基本情報術者試験には出ませんでしたが、勉強としてはちょうどいいと思います。

次に記述形式の問題を要求してみます。
「基本情報技術者試験の科目Aの問題をテクノロジ系の範囲から記述式の形式で1題出してください。」 と要求すると以下のように返ってきます。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

問題: 次の説明を読み、以下の問いに答えなさい。
コンピュータネットワークは、情報を共有するための重要な仕組みです。
ネットワークには様々なプロトコルがあり、その中でも特に「TCP/IP」プロトコル群は、インターネット上で使用される基本的な通信手順を定義しています。
TCP(Transmission Control Protocol)は、データの信頼性を確保するための通信手順であり、IP(Internet Protocol)はデータを送信先に届けるためのアドレッシングを行います。

問い:
1.TCPとIPの役割の違いについて、それぞれの機能を説明しなさい。
2.TCPがデータの信頼性を確保するために行う主な機能を3つ挙げ、それぞれについて簡潔に説明しなさい。

答え例:
TCPはデータ転送の際に、送信したデータが相手に正しく届いたかどうかを確認し、データの順序を保証する役割を持つ。一方、IPは、データを目的のアドレスに届けるための情報を持ち、ネットワーク上の各ノードに対してユニークなアドレスを提供する役割を持つ。
(例) データの順序保障:TCPはデータをパケットに分割し、番号を付けて送信するため、受信側はこれを順番に再構成できる。 再送制御:データが失われた場合、受信側が受け取ったパケットの確認応答を送信し、未受信のパケットを再送させることができる。 フロー制御:受信側のバッファが溢れないよう、送信側がデータ送信速度を調整する機能を持っている。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

こちらの形式も自分が受けた基本情報術者試験には出ませんでしたが、知識を深めることができます。

科目B

科目Bに関しては過去問を解いた方がいいかもしれません。
AIに科目Bの問題を出すように要求しても、かなり難易度がやさしめなものが多いです。科目Bの1、2問目くらいの簡単な問題の対策にはなるかも、というくらいの温度感です。

実際にやってみます。
以下は 「基本情報技術者試験の科目Bの問題を1つ出してください。」 とAIに要求した結果です。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

問題:
次のプログラムの動作について考えます。以下のコードは、Pythonで書かれたプログラムです。出力結果は何でしょうか?

def my_function(x):
if x > 10:
return x * 2
else:
return x + 2

result = my_function(8)
print(result)

1.10 2.16 3.8 4.12 解答選択肢から正しいものを選んでください。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

上記のように割と簡単目なプログラムが出力されました(しかもPython形式で。)
それに対して、以下はIPA独立行政法人より公開されている科目Bの公開問題です。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

次の記述中の□に入れる正しい答えを,解答群の中から選べ。
ここで, 配列の要素番号は 1 から始まる。

次の手続 sort は,大域の整数型の配列 data の,引数 first で与えられた要素番号 から引数 last で与えられた要素番号までの要素を昇順に整列する。ここで,first < last とする。手続 sort を sort(1, 5) として呼び出すと,/* α */の行を最 初に実行したときの出力は“□”となる。

〔プログラム〕

大域: 整数型の配列: data ← {2, 1, 3, 5, 4}
○sort(整数型: first, 整数型: last)
    整数型: pivot, i, j
    pivot ← data[(first + last) ÷ 2 の商]
    i ← first
    j ← last
    
    while (true)
        while (data[i] < pivot)
            i ← i + 1
        endwhile
        
        while (pivot < data[j])
            j ← j - 1
        endwhile
        
        if (i ≧ j)
            繰返し処理を終了する
        endif
        
        data[i]とdata[j]の値を入れ替える
        i ← i + 1
        j ← j - 1
    endwhile
    dataの全要素の値を要素番号の順に空白区切りで出力する /* α */
    
    if (first < i - 1)
        sort(first, i - 1)
    endif
    
    if (j + 1 < last)
        sort(j + 1, last)
    endif


解答群
ア 1 2 3 4 5  イ 1 2 3 5 4
ウ 2 1 3 4 5  エ 2 1 3 5 4

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

https://www.ipa.go.jp/shiken/mondai-kaiotu/sg_fe/koukai/t6hhco0000003zx0-att/2023r05_fe_kamoku_b_qs.pdf より引用

上記のように、AIが出力してくれた問題よりも長くて複雑です。
実際の試験ではこのような長く複雑な問題の方が出題が多かったので、科目Bに関しては過去問を解いた方が効率的な勉強になると思われます。

参考書を読んでもわからない時のAI活用

参考書を読んでいると、語句の説明自体が難しく、読んではみるものの結局これってどういう意味なんだろうというものがいくつかありました。
また、上記のようにAIに問題を出してもらった際に、問題内で知らない言葉や概念が出てくることもあります。

そのような時に、〇〇(わからない言葉)とはなんですか?という風にAIに聞くと別の言葉を使って説明をしてくれます。

ただし別の言葉を使った説明でもわかりにくい時はあるので、その時は 「〇〇とはなんですか?△△文字以内で簡潔にわかりやすく教えてください。」 という風に要求します。200~300文字くらいが簡潔かと思います。

AIに対して、
「HTTPとは何ですか? 300文字以内で簡潔にわかりやすく教えてください。」
と聞くと

HTTP(Hypertext Transfer Protocol)とは、WebブラウザとWebサーバー間で情報をやり取りするためのプロトコル(通信規約)です。主にWebページの閲覧に用いられ、ブラウザがサーバーにアクセスをリクエストし、サーバーがHTMLファイルや画像などのデータを返す仕組みです。HTTPはステートレスで、各通信は独立しており、以前の通信履歴を保持しません。セキュリティを強化したHTTPS(HTTP Secure)も存在し、通信を暗号化して安全性を高めています。

と返ってきます。

これでもわからない場合は 「△△文字以内で簡潔に子供でもわかるように教えてください。」 という聞き方をすると、かなりわかりやすく教えてくれます。

AIに対して、
「HTTPとは何ですか? 300文字以内で簡潔に子供でもわかるように教えてください。」
と聞くと

HTTPは、インターネットで情報をやり取りするための「ルールブック」です。例えば、あなたがパソコンやスマホでWebページを見るとき、そのページのデータを送ってくれる「お手紙の送受信方法」みたいなものです。あなたがWebページを見たい時、ブラウザが「このページを見せて」とお願いし、サーバーが「はいどうぞ」とデータを返してくれます。これを助けているのがHTTPです。このおかげで、私たちはインターネット上の色々な情報を簡単に見ることができます。

と返ってきてかなりわかりやすくなりました。

また、参考書や問題集で解説を読んでもわからない問題がある時は、問題文をそのまま貼り付けて、解説をAIにお願いするのも、1つの手段ではあると思います。

AIを使う場合の注意

ただし、AIからの情報が必ずしも正確であるとは限らないため、注意が必要です。
それっぽい説明だが実際は違っていた、ということがあります。いわゆるハルシネーションという現象です。
なので初めて出会う言葉などには注意が必要です。AIが出してくれる問題自体も間違っている可能性はあります。

自分の場合は知らない言葉が出てきた時にまずAIに
「〇〇とはなんですか?〇〇文字以内で簡潔にわかりやすく教えてください。」
という風に聞きます。
そこで簡単に教えてもらった後に、裏どりとして参考書内で調べたり、ネットで調べたりして知識を補強します。こうすることでダブルチェックもできますし、記憶として深く残ります。

あくまでもAIは勉強の一助となる存在で、必ず正しいとは限らないことを留意していただきたいと思います。

終わりに

AIが勉強の一助となる例をご紹介しました。
繰り返しになりますが、AIが毎回必ず正しいとは限らないので、盲信しすぎるのも禁物です。
基本情報技術者試験に限らず使えるAIの実践法だと思うので、参考にしていただければ幸いです。


  ご相談フォーム | 株式会社divx(ディブエックス) DIVXのご相談フォームページです。 株式会社divx(ディブエックス)


お気軽にご相談ください


ご不明な点はお気軽に
お問い合わせください

サービス資料や
お役立ち資料はこちら

DIVXブログ

テックブログ タグ一覧

人気記事ランキング

関連記事

GoTopイメージ