回答終了
基本情報技術者試験のアルゴリズムについて、教えてください。愚痴や雑談になります。 とある企業の非IT部門のシステム担当になりました。 システム開発やプログラミングは専門のIT部門が行うので、私はもっぱら既存のシステムの問い合わせ対応や部門業務の変更への対応をしています。 しかし、問い合わせ対応や要件定義などは自分で行う必要があるため、ITの勉強をはじめることにしました。 まったくの初心者でしたので、とっかかりとして基本情報技術者試験を受けることにしました。 実際に勉強してみて、午前試験のIT基本知識は初心者の私にはすごく役立つことがわかりました。 午後試験のセキュリティ、ソフトウェア開発、表計算、データベースも役立ちます。 ここからが本題です。 アルゴリズムも試験範囲なので勉強しましたが、なんじゃこりゃという感じです。 他に難関文系資格は持っていますが、それより苦戦しています。 たぶんコンピュータの考え方がわかっていないからだと思います。 皆さんにお聞きしたいのは、基本情報技術者試験は基本というくらいだからこんなの楽勝と思っている方は多いのかということです。 ITの初歩でこんなに苦戦するのですから、ITの世界は天才揃いのレッドオーシャンですね。 一度はITの知識や技能で登り詰めたいと思っていましたが、業務に必要な範囲にとどたいと思います。
101閲覧
>> 基本情報技術者試験は基本というくらいだからこんなの楽勝と思っている方は多いのかということです。 多いかどうかは知りませんが、私個人はきついですね。特にネットワーク関係とマネージメント系。 アルゴリズム系は比較的簡単です。 ネットワーク関係はめったに試せません。 ハード系もですね。 プログラミング系は試そうと思えば試せるし、ソフトなりゲームなりなんかの作品を作る事が出来るなら当たり前のようにやっていることだからです。 でもネットワーク、ハード、マネジメントは試そうにも試せないとか、 あるいは金がかかりすぎるとか、 イメージがしづらいとかのせいできついです。 >> アルゴリズムも試験範囲なので勉強しましたが、なんじゃこりゃという感じです それは『プログラミングとは何か』を理解していないからです。 『プログラムは魔法でもなんでもなく、人間が現実世界でやっていることを逐一指示されながら処理しているだけの代物である』です。 たとえば、テーブルの上にリンゴが一つあるとして、別の人(Aさん)に取って来てもらうとします。 どのように命令しますか? おそらく、『Aよ、そこのリンゴ、取って来てくれ』とかみたいな感じだとお思います。 言い方はなんでもいいですが。 でも機械にはそういう命令は認識できません。 ロボットのように手足があってもです。 ではどうするか。 (以下はあくまでイメージとして) 1. 10cm前進せよ 2. 右腕を45°、速度○で挙げよ 3. 右腕を43°、速度○で下ろせ 4. 右腕の人差し指第一関節を43°、速度○で下ろせ 5. 右腕の人差し指第二関節を42°、速度○で下ろせ 6. 右腕の中指第一関節を43°、速度○で下ろせ ... のように逐一、指示します。 これを独自の言語、たとえばC言語, Python, C# ... というような言語で書き下しているだけです。 この発想が理解できれば比較的簡単です。 言い換えると、『現実世界でならどういう手順でやっているか』を考えればいいのです。 たとえば [Q] int型の配列arr、要素数10がある。 この中から8と言う数字があるか調べるプログラムを組め。 であれば、 [言い換えQ] 中身の見えない箱(例: びっくり箱)に、数字が書かれた商品が入っている。 (イメージとしては、射的の景品のような) そういう箱が横一列にずらーっと10箱分、並んでいる。 この中から8という数字がかかれた商品があるか調べよ。 とかみたいなものです。 [Q]では、『え!!? どうしよ!!? わかんなぃぃぃぃぃ!!!?』となったとしても、 [言い換えQ]だと、『んー? ふつーに、ひと箱ずつ見ていけばいいんじゃね?』ってなりますよね。 これを実装するだけです。 左から一つずつ見ていく => for文かwhile文で出来そう 8と言う数字かどうか => if文でチェックできそう これをコードに落とし込むだけです。 この発想が理解できていれば、大抵の問題は解決できます。 (ただし、動的計画法だの幅優先・高さ優先だの、ダイクストラ法だののようなものを知らないと解けない問題は別) ソフトなりゲームなりサイトなりを作る場合もこの発想は適用できます。 (ただし速度を上げるとかであれば特定のアルゴリズムとかを知らないとできなかったりするが)
そうですね…。 もしかすると質問者の場合は基本情報ではなく、応用情報の方がフィットする可能性があるかもしれませんね。 アルゴリズムとプログラミングは基本情報の午後試験において必須分野で100点満点中50点を占めます。合格点が60点であることを考えると確かに大変かと考えます。 そういう意味では応用情報の午後問題はアルゴリズムとプログラミングが選択分野になりますので、問い合わせ対応や要件定義をメインで行われているならば、応用情報の方がフィットするかもしれませんね。(必ずしも基本情報を取得してから応用情報を取得する必要はありません) 応用情報の過去問が公開されてますので、一度見ていただくといいかもしれませんね。(午後試験の必須分野はセキュリティのみとなります) https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2020r02.html#02oct
< 質問に関する求人 >
基本情報技術(東京都)この条件の求人をもっと見る
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
覆面調査に関する求人(東京都)この条件の求人をもっと見る