基本情報技術者試験にうかった

f:id:note103:20171115124810p:plain

超ぎりぎり(笑)。*1

これまでの経緯。

基本情報技術者試験を受けてきた - the code to rock
基本情報技術者試験の結果 - the code to rock
基本情報技術者試験を受けてきた(2) - the code to rock

今年の春に「あと0.5点」というところで落ちた後、秋の受験(10/15)に向けて7月から学習を再開し、それから試験当日までの3ヶ月ほど、仕事に並行して勉強を続けていた。

勉強している間は、「前よりわかるようになってるな〜」などと一瞬浮かれた気分になっても、すぐに「でも落ちるかもしれない・・」と冷水をかける自分もいて、気が休まることはなかった。

どれだけ普段うまく行っていても、本番で駄目ならまた受験しなければならないわけで、「これだけの努力をまた続けられるだろうか?」とか、「すでに2回めじゃないか。もし落ちたら、3回めもできるか?(いや、できない)」などという、うんざりするような気持ちに何度も襲われた。

だから、「うかったらどれだけの解放感を味わえるだろう!」と期待していたのだけど、ん〜、案外そんなに、解放感はない。
嬉しさも、思ったほどではない。むしろなんというか、真顔というか、無常というか・・。

といっても、べつに燃え尽きたとかいうのでもなくて、単になんというか、「まだまだ先は長いな〜・・」という感じ。

世の中には、もっと大変なことや取り組むべきことがたくさんあって、自分はまだその入り口にも達してないんじゃないか、という。

これをクリアしたらどれだけ「上」に行けるかと思っていたけど、いやいや、まだ全然ふもとですから、と言われているかのような。

でもまあ、そのように思えるというのは、やっぱりどちらかと言ったら、幸せなことなんだろう。

この脱力感、このドヨーンとした感じ。それも見方によっては、一種の解放感と表現できるのかもしれない。

では唐突に、謝辞の時間。

今回の試験勉強では、以下の方々に大変お世話になった。

いずれも今回使用した参考書の著者さんである。

最初に挙げた福嶋さんは、もう何年も前から情報技術に関する参考書を書かれているようだが、そのかたわら、ご自身のWebサイトで動画講義(スクリーンキャスト的な)を無料で公開していて、今回はそれを猛烈に見た。

Webサイトには読者限定の部屋などもあり、その詳細については以下の本に載っているので、興味のある人は見てみると良いと思う。

※ぼくが買ったのは2017年版だが、そちらに記載されているサイト情報(限定部屋へのパスワードなど)はそろそろ期限が切れるようだから、この2018年版という方を紹介しておく。

※追記(2017/12/05): この記事を書いた少し後、2017年12月からWebサイトがリニューアルされていたので、そちらへのリンクを以下に貼っておく。本を持っていない人でも閲覧できる動画がけっこうたくさんあるはず。エンジョイ!(追記ここまで)
xn--tpto73d.jp

元はと言えば、ぼくはとにかく午後試験第8問のアルゴリズム問題が恐ろしく苦手で、そもそも何を聞かれているのかもわからない、という状況が長く続いたのだけど、なんとかそれを克服したいと思って片っ端からその手の参考書を買った中に福嶋さんの本があった。

福嶋さんの教え方の特徴というのは、生徒(読者)に媚びないというか、対等に接しているようなところで、読者に耳当たりのいい(甘い)ことだけを言う、みたいなところがまったくなく、たとえば「問題を解けないのは勉強が足りないから」とか身もふたもないことをバッサリ言い切る。*2

たしか具体的には、「よく『午前はできるのに午後は時間が足りなくて落ちた』なんて言う人がいるんだけど、それは練習が足りないだけなんだよね」みたいな。これはまったく図星だったし、すごく響いた。

ただぼくの場合は、それを聞いて落ち込むとか、憤りを覚えるとかいうことでもなく、「あ、そっか。時間が足りないだけなんだ。じゃあ、時間をかけて何度も問題練習すればできるようになるかも?」とそのまま受け止めて、実際そのように臨んだ結果、なんと春の試験では7問中2問しか解けなかったアルゴリズム問題(つまり正解率3割未満。しかも当てずっぽう)が、この秋試験では8割取れていた。

