初心者がプログラミングの勉強をするにまず言語の勉強をすると思うのですが、アルゴリズム(ロジカルシンキング)の向上もかなり必要だと思いました。
現役エンジニアのみなさんはどの様にしてアルゴリズム(ロジカルシンキング)の学習をしましたか?
回答よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/10 02:17 編集

回答9件
5
確かに、個人認証とプライバシーの問題とか、コンピュータープログラムにまつわる倫理的な問題も、考えなければいけないのは間違いないです。
とはいえ、そこまでたどり着くのは十分な技量、論理的思考を身に着けてからとなります。
(プログラムコードは1文字でも間違えれば正しく動きません。言葉にはよく気をつけましょう)
投稿2019/06/07 13:59
総合スコア146605
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

退会済みユーザー
2019/06/07 14:12

4
アルゴリズムと言われると私の中で2つ思いつくのでそれぞれ書きます。
(1)データ構造や最短経路算出の解法など、プログラミングコンテストに問題として出るようなアルゴリズム
オンラインジャッジと呼ばれる、アルゴリズムの問題をオンライン上で解いて採点できるサービスを使ってました。
私が使ってたサイトは、PKU(POJ)と呼ばれる海外のサイト。
Welcome To PKU JudgeOnline
日本版で最近話題なのは以下ですかね。
AtCoder
(2)一般的なロジカルシンキング
学習したというより、常日頃から、何故?を考えるように心がけてます。
例えば、「〜に書いてあったから」とか、「・・・が言ってたから」という言葉はなるべく使わないようにして、自分で説明できるようになるまで調べたりしています。
回答内容が期待と違ったら言ってください。
投稿2019/06/07 13:19
総合スコア1083
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2
ベストアンサー
常日頃から考えること。
ゴールまでの道筋を具体的に、且つ、効率的に導き出すことだと思っています(しかも結論までを速やかに)。
通勤、通学の経路を例にすると良いでしょうか。
いつもの朝、いつもの道を行くのももちろん悪いとは言いません。その日の体調や気候、道の状況(工事をしているとか信号に引っ掛かるとか)を考慮して最適なルートを決めるのも、論理的思考を育てると思います。
まあ、そういうのは下記のような記事はわんさかあるので、読んでトレーニングしてください。
ひとつ苦言を呈すると、人に聞いてなんとかなるものではなく、自ら意識して積極的に取り組んで経験することで身に付くものなので、「どうやって学習したの?」と質問することはそもそも論理的ではありません。
学校の勉強とは違うので。プログラミングも特にそうですね。勉強したからって仕事で使える技術が身に付くわけではありません。
勉強は自身に対するinput。ですが仕事はほぼoutputの連続です。
「inputをどうやったらoutputにできるか」を考えることも論理的思考に繋がります。
teratailで回答することはまさにinputをoutputにかえる作業ですね。
投稿2019/06/07 20:51
編集2019/06/07 21:09総合スコア80888
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2
何を学ぶにしても、もっと用語を大切に扱わなければ、学習効果は無いです。
投稿2019/06/07 14:12

退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
1
"アルゴリズムとデータ構造" のような本を読み通すのが良いです。
(https://www.amazon.co.jp/dp/4764901625/ref=sr_1_27)
でもこの本は古いです。新しい類似書籍をさがすと良いです。
計算機プログラムの構造と解釈 とか、アルゴリズムイントロダクション とか。
投稿2019/06/10 13:45
総合スコア22328
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
1
アルゴリズムについては教科書を買って勉強してください。いくらでも本はあります。ネットに情報も転がっています。
論理的思考力については、ちょっと勉強すれば身につくというものではありません。まず、半分くらいは遺伝と幼少期の生育環境で決まると思ってください。残り半分は経験ですが、こちらも一朝一夕には無理です。
訓練したいのであれば、とりあえずたくさん文章を読み書きするのがいいでしょう。ただし、漫然とやってはいけません。読むときは飛躍や破綻がないかを注意しながら批判的に読み、書くときは自分の文章にそういう問題がないかをチェックして直しながら書く……そういうことをする必要があります。
なお、この能力はプログラミングとは直接的にはあまり関係ありませんので、面倒ならパスしても可です。
質問者さんの質問文をざっと見ただけでも、日本語の間違いや論理の飛躍・破綻など、とてもたくさんの粗があります。タイトルで少なくとも3つ以上、第一文で4つ以上、第二文で1つか2つ。自分で見つけられますか?
こういうことに無自覚な状態をまずは直しましょう。
投稿2019/06/07 20:28
総合スコア30939
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
1
同じ様な質問で良い回答がありましたよ
やはり自分が作りたいものを作りながらコードを書くのが楽しいかつ、続けられると思います。
https://teratail.com/questions/141828
投稿2019/06/07 15:28
編集2019/06/07 15:29総合スコア326
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
「アルゴリズム」と「ロジカルシンキング」は同じではない
ような気がしないでもないのですが、それはさておき…
例えば受験でもそうでしょうが、こういうのって場数だと思うんですよねえ。
先端技術をキャッチアップしたいのなら、技術論文を読むとかでしょうが、
この場合はそういうのではなさそうな気がします。
となると、他人が書いたプログラムソースを読みまくるのがいいかと。
漫然と読んでも身にならないと思いますので、興味のある分野に
ターゲットを絞った方がいいと思います。
で「こいつはスゲエ!」ってのを見つけたら(成功体験)
やる気も出るってもんですしね、まあ、そんな感じで。
投稿2019/06/07 14:43
総合スコア7468
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。