Slide 1

Slide 1 text

Teaching  and  Learning  Perl what  I  learn  from  “Perl  Entrance” by  papix  (Gotanda.pm)

Slide 2

Slide 2 text

Self  Introduction •  Takayuki  Fukumoto  (papix) – Tokyo/Japan – GaiaX  co.,  Ltd.  (Japan) •  Perl  /  Infrastructure  Engineer – Gotanda.pm  /  Hachioji.pm PAPIX papix _̲_̲papix_̲_̲

Slide 3

Slide 3 text

Overview  of  “Perl  Entrance”

Slide 4

Slide 4 text

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!

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

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!  

Slide 7

Slide 7 text

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)

Slide 8

Slide 8 text

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!

Slide 9

Slide 9 text

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”

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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!

Slide 12

Slide 12 text

Our  Style

Slide 13

Slide 13 text

Prerequisites •  Bring  your  own  PC – Thatʼ’s  All!

Slide 14

Slide 14 text

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”

Slide 15

Slide 15 text

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...

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

Hands-‐‑‒on  Experience •  Students  get  a  sense  of  accomplishment   when  their  code  actual  runs. – This  is  important  to  keep  on  learning!

Slide 18

Slide 18 text

Encourage  Communication •  This  word  include  2  types  communications – Communication  between  students  and   lecturers – Communication  between  students  and   students

Slide 19

Slide 19 text

Communication  Between   Students  and  Lecturers •  Students  are  always  looking  for  help – But  they  can  be  reluctant  to  ask  questions – Our  lectures  proactively  provide  help

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

Like  This!

Slide 22

Slide 22 text

Problems  Encountered While  Running  Class

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

Supporter Lecturer Supporter Supporter

Slide 25

Slide 25 text

A  Single  Teacher  Doesnʼ’t  Scale •  This  is  very  good  idea  for  Perl  Entrance! •  As  a  result,  students  can  learn  more!

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

Meetups •  We  introduce  students  to  Perl  meetups – Many  of  these  are  managed  by  graduates Perl  Beginners  (Tokyo) Perl  Nabe  (Osaka)

Slide 29

Slide 29 text

Important! •  Students  can  question  at  any  time •  Students  can  communicate  at  any  time

Slide 30

Slide 30 text

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!

Slide 31

Slide 31 text

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  

Slide 32

Slide 32 text

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...

Slide 33

Slide 33 text

Joys  of  Teaching  Perl

Slide 34

Slide 34 text

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!

Slide 35

Slide 35 text

Joys  of  Teaching  Perl •  Drinkups  like  this:

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

Conclusion

Slide 38

Slide 38 text

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!”

Slide 39

Slide 39 text

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!

Slide 40

Slide 40 text

Thank  you  for  listening!

Slide 41

Slide 41 text

Any  questions? (easy  English  please...) (or  mention  to  @_̲_̲papix_̲_̲  on  twitter!)

Slide 42

Slide 42 text

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