読者です 読者をやめる 読者になる 読者になる

情報処理技術者試験 平成26年秋期試験解答速報まとめ

明日行われる情報処理技術者試験の解答速報が載るページをまとめました。
解答速報は精度が完璧とは言えず、解答が割れることもあるので複数のサイトでチェックした方がいいと思います。


資格の大原


情報処理技術者試験 解答速報 <資格の大原>


TAC

資格の学校TAC[タック]| 情報処理技術者試験 解答速報



iTEC


解答速報・試験講評 情報処理試験情報 | iTEC (アイテック)



iTAC
http://www.itac.gr.jp/



IPA
IPA 独立行政法人 情報処理推進機構:試験要綱・シラバス・過去問題 など



基本情報技術者試験を受けた方で残念な結果だった人は以下を参考にしてみてください。
きちんと勉強すればちゃんと受かる試験だと思います。

基本情報技術者試験に合格した人の勉強法 - Something Beyond

ポール・グレアムが語るデザインのセンス

久しぶりにハッカーと画家」を読み返した。
自分がこの本のなかで最も気に入っている章は第9章の「ものつくりのセンス」である。

著者のポール・グレアムは優れたプログラマであり、学生時代には美術も学んでいた。そんな彼が考える良いデザインについての考察がおもしろい。以下にエッセンスだけまとめるので、興味がある方はぜひ読んでほしい。



1.良いデザインは単純である

美とは表面的な装飾で溢れさせることではなく、厳選された少数の要素から組み立てられるものだ。

文章においてはこういうことだ。言いたいことを簡潔に言え。


2.良いデザインは永遠である

数学では間違いがない限りすべての証明は永遠だ。

色褪せない解を目標にするのは、流行にはまるのを避けるいい方法でもある。


3.良いデザインは正しい問題を解決する

悪いデザインの多くは、念入りであるが勘違いした仕事の結果だ。


4.良いデザインは想像力を喚起する

いろいろ想像できる絵画の方が、全部描いてあるものよりも見ていて飽きない。誰もがモナ・リザに関して自分だけの物語を作り上げる。


5.良いデザインはしばしばちょっと滑稽だ

良いデザインが常に面白おかしくなければならないというわけじゃない。でも、良いデザインでかつユーモアを感じないものを想像するのはとても難しい。


6.良いデザインをするのは難しい

困難な問題は多大な努力を要求する。

流行や華美な装飾は、そもそも問題を解くという困難な仕事の中に入ってくる余地がないのだ。


7.良いデザインは簡単に見える

簡単な会話調の良文を書くには、書き直しが8回は必要だ。


8.良いデザインは対称性を使う

対称性には2種類ある。繰り返しと再帰だ。

対称性、特に繰り返しの危険なところは、深く考える代わりに使われてしまい得るという点だ。


9.良いデザインは自然に似る

自然は問題を解くのに非常に長い時間をかけてきたから、参考にする価値がある。あなたの解が自然の解に似ていたら、それは良いしるしだ。


10.良いデザインは再デザインだ

最初からうまくできるということは滅多にない。熟練者は初期の仕事は捨てるつもりでやる。計画が変更されることを予定してかかるのだ。


11.良いデザインは模倣する

偉大な作り手たちは、ある種の滅私状態に達するのではないかと私は思う。彼らは正しい答えを知りたいだけなのだ。そしてもし、答えの一部が誰かによって発見されていたのなら、それを利用しない手はない。誰かの仕事を借りても自分のビジョンは曇らないという十分な自信があるのだ。


12.良いデザインはしばしば奇妙だ

唯一持つべきスタイルは、どうしてもそうなってしまう、というようなものだ。特に奇妙さにおいてはそうだ。


13.良いデザインは集団で生起する

15世紀、フィレンツェには何かが起こっていたのだ。それは現在に続いてはいないから、血統のせいではないと言える。レオナルド・ダ・ビンチやミケランジェロに何らかの生まれながらの能力が備わっていたとしても、ミラノにも同様の能力を持った人はいたはずだ。ではミラノのレオナルドには何が起こったのだろう。

どんな時代にも、少数のホットなトピックがあり、それに向けて多くの仕事をなす少数の集団がいる。それらの中心から遠くはなれてしまっていては、良い仕事をするのはほとんど不可能だ。


14.良いデザインはしばしば大胆だ

アインシュタイン相対性理論に多くの当時の物理学者は拒否反応を示したし、その後長い間完全には受け入れられなかった。

今日の実験の誤りは明日の新理論だ。新しいことを発見したければ、主流の知識と真実が一致しないところに目をつむるのではなく、逆にそこに注目しなければならない。



センスは主観的なものだと考える人がいる一方で、誰もが名作だと認めるような作品があるのはなぜだろう。それはきっと美には共通項があって、センスは磨くことができるということの証なのでしょう。


【書評】プログラマの考え方がおもしろいほど身につく本

今後も定期的に何度も読みなおす本だろう。
私のようにプログラミングを独学で学ぶ人は、プログラミング言語の基本(関数やデータ型)についての知識を得ることは比較的容易でも、それらをどのように組み合わせて自分が望む処理を実現させればいいのかを学ぶことは難しい。プログラミング上級者が薦めるように、優秀なプログラマのコードをたくさん読むことも勉強法としては正しいのだと思うのだけれど、高次元の配列やポインタの絶妙な使用法をそういったところから初心者が読み取るのはかなり無理がある。初心者が本当の意味でプログラムを書けるようになるためのファーストステップが必要だったのであり、この本がまさにそれだと感じた。



この本のコードはC++をもとに書かれていて、配列、ポインタ、再帰を用いた基本的な問題解決手法を順を追って学ぶことができる。実は私はこの本を読むまでC++を避けてきたのだが、読み進めながらC++も勉強した。出てくる操作自体は単純なものなので、それでも十分にこの本を活用できる。


この本のユニークなところは、プログラミングそれ自体だけではなく、むしろ問題解決手法に焦点を当てているところではないかと思う。例えば第一章ではコードは一切出てこず、古典的な問題(狐、ガチョウ、トウモロコシを川の向こう岸に渡す順番)やスライドパズルなどを題材に問題解決のテクニックや基本思考を学ぶ。問題を言い換えてみたり、小さな問題に分割してみたり。そして、その考え方をその後の全編を通してプログラミングに落としこんでいく。だからこそ小手先のテクニックではなく、プログラマの基本的な考え方を順を追って少しづつ身に付けることができる。



そして実際に考えていくコードの内容も実用性が感じられるものばかりである。どういったときに配列やポインタを使い、どのようにメモリを管理すべきかまできちんと解説している本は実はあまりないように思える。本書はプログラミング言語の基本を学び、これからきちんとプログラマとしての思考法を学びたいと考えている方は必読ともいえる本ではないかと感じた。特に独学の人はそういった考え方を学ぶ機会がなかなかないと思うので。