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

Teaching and Learning Perl

Avatar for papix papix
September 03, 2015

Teaching and Learning Perl

Avatar for papix

papix

September 03, 2015
Tweet

More Decks by papix

Other Decks in Technology

Transcript

  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