まあ、それはちょっと出来すぎとしても、その「なんだ、時間をかければいいだけか」と思わされたのはとても大きなことだった。

2番めに挙げた大滝みや子さんについて、上記の通り、今回は何と言ってもアルゴリズム問題がすべてを左右すると思っていたものの、とにかく何回やっても問題の意味すらわからん、何を聞いているのだ? 問題が悪いだろ! みたいなヒドイ状態だったのだけど、上述のいろいろ買いまくった参考書の中に大滝さんの以下の本もあって、おそらくぼくがアルゴリズム問題の深い蟻地獄的暗闇から抜け出すきっかけになったのは、この本だったと思っている。

同書は前半で流れ図、後半で擬似言語(試験に出てくるやつ)の解説という構成になっていて、ページを追うごとに徐々に難しくなっていくのだけど、どれをとっても解説が丁寧で、「あ、これはわかるな」「これもわかるわ」「なかなかわからなくならないな〜」「これもわかる・・」とかやっているうちに最後まで行ってしまった。

これによって、それまでの「俺イコール擬似言語苦手」という思い込みはいつの間にか払拭され、「俺イコール少なくともこの本に書かれているような擬似言語ならわかる」という状態になり、なんというか、「絶対的な苦手意識」が「限定的な苦手意識」に変わった。

この大滝さんの教え方のうまさというか、説明のあり方には目からウロコの感じがあり、そのまま以下の2冊も購入して読んだけど、

基本情報技術者試験 アルゴリズムと表計算

基本情報技術者試験 アルゴリズムと表計算

情報処理教科書 基本情報技術者 スピードアンサー338

情報処理教科書 基本情報技術者 スピードアンサー338

いずれも良書で、表計算の本も非常に役立ったし(これはむしろ、試験後の自分の業務に生きているが)、もう一方の「スピードアンサー」も能率的な本で、これは紙と電子版の両方を買ったのだけど、おそらく今後も折りに触れ読み返すだろう。

教えるのが上手い先生に出会えるというのは、それだけで幸運なことである。
教えるのが上手い先生というのは、単に試験の得点を上げてくれるというだけではなく、勉強することの面白さを教えてくれる。

勉強するのが面白かったり嬉しくなったりすると、あとは言われなくても自分でどんどんやるようになるわけで、上記の福嶋さんのコメントにも繋がるが、自分でどんどんやったら必然的に勉強量も多くなる。

瀬戸さん、岡嶋さん、滝口さんの本は前回の春試験から触れていたもの。

瀬戸さんは以下の本をフライング的に買ったら、

(全文PDF・単語帳アプリ付) 徹底攻略 応用情報技術者教科書 平成30年度

(全文PDF・単語帳アプリ付) 徹底攻略 応用情報技術者教科書 平成30年度

(これも実際に買ったのは平成29年度版だが、一応最新版を載せておく)

ご自身のYouTubeチャンネルで公開している動画が紹介されていて、そこではソート系をはじめとする基礎的なアルゴリズムなど、基本情報にも大いに関わる定番トピックがわかりやすく解説されていたので大変役立った。

滝口さんは昨年末にITパスポートの受験を志した際に以下を買ったのだけど、

それに付録でついていた音声講義が良かったので、今回は以下を買ったところ、それにも付録の音声講義が付いていて、とくに春受験の勉強ではよく聴いた。

ゼロからはじめる基本情報技術者の教科書

ゼロからはじめる基本情報技術者の教科書

岡嶋さんの本は以下でも紹介したが、

基本情報技術者試験を受けてきた - the code to rock

「教科書でこんなの、アリなのか・・?」と思うほどハイコンテクストというか、オタク的とも言えるディープなウケ狙いが散発していて、やはり岡嶋さんの本に出会えたのも幸運なことだった。(これも紙と電子版の両方買った)

平成29年度 ITパスポート合格教本 (情報処理技術者試験)

平成29年度 ITパスポート合格教本 (情報処理技術者試験)

ちなみに、岡嶋さんのその本は、見てもわかる通り基本情報用ではなくITパスポート用なのだけど、基本情報の午前試験用としても充分使える内容だと思う。

