自習Pythonを教える初心者、他に何を学ぶべきですか? [閉まっている]

StackOverflow https://stackoverflow.com/questions/805720

  •  03-07-2019
  •  | 
  •  

質問

私はプログラミングの初心者です。私は1学期のコンピューターサイエンスを学びました(Javaを使用しました)。私はコースでAを取得し、割り当てられたすべてを実行できましたが、本当に理解したかどうかはわかりません。私はテキストを無視し、サンプルプログラムを見て、試行錯誤を繰り返しました。 Javaまたは別のOOP言語を知って来た2人の男を除いて、私はクラスをリードしました。

Pythonを学びたいです。また、私が持っている余分な部品から2台目のPCを構築し、Linuxを使用します。基本的に、コンピューターの知識を高めたいと思います。それが私のモチベーションです。

今、Pythonを学習する上で役立つプログラミング理論の本はありますか?または、コンピューターが最も低いレベルでどのように動作するかについて詳しく調べる必要がありますか?私が望む質問をするのに十分な知識がないと思います。

簡単にするために、Pythonを最大限に活用するために知っておくべきことを尋ねています。これはキャリアのためではありません。これは知りたいという願いからです。私はもはやコンピューターサイエンス専攻ではありません(予想されるキャリアに直接適用されることもありません。)

「30日」で学習するつもりはありません。または「1週間」または何でも。ですから、非常に基本的なレベルから始めることは私には問題ありません。

事前に感謝します。私は検索を行いましたが、探しているものがまったく見つかりませんでした。

更新:すばらしいアドバイスをありがとう。私はこのサイトを職場で見つけましたが、自宅のコンピューターで見つけることができなかったので、今読んでいるところです。

役に立ちましたか?

解決

常に、高レベルの抽象化から始めることをお勧めします。論理ゲートがどのように機能し、どのように使用してCPUを構築できるかを知る必要はありません-それはクールなものですが、いじってしまえば lot がより理にかなっていますより高いレベルで。したがって、Pythonは学習支援として優れた選択肢です。

コンピューター科学者のように考える方法:Pythonで学習するはインターネットで利用できますそして、コンピューターを動かす高レベルの概念の優れた紹介です。また、Python固有のものです。

あなたの脳を裏返しにしたいなら、 SICP がうまく機能します。ただし、最初のテキストとしてはお勧めしません。重いです。

これらの本はどちらも高レベルです。メモリ構造やCPUが実際に行うことなど、低レベルの詳細については何も教えてくれませんが、とにかく後で予約するものです。

D'A

他のヒント

特に質問のPython部分については、 http://www.diveintopython3.net/マーク・ピルグリム。それは無料で、かなりよく構成されています。

Pythonは良い選択です、楽しんでください!

http://www.pythonchallenge.com/

このチャレンジは、Pythonの主要な強みに触れるのに最適であり、各レベルに多くのPythonスレッドが含まれる素晴らしいフォーラムがあると思います。

これの多くは、Pythonを学習するための全体的な目標に依存します。あなたはそれを第二言語を学ぶと考えていますか、それともコンピューターとプログラミング言語を効果的に使用する方法をよりよく理解していますか?

コンピューターについての理解を深め、プログラマーになりたいと思うようです。 Pythonなどの新しい言語を学習しても、おそらくこの点では役に立ちません。興味のある方はまだPythonを学ぶことをお勧めしますが、1つのプログラミング言語を習得すると、新しい言語を学ぶことの多くは構文とデータ型(通常)に慣れてきます。

受講したクラスの教材を理解することに自信がないとおっしゃいました。基本的な概念(ループ、クラスなど)を理解していないと感じた場合、ほとんどの書籍/ガイドでこれらの概念を再考するため、Pythonの学習はプログラミングの理解に役立ちます( Learning Python、3rd Edition これに役立つはずです)。これらの概念を理解しているが、これらの概念の適用方法が不明な場合は、データ構造と一般的なアルゴリズム(並べ替え、検索など)について学ぶことをお勧めします。

個人的な経験から言えば、入門プログラミングクラスから学んだことを個人的なプログラミングプロジェクトに適用する方法がわかりませんでした。クラスからデータ構造について学ぶことは、この以前の知識から構築されたアルゴリズム/データ構造を提供することにより、私が以前学んだ概念を固めるのに役立ちました。このクラスにより、これらのデータ構造の使用に関して、問題について異なる考え方をすることができました。

