Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bp study #122 PyQの学習者サポートから学んだpython初学者への解説ノウハウ

1,183 views

Published on

Bp study #122での発表資料です

Published in: Education
  • Be the first to comment

Bp study #122 PyQの学習者サポートから学んだpython初学者への解説ノウハウ

  1. 1. PyQの学習者サポートから学んだ Python初学者への 解説ノウハウ 2017-10-20 BPStudy #122 kameko, hirokiky
  2. 2. 自己紹介 大村亀子(@okusama27) ビープラウドで楽しく働いています。 10年ほど新人研修、社会人向けプログラミング研修の講師をやってます。 現在はPyQチームです。 清原弘貴(@hirokiky) Python,Djangoが好きで製品やライブラリーを趣味と仕事で作っています。 Pythonの本も書いています。 * ブログ: https://blog.hirokiky.org/ * GitHub: https://github.com/hirokiky/
  3. 3. アジェンダ - PyQ紹介 - PyQサポートとは? - サポートの分類 - よくあるハマリポイントと解説 - リリース予定機能紹介
  4. 4. PyQ - https://pyq.jp
  5. 5. PyQサポートとは?
  6. 6. リリースから半年、 お問い合わせ:約2,000件 (※メンタープランは除く) 解説系の質問は全体の3割ほど
  7. 7. サポート内容は大きく2つに分けられる
  8. 8. ● ちゃんと書いたのに動かない系 ○ 原因:写経ミス ○ 「書いてある通りに写したけど、動きません。」 ● 解説や詳細説明が必要系 ○ 原因:内容が理解できていない ○ 「〜ってなんですか?」「どうしてもここ意味わかりません」
  9. 9. 答えを教える 写し間違い系の問題は...
  10. 10. 順序立てて考えてもらう 解説必要系の問題は...
  11. 11. 場所を指定して考えてもらう 1回目は...
  12. 12. 処理を細かく解説 なるべく図を使って わかりやすく 2回目は...
  13. 13. 例:誕生日の説明(< or <=)
  14. 14. よくあるハマりポイント
  15. 15. 繰り返し処理(ループ)、集計
  16. 16. ループがわからない人は 1つ1つループを紐解いて 解説すると効果的 ループの解説は処理を紐解く
  17. 17. # ループ1周目:変数aは10, 出力は※※※※ # ループ2周目:変数aは20, 出力は※※※※ # ループ3周目:変数aは30, 出力は※※※※ 1回ずつ何をしているか、 考えてもらう
  18. 18. Python Tutor での解説がオススメ!
  19. 19. 集計処理の解説例 sample = ['x', 'y', 'z', 'x', 'x', 'y', 'x', 'y', 'x', 'z', 'k', 'm'] count = {} # ここから下に書き写してください。 for val in sample: if val in count: count[val] += 1 else: count[val] = 1 # 表示 for k, v in count.items(): print(k + ':' + str(v))
  20. 20. 1回目:各周の変数valの値をお知らせ ループ1回目 val == 'x' ループ2回目 val == 'y' ループ3回目 val == 'z' ループ4回目 val == 'x' ループ5回目 val == 'x' 〜続く〜
  21. 21. 2回目:各周の辞書countの値もお知らせ ループ1回目 val == 'x' , count == {'x': 1} ループ2回目 val == 'y' , count == {'x': 1, 'y': 1} ループ3回目 val == 'z' , count == {'x': 1, 'y': 1, 'z': 1} ループ4回目 val == 'x' , count == {'x': 2, 'y': 1, 'z': 1} ループ5回目 val == 'x' , count == {'x': 3, 'y': 1, 'z': 1} 〜続く〜
  22. 22. その他の気をつけているポイント - エラーが出ている場合は、エラーの解説をする - 何度も解説すると、エラーを読んでくれるようにな る - 悪い場所を正すだけでなく、なぜちゃんと動いていな いかを解説する - 例:誕生日の考え方
  23. 23. よくある質問はブログ(blog.pyq.jp)で紹介中
  24. 24. Python初学者への解説ノウハウまとめ: - 書き間違いはすぐに教えよう - エラーの解説は丁寧に絶対やろう - 解説が必要なときは相手に考えてもらいつつ解 説しよう - 解説する時は一気にせず、何度かに分けよう - ループの質問は、1回ずつの処理を説明しよう
  25. 25. PyQのこれからリリース予定の機能 - 学ぶ順序、目的を明確にする→コース機能 - 文法ではなく「Pythonの書き方」を学ぶ課題を増やす →設計問題 - エラーの解説を増やす→判定機能カイゼン - Flake8を活用し、読みやすいコードを書く→Flake8問 題

×