Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to learn Python in 5 Minutes (Daniel Moniz)

How to learn Python in 5 Minutes (Daniel Moniz)

PyCon Canada

August 13, 2013
Tweet

More Decks by PyCon Canada

Other Decks in Education

Transcript

  1. How to learn Python in 5 minutes
    Tuesday, 13 August, 13

    View Slide

  2. How to learn Python (in 5 minutes)
    Tuesday, 13 August, 13

    View Slide

  3. (^^^ works at Points)
    Tuesday, 13 August, 13

    View Slide

  4. The Python Community
    Tuesday, 13 August, 13

    View Slide

  5. The Python Community
    Python
    Tuesday, 13 August, 13

    View Slide

  6. The Python Community
    Python
    Tuesday, 13 August, 13

    View Slide

  7. The Python Community
    ...has a duty to effectively help people learn Python.
    Tuesday, 13 August, 13

    View Slide

  8. Goal:
    Help beginners learn and get a job using Python
    Tuesday, 13 August, 13

    View Slide

  9. My story (quick version)
    Tuesday, 13 August, 13

    View Slide

  10. My story (quick version)
    • Quit lame job
    Tuesday, 13 August, 13

    View Slide

  11. My story (quick version)
    • Quit lame job
    • Learned Python
    Tuesday, 13 August, 13

    View Slide

  12. My story (quick version)
    • Quit lame job
    • Learned Python
    • Followed system
    Tuesday, 13 August, 13

    View Slide

  13. My story (quick version)
    • Quit lame job
    • Learned Python
    • Followed system
    Tuesday, 13 August, 13

    View Slide

  14. My story (quick version)
    • Quit lame job
    • Learned Python
    • Followed system
    Tuesday, 13 August, 13

    View Slide

  15. My story (quick version)
    • Quit lame job
    • Learned Python
    • Followed system
    Tuesday, 13 August, 13

    View Slide

  16. My story (quick version)
    • Quit lame job
    • Learned Python
    • Followed system
    • Got new job (for Python/Django)
    Tuesday, 13 August, 13

    View Slide

  17. My role
    Tuesday, 13 August, 13

    View Slide

  18. My role
    • Develop software
    Tuesday, 13 August, 13

    View Slide

  19. My role
    • Develop software
    • Help co-workers learn Python
    o Code reviews
    o Pair programming
    Tuesday, 13 August, 13

    View Slide

  20. System is:
    Tuesday, 13 August, 13

    View Slide

  21. System is:
    • Repeatable
    Tuesday, 13 August, 13

    View Slide

  22. System is:
    • Repeatable
    • Anyone can do it
    Tuesday, 13 August, 13

    View Slide

  23. System is:
    • Repeatable
    • Anyone can do it
    • Yields results
    Tuesday, 13 August, 13

    View Slide

  24. 3-Day Project Paradigm
    (cool name!)
    Tuesday, 13 August, 13

    View Slide

  25. Preparation
    Tuesday, 13 August, 13

    View Slide

  26. Preparation
    • Pick a small project idea
    Tuesday, 13 August, 13

    View Slide

  27. Preparation
    • Pick a small project idea
    • Eg. web crawler
    Tuesday, 13 August, 13

    View Slide

  28. Day 1
    Tuesday, 13 August, 13

    View Slide

  29. Day 1
    • Get some basic functionality working
    • Learn basics of Python
    • Make mistakes
    Tuesday, 13 August, 13

    View Slide

  30. Day 2
    Tuesday, 13 August, 13

    View Slide

  31. Day 2
    • Complete functionality
    Tuesday, 13 August, 13

    View Slide

  32. Day 2
    • Complete functionality
    • Refactor
    Tuesday, 13 August, 13

    View Slide

  33. Day 2
    • Complete functionality
    • Refactor
    • Eliminate bugs!
    Tuesday, 13 August, 13

    View Slide

  34. Day 3
    Tuesday, 13 August, 13

    View Slide

  35. Day 3
    • Complete documentation
    Tuesday, 13 August, 13

    View Slide

  36. Day 3
    • Complete documentation
    • Refactor
    Tuesday, 13 August, 13

    View Slide

  37. Day 3
    • Complete documentation
    • Refactor
    • Push to online repository
    Tuesday, 13 August, 13

    View Slide

  38. Day 3
    • Complete documentation
    • Refactor
    • Push to online repository
    • Etc.!
    Tuesday, 13 August, 13

    View Slide

  39. Day 4
    Tuesday, 13 August, 13

    View Slide

  40. Day 4
    • Hands off!
    Tuesday, 13 August, 13

    View Slide

  41. Long term goal
    Tuesday, 13 August, 13

    View Slide

  42. Long term goal
    • Have something to show for hard work
    Tuesday, 13 August, 13

    View Slide

  43. Long term goal
    • Have something to show for hard work
    • Put projects on resume
    Tuesday, 13 August, 13

    View Slide

  44. Other tools and tips
    (less cool name)
    Tuesday, 13 August, 13

    View Slide

  45. Phone interviews
    Tuesday, 13 August, 13

    View Slide

  46. Phone interviews
    • Practice on coderbyte.com
    Tuesday, 13 August, 13

    View Slide

  47. Phone interviews
    • Practice on coderbyte.com
    • 15 minute timed problems in Python
    Tuesday, 13 August, 13

    View Slide

  48. Stack Overflow
    Tuesday, 13 August, 13

    View Slide

  49. Stack Overflow
    • Use it
    Tuesday, 13 August, 13

    View Slide

  50. Stack Overflow
    • Use it
    • Read answers about:
    o Decorators
    o Generators
    Tuesday, 13 August, 13

    View Slide

  51. Common Stumbling blocks
    Tuesday, 13 August, 13

    View Slide

  52. Common Stumbling blocks
    • Everything is an object! (seriously)
    Tuesday, 13 August, 13

    View Slide

  53. Common Stumbling blocks
    • Everything is an object! (seriously)
    Tuesday, 13 August, 13

    View Slide

  54. Common Stumbling blocks
    • Everything is an object! (seriously)
    • Learn to refactor, refactor to learn
    Tuesday, 13 August, 13

    View Slide

  55. Challenge to beginners
    Tuesday, 13 August, 13

    View Slide

  56. Challenge to beginners
    • Use mock to write pure unit tests
    Tuesday, 13 August, 13

    View Slide

  57. Challenge to beginners
    • Use mock to write pure unit tests
    Tuesday, 13 August, 13

    View Slide

  58. Challenge to beginners
    • Use mock to write pure unit tests
    • If you can do this, you’re no longer a beginner
    Tuesday, 13 August, 13

    View Slide

  59. Thank you!
    [email protected]
    github.com/danielmoniz
    http://www.bizblog.points.com/tech-talk/
    Tuesday, 13 August, 13

    View Slide