上記の通り、今回はこれまで以上にいろいろな参考書を買って読んだけど、じつは書籍として一番役に立った&繰り返し読んだのは、インプレスが出している過去問集だったと思う。

それも、一応試験前になって最新の29年度秋版も買ったのだけど、実際に頻用したのは春試験のために買った28年度秋版だった。

この過去問集は大判なのだけど、紙が軽いのでどこへ移動するにもよく持ち歩いた。

古い方の過去問集には書き込みやマーキングも多くなっていて、どの問題をどう間違えたのかとか、どのキーワードを忘れやすいか、とかがわかりやすかったから、それはまるでお守りのようで、実際、試験会場に持っていった参考書はこれと上記の「スピードアンサー」の2冊だけだった。

同書は非常に行き届いた内容で、版元のインプレスさんと制作のノマド・ワークスさんには心からの感謝を伝えたい。

もうひとつ、これは今回の試験に直接関わることではないのだけど、このブログではお馴染みの無料プログラミング講座「Perl入学式」の名前も挙げておきたい。

www.perl-entrance.org

やはり2013年、38才の夏に、「プログラミング」とか「YAPC::Asia」といった未知の大海にダイヴすることになったきっかけはPerl入学式であり、もし以下の記事をたまたま読んでいなかったら、

yapcasia.org

そしてその時、その話を真に受けて飛び込んでいなかったら、今回こんな試験を受けることもなかっただろう。
今までそんなことは考えもしなかったが、これを書きながら、ふとそのことに気がついた。

校長の @papix さん、そしていつも多岐にわたりサポートしてくださる @xtetsuji さん、その他各地域の皆さんに深く感謝します。

あ、そうそう、上では「今回の試験に直接関わることではない」と書いたけど、ひとつだけ直接関係することがあった。

というのも、今回の午前試験ではこんな問題が出たのだった。

第8問 Perlの実行に関する記述のうち、適切なものはどれか。
 

  • ア UNIX用として開発されており、Windows用の言語処理系はない。
  • イ 実行にWebサーバを必要とする言語であり、CGIの開発に適している。
  • ウ 動的デバッグは、言語処理系から独立したプログラムを実行して行う。
  • エ プログラムをコンパイルしたファイルを事前に用意する必要はない。

 
基本情報技術者試験平成29年度秋期・過去問題より)

おお〜、Perl出てんじゃん! と盛り上がって、一瞬集中が切れてしまった。
(正解はこの注釈→ *3

最後に、これもある意味謝辞ではあるが、以下の動画を紹介して終わりたい。

AlgoRythmics - YouTube

この一連の動画では、ソートのアルゴリズムを素敵なダンスと音楽で表現している。

何をきっかけに知ったのか、すっかり忘れてしまったが、これを見て、ぼくはソートのアルゴリズムを義務的なものとしてではなく、楽しみとして勉強できるようになった。

その辺の厚紙を小さく切ってカードを作り、動画を見ながらそのカードを何度も並べ替え、何度もリプレイし、また何度も並べ替えた。

基本ソート&応用ソートはほぼ網羅されているはずだが、ここでは最初に大きなインパクトを受けたクイックソートを貼っておく。

www.youtube.com

どれも踊りが超かわいい。音楽もいい。センスを感じる。

まあでも、ひとまず終わってよかった。喜びや解放感がないとは書いたが、多少の安心は得た。ほっとした。
プラスの感じではないけれど、マイナスがゼロに近づいた感覚というか。

これからどうするか、少しは考えてもいるが、登るべき山も飛び込むべき海も多すぎて、はっきりした見通しは何もない。
しかしその見通しのなさは、必ずしも不快なものではない。

*1:合格基準点は午前・午後ともに60点なので。前回は59.50点という逆のぎりぎりで涙をのんだ。

*2:念のために書いておくと、とくに失礼な印象はない。比較的若い世代の読者を想定しているとは思うが、むしろ相手を一人前の人間として扱っているからこそ、そういうオープンな雰囲気が醸されているのだと感じる。

*3:エ。もちろん当たっていた。