さまざまなタイプのデータ構造については、次を参照してください。 http://en.wikipedia.org/wiki/List_of_data_structures 。通常、各データ構造は特定の目的に役立ちます(たとえば、バイナリ検索ツリーはソートされた情報の検索に適しています)。残念ながら、私は本の推奨事項を持っていません(私たちのクラスは本を使用していません)。グーグル「データ構造」良い出発点になるはずです。

データ構造も、実装がどれほど効率的かを考えるようになりました。 「複雑さ」特定のコードの実行にかかる時間は、アルゴリズムのこれにより、他の実装を比較し、どちらが優れているかを簡単に判断できます。

また、コンピューターの概念を学習する場合、学習するのが最善の方法であるとコメントしたいと思います。本/クラスで説明できるのはそれだけで、残りは自分で学ばなければなりません。学習方法は人によって異なります。プログラミングとは、読んだ資料を取り上げて、自分が最もよく理解できる方法で考える方法です。

私はあなたの質問に答えることを望みます。この時点で、基礎となるハードウェアを実際に心配する必要はありません。これは、キャリアとしてこれを行う予定がある場合(そうでない場合)、または実行しているハードウェアに固有の最適化を行いたい場合(その場合、Pythonを使用したくない場合)に役立ちます。 。 Pythonは、多くのデータ構造を実装しているため、データ構造について学ぶのに適していますが、それらの用途を知ることは重要です。

まだ学校に通っている場合は、データ構造のクラスを取り、それについてどう思うか見てみましょう。気に入ったら、あなたのキャリアにおけるプログラミング/ CSの役割を再考することをお勧めします。あなたはそれに専攻する必要はありませんが、あなたが学んでいるこれらのスキルを利用するマイナーまたは少なくともポジションを検討してください。これはあなたの専攻ではありませんが、コンピューターの仕組みを理解し、Pythonの学習、独自のコンピューターの構築、Linuxのインストールなどのイニシアチブに関心があるためです。

さらに質問がある場合は、お気軽にお問い合わせください。グー

Pythonは高レベルの言語であるため、コンピューターが最下位レベルでどのように動作するかを学習しても、それほど直接的なメリットはありません。

誤解しないでください-コンピューターの低レベルの操作、たとえばアセンブリ言語とハードウェアは、高レベルまたは低レベルのどの言語を使用している場合でも、より効果的にプログラミングするのに役立つため、優れたプログラマーなら誰でも知っておくべきものです。しかし、かなりの経験を積むまで、Pythonコーディングに大きな違いはありません。 Pythonを始めたばかりの場合は、低レベルのコンピューターの操作から離れて、今のところPythonの基本に集中することをお勧めします。それに慣れたら、Cのようなものに進むことができます。そして、低レベルのものを調べ始めることが適切かもしれません。

あなたが知っておくべきことは...あまりないでしょう。 Pythonはプログラミングを開始するのに最適な言語です。シンプルなことはシンプルに保ちますが、高度な複雑さまで作業できるほど豊富です。おそらくチュートリアルを見ることをお勧めします。私がたまたま知っているのは Pythonウェブサイトですが、必ずしもそうだとは言いません。あなたに最適です。 Googleの検索では、始めるのに十分なものが得られるはずです。

数ヶ月前にPythonを始めました(私の最初のプログラミング言語として)。まず、 Mark LutzによるPythonの学習をお勧めします。しかし、よく学ぶための鍵は、オープンマインドで、忍耐強く、理解していないことを探して働くことです。

楽しんでください!

http://www.diveintopython.org/ のオンラインブックをご覧になることをお勧めします。 Pythonを学ぶ。

Pythonプロジェクトに関しては、Django Frameworkを学習してみます。 Webアプリケーションを構築するためのフレームワークです。彼らはそれを始めるための素晴らしいチュートリアルを持っています。これにより、Linuxボックス上にWebサーバーを構築することもできます。

  

コンピューターの知識を高める

まあ、それはどういう意味ですか? Python、または他の高レベル言語は、実際にすべての厄介な詳細を隠すように設計されています。それが理由の1つであり、なぜそれが科学者などの非プロに適しているのかです。

ものが実際にどのように機能するかを知りたい場合は、純粋なCを学習する必要があります。しかし、SCに関連するキャリアを持つ予定がない場合は、あまり意味がありません。代わりに、より高度なアルゴリズムとデータ構造を学んでください。その結果、より興味深く、便利になり、プラットフォームや言語にとらわれません。

