はじめに
1年の7月ぐらいに受けてみようかなぁと思い、参考書等を買ったがなかなか覚えられず一度挫折しました。しかし、2年になってからやらなきゃという感情が復活し、本格的に勉強を始め11月に試験を受け、何とか一度で合格できたので自分が行った勉強法を紹介し、何かしらの形で役に立てばよいと思っています。
私自身は文系学部ではありますけど、一応情報系学科に所属しているので対象としましてはIT系に興味がある方となると思います。
自己紹介(合格時)
- 文系寄りの情報学科所属の大学生
- Pythonを主に使っており、paiza で勉強していたがCランクのスキルチェック問題がたまに解けることもあった
- if文、for文が少しわかる程度
- ITパスポートは受けてない
基本情報技術者試験について
- 科目A: 90分
出題内容はテクノロジ系(41問)、マネジメント系(7問)、ストラテジ系(12問)からなる全60問 - 科目B: 100分
出題内容はアルゴリズム・プログラミング(16問)、セキュリティ(4問)からなる全20問
両方とも1000点中600点以上の取得が合格基準となっている
採点はIRT方式で行われるため1問あたり何点という基準はなく、受験者の解答結果に基づいて評価点が算出される
しかし、最高400点分は落としても合格できるということなので、少しつまずいても大丈夫理論で最後まで解き切ったほうが良い。
また2023年からCBT方式となり、通年で試験を受けることができるようになった
使用した参考書・動画
科目A対策
-
うかる!基本情報技術者[科目A編]
インプットはこれを使いました。中身はIT系の会社に内定している文系の学生と講師との会話のような感じで解説が進んでいきます。ページ数は400程度ですがイラストも多くあり、そこまで重くは感じませんでした。 -
基本情報技術者過去問道場
アウトプットはこれのみでした。試験回や分野を指定して出題できるし、問題ごとに詳しい解説がついているので重宝します。また試験毎や月ごとの学習履歴も確認できるため、自分の苦手な分野を確認できるところが素晴らしいです。
科目B対策
-
出るとこだけ!基本情報技術者[科目B]
アルゴリズム・プログラミングはこれで対策しました。トレースのやり方を詳しく説明してくれてあるのでおすすめです。問題がたくさんあり、解答にトレースの解説もついているので、自分が書いたトレースのどこで間違ったのかを確認できます。また問題解説の前に文法の説明とオブジェクト指向についての説明もあります。ありがとうございました。 -
うかる!基本情報技術者[科目B・セキュリティ編]
セキュリティ対策はこれを使いました。前述したとおり、セキュリティは出題数が4問程度しかありませんが、この4問を確実に取れればアルゴリズム・プログラミングの負担が減りますし、セキュリティの知識はとても重要なので是非とも勉強したほうが良いと思います。
試験結果
A, Bともに720点とぎりぎり感があります。
勉強法
科目A
科目Aは暗記と計算です。
暗記系
まずは参考書をさっと一周読んでなんとなくこんな用語もあるんだなぁ程度で頭に入れます。
ここで注意しなければいけないのは参考書を読む際に1回で100%理解しようと思ったり、ノートにまとめてみたりしないことです。
インプットはさっさと終わらせてアウトプットに移りましょう。
アウトプットは過去問道場一択です。
何が良いかというと成績が分野別で表示されるところです。
こんな感じで成績が表示されます。これを見ればどの分野が苦手なのかが数値で分かります。
また試験回ごと以外にも分野を指定して問題を絞ることもできます。
例えば、基礎理論の正解率が一番低いので基礎理論の問題に絞って基礎理論の問題だけを解けるということです。こうすれば苦手分野もなくなります。
苦手分野の正解率が60%を超えるまで繰り返しました。
計算系
計算といっても数パターンしかなく、似たような問題が多いので数学苦手だからとか数字を見ただけで頭が痛くなる人でも何度も繰り返せば解けるようになります。暗記系と違って計算系はど忘れがなく、理解できてれば確実に点が取れるので最初から諦めずに頑張りましょう。
また、全てに使えるわけではないですが小技として単位を用いて計算するという方法を紹介したいです。
例1 令和3年免除 問30
100Mビット / 秒のLANを使用し、1件のレコード長が1,000バイトの電文を1,000件連続して伝送するとき、伝送時間は何秒か。ここで、LANの伝送効率は50%とする。
まず今回使うものをまとめます。LANの伝送効率は50%とかは先に計算しておくと安全です。
$$\frac{100Mビット}{秒}×\frac{50}{100}=\frac{50Mビット}{秒}$$
$$\frac{1000バイト}{件}, 1000件, \frac{1バイト}{8ビット}$$
個人的にここぞというときに四則演算で間違えることがあるので計算式はなるべくしっかり書きたい派です。
次に求めたい単位を決めます。求めたいのは、「伝送時間は何"秒"か」なので問題文から"秒"を探します。今回は先程求めた50Mビット/秒です。
$$[秒]=\frac{秒}{50Mビット}$$
この後は秒だけになるように式を組み立てて単位を消していきます。
\begin{align}
[秒]
&=\frac{秒}{50Mビット}×\frac{8ビット}{1バイト}×\frac{1000バイト}{件}×\frac{1000件}{}\\
\\
&=\frac{秒×8×10^6}{50×M=10^6}\\
\\
&=\frac{8秒}{50}=0.16秒
\end{align}
例2 平成28年秋期 問35
地上から高度約36,000kmの静止軌道衛星を中継して、地上のA地点とB地点で通信をする。衛星とA地点、衛星とB地点の距離がどちらも37,500kmであり、衛星での中継による遅延を10ミリ秒とするとき、Aから送信し始めたデータがBに到達するまでの伝送遅延時間は何秒か。ここで、電波の伝搬速度は3.0×10^8m/秒とする。
簡易図
A --> (遅延10ミリ秒) --> B
今回も"秒"を求めたいので、秒を基準に式を立てます。問題を読むとA --> --> B これにかかる時間を求めたいらしい。遅延時間10ミリ秒はそのまま使います。
AからBまでにかかる時間に中継の際の遅延時間を足せばいいから、まずは到達時間を求めます。
また、A, Bともに衛星までの距離が等しいので
\begin{align}
[秒]&=2(\frac{秒}{3.0×10^8m}×\frac{1000m}{1km}×\frac{37500km}{})\\
\\
&=\frac{75×10^6秒}{3.0×10^8}\\
\\
&=\frac{25秒}{100} = 0.25秒
\end{align}
10ミリ秒は10/1000秒なので、0.01秒となる。
以上より、伝送遅延時間は0.25 + 0.01 = 0.26秒となる。
この問題のように単位がごちゃごちゃ出てくると拒否反応を起こしてしまう人は、単位は答えになり得るので大事にしてあげてください。
ちなみにこの方法を使えば高校レベルの化学の計算問題も解けます。
まとめ
こういった単純な計算問題ならこの方法で基本的に解けます(たまに知識が必要なものもある)。
また、計算問題には高校数学レベルの問題もあるので、上記の問題と合わせれば結構な正解数になると思います。
その他の計算問題は本当に慣れたら簡単に解けるものばかりなので、暗記はど忘れする可能性がありますけど計算問題は何回も解いていれば忘れないものです。
ぜひ計算問題だからと諦めず、得点源にしてほしいです。
科目B
科目Bは参考書を使って問題を解説できるまで何度も繰り返し解きました。
ちなみにオブジェクト指向問題はできたらラッキー程度に思っていました。
paizaやAtCoder、AOJ、個人開発でもなんでもいいのでコードを日ごろから書きましょう。
成績推移
ここで過去問道場の成績推移を貼っておきます。合格は60%以上です。
こんな感じでした
正直こんなにやらなくてもよかったと思っています。
自分は心配性で、なかなか受験に踏み切れませんでした。
この時も過去6年分の正解率がすべて80%を超えたら受験しようとかふざけたことを思っていました。
しかし、このままいくとずるずる受験しないまま時間が過ぎて卒業しちゃいそうだなと思い、申し込みました。
試験会場について
会場では計算用紙をくれます。
足りなくなったら追加でもらえるといったことが書いてありましたが、私が受験した会場だけかもしれませんが結構でかい紙をたくさんくれました。ちなみに4枚貰いました。
総括
今回は単位を使った計算方法を広めたいと思い、基本情報技術者試験について書いてみました。
また当たり前のことですけど、勉強すればするほど成績は上がるものです。もし勉強し始めたばかりで挫折しかけている人は、だまされたと思って過去問道場で問題をたくさん解いてみてください。
ではこの記事が何かしらの役に立つことを願っています。