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

Constanze Kratel

Constanze Kratel

This talk aims at novices in Python programming. It provides resources and useful advice on how to get started with Python and keep going to move beyond novice to master.

Constanze Kratel

October 05, 2014
Tweet

Other Decks in Programming

Transcript

  1. On the agenda •  Why learn Python? •  How to

    get started •  How to keep going
  2. …great documentation Reasons for learning Python… …easy to learn  

    …it is free … it is fun (Raspberry Pi) …awesome community …fewer lines of code …strong market demand
  3. Resources  to  get  you  started   •  The  Hitchhikers  Guide

     to  Python  ( hDp://docs.python-­‐guide.org/en/latest/intro/ learning/  )   •  Beginner’s  Guide  to  Python  ( hDps://wiki.python.org/moin/ BeginnersGuide)   •  Official  Python  documentaNon  ( hDps://www.python.org/doc/)     •  Pyvideo  (hDp://pyvideo.org)  
  4. Books   •  Learning  Python,  5th  EdiNon  (O’Reilly)   • 

    Python  for  Kids   •  Programming  the  Raspberry  Pi  GeTng   Started  with  Python   •  And  many  more  
  5. Online  course  offerings   •  Coursera  free  and  $  (hDp://www.coursera.org)

      •  Code  academy  ( hDp://www.codecademy.com/en/tracks/python)   •  Google  Python  Class  free  ( hDps://developers.google.com/edu/python/? hl=de)     •  O’Reilly  online  learning  $  ( hDp://www.oreillyschool.com/individual-­‐courses/ python1/  )  
  6. •  Online  courses  offered  by  accredited   universiNes  globally  

    •  Free  online  classes   •  Paid  signature  track  with  earned  cerNficate  
  7. Programming  for  Everybody   •  Offered  through  the  University  of

     Michigan   •  Introductory  course  aimed  at  programming   novices   •  Bonus:  Free  book:   Python  for  InformaNcs:  Exploring  InformaNon     •  Weekly  quizzes  and  programming   assignments  
  8. An  IntroducNon  to  InteracNve   Programming  in  Python   • 

    Offered  by  Rice  University   •  1st  part  of  3-­‐course  offering  on  “Fundamentals   of  CompuNng”   •  Weekly  quizzes  and  mini  projects   •  Features  CodeSkulptor  (codeskulptor.org)  to   run  Python  programs  in  your  browser  (all   browsers  except  IE)  
  9. GeTng  Help  from  the  Community   •  ADend  a  Python

     meetup   •  ADend  a  Community  workshop     •  Check  out  a  Python  forum   •  Look  at  stackoverflow   •  ADend  a  conference  J   •  Join  an  IRC  Channel   •  Check  out   hDps://www.python.org/community/    
  10. Meetups   •  Place  to  network   •  ADend  workshops

      •  Perform  group  learning  (e.g.  Coursera)   •  Get  help  with  problems   •  Get  encouragement   •  Find  a  mentor   •  ADend  a  hackday  
  11. Mastering  Python   •  ExcepNon  handling   •  WriNng  secure

     code   •  Contribute  to  the  community   •  Contribute  to  the  Python  codebase   •  Answer  Stack  Overflow  quesNons  about  Python   •  Embrace  unit  tesNng   •  Master  regular  expressions   •  Get  familiar  with  PyPi  (Python  Package  Index)  
  12. Sample:  Python  &  Computer  Vision   Overview   •  Python

     and  OpenCV  for  crowd  analyNcs  in  images   •  Currently  using  facial  detecNon  for  esNmaNng  count   •  Images  are  very  high  resoluNon  and  Nle  based     Usage  Scenarios   •  AutomaNcally  count  the  total  number  of  people  found  in  images  of  crowds   •  Analyze  pedestrian  traffic  for  retail  or  transportaNon  in  a  given  area   •  Detect  demographics  such  as  gender  or  age  esNmates  (very  hard)     Tools  and  Libraries   •  Python  2.7.8   •  OpenCV  2.4.9   •  Python  Package:  cv2   Using  Python  with  Computer  Vision  
  13. Project  Ideas  for  Embedded  CompuDng  in  Python   Concept  

    •  Run  Python  on  embedded  devices  for  creaNve  soluNons   •  Use  Python  to  interface  with  embedded  microcontrollers   •  Run  modified  versions  of  Python  on  microcontrollers     Scenarios   •  Example  1:  Use  Python  to  control  the  new  Arduino  3D  Printer   •  Example  2:  Build  a  “smart  lock”  using  Raspberry  Pi  and  Python   •  Example  3:  Use  Python  to  collect  data  from  a  thermal  sensor     Useful  Components   •  Hardware:  Raspberry  PI,  Arduino,  GumsNx   •  Packages:  PySerial,  cv2,  etc.   •  Python  ImplementaNons:  Python,  PyMite,  Tiny  Python   Arduino  Microcontroller   Raspberry  PI  with  Camera   Using  Python  with  Computer  Vision  
  14. Branching  out   •  Dive  into  Embedded  compuNng  with  a

      RaspberryPi  (www.raspberrypi.org)   •  Use  Python  to  get  data  from  your  fitness   wearable  device   •  Create  a  mobile  app  using  Kivy  (hDp:// kivy.org/#home)