2018年のPerl入学式の構想

あけましておめでとうございます, id:papix です.

昨年は, これまでの大阪/東京/沖縄の3拠点に加えて, 新たに札幌での開講が始まり, より多くの方と一緒にPerlを学んでいくことができました.

そして2018年, いよいよPerl入学式は7年目に突入します.
7年目が始まる今この時, あらためてこれまでを振り返ってみると, 2011年に大阪でPerl入学式の取り組みをスタートしてから, Perlはもとより, Perl入学式を取り巻く状況も目まぐるしく変化してきたと感じます.

そういった状況に鑑みて, Perl入学式という取り組みをさらに実り多く, 継続可能なものにするために, 良いものは残しつつ, 現在の時流に適した形へ刷新していく必要があると感じています.

...というわけで, 個人的な2018年のPerl入学式のテーマは "Reboot" です.
以下, どのような取り組みでPerl入学式をRebootしていくか, という所の私案を述べます.
これをベースにしつつ, スタッフの間で議論を進めて, 2018年4月から, 新しいスタイルのPerl入学式をスタートしていきたいと思っています.

カリキュラムの刷新

Perl入学式のカリキュラムと, そこで用いられる資料は, 基本的に2011年に活動が始まった際に構築した資料を, 年々加筆修正しながら使い回しているのが現状です.
練習問題が微妙, 講義内容の前後が繋がっていない, 少し突っ込んだ内容まで取り入れてしまっている... などなど, 毎年問題点が見つかるたびに修正していますが, そろそろ資料については0から作り直しても良いのではないか, という気持ちがあります.

理想としては, 現代的なPerlを解説する入門書『雅なPerl入門』に準拠した資料を新たに構築して, それをスライド化したものを講義で利用する... といった状態を目指したいですが, ひとまず2018年は, その『雅なPerl入門』を参照しながら, 講義資料を見直していくところからスタートするのではないかと思っています.

また, 毎年第1回で取り組んでいる環境構築についても, Wandboxなど, ブラウザ上でPerlを実行できる環境が整ってきた状況を踏まえて, カリキュラムの後半(Webサービス開発に取り組む辺り)まで先延ばしにしても良いのではないか...? と思い始めています.
(とはいえ, ブラウザ上で動作する環境を利用するとなると, 会場に無線LANの環境が用意されていることが必須になりますし, サービスに障害が起きた場合のことも考慮する必要があるため, この辺りについては, 運営チームでしっかり相談したい所ではあります)

その上で, あくまで構想段階ではありますが, 上記のようなブラウザで利用可能な環境を前提にして, 現在, 講義を以下のように再編できないかと考えています:

  • 第1回
    • Perlの概要と歴史
    • Hello, world
    • スカラー変数
    • 数値と文字列
  • 第2回
    • 条件分岐
    • 論理演算子
    • 配列とリスト
    • ハッシュ
  • 第3回
    • サブルーチン
    • 正規表現
  • 第4回
    • リファレンス
  • 第5回
    • Webサービス開発環境構築
    • 簡単なWebサービスの開発(簡易Twitter)

全体的には過去のカリキュラムを踏襲していますが, これまで第1回で実施していた環境構築を最終回に移行している所が大きな違いだと思います.

また, これまで第5回をまるまる使って「Webサービスの開発」を行っていましたが, これについては内容を絞った上で, より本格的な内容は, 「Perl入学式」の次のステップとなる「Perl中学校(仮)」に織り込んでいく形を考えています.
(「Perl中学校(仮)」の構想については, 次の「講義スタイルの刷新」の中で扱います)

講義スタイルの刷新

講師が説明をして, サポーターが受講生をサポートする... という講義スタイルは「Perl入学式」の特長ですし, そういった環境を作って, なるべく質問しやすい雰囲気作りをする, ということは今後もこれまで以上に大事にしていきたいと思っています.

とはいえ, 他の形式も模索してみたい気持ちがあり, そこから既存のやり方に良い点を取り入れる, みたいなことができたら良いなとも思っています.

ということで, 「Perl入学式」の次のステップを扱う, 「Perl中学校(仮)」では, "もくもく会形式"を取り入れてみたいと考えています.
具体的には,

  • Perl入学式の第5回で作成する簡単なWebサービスを, さらに改良する資料(後述)を用意する
  • 4〜5時間程度, 会場を用意して, 受講者は各自のペースで資料に取り組む
  • サポーターも各自, 課題やネタを持ち寄ってもくもくする. 受講者からの質問があれば, 適宜サポートする

...といった感じでしょうか.

