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

Teaching and Learning Perl

September 03, 2015

Teaching and Learning Perl


September 03, 2015

More Decks by papix

Other Decks in Technology


  1. Self  Introduction •  Takayuki  Fukumoto  (papix) – Tokyo/Japan – GaiaX  co.,  Ltd.

     (Japan) •  Perl  /  Infrastructure  Engineer – Gotanda.pm  /  Hachioji.pm PAPIX papix _̲_̲papix_̲_̲
  2. Perl  Entrance •  This  is  an  introductory  class  for  Perl

    – URL:  http://www.perl-‐‑‒entrance.org/ – I  am  the  leader  of  this  class – In  Japan,  we  called  “Perl⼊入学式” •  “⼊入学式”  means  “Entrance  Ceremony” – Price:  \0  (free!) •  We  run  this  class  as  a  hobby!
  3. Our  Purpose •  Purpose  of  our  class  is... – Support  Perl

     Beginners – Support  people  to  challenge  programming =  non  programmers •  We  want  to  tell  the  joy  of  programming! – This  is  the  most  important  thing! – Enjoy  programming!  
  4. Curriculum •  Students  learn  Perl  in  6  lectures  (per  year)

      – Length  of  time  one  lecture  is  4  hours •  They  learn  the  following  about  Perl •  Basic  operation •  Modules •  Variable •  Array  and  Hash •  if  /  else  /  elsif •  for  loop •  Operation  for   Array  /  Hash •  Reference •  Subroutine •  Regex •  Create  modules •  Testing  modules •  Create  Web  App (using  Mojo)
  5. How  We  Started •  When  I  started  to  study  Perl...

    – I  joined  several  Perl  community  in  Japan •  Talking  to  Perl  Mongers  was  very  exciting  for  me! – I  met  a  lot  of  Perl  Monger  in  Japan •  They  told  me  a  lot  of  things  and  I  learned  from   them •  As  a  result,  I  love  Perl  and  Perl  community!
  6. How  We  Started •  I  thought  after  a  while... – 

    Introductory  course  for  Perl  does  not  exist! •  In  meetup,  beginners  can  learn  from  Perl  Mongers •  But  it  could  be  intimidating  for  a  beginner  to  come  to  a   meetup –  If  beginners  can  learn  from  Perl  Mongers... •  They  can  learn  Perl  quickly  and  fun! –  I  decided  to  make  an  introductory  course  myself! •  “Perl  Entrance”
  7. History  of  Perl  Entrance •  We  have  held  our  class

     in  3  cities – Osaka  (in  2012) – Tokyo  (in  2013) – Fukuoka  (in  2014) – In  addition,  we  have held  short  classes in  YAPC::Asia  Tokyo Osaka Fukuoka Tokyo
  8. Achievements •  About  40  students  enroll  (per  year) – We  have

     taught  about  100  students  in  3  years – Several  graduates  became  lecturers •  Now  they  teach  Perl  to  beginners – Many  graduates  join  the  Perl  community – Some  graduates  got  new  Perl  jobs  later!
  9. First  Lecture •  We  start  from  creating  the  studentsʼ’  

    environment – Install  Linux  (only  Windows  students) – Install  editor – Teach  how  to  use  editor  and  shell – Install  perl  and  App::cpanminus  using  “plenv”
  10. Why  Start  There? •  When  I  tried  to  learn  programming...

    – I  failed  even  before  writing  any  code! •  Because  I  did  not  know  how  to  install  a  C  compiler – Instructions  are  written  mostly  in  English •  Majority  of  Japanese  donʼ’t  understand  English...
  11. Hands-‐‑‒on  Experience •  We  give  to  students  many  exercises  during

      lecture – Half  of  lecture  time  is  spent  on  hands-‐‑‒on   exercises •  Writing  actual  code  is  the  best  way  to   learn
  12. Hands-‐‑‒on  Experience •  Students  get  a  sense  of  accomplishment  

    when  their  code  actual  runs. – This  is  important  to  keep  on  learning!
  13. Encourage  Communication •  This  word  include  2  types  communications – Communication

     between  students  and   lecturers – Communication  between  students  and   students
  14. Communication  Between   Students  and  Lecturers •  Students  are  always

     looking  for  help – But  they  can  be  reluctant  to  ask  questions – Our  lectures  proactively  provide  help
  15. Communication  Between   Students  and  Students •  Teaching  each  other

     is  a  good  way  to   learn  Perl! – We  encourage  students  to  teach  each  other – Still  experimenting  how  more  effective   encourage  this  behavior
  16. A  Single  Teacher  Doesnʼ’t  Scale •  It  is  hard  to

     support  all  students  with  1   lecturer •  Solution: – We  prepared  staff  that  called  “Supporter” – One  of  supporters  assists  about  5  students
  17. A  Single  Teacher  Doesnʼ’t  Scale •  This  is  very  good

     idea  for  Perl  Entrance! •  As  a  result,  students  can  learn  more!
  18. Keeping  Students  Motivated •  We  hold  lectures  every  2  months

    – 2  months  is  a  long  time... – Student  might  get  demotivated  in  the   meantime •  It  is  difficult  to  hold  classes  more  often – Takes  up  too  much  staff  resource
  19. Communication  on  the  Web •  Twitter  communication – We  have  twitter

     account:  @Perl_̲Entrance – Always  accept  any  questions  from  students •  Chat  communication – We  use  idobata.io  (like  Slack) •  Question  and  random  chit-‐‑‒chat
  20. Meetups •  We  introduce  students  to  Perl  meetups – Many  of

     these  are  managed  by  graduates Perl  Beginners  (Tokyo) Perl  Nabe  (Osaka)
  21. Where  to  Go  Next •  We  only  teach  very  basic

     skill  of  Perl – So,  many  graduates  says... •  “I  want  to  learn  about  more  advanced  topics!” •  If  graduates  want  to  make  Web  App... – They  have  to  learn  more  than  just  Perl •  We  want  to  support  graduates – We  want  to  help  theirs  goals!
  22. Where  to  Go  Next •  So,  we  made  a  “textbook”

    – Covers  all  the  class  materials  and  also  more   advanced  topics •  https://github.com/perl-‐‑‒entrance-‐‑‒org/Perl-‐‑‒Entrance-‐‑‒Textbook – Now,  you  can  learn... •  Amon2  (WAF) •  Homebrew •  Vagrant •  Ansible •  Serverspec •  Git •  Bitbucket  /  Github •  Object  Oriented   Programming •  Testing  Perl •  O/R  Mapper  (Teng) •  Continuous  Integration •  Exception •  Validation •  React.js  
  23. Where  to  Go  Next •  ...by  the  way, – We  manage

     all  materials  using  GitHub •  https://github.com/perl-‐‑‒entrance-‐‑‒org – Patches  welcome!!! •  We  want  to  translate  our  materials  into  English...
  24. Joys  of  Teaching  Perl •  Teaching  is  very  fun  for

     me! – We  are  always  surprise  by  the  studentsʼ’   growth •  Very  rewarding  for  lectures  and  supporters •  We  make  more  friends! – After  the  end  of  each  lecture,  we  go  to  drink! – Lecturer,  supporter  and  students  talk  about   various  themes!
  25. Joys  of  Teaching  Perl •  Lecturer  and  supporter  can  also

     learn! – “Teaching  is  good  method  for  learning  Perl!” •  We  keep  learning  more  and  more  about  Perl
  26. Conclusion •  Teaching  beginner  is  very  a  lot  of  fun!

    – Everyone  gets  something  out  of  it •  Students,  lecturer  and  supporters! – If  you  want  to  learn  more  Perl,  I  recommend   that  you  teach  beginners! •  “Teaching  is  good  method  for  learning  Perl!”
  27. Conclusion •  To  expand  the  Perl  community,  we  need  to

      teach  reach  out  to  beginners – You  can  also  teach  Perl! – Many  people  want  to  challenge  programming – Perl  community  can  take  them  in!
  28. Appendix •  Information  about  Perl  Entrance –  Sorry,  all  of

     information  is  Japanese  only... –  Web  site:  http://www.perl-‐‑‒entrance.org/ –  Blogs:  http://perl-‐‑‒entrance.blog.jp/ –  Twitter:  @Perl_̲Entrance –  Github:  https://github.com/perl-‐‑‒entrance-‐‑‒org –  This  slide:   https://speakerdeck.com/papix/teaching-‐‑‒and-‐‑‒ learning-‐‑‒perl