こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

アルゴリズムの勉強方法について

お世話になります。

20年近く前に、初級シスアドに受かってはいるものの
その後、ITから離れており、最近になって自己啓発の一環として
基本情報処理技術者の資格を取ってみたいと思っております。
当方、プログラミングの経験はありません。

昔と試験要綱も変わったようで、午後に出題されるという
アルゴリズムの勉強方法について悩んでいます。
独学なので取りあえず「アルゴリズムを、はじめよう」という初心者
向けの本を読んでいるのですが、なかなか身についているのか否かが
実感できておりません。本を読んで「なるほど」とは思うものの、
白紙の状態から自分でアルゴリズムを書けるレベルには到底至って
おりません。

即効性が出てこないのは、筋トレや外国語学習と似ているのかも
しれないと思っているのですが、効果的な方法をとらないと、ただ
時間を無駄にしているだけになるのではないかと考えております。

そこで、アルゴリズムの効果的な学習方法について、ご教示
いただけると助かります。宜しくお願いいたします。

投稿日時 - 2016-03-06 19:21:02

QNo.9138946

困ってます

質問者が選んだベストアンサー

ご質問の内容とはずれてしまいますが初級シスアドの次のステップとしてなら、今春新設された情報セキュリティマネジメントを取得されるのはどうでしょうか?
基本情報技術者と同じレベル2の扱いで、シスアドと同じように開発者側ではなく利用者側の資格になります。
https://www.jitec.ipa.go.jp/sg/

投稿日時 - 2016-03-07 09:55:42

お礼

ご回答ありがとうございました。是非とも参考にさせていただきます。

投稿日時 - 2016-06-15 22:56:19

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

> つまりは、「大工さんになりたい」というとき、大工さん向けの本を読むだけではなく、図面を引いて、ノコギリやカンナで木材を加工してなにかを作る実習というか修行が必要ですが、それと同じことですね。

正に catpow さんの言うとおりですね。
まず、簡単なゲームから作ってみては如何でしょうか?
ありモノ(現在、既に普及してるようなモノ)ではハードルが高いと思いますので、古いゲーム(インベーダー・ゲームとか)を参考にするとか、自分でも作れそうなゲームを自分で考えるとか。

後 ある程度の大きさのプログラムは動かしながら作れ、と言うのが基本です。
僕が それを知らずに初心者の頃、(初心者にとっては)結構 大きなプログラムを作成した時に、延々と動かないプログラムを組み、その後 延々と動かないプログラムをデバッグしなければならず精神的に非常にツラく精神衛生上 非常に悪いです。
なので多少 効率が悪くても ある程度の大きさのプログラムは動かしながら作るのが基本です。

投稿日時 - 2016-03-08 12:07:40

お礼

ご回答ありがとうございました。是非とも参考にさせていただきます。
しかしながら、好き好んで精神衛生上よろしくない環境には身を置きたく
ないです f^_^:

投稿日時 - 2016-06-15 22:58:35

ANo.3

>>そこで、アルゴリズムの効果的な学習方法について、ご教示
いただけると助かります。宜しくお願いいたします。

学習というか、実習を通じて学ぶのが良いと思います。
つまり、本を読むだけじゃあなく、実際になんらかの言語を使い、書籍で紹介されているプログラムを手を動かして入力し、動かしてみることです。

つまりは、「大工さんになりたい」というとき、大工さん向けの本を読むだけではなく、図面を引いて、ノコギリやカンナで木材を加工してなにかを作る実習というか修行が必要ですが、それと同じことですね。

プログラムやアルゴリズムは頭ではなく、手から(=プログラムを作りながら)学ぶ部分が大きいと私は思っています。

投稿日時 - 2016-03-06 21:44:36

お礼

ご回答ありがとうございました。
実習の機会がないので、なかなか実現は難しそうです。

投稿日時 - 2016-06-15 22:56:59

ANo.2

例題を実行して試す、というのは必要ですが、その先は「自力でコンピュータに思い通りの作業をさせる」ようにプログラミングを試行錯誤しないと身に付きません。

例題の改良でできる部分があるから、例題が準備してある上で、個人演習としてのプログラミングの問題がついている書籍がある、と思った方がよいです。実業務で、嫌というほどプログラミングをしなければならない、という経験が一番の勉強なのです。

投稿日時 - 2016-03-06 20:54:27

お礼

ご回答ありがとうございました。是非とも参考にさせていただきます。

投稿日時 - 2016-06-15 22:56:02

ANo.1

プログラミング言語「C」でもいいし「Java」でもいいので入門書を買ってください。
基本ロジックのループ、条件判断、入出力を勉強すれば、
どう組み合わせれば答えのアルゴリズムになるかが見えてくると思います。
PCで無料の開発環境がありますので実際に動かしながらの勉強もできますよ。

投稿日時 - 2016-03-06 19:28:25

お礼

ご回答ありがとうございました。是非とも参考にさせていただきます。
早速、c言語の本を購入してきましたが、かえって他の疑問が増幅
されてしまいました。

投稿日時 - 2016-06-15 22:56:00

あなたにオススメの質問