/learn-python-roadmap

A roadmap for learning python for General Usage, and Data Science

GNU General Public License v3.0GPL-3.0

Note: Moving to a new repository: learning-roadmaps

Learn Python, a roadmap

A roadmap for learning the python language, eventually focusing on Data Science.

Disclaimer

Estimating an initial 10 hours of study per week.

Week 0

If you know programming already, skip week 0.

You can clone or fork this repository to use it as a checklist; tracking progress as you go.

If you are starting on week 0, skip any tasks that are repeated in later weeks—or—use them as an oppurtunity for review.

  1. Complete the CodeAcademy.com Python Course (only the free content)
  2. Work through the contents of Learn Python the Hard Way

Week 1

  1. Read Lean Python, Chapters 1-2
  2. Install Python 3 / configure local development environment
  3. Read Lean Python, Chapters 3-6
  4. Sign up for CodeWars.com
  5. Attempt to solve one-to-three python challanges which are either 7kyu or 8kyu
  6. Read Lean Python, Chapters 6-8
  7. Read Comparison of Python v2 vs v3 from python.org

Week 2

  1. Complete the CodeAcademy.com Python Course (only the free content)
  2. Read Lean Python, Chapters 8-11
  3. Read Seemingly Inverse Logic. Article gives insight and reasoning behind some of python's peculiarities.
  4. Install a library using pip.
  5. Choose and complete a project from the projects list.

Week 3

Project Week

  1. Review the table of contents of Learn Python the Hard Way. Look for language facets that you do not recognize, and read their entries. Cross-reference with python documentation, if needed.
  2. Solve three to five python challenges which are '7kyu'
  3. Choose and complete a project from the projects list.

Week 4

Challenges Week.

  1. Solve as many python challenges which as possible to achieve '7kyu'/'6kyu'/'5kyu' rank on codewars.
  2. Choose and complete a project from the projects list.

Projects

  • Create a module that checks if a haiku is following proper format (5-7-5 syllable pattern)
  • Create a slackbot (HTTP server) for rolling dice via /roll.
  • Create a module that calculates statistical methods. (Mean, Median, Mode, standard deviation, and variance.
  • Create a module that outputs the Fibonnacci Sequence up to n terms. n should default to 100.
  • Create a module with two functions, one which parses and compiles markdown into html, and the other jade into html.

Want to add a project? Open a PR!

More Resources