そもそも, Perl入学式の次のステップ, となってくると, 扱う内容も難易度も高くなってきて, それをすべて講義形式で実施する... というのは, 受講者が学んだ内容をうまく咀嚼できるまでの時間に差がありすぎて, うまく同期できないという問題が生じてきそうだと思っています.
そういった事態を防ぐためにも, 「Perl中学校(仮)」では, 受講者がそれぞれのペースで学んでいける形式で進めていく必要があるのでは, と思っています.
また, それを実現するためには, 今以上にSlackやTwitterを活用したサポートも重要になってくるかもしれません.

また, 「Perl中学校(仮)」では, 次のような内容を取り扱いたいと思っています:

  • CPANモジュールの活用
  • Perlにおけるオブジェクト指向プログラミング
  • クッキーを利用したログインの概念を追加
  • MySQL or SQLiteを利用したデータの永続化
  • Twitter Bootstrapなどを利用したデザインの整備
  • オプション: VPSを使ったWebサービスのデプロイ

この辺りまで習得することができれば, 様々な形でPerlを活用できるレベルまであと一歩と言えるのではないかと思います.

さいごに

2017年は, 転職やYAPC::Fukuokaの運営など, いろいろな出来事があって, あまりPerl入学式の運営に取り組めなかったなー, と思っています.
また, 校長という立場で6年間やってきて, そろそろ「次の体制」にバトンを渡していく必要があると最近思っています.
Perl入学式という活動や, そのコミュニティから一切合切手を引く(関わらなくなる)事はありえませんが, とはいえ継続可能な組織を目指していくためには, 「校長」というポジションをちゃんと引き継ぎ可能な状態にしておくことが大事だと思っています.
2019年〜2020年辺りに, 新しい体制のPerl入学式をスタートできるように, この2018年にRebootして, これまでの資料や運営体制を刷新して, また「Perl中学校(仮)」構想もしっかり進めていく. そういった1年になればいいなと思っています.

RubyやPython, 或いはPHPが主流となる中で, 今さらPerlを教えることに何の意味があるのだろう? と思われるかもしれません.
ただ, これまで6年間, Perl入学式をやってきて思ったのは, 「とにかくPerlでも何でも良いので, イチから丁寧に, しっかりとプログラミングのイロハを学びたい」と思っている方が, 自分のようなエンジニアの人達が思っている以上に, 世の中にはたくさんいらっしゃる, ということです.

Perl入学式は踏み台です. Perlという言語と, Perl入学式をきっかけにして, プログラミングに興味がある人に, その第一歩を踏み出してほしい.
もちろんPerlを楽しみ続けてほしいと思いますが, そこで得た知識を元に, RubyやPythonなど, 他の言語に進んでいってもらっても, 全然良いと思っています.
そういった思いでこれまでやってきましたし, これからもやっていきます. そこは絶対に変わることのない, Perl入学式の理念であり, 軸となる部分だと思っています.

6年という年月は長いもので, 設立当時に小学校に入学した子供たちが, 中学生へと羽ばたくだけの時間が経ちました.
それだけの時間が経過しても, こういった取り組みが続いているのは, 受講者の皆さんと, 優秀な運営ボランティアスタッフ, そしてPerl入学式の活動をご理解くださり, ご支援くださる皆様のお陰だと思います.
Perlという言語とそのコミュニティが, 継続可能な形で, これからも進んでいけるように, Perl入学式もしっかりやっていきたいと思います. 2018年のPerl入学式も, どうぞよろしくお願い致します.

6年目の終わりが近づき, 7年目へ踏み出すPerl入学式

こんにちは, id:papix です. この記事は, 「Perl入学式 Advent Calendar 2017」の1日目です.

qiita.com

さて...

タイトルにも書いた通り, 2017年でPerl入学式は6年目となります. そして2018年からは, いよいよ7年目のPerl入学式が始まります. 今年は東京, 大阪, 沖縄に加え, 新たに札幌での開催も始まり, また後日 id:xtetsuji さんが紹介してくれるはずですが, 「企業出張版Perl入学式」といった新しい施策にも取り組むことができました.

また, 今年は「papix依存」が遂に完全に解消された1年でした. YAPC::Fukuokaの運営に携わることになったり, 転職があったりと, あまりPerl入学式に時間が割けない中で, id:xtetsujiさんを中心に, 古参のメンバーと新しく仲間に加わったメンバーが, それぞれの得意分野を活かしながら, 各地のPerl入学式を運営できていたように思います.

来年の抱負

そういった2017年を踏まえて, 2018年の抱負ですが, まずは「2018年だから出来るPerl入学式にする」という野望があります. 6年前から, Perlという言語やそのコミュニティ, 更にはプログラマーを取り巻く状況は大きく変わってきている一方で, どうしてもPerl入学式のカリキュラムはそれに追随していくことが出来ていませんでした.

