僕とコードとブルーハワイ

omega (@equal_001) の日記

Python入門者向けハンズオン #6 のメンターをしてきました

Python入門者向けハンズオンのメンターをしてきました。
メンター参加は今回で3回目です。

python-nyumon.connpass.com


◼どういうイベント?

Pythonに興味があるけどまだ触ったことがない方向けにハンズオンを行います。 イベント冒頭にてPythonの概要に関する講義が行われたあと、 実際に手を動かしながらPythonの基礎を一通り体験して頂きます。 さらにその後、ご自身で簡単なアプリケーションを作って頂きます。

https://python-nyumon.connpass.com/event/62147/

プログラミング自体まったく初心者という人から、他の言語を10年以上触っているという人まで来ます。
今のところ、大体5か月に1回のペースで開催しています。


◼イベント内容は?

イベント内容は基本的に毎回同じで、以下の4つのパートに分かれます。

1. Python言語入門

  • Pythonのはじめかた、基本的文法
  • 標準モジュールの使い方
  • 3rd-partyの使い方
  • 仮想環境の構築方法

2. スクレイピング

3. オリジナルプロダクト開発

  • 今日学んだことを活かして好きなものを作ってみる
  • 作ったものの共有会

4. 懇親会

  • ピザやお酒、ノンアルコール、お菓子を手に取りながら歓談

イベントで使用する資料はGithubで公開しています。


◼ハンズオン #6 の感想・多かった質問

感想

今回は今までの中で一番メンターの人数が多かった(13人)ので、かなり手厚いサポートができたと思います。
参加者が36人だったので、1メンターあたり2.7人の参加者が付くという計算になります。
この内、多言語経験者が半数ほど居たのでもくもくと進めてる人が多く、メンターへの質問待ちが発生する状態は見られませんでした。
アンケートでの満足度も高かったようで嬉しい限りです。

また、3回目のメンターということで初回に感じていた緊張はなくなりました。
(資料内容も大きく変化していないというのもある)

今回結構多かった質問

Anacondaをインストールしていたので、venvモジュールと衝突するというものでした。

この対処法には幾つか方法があるのですが、
今回は先に進まないとオリジナルプロダクト開発に進めないということもあり、

  • Anacondaをマシン上から削除するか、
  • 諦めてcondaコマンドで仮想環境を作る

という方法で対応しました。
他のメンターの方とも相談しましたが、
まずはcondaでやってもらい仮想環境とは何かを知ってもらう、という方に切りました。
(venvモジュールについてはイベントで解説&資料に使い方が書いてありますしね)


◼メンターを3回経験して学んだこと

毎回学ぶことはたくさんあります。
今回は、メンターを3回やってみて何を学んだことのなかで、
初学者の方からエラー系の質問がきたときにどうしてるかを脳内整理のためにまとめてみました。

よく「資料にあるコマンドを入力したらこうなった」という質問をされることが多いです。
この質問がくるとき、以下について一緒に確認するようにしています。

  • どういう命令を実行させようとしているのか
  • エラーとなる原因は何なのか
  • 何故実行が成功/失敗するか

まず最初に、
そもそも、今どういうことがしたくてこのコマンドを実行しているか、という部分を説明する。
ここがわかっていないと、後で「これってなんでこの結果返ってくるんですか?」という質問が来ます。

次に、
エラー(または例外)の原因を一緒に探る。
Stack Traceの読み方、表示内容の意味を説明します。
"xxxError:.." の意味を説明して、エラー発生場所を一緒に確認します。

最後に、
失敗の原因について説明します。
成功したコードと失敗したコードの差を見比べます。
ここで、ミスしない方法とか(lintツールとか)、公式ドキュメントを紹介したりすることもあります。


こんな感じでやってます。


◼おわりに

毎回メンター側も学ばせてもらっています。
今後も予定が合えば参加していきたいと思います。

最近、Python Boot Campというイベントを各地でやっているみたいなので、Python入門者向けハンズオンがないときはそちらへ参加してみるのもアリです。
Python Boot Camp(初心者向けPythonチュートリアル) — PyCon JP