4

私の質問に合うと思われるタグを見つけるのに苦労しましたが、これでうまくいくことを願っています.

とにかくプログラミングを学びたいと思っており、現在10週間以上のpythonプログラミングコースを受講しています。私は今 5 週目ですが、構文以上のことを学んでいないと感じています。

プログラミングを習い始めて10年経ちますが、いつも1~2週間で構文を覚えるのですが、その後は行き詰って諦めてしまいます。さて、今回は諦めたくないのでこちらで質問させていただきます。

プログラマーとしての考え方を学ぶにはどうすればよいですか? どれだけ多くのチュートリアルを読んでも関係ありません。それらが教えているのは構文だけであり、構文は簡単な部分です。私が学んだことが 1 つあるとすれば、それは構文だけではプログラミングできないということです。

プログラミング言語はそれほど重要ではありません。前述したように、構文はすぐに理解でき、ほとんどのプログラミング言語で遊んだことがあるからです。

では、プログラムを作成するための思考プロセスを経たチュートリアルや記事、または本はありますか?

一番勉強になるのは、プログラムを作っていく過程を細かく見ていくところだと思います。1000 個の小さなプログラムを作成する本のようなものではなく、1 つのプログラムの作成に関する詳細なビューです。///編集ありがとうございます。本当にお世話になりました。ここから続けられると思います!

4

5 に答える 5

5

構文の学習おめでとうございます。構文を知っているので、他の人が書いた実際のプログラムを読むことができます。それらを変更してみることができます。プログラムを読んだり修正したりする経験を積むにつれて、独自のプログラムを作成できるようになります。

エリック・S・レイモンドが書いたように:

言語の特徴、つまり知識の断片は本から学ぶことができますが、その知識を生きたスキルにするマインドセットは、実践と見習いによってのみ学ぶことができます。それがすることは、(a)コードを読むことと(b)コードを書くことです。

http://www.catb.org/~esr/faqs/hacker-howto.html#skills1

于 2013-11-03T11:47:38.487 に答える
2

私がこれまでに見たすべてのプログラミング コースが単純に与えられたものとして捉えているものをあなたが特定したのは興味深いことです。プログラマーのように考えてください。基本的に、するかしないかのどちらかです。しなくてもプログラミングはできますが、それは自然なことではありません。多くの人ができるし、やっているのに、自分がそうであることに気づいていないのです。

少し構文を忘れてください。

棚が 3 つあるキッチンの食器棚を掃除していて、食器棚の中のすべてのアイテムを掃除しなくても済むようにしたいとします。したがって、食器棚を下から空にして(上から行うと下のものが台無しになります)、一番上の棚から下に掃除します(そうしないと、下の新しく掃除された棚にゴミを一掃することになります)。そのように考えることができれば、あなたはプログラマーになれます。

他の人よりも早く解決策にたどり着く人もいますが、プログラマーになるための本当の秘訣は、特定のプログラミング言語で解決策を表現するために必要な構文とセマンティクスにすぎません。

まずソリューションを入手してから、選択した言語でそれを実装してください。その言語で表現した方が良い場合もあるかもしれませんが、まずは自分が自然に感じる「言語」で表現してから翻訳してみてください。お役に立てれば

于 2013-11-03T12:32:43.100 に答える
1

特に教師としての私にとっては、非常に興味深い質問です。

プログラミング自体はそれほど難しくありません。それは人間が物事を行う方法とはまったく異なります - そしてそれはあなたが慣れなければならないことです. 常に心に留めておいてください:コンピューターは愚かです。あなたが伝えようとしていることを推測することはできません。常にすべてのステップを伝える必要があります。料理本を書くようなものではありません (よく比較されますが)。コンピューターはできません。
私にとって、重要なのは2つのことです。

まず、そしておそらく最も重要なのは、練習です。練習がすべてです。プログラミングに関する本、特にチュートリアルは読んだことがありません。私にとってはすべて試行錯誤です。コードを見て、理解しようとし、複製して修正しようとしました。実践的学習。確かに、それはすべての人に好まれる学習方法ではないかもしれませんが、他の人のコードを見て理解すること (理解しようとするのではなく、理解するまで読んで複製し、デバッグすること) は、新しいテクニックを学ぶための最良の方法です。

2 つ目は、直感的に考えないでください。論理的にのみ考えることです。多くの人がコードを読んで、それを完全には理解せず、「それが何をすべきかを知っているので、そこにある行はどういうわけかそれをしているように見える」ということを経験しました。それはプログラミングの学習には何の役にも立ちません。コードは、そこに書かれていることを正確に実行するだけです。一歩一歩。それがどのように機能するかがわからない場合は、コードが思ったとおりに動作していない可能性が高いです。
コードを書く場合も同様です。プログラムを開発するときに真っ先に頭に浮かぶのは、それが何をすべきかということです。しかし、それは非手続き的な形式です - あなたの midn は手続き的には機能しません。直感的に機能します。人間の頭の中では、アイデアとプロトタイプがすべてです。正確なアルゴリズムはありません。私たちの心は、すべてを正確に行うほど強力ではありません。次のステップは、アイデアを構造化することです。それを小さな部分に分割します。それらを再度分割するよりも。そしてまた。数ステップ (通常は最大で 10 ~ 20 ステップ!) で実行できる単純なタスクがたくさんあるまで。全体像を見失わないように、これらすべての小さなステップが最終的にどのように連携するかについて、図を作成するか、少なくともいくつかのメモを作成します。心に留めておいてください: あなたの脳は、手続き型のスタイルで大きなことを一度にまとめることはできません。少なくとも私はそうではありません。) 最後の部分は、すべてのステップを書き留めることです。それらを一緒に組み立てるより。これで完了です。おめでとう。

于 2013-11-03T11:49:43.867 に答える
1

プログラミングを学び始めるとき、言語構文は論理的な出発点です。これにより、新進のプログラマーは、実行されるコードで自分のアイデアや定式化を適切に表現できます。ただし、正しく指摘したように、構文はプログラミングの「より大きなスキーム」ではほとんど意味がありません。

あなたが読んだチュートリアルがその「より大きなスキーム」の観点から何をカバーしているのかわかりません。また、頭のてっぺんにある特定のチュートリアルや本も思いつきません。ただし、データ構造について教えてくれるリソースを見つけることをお勧めします。この概念に慣れていない場合、データ構造はコンピューター サイエンスの非常に基本的なトピックです。このトピックは、次の質問から生じています。

大学の多くの CS 学生にとって、データ構造に重点を置いたクラスは、あなたが説明したようなイントロの後の 2 番目のコースであり、通常は実際のコンピューター サイエンスが始まる場所です。また、データ構造は、アルゴリズムの研究に進む価値のある基礎を提供します。これは、コンピュータ サイエンスのより主要な概念であり、論理的、段階的、そして最も重要なことに、再現可能でスケーラブルな方法で問題を解決する方法を扱います。 .

繰り返しになりますが、リンクがないことをお詫びしますが、Google または Amazon の検索をすぐに開始できるトピックをいくつか提供できれば幸いです。独学で CS を追求して頑張ってください!

于 2013-11-03T11:52:56.177 に答える
0

目的または目標を持って、自分でプロジェクトを作成し、計画を立てて実行する必要があります。途中で多くのことを学びます。行き詰まった場合は、質問を投稿してください。:)本、ビデオ、オンラインチュートリアルから学ぶのは簡単ですが、自分で何かを作り始めるとすぐに、物を作るのがどんどん上手になり、神になります:)私はプログラマーを意味します.

于 2013-11-03T11:49:42.817 に答える