「Perlを通して, プログラミングの基礎を掴む」というところは, Perl入学式の根底にある気持ちだと思っていて, そういった部分を大事にしながら, こだわるべき所はこだわって, 妥協するべきところは妥協して, より良いカリキュラムにする... というのを毎年やりたいと言って出来ていないので, 今年こそは成し遂げたいですね. そのあたり構想はあって, うまく「Perl中学校(仮)」の施策と組み合わせたい, という気持ちがあります.

そのへんの構想については, また別の日に書こうかなと思っておりますのでお楽しみに.

最後に...

今年もPerl入学式でいろいろなことがありました. スタッフとして貢献した, 参加者として学んだ, OB/OGとしてPerlをうまく日々に活用することができた... そういった体験を, ぜひAdvent Calendarに書いてもらえると嬉しいです.

各々無理のない範囲で, 来年もよしなにやっていきましょう. よろしくお願いします.

そして6年目へ... 〜Perl入学式の2017年〜

この記事は, 「Perl入学式 Advent Calendar 2016」の25日目の記事, ということにしておいてください...


...というわけで, Perl入学式において一応「校長」と呼ばれているpapixです. いよいよこの「Perl入学式 Advent Calendar 2016」も最終日ですね!

今年はなんと, 1日目と25日目の2日を担当した自分以外, すべて異なる方(総勢24名!)に書いて頂くことが出来て, 本当に嬉しいです.
振り返ってみると, 今年も昨年, 一昨年に負けず劣らず, 多種多様な記事がありました.


@xtetsujiさんからは, 2016年から始まったin東京における新しい取り組みについてご紹介頂きました(「2016年のPerl入学式in東京の新しい試みについて」).


また, 「ぴかぴか(自称)のPerl1ねんせい」では, 現在進行系でカリキュラムを受けている方の感想を伺うことができました.


「Perl入学式に参加した結果www」
や, 「Perl入学式 を卒業したら、仕事が楽になった話」では, Perl入学式のカリキュラムを終えた後のチャレンジや, それによって得たこと, 変わったことについて綴って頂けました.
こういった形で, 自分たちが行った講義の"その先"の成果を見せていただけるのは, Perlを, そしてプログラミングを教えている我々にとって, 非常に嬉しいご褒美(?)だと思っています.
 

その一方で, 「Perl1年生、進級する」という記事では, 受講者からサポーターへ回った@umaaaaa_chanが, その感想を綴ってくれました.


講師, サポーター, 受講者, 卒業生, 更にはたまに懇親会に現れるトーカナイザーの守護神さんも登場して, 本当に賑やかなAdvent Calendarになったと思います. 記事を書いて下さった皆様, 本当にありがとうございました!

2017年のPerl入学式

さて, いよいよ2017年がやってきますね. 2011年にスタートしたPerl入学式はいよいよ6年目を迎えます.
結論から述べると, 私達は2017年もPerl入学式をやっていくつもりでいます.
「2017年にもなって, Perl?」という声はもちろんあるかもしれません... というか, 普通にありますが...

  • 5年間に培った資料とノウハウ
  • その間に集まった優秀なスタッフ陣
  • Japan Perl Associationによるバックアップ体制

といった状況(?)を活かせるので, Perl入学式はこれからも, 「Perlによって, プログラミングに入学(入門)」できる場所として続けていきたいと思っています.

次の施策

Perl入学式として, 取り組んでみたいことはたくさんありますが, とはいえどうしてもスタッフ陣は本業の合間に準備を進めることになるので, 一度にたくさんの施策を進めることはできません.
ということで, 今年は次の施策をやるぞ! という宣言をすることにします.


「"Perl入学式"の向こう側へ」


...先ほど紹介した, 「Perl1年生、進級する」という記事で, Perl入学式のカリキュラムを終えた後のステップとして, 「サポーターになること」が推奨されていました:

そこで、Perl入学式の次のステップとしておすすめしたいのは、サポーターになることです!

とはいえ, そこはThere is more than to do it, やり方はいろいろあるということで, 「サポーターになる」以外の選択肢(やり方)も用意していきたい, と思っています.
Perl入学式のカリキュラムでは, Perlを題材として, 簡単なWebアプリケーションの作成までチャレンジできるとはいえ, 「そこからどうすれば...?」という声はこれまでも多々ありました.
 

