Date: 2017-11-04
Tags: python, pycon, pycon jp, pycamp

Python Boot Camp in 鹿児島で講師してきました #pycamp

Python Boot Camp in 鹿児島 に行ってきました。

一般参加者17数名、学生10名、TA・スタッフ・講師9名、合計36名くらいが参加しました。

../../_images/attendees4.jpg

参加者のみなさん(開始時)

このblogは講師からみた参加レポートです。チュートリアル本体の様子なんかは、公式の開催レポートは別途書かれると思います。 -> Python Boot Camp in 鹿児島を開催しました

注釈

"Python Boot Camp" は、 一般社団法人PyCon JP が日本各地で開催している、 初心者向けPythonチュートリアルイベント です。 今回の鹿児島で 14回目 の開催です。 チュートリアルのテキスト は公開されていて、ライセンスに従って自由に利用できます。詳しくは Python Boot Camp について を参照してください。

現地スタッフになってくれる人がいれば、講師に行きますので、 申込みフォーム からひご連絡ください!

参加した感想、雑感など

参加申込みペースはゆっくりでしたが、開催数日前にちょうど満席になる感じでした。

今回は学生枠が多い感じです。 鹿児島キャリアデザイン専門学校 の先生にアナウンス協力してもらい、そこの生徒さんたちが10名参加されました(先生自身も受講生として参加してくれました)。他の学校などにも協力を仰いだけど、反応がなかったそう。学校内でPyCampだけ紹介するわけにもいかないのかな。しょうがないのかなー。

学生以外の参加者については、アナウンスする先が見つからなかったということであまり広報できていなかったみたいだけど、想定の倍の参加者になったそうです。主催者のmasakuraさんは「どうして人が来たのか分からない」とか言ってましたが、それって潜在需要結構あるということじゃないかな。 CodeZineのイベント告知記事 を読んで参加したという人もいました。

../../_images/connpass-stats.png

イベント参加推移

これまでの講師活動では、どうしても講義資料の途中で時間切れになってしまって悔しかったため、今回のイベントでは、最後のスクレイピング章まで講義の時間中に紹介したい!と思って、5分単位のタイムテーブルを作りました。

  • 13:00-13:15 会場案内、挨拶、自己紹介

  • 13:15-13:25 1. Pythonをはじめる前に

  • 13:25-13:55 2. Pythonをはじめよう

  • 13:55-14:00 休憩

  • 14:00-14:25 3. Pythonのデータ型(基本編)

  • 14:25-14:50 4. Pythonのデータ型(コレクション編)

  • 14:50-15:00 休憩(おやつ)

  • 15:00-15:20 5. ファイル操作とモジュール

  • 15:20-15:45 6. サードパーティ製パッケージと venv

  • 15:45-15:50 休憩

  • 15:55-16:25 7. スクレイピング

  • 16:25-16:35 8. 次のステップ

  • 16:35-17:00 アンケート、質疑応答、集合写真

実際にはみんなの集まりが良くて開始が10分早まったし、運営の都合もあって17時半までに集合写真撮影、解散でよいということになりました。このおかげもあって、上記タイムスケジュールを無事こなせました!

1つ気がかりだったのは、質問の量が少なめだったことです。後からでも、Slackで質問出してもらえると嬉しいな。

これまで、 神戸, 福岡 で講師をして、今回が3回目でした。 次は、 11/18(土) 静岡 で講師してきます。

移動

朝、 飛行機乗り遅れ とか怖いので、空港にフライトの1時間半前、7:45頃に到着しました。

JAL機内の無料WiFiを使うつもりでいたら、50分のフライトで半分くらいの時間、アクセスポイントが見えなくなってしまった。残念。オフラインのまま、今年3冊目の本の翻訳を進めました。前回 福岡 のときに自由な空だと思って喜んだけど、まあ繋がらない時もあるよね。がんばれJAL。

スタッフミーティング

今回はフライトに間に合ったので、事前ミーティングにちゃんと参加できました。

../../_images/lunch-meeting-shop.jpg

ランチミーティングで行ったお店

スタッフミーティングでは、ご飯を食べながら自己紹介したり。鹿児島中央駅はできてまだ10年経ってない話を聞いたりしました。

