- ステップ3:学んだことを実践するプロジェクトを始める
- Some Beginner-Friendly Projects you can try
- Level 1 Projects
- Level 2 Projects
- Level 3 Projects
- 簡単にあきらめないで、最初の苦労を突破すること
- Part 2: 上級プログラマーへの道
- Data Analytics
- データ分析を無料で学ぶにはどうすればよいでしょうか?
- データ分析モジュールの概要
- Things to avoid while learning Data Analytics
- ソフトウェア工学
- どうすれば無料でソフトウェア工学が学習できるのでしょうか?
- Outline of Software Engineering Modules
- 実践コース
- 上級コース
- Optional
- まとめ
ステップ3:学んだことを実践するプロジェクトを始める
講座を見るだけでは、コンセプトを内面化することはできないでしょう。 そのコンセプトを実践する必要があるのです。 そのための最良の方法は、プロジェクトを立ち上げることです。
プロジェクトのアイデアがある、またはコーディングで解決したい問題がある場合、それは素晴らしいことです!
プロジェクトに参加することです。
そうでない場合は、インスピレーションを得たり、試したりできる初心者向けのプロジェクトのリストを用意しました。
Some Beginner-Friendly Projects you can try
ここで、混乱するかもしれないいくつかの専門用語
ライブラリーを紹介します。 ライブラリは、コンパイルされ、1 つのファイルに一緒に保存されたコードの関連する部分のコレクションです。 そのファイルは、ライブラリ内のコードにアクセスできるようにコードとリンクすることができます。 API は、Application Programming Interface の略です。 API は、2 つのアプリケーションが互いに会話することを可能にするソフトウェア仲介です。 言い換えれば、API を使用すると、ソフトウェア プロバイダーから機能を要求して自分のコードで使用することができます。 たとえば、Spotify API では、Spotify から曲やアーティストなどのデータを要求することができ、そのデータを自分のコードやアプリケーションで利用できます。
Level 1 Projects
Calculator
- Language.Layer.Layer.Layer.Layer.Layer.Layer.Layer.Layer.Layer.Layer: Python
- Libraries: なし
- Guide: https://www.programiz.com/python-programming/examples/calculator
Sudoku Solver
- Language: Python
- Libraries: なし
- Guide: https://techwithtim.net/tutorials/python-programming/sudoku-solver-backtracking/
Hangman
- Language: Python
- Libraries: なし
- Guide: https://www.pythonforbeginners.com/code-snippets-source-code/game-hangman
Level 2 Projects
Chess
- 言語: Python
- Language: Python または Java
- Libraries: なし
- Guide: https://www.youtube.com/watch?v=ejZqLsQDjuo
Weekly Discover Spotify Playlist
- Weekly Discover Spotify playlist と同様のことをするシステムを自作する
- 言語:Language: Python
- Libraries: Spotify API
- Guide: https://towardsdatascience.com/making-your-own-discover-weekly-f1ac7546fedb
Automatic time tracking Tool
- Improve the focus by tracking the time spent on desktop applications or web sites in real-time.
- Language: Python
- Libraries: Selenium
- Guide: https://www.youtube.com/watch?v=ZBLYcvPl1MA
Level 3 Projects
Instagram Automation
- Automate the process of post to Instagram
- Language.Lang: Python
- Libraries: Flask,Instapy
- Guide: https://www.youtube.com/watch?v=vnfhv1E1dU4
Twitter Bot
- フィードに自動的にツイートするボット
- 言語:Language: Python
- Libraries: Twitter API
- Guide: https://medium.com/science-friday-footnotes/how-to-make-a-twitter-bot-in-under-an-hour-259597558acf, https://learn.g2.com/how-to-make-a-twitter-bot, http://socialmedia-class.org/twittertutorial.html
Telegram chatbot
- A chat telegram messages
- Language: Python
- Libraries: Python-Telegram-API
- Guide: https://www.freecodecamp.org/news/learn-to-build-your-first-bot-in-telegram-with-python-4c99526765e4/
このリストは完全なものではありません。 解決しなければならない問題があれば、それをプログラミングでどのように解決できるかを考えてみてください。 それもプロジェクトになりえます。
簡単にあきらめないで、最初の苦労を突破すること
プログラマー志望者として最大の失敗は、自分はプログラミングを学ぶほど頭が良くないと思い込んであきらめることです。 プログラミングの学習は難しく、学ぶべきトピックがたくさんあるため、ほとんどの人がある時点で困難に直面するでしょう。 プログラミングをしていると、最初のうちは意味のわからないトピックがたくさん出てきます。 だから、ネガティブな自己思考は慎んでください。
私も行き詰まりました。 同じ講義やビデオチュートリアルを何度も見直して、コンセプトを把握することがよくあります。 もし、あなたが私のような状況に陥ったとしても、がっかりしないでください。 もし今学んでいるトピックが理解できないのであれば、その場に留まりましょう。 次のトピックに進んではいけません。 スキップして先に進むのは、土台を無視して家を建てるのと同じです。
使用しているチュートリアル(または書籍)がそのトピックを十分に説明していない場合、自分に合った他のリソースを見つけなければならないかもしれません。 Google では、学びたいことはほとんど何でも無料で見つけることができます。 何を検索するか(例:in+その他の有用なキーワード)
助けを求める前に、少なくとも20分間は自分で何かを解決する時間をとりましょう。 答えがすでに目の前にある可能性が高いのです。
Stackoverflow とプログラミング学習は、プログラミング支援のための金鉱です。
目標は、学習経路を進むにつれて、自分自身の学習を意識することです。 したがって、まず理解することなく、コースに従って盲目的にコードをコピーすることはやめましょう。 レッスンで教わったコンセプトを理解し、それを再現するようにしましょう。
学習が進んだら、プログラミングの練習をすることを習慣にしましょう。 leetcodeでもhackerrankでも、プロジェクトを作るのでもよいです。 学んだ概念で、すべてのモジュールの後にプロジェクトを行うようにしてください。
Part 2: 上級プログラマーへの道
さて、プログラミングの基本を学んだら、次はどの道筋でプログラミングを学びたいかを考えることになりますね。 プログラミングの基本を把握した上で、思い切って挑戦できる道はたくさんありますが、中でもソフトウェア工学&データ分析
Data Analytics
データ分析とは何でしょうか。 アルゴリズムや機械的なプロセスを適用して、洞察を導き出すことが含まれます。 例えば、複数のデータセットを実行して、互いの間に意味のある相関関係を探します。
では、なぜデータ分析を学ぶ必要があるのでしょうか。 ビッグデータは未来です。 ビッグデータは指数関数的なスピードで生成されており、多くの企業がそのデータを活用して、より良い意思決定や、既存の理論やモデルの検証・反証を行っています。 多くの企業でデータが意思決定の中核となるため、データ分析の需要は今後ますます高まると予想されます。
データ分析を無料で学ぶにはどうすればよいでしょうか?
私は大学のカリキュラムを調べ、無料のオンラインコースを大学のコースに一致させようとする道筋を思いつきました。 しかし、これらのコースはすべてPythonで、別の言語で学びたい場合は、遠慮なく他のコースをチェックしてください。
データ分析モジュールの概要
概要は概ね大学のモジュールをベースにしています。 ただし、データ構造やアルゴリズムなど、大学が教える重要なモジュールは、より概念的でレベルが高いので除外しています。
注意:機械学習は基礎講座で学んだスキルを活かせるので、優先度を高くしています。
基礎講座
モジュール1: Pythonの基礎を学ぶ(1ヶ月)
- Pythonの文法を学ぶ
- ループを学ぶ
- オブジェクト指向プログラミングを学ぶ
Module 2: データ前処理、データ可視化、探索的データ分析(1ヶ月)
- pythonライブラリ(matplotlib、numpy、pandas)の活用方法を学ぶ
- これらのライブラリでデータを操作する
上級コース
モジュール3.データ前処理(Maprocessing)
Module 3: 機械学習(2ヶ月)
- 前提条件。 Linear Algebra
- Machine Learningは数学のかなり専門的なコースです
- Python には Scikit-Learn という機械学習用のかなり包括的なライブラリがあります
- 機械学習をより実践的に学ぶには、Kaggle Learnをチェックするとよいでしょう。
Real-World Tools Courses
Module 4: Databases (SQL) (1 Month)
- データベースコースでは、基本的にデータがどのように保存され、プログラミング機能を行うためにそのデータを取得できるかを学びます。
- データベースとSQLの実務知識は、データサイエンティストを目指すなら必須です。
モジュール5:実世界ツールコース
- Hadoop & Map-Reduce + Spark(choose one) (1.1 ヶ月)。5ヶ月)
- これらは、大量のデータを処理するために業界が共通して使用しているビッグデータツールです。
- Hadoop技術を学ぶことで、多くの基礎知識、理論、実践スキルを身に付けることができます。 また、それを使って新しい発見があるかもしれません。
- Spark は Hadoop の最新の実装で、ユースケースが増加しています。
Module 6: データストーリーテリング(1週間)
- データでストーリーを提示することは、分析専門家が経営者や管理者、その他の利害関係者に日付信号と洞察の本質を提供する上で欠かすことのできないリンクです。
オプションコース
- Data Structure
- Algorithm
- Deep Learning
- 5つのコースで、Deep Learningの基礎を学び、ニューラルネットワークの構築方法を理解し、機械学習プロジェクトの成功に導く方法を学ぶことができます。 Pythonと、彼らが教えてくれるTensorFlowで、これらのアイデアをすべて実践します。
- これは、最高のディープラーニングコースの1つです。 現在、私はこのコースをやっている最中ですが、ディープラーニングが技術的なトピックであるにもかかわらず、シンプルでわかりやすく提示されているので、レビューに同意します。
- Another great free resource is fast.ai
Things to avoid while learning Data Analytics
The pitfall is you just are learning but not applying the knowledge. 私が知識を応用するために試している方法の1つは、すべてのモジュールを完了した後にプロジェクトを開始することです。 データ分析については、Kaggleから好きなコンペティションでがんばることができます。 Kaggle Learnを参考にする
ソフトウェア工学
ソフトウェア工学とは
一言で言えば、ソフトウェア工学とは、基本的にプログラミングの概念を使ってアプリケーションを構築することです