まだ構想段階ではありますが, 全2〜3回構成で, Gitの使い方やRDBMSの使い方, Bootstrapなどでデザインを充てる方法などを紹介することで, Perl入学式の最終回で作成したWebアプリケーションを, よりしっかりした(?)Webアプリケーションにできるようなコンテンツを提供できれば, と考えています.
もちろん, 業務としてプログラミングをするにあたっては, これでも不十分ではありますが, Perl入学式のカリキュラムの「次」のステップとしては, これくらいが丁度いいのかな, と思っています.
 

これまでの「Perl入学式」の活動を続けながら, 「その先」の施策, 言うなれば「Perl中学校(?)」のような施策も進めていく.
2017年は, そういった意味でPerl入学式にとって, 更なる躍進の1年にしていきたいと思っています.

2017年のPerl入学式も, どうぞ宜しくお願い致します.

2016年のPerl入学式in東京の新しい試みについて

こんにちは、in東京のサポーターをしています @xtetsuji です。

このブログ記事は Perl入学式アドベントカレンダー の2日目です。

2016年4月からの今年度のPerl入学式は、東京の他に2012年から長い歴史をもつ大阪、そして新たに沖縄で開講されています。 今年度から始まったPerl入学式in沖縄は、琉球大学工学部や Okinawa.pm といった沖縄の元気なコミュニティによって良い盛り上がりを見せています。私は今年度に入って2度Perl入学式in沖縄に(完全手弁当で)行ったのですが、1年目なのにとても良い盛り上がりで今後が楽しみです。

大阪や沖縄の話はそれぞれの土地の方に任せることにして、ここでは今年度のPerl入学式in東京の試みの数々をご紹介いたします。

前期後期制

昨年度までのPerl入学式in東京は、偶数月の隔月6回(本講)開催を基本にして、次の奇数月には同じ回の「再放送」である補講を行っていました。本講の日に都合が悪く行けないという方のフォローであったり、本講で収容できない補欠の方の受け皿的意味合いもありました。

ただ、受講生の方から「2ヶ月に一度だと前回の講義内容を忘れる」「間延びしてしまう」といった意見もありました。であれば補講を廃止して毎月開催とし、10月から3月までは再度同じカリキュラムを「後期」と称して行えばいいのでは?といった意見が出て、今年度からPerl入学式in東京で試すこととなります。

手弁当でサポーターに来てくれる方はそれほど多くないとはいえ、大阪や沖縄よりはサポーターの集まりも良い東京では、なんとか4月から9月までの毎月開催で前期を回すことができました。

前期後期制をどうするかで年度初めに迷いがあったりして、開始月が5月になってしまったということもありますが、2015年度に実験的に全6回を全5回に圧縮したカリキュラムを正式なものとして、5月から9月までの全5回となりました。受講生の方からも概ね好評(毎月開催は頻繁だという意見は無かった)で、当初の予定通り「後期」も始まっています。後期ですが、10月は4月同様休みとし、11月から3月までの毎月開催を予定しています。既に後期第1回は11月26日に後期第1回を開講しています。ちなみに後期第2回は12月17日です。

ちないに大阪や沖縄では、今まで通り隔週をベースとした開催間隔を取っています。

全5回への圧縮

上記でも少し触れましたが、2015年度に実験的に行った全6回開催を全5回開催へ圧縮する試みも、今年度に正式なものとしました。こちらは大阪や沖縄も同様です。

どこを圧縮したかというと、全6回時に「第5回」だったカリキュラムをほぼそのまま無くす形となりました。

もともとの「第5回」はパッケージの作成方法やテストといったカリキュラムだったのですが、この段階では意識的にパッケージを作るといった部分は難しかったり、テストもまだありがたみを感じるよりも面倒さを感じる方が大きいのではないかという判断もありました。

もちろん、カリキュラムを練っている少なくないサポーター達は CPAN へモジュールをアップロードしたり業務でバリバリ Perl を書いている人であるわけで、パッケージやテストの大切さは人一倍知っています。ただ、Perl入学式に参加したこの段階の受講生のモチベーションを引き出して絶やさないということを考えると、この段階ではないという結論に至ったわけです。

リファレンスなどが入る第3回や第4回は大きなヤマとして受講生を苦しめますが、そこをかいくぐった受講生にとって当初の「第5回」は実はそれほど難しくないといった事実はありました。またペアプロの初歩の初歩といった部分は受講生間の交流に一役買っていたことは事実ですが、サポーターや講師からするとその部分の教え方が難しいというのもありました。

サポーターも手弁当で来てもらっているわけで、講義の回数が減ることは負担低減になります。それは受講生にとっても同じことで、多くの受講生の興味であるウェブアプリケーション作成といった部分にスムーズに至ることができるという意味では、当初の「第5回」のカリキュラムはいったん取り下げてみるのは良い決断だったかもしれません。