イベント準備として個人的に気にしていたのは、TAスタッフの顔と名前を一致させること。チャットではやりとりしてたけど、実際に会うのは初めてなので。あと人の名前と顔と覚えるの苦手なので。

あと、前回の福岡では、チャットでの質問にできるだけ回答しようとしてしまったので、今回はTAのみなさんに、チャットでの質問に回答できそうなものは回答してもらうようお願いしました。

Python Boot Camp 本編

イベントの開始時に http://pyconjp-fellow.herokuapp.com/ からSlackに参加してもらって、チャットで質問を書いてもらいました。講義中も質問を見ながら、あとで回答したり、他の参加者やTAが答えてくれたり、テキストが進んだときに回答になるような説明を含めたり、と言った調整ができるし、チャットに質問内容が残って後で読み返せるし、ということで、とても良い方法なんじゃないかなーと思ってます。Slack慣れてない人にはハードルがちょっと高いと思うので、当日じゃなくもうちょっと前に参加してもらうと良いかも。

講義開始時に、参加者どのレベルに合わせれば良いのかを確認するため、参加者に「for文を書いたことが無い人?」という質問をしました。これで、どんな言語でもプログラミングしたことがないかどうかが分かります。分かるだけで無く、参加者全員が「その人のペースで進むんだな」と思ってもらう効果もあるんじゃないかな、と思ってます。

福岡に続いて、今回もfizzbuzzを実際に参加者と一緒にやりました。後々、このゲームのシーンを引用して「人間同様に、全ての手順をコンピューターに伝える必要がある」「人間は遅いけどコンピューターは速い」と紹介できたのは良かったんじゃないかな。

環境まわりでは、ほとんどはまることがなかったけど、2つひっかかったところがありました。1つはpipコマンドをPython対話シェル上で実行してしまった人が多かったこと。これは言い方が悪かったかなー。もう1つは、Ubuntu環境の人がpip使えなかったり、venv使えなかったりしたこと。 sudo apt install python3-pip python3-venv してもらって解決。python3-venvを入れずに python3 -m venv <env> すると、ディレクトリはできるけど <env>/bin/activate が生成されないという不思議な動作になってて、最初は何がおきてるのかよく分からなかった。解決してよかった。

本編中、いくつか質問をもらいました。

  • Q リストと辞書の違い、使い分けがよくわかりません。もう一度教えてください。

    • A 辞書は、英語の辞書みたいに、取得したい単語(キー)を指定して内容(バリュー)を取り出します。リストはそういうキーがなくて、何番目のデータを取り出す、といった感じで、順番でデータにアクセスします。迷ったら、キーで扱いたいか、順番で扱いたいか、で使い分けを考えると良いです。

  • Q WebSocketを使ったサーバーをTornadeで作ってるんですが、サーバー構築とか正しく出来てるのかよくわかりません、どうやって学んだら良いですか

    • A うーん、すぐに「このサイト、本を読むと良いよ!」と言えるものがないんですが、今回使った pyconjp-fellow Slack で聞いたり、質問サイトで同様の疑問を持っている人のQ&Aを読んだりするのが良いと思います。できるだけ、具体的に質問を重ねて、単に解決方法を知るのではなく、なぜそれが良いのかを突き詰めていくのをオススメします。

本編の最後には、ジャンケン大会に勝ち残った学生さんに Pythonプロフェッショナルプログラミング 本がプレゼントされました!清水川がこの本の著者の1人ということで、masakuraさんが自費で用意してくれました。ありがたいありがたい。

懇親会!

12人で 懇親会 へ!

../../_images/party.jpg

懇親会の様子

4人で2次会へ。私の希望で、天文館通りにある BeerReise というお店にいきました。ビールうまかったし、フィッシュ&チップスのポテトがめっちゃうまかった。

../../_images/beer.jpg

ギネスの泡にハートマークが!

おまけ

1日目(朝の移動)

1日目(夜の懇親会)

宿泊は 法華クラブ鹿児島 。鹿児島中央駅にも、天文館通りにも歩いて行ける場所で、交通の便も良いし、大浴場きれいでゆったりできたし、朝ご飯のビュッフェに並んだ鹿児島料理がめっちゃうまかったです。鶏皮とか豚軟骨煮とかまじうまかった。

2日目

鹿児島は温泉県だった。今度は観光しに来よう。