簡単な答え:すべて

長答:

最初の言語を習得することは常に挑戦であり、Javaを体験した後は、他の多くの言語がはるかに簡単に見えるようになります。とは言っても、プログラミング言語を学習する際の本当の課題は、特定の言語をいつ使用するかを学習することです。時間の経過に応じて適切なドキュメントを検索できます。

具体的なスタートとして、ウィキペディアにアクセスして、プログラミング言語のカテゴリ一覧を閲覧します、これまでに聞いたすべての名前(および目を引くもの)をクリックします。記事にコード例がある場合は、1〜2分入力してください(もちろん、残りの記事も役立ちます) )。ここでのポイントは、すべての言語をマスターすることではなく((1)無意味で、(2)不可能です)、そこにあるものを理解することです。どの言語にも、そのような少数の他の言語があり、それらのカテゴリのほとんどで少なくとも1つの言語を読むできるなら、プログラミングの世界のかなり大きな部分をマスターしているでしょう。新しいプロジェクトが立ち上がって、それについて何かがあなたが見つけたいくつかの言語を思い出させるとき、あなたはプロジェクトを行うことの一部としてその言語を学ぶことができます。多くの作業のように聞こえるかもしれませんが、たとえば、5番目の大きな言語の後、あなたは完全にカウントを失い、気付かずに常に誤って新しい言語を学習します。

母国語としての1つの言語への関連付けを停止すると、プログラミングしたことがない場合でも、他の言語の例から学ぶことができます。個人的には、Haskellのプログラムをいくつか書いただけですが、Haskellは読むことができるので、より実用的なScalaおよびPythonプログラムでリサイクルできる多くのアイデアに触れることができましたPythonを学び、Scalaを参照してください。おそらくJavaを二度と使用することはないでしょう。

仕事に最適な言語を見つけることだけではありません。ツールボックスに多くのツールを用意すると、プロジェクトの各部分をできる限り簡単な言語で作成することで、短時間で驚くべきものをまとめることができます。これはすべてのプロジェクトに適しているわけではありませんが、少年、印象的なデモを作成できますか。

完全に異質なプログラミング言語(または少なくとも1日以上のハッキングのための異質な言語)がなくなるまでには何年もかかりますが、それを試みるのは非常に健全で現実的な長期計画だと思います各大まかなカテゴリの代表的なサンプルを征服します。がんばって!

Pythonは私の第一言語ではなかったため、 Python Cookbook 学習に役立つ

  1. Pythonでできること
  2. イディオム、「pythonic」、何かをする方法。

プログラミング言語教育は、学習中の決まり文句に常に関連付けられてきました。 「プログラミングを学ぶためのプログラムを書く」。私も同じことを提案します。

基本から始める場合。これはもちろん、最も推奨される出発点です。時間がかかりますが、常に価値があります。 http://www.diveintopython.org/

Javaに興味があるので、これはあなたにとってさらに良いかもしれません。 http://www.swaroopch.com/notes/Python 。 python 2.xまたは3.0を起動します。私は個人的にpython 3のファンです。しかし、初心者にとっては、サンプルやプログラムへの参照をオンラインで入手するのは難しいかもしれません。したがって、2.xの方が良いかもしれません。しかし、私はあなたに任せます。

「プログラムを書く..」を始めたように。ここから開始できます。

  1. http://www.spoj.pl/ -プログラミングチャレンジサイトで、選択可能主にアルゴリズムであり、膨大な質問データベースがある幅広いトピックから。もちろん、プログラミング言語の選択はあなた次第です。
  2. http://projecteuler.net/ -数学の質問サイト、ここでは答えを提出するだけです、ここでは不正行為が許可されているため、他の人からロジックを自由に借りることができますが、プログラムを自分で書いてみてください。

Pythonの習熟度が十分に上がったと思ったら、この本のレシピを試すことができますpython cookbook http://www.amazon.com/Python-Cookbook-Alex-Martelli/dp/0596007973

アプリケーション開発のために、それを処理できると考えた後、 wxPython または< href = "http://www.riverbankcomputing.co.uk/software/pyqt/download" rel = "nofollow noreferrer"> PyQt 。個人的にはPyQtをお勧めします。応答性が高く、高速で、まともな開発サイクルがあります。WxPythonを長い間使用していませんが、長い間書いたプログラムはあまり気になりませんでした。再び、それはあなた次第です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top