もちろん、それであればデータ構造やリファレンスをすべてすっ飛ばして言われるがままウェブフレームワークのコードを書いてもらうということもできるでしょう。ただ、基礎を理解して自分の頭で考えられるプログラマになって欲しいというのは、Perl入学式の当初からの願いなので、これ以上の圧縮は直近では無いでしょう。

パッケージやテストといった部分は多人数でプログラミングをし始めて重要さを感じる部分かと思います。Perl入学式ではまず「自分が作りたい小さなツールが自分で作れる」といった小さな目標に近づくお手伝いをすることに注力するとし、パッケージやテストといった部分については、Perl入学式の卒業生向けに別の中級者向けPerl勉強会を開きそこでフォローする、といったあり方も模索中です。

ピザ0次会

多くの勉強会と同様、Perl入学式も「懇親会が本番」というサポーターが多いです。

かくいう私もそう思っているのですが、受講生からしたら初対面同然の人達といきなり飲み会に行くというのはかなりハードルが高いということは以前から思っていました。

もちろん、そういうこともあるので、当初から飲み会に果敢に飛び込んできてくれた人は定着率もその後サポーターになってくれる確率も非常に高かったりします。そういう「ガンガン来てくれる人」を期待するというのも一つの方法ではありますが、サポーター・運営側もハードルを低くできるならしたほうがいいと考えていました。

無料の勉強会なのに「懇親会は居酒屋へ移動して、数千円の有料の飲み会(一次会)」だからハードルが高いこともあるでしょう。なので「講義で使った部屋を出ず、なるべく廉価で、ソフトドリンクでの歓談」であれば参加する人も多いかなという考えの元生み出されたのが「ピザ0次会」と呼んでいる今の形式です。

ピザ0次会を簡単に説明すると、講義終了後にその会場内でピザとソフトドリンクを提供して2時間程度歓談するという試みです。サポーターも手弁当なので完全無料は難しいのですが、1000円以内に収めるようにしています。

このピザ0次会は概ね好評で、今まで居酒屋の一次会への参加率が半数以下だとすると、ピザ0次会は受講生の8割前後が来てくれている感触があります。ピザ0次会で盛り上がった受講生の方々が、話し足りないとその後の一次会に移動してくれるケースもあったりして、一定の成果を収めているといっても良さそうです。

「コミュニティの内輪問題」はたびたび取り沙汰されています。Perl入学式でも定期的に不必要な内輪ネタを取り除く試みをしていますが、内輪は安心感や面白さを醸成してくれる基盤でもあって、手弁当で活動してくれるサポーターにとっての数少ない「対価」であるともいえます。最低限の基盤である最小限の内輪については、無くすよりもハードルを出来る限り低くして受講生の方々にも飛び込んでもらえるよう日々努力する、というのが最近のPerl入学式in東京のスタイルとして確立しつつあります。そうして、今期の受講生のうち数人でも来期のサポーターになってもらえることで、Perl入学式in東京が継続的に成長していけるというのが私達の理想なのかもしれません。



現在(2016年秋冬)は後期カリキュラムを進めつつ、その他にも新たな試みをいくつか考えています。

Perl入学式の特徴は、期ごとに「大きな変化がない」という受講生側の安心感なのかもしれません。そういう意味では新しい試みは慎重に考えつつ、「下位互換性」が取れるのであれば勇気を持って新しい施策を取り入れていくことを今後も続けていきたいと思います。それは Perl5 言語自体の良さでもありますね。Perl の文化から学ぶことは多いです。

今年もやります! 「Perl入学式 Advent Calendar」

2016年も12月となりました. 「師走」と言われる通り, Perl入学式のサポーターもわいわいがやがやと慌ただしい日々を過ごしています.

というわけで(!?), 今年も「Perl入学式 Advent Calendar」を開催することになりました! ぱちぱちぱち!!!

http://qiita.com/advent-calendar/2016/perl-entrance 

...2016年のPerl入学式も, いろいろな変化がありました.
「in沖縄」が遂にスタートしましたし, 「in東京」は"補講"がなくなり, 年2回の開催に変わりました.

「Perl入学式 Advent Calendar」では, そういった「Perl入学式の様子, 変化」はもちろんのこと, 「受講者として/サポーターとして参加した感想」であったり, 「PerlのTips」であったり, 様々なテーマで繰り広げられたらいいな, と思っています.

...ぶっちゃけ, まだまだ枠が余っているので, 皆さん是非! この機会にAdvent Calendarにチャレンジしていただければ嬉しいです.

それでは, 25日まで楽しくやっていきましょう!!!