まともに勉強する気のある人はそもそもこんなブログたどり着いてないと思いますが、そういう人はちゃんと勉強して受けてくださいね!!
ではギリギリでいつも生きているみなさん!どうぞ!
基本情報をとった経緯
ITとかでイキってる会社に就職するとなんだかんだとらされませんか?なんなん?
さて、私も会社から強要(威圧)されたんですが、入社前に強制で何かやらされるのって法律的にNGじゃないですか?(大声)だからモチベが永遠のゼロで。入社してないのに勉強を強いるならお金出せよ〜こっちは卒論卒業旅行で忙しいんやぞ〜と思い放置。直前まで何にもしなかった!草!
でも会社が教材代とか受験料とか出してて、落ちたら怒られるくね?となり1週間前から勉強して無事受かりました。
こんな経緯をつらつら書いても1週間前に藁にもすがる思いで検索してる皆さんは読まないと思うので、さっさとやったことを書いていきます。
※私が受けたのは午前午後で分かれているときのものです。科目AB用に対応させながら書いていますが細かい部分まで保証できません、ご留意ください!!
大前提
まず大前提として、1週間で受かるにはかしこさがちょっと必要です。要は暗記力とポテンシャルですね。皆さんセンター国語の現代文は得意でしたか?(年齢がバレる) そうだったら大丈夫です。1週間で何とかしましょう。
もしITの文脈で「www」を見てえ、草?とか、「インターネット」とかの用語すら知らないレベルだとちょっと不安ですが、持ち前のポテンシャルでなんとかしましょう。逆に言えば大それたITの知識とかプログラミング経験とかは無くてもいいです。大丈夫。本当。嘘つかない。わたしプログラミングできないです。
あと難易度とか検索して、「思ったより難しいのでは?舐めすぎた?」とならないでください。試験開始する朝、試験会場にたどりつけない人が多すぎて合格率が低いだけです。当日半分くらいしか人来てません。来た時点で合格率60%です。(が、これは旧試験の話で、今はテストセンター方式になったので好きな時間と場所で予約できて会場到着率が上がったので合格率も上がってます)
基本情報技術者試験の試験構造
試験はすべて選択肢を選ぶスタイルで、2部構成。6割以上の得点で合格です。まあ選択肢だから鉛筆コロコロできるし6割でビビることないです。
科目名と試験時間はこんな感じ↓
科目A:60問 90分(4択)
科目B:20問 100分(多択)
先ほども述べましたがテストセンター方式で、PCしかない環境で受験します。個室じゃないネカフェみたいな。
各々のタイミングで受験できるので周りに同じテストを解いてるひとがいるわけではないです。鉛筆とメモがたぶんわたされて、それだけ試験会場に持ち込めます。水筒とティッシュもわんちゃんかな?
1週間から前日までやったこと
私が受けた時は新卒1年目の4月だったので社会人の1週間(つまり日中は何もしない前提)で書いていきます。
まず1週間~前日までやるのは科目A対策です。この本を一周読みます。
かんたん合格 基本情報技術者教科書 令和2年度【電子書籍】[ 五十嵐 順子 ] 価格:1,408円 |
かんたん合格 基本情報技術者教科書 です
400ページくらいで全11章なので、1日1〜1.5章くらい進めれば大丈夫です。理解(もしくは暗記)しながら読んでください。10章、11章はただの一般常識的な読み物として流せるのでそこまで重くないです。
この本を紙で買うと公式HPから電子版をダウンロードできるので通勤や空き時間も読んでください。一回読めばそれなりに覚えると思うのですが、不安な人は2周してください(+一週間必要になると思いますが)
それと並行してこのサイトの過去問の午前の部をやってください。
ここでの"過去問をやる"というのは、問題文を見た瞬間に答えが出てくるようになるまで暗記するということです。前回分を除いた3〜5試験分くらいでOKです。まあ2周すれば覚えますよね?1週間あるので1日で0.5年分づつくらい暗記すればいいです。
多いと3割くらい過去問そのまんまの問題が出るので、回答ごと暗記しましょう。1週間で受かるのが目的なら論理とかは覚えなくていいので、そのまま答えを覚えましょう。
さすがに計算問題は計算式を覚えてくださいね。数字がたまに変わるので。ここまでが科目A(旧午前試験)の対策になります。(一応科目Aのサンプル見ましたが、過去の試験で出ていた問題が選択肢も含め一言一句変わらずに出ていました。すべて新規問題ということはないと思います。)
前日
科目B対策をします。というかコツだけ頭にぶちこんでください。
科目Bは改悪されて以下のような試験範囲になっています
・プログラムの基礎要素
・データ構造及びアルゴリズム
・プログラミングの諸分野への適用(↑3つで計16問)
・情報セキュリティ(4問)
で6割の正解をめざします。1週間なので余裕で受かりたいとか甘えたことは言わないでください。
まず、計20問なので、単純計算で12問取れればいいです。で、情報セキュリティの4問は国語の問題なのですべてとってください。ここは対策要りません文章読めば常識と文脈でわかります。(これは旧午後試験でもそうで、シンプルに国語の問題な設問が前半部分にありました)
のこり8問をどう正解するかがキモです。
科目Bには問題分は難しく書いてあるけどきちんと読めばわかる問題があります。本当です。ぜひこれを見てほしいんですが、基本情報技術者試験 科目B サンプル問題 問題冊子 (ipa.go.jp)これ科目Bのサンプルなんですよ、絶対開いてください別タブで。で、よく見てください。(ちなみに解答はこれ)
〔擬似言語の記述形式〕っていう表と〔演算子と優先順位〕 っていう表ありますよね、これ知っている側からしたら、『携帯電話の持ち込みは禁止でちゅ!』みてーな当たり前すぎる内容が書いてるんですが、我々知らない側からしたらこれが地図で答えで神です。
これを絶対に見てください。問題文でわからなくてもここに書いてある通りにすればわかるもの、問題文の指示通りに考えればわかるもの、あります。絶対。プログラミングだと思わないでください日本語の問題です。料理の作り方と同じです。問題解いている時になんども振り返ってみてください。(これも旧午後試験でありました、ここを参考にすればプログラミング知識がなくても解けますし、問題文が丁寧なので落ち着いて読めば解けます)
あと、数字が具体的に当てはめられてないものが多いので、勝手に適当な整数を入れてください。んで計算してください。そしたらわかるものあります。
以上を実施してどうしてもわからない場合、当たり前に違うよなって選択をつぶしてください。例えば、AさんBさんどちらの年収が高いかなんらかの関数で予想するプログラムがあって、関数で出た数字の高さが高いほうが年収高いと判断するとして、親の年収・学歴とかって値が与えられててAさんのほうがどちらも上だとしたら、なんとなくなんらかの関数が出す結果もAさんの方が高い値な気がするじゃないですか。ってことは選択肢のうちBさんの方が高くなってるものは省こうとかそういう感じです。くそい説明ですが。
つまり、
1.科目Bの巻頭ページを繰り返し立ち返って読む
2.問題文に書いてある通り素直に処理を実施する
3.具体的な数字を入れて確かめ算のつもりで計算する
4.ありえない選択肢を排除してのこりから選ぶ
が当日の試験でできればのこり8問取って合格できます。脳みそ全力で使って下さい。んで前日やることはこれの意識付けです。時間ないけど一応サンプル問題チラ見しとくか…て人は見てもいいですが、見て無理かも…って思うくらいなら当日初見で真剣に解く方がいいです。
コツだけじゃ不安な方へ
ここまで読んでなんとかなるな~って思った方、前日は科目A対策だけで終わりにしていいです。が、ちょっと心配で科目B対策したい!って方も多いと思うので話を続けます。
これ系のテストで良くあるんですが、いわゆるプログラミング経験があれば解けるみたいなやつ、もうちょっと分解していくとプログラミングっぽい考え方を知っているか知らないか、っていうことなんじゃないかなと思うんですよ。
説明のためコードっぽいもの出すのでアレルギーの人は薄目でみてください
これは階乗を計算するプログラムになります。階乗って例えば「5!」「5*4*3*2*1」です。
public static int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
これを基本情報科目B風に書くとこうなります
整数型: factorial(整数型: n)
return ← 1
for (i を 1 から nまで 1 ずつ増やす)
result ← result × i
endforreturn result
基本情報科目Bがどれだけ丁寧に書いてくれてるかわかったところで、もうちょっと説明していきます。(ちなみにforの意味はサンプルの巻頭の解説にちゃんと載ってるので読めばわかります)
みなさん階乗を計算するときどうしますか?たぶんこう習いましたよね
n!=n×(n-1)×…×1
なので5の階乗を計算したいときって、5から一個づつ小さい数字並べてまず
5*4*3*2*1
って式全体をつくる。で計算しやすいところから適当に計算しますよね、例えば5*4=20で、3*2=6で、1は無視して、20*6=120だ!ってやると思うんです。でもこんな柔軟な考え方はプログラムではできないんですよ。一個づつやってくんです。
プログラムちゃんの考え方はこうです
『なんか掛け算しないといけないみたい…てことは1でも用意するか…(数字は2つ無いと掛け算できないし)…とりあえず与えられた数字一個づつ掛けていこう…でもどこまで掛け算したらいいかわかんないな…まぁ文句言われるまで1づつ大きい値掛けてくか…』
です。つまり5の階乗を計算するとなると
とりあえず1を用意して…でまず1と1を掛けて…1
で次は2か…さっきの1と2を掛けて…2
で次は3か…さっきの2と3を掛けて…6
次は4か…さっきの6と4を掛けて…24 まだ掛けるの?
次は5ね…さっきの24と5を掛けて…120
あ?終わり?じゃあ120が答えだね
って感じで計算します。これがプログラムちゃんなんです。いじらしいです、これがさっきのコードの実際の動きになります。
科目Bはこんな風に計算されるんだっていうのを意識して解くようにしてください。これがいわゆるプログラミングっぽい考え方みてーなやつです。で、前日はこれを意識して科目Bのサンプルや過去問チラ見してください。すこし理解しやすくなっているはずです。
※プログラミングできるマンの方は私の意見について言いたいことあると思いますが多めにみてください
当日
目覚ましをかけてちゃんと起きろ、行きの電車でも過去問道場をやれ、受験票(と腕時計)を忘れるな、顔写真を受験票に貼れ、忘れても駅前で撮れ。証明写真設置マップここにある。焦るな。ハサミとノリはコンビニで買え。大丈夫。
まとめ
一週間~前日
・かんたん合格 基本情報技術者教科書を一周読む
・基本情報技術者過去問道場をやる
前日
時間ない人
・以下4つの試験のコツを頭に叩き込む
1.科目Bの巻頭ページを繰り返し立ち返って読む
2.問題文に書いてある通り素直に処理を実施する
3.具体的な数字を入れて確かめ算のつもりで計算する
4.ありえない選択肢を排除してのこりから選ぶ
時間ある人
・↑のコツを頭に叩き込む
・プログラミング的な考え方(不安な方へのとこ)を読んだ上で科目Bサンプル問題を見る
当日
・忘れ物しないで会場に時間通りたどり着く
・頭を全力で回転させて死ぬ気で解く
・メモはちゃんと使う
・解答できたか怪しい設問は印つけといて時間余ったときに見返せるようにする
以上、気合で合格しましょう。