Git Product home page Git Product logo

pycamp.pycon.jp's Issues

リストの説明の流れで、リスト内包表記がわかりにくい

2.4.2.3. リスト内包表記
リスト内包表記のメリットなどの説明を追加したり、ジェネレータ式、辞書内法表記のへの応用が効くことを明記して、難しいけどここで覚えてもらうようにするか、

内包表記をまとめて教える場面を作ったほうがいい気した。
ここでつまずくと思う。

5/27 リハーサルコメント(honeyoubun)

普段はPHP/JavaScriptを使った開発をしていて、Pythonについてはほとんど触ったことがありません。
その立場でコメントをさせていただきます。

Boot Campに求めるもの

求めるものとしては、「なぜpythonなのか」というところが知りたいです。
どういう使用目的であればpythonを選ぶべきなのか、pythonを選ぶメリットはなんなのか、
逆にpythonが向いていないことなど、
そのあたりを教えていただくことができれば、今後にpythonを使っていくという選択肢を選びやすくなります。

内容について

  • もう少し深い内容でも問題はない
  • 説明はなくても、サンプルコードはもっと多くてもよいかと
  • 今回の倍の時間をかけて行うのであれば、時間があまりませんか。

5/27 リハーサルコメント(takanory)

  • 最初に概要の説明するのよさそう
  • みんなのレベル確認が必要だけど、アンケートで事前に確認した方がよさそう
  • pyvenv→「パイブイエンブ」かなー
  • リスト内包表記→「りすとないほうひょうき」
  • コンソールはフォントでかくして表示しよう
  • 例からkiyoharaとか削除したほうがよさそうw(元テキストの執筆者の名前)

モジュール

  • 標準モジュールがたくさんあるよってのは実際にブラウザでみせてほしい

pyvenv

  • pip と PyPI の話もセットでする必要がある。テキストにもうちょっと書いたほうがよさそう
  • PyPI の画面をちゃんと見せてあげる
  • Windowsでの activate/deactivate について追記したほうがよい

スクレイピング

  • 今までやったことのまとめの実習としてスクレイピングをここではやるけど、他のことやりたい人はやってもいいよってことを説明してほしい
  • beautifulsoupの使い方はもうちょっとテキストにほしい, find, findAll とかとか
  • requests, beautifulsoup のドキュメントへのリンクがほしい
  • main() を書いてもそのまま実行される。 if __name__ == '__main__': に入れると、モジュールとしてインポートされたときに実行されない
  • 実習としては、同じコードやってもいいし、自分がスクレイピングしたいページからほしい情報を抜き出すとかやってもよい
  • テキストに例としていい感じのページの例とか載せとくとよいかも

`ブロック構造` という言葉がなじめない

2.2.1.5. 関数
Python はブロック構造を インデント (通常は4つのスペース)で書きます。

ブロック構造 という言葉を他の言い回しがないか。
例えば、 制御構造 とか

図2.2が表示されない

http://bootcamp-text.readthedocs.io/textbook/3_types.html

インデックスの説明 (図2.2 ) が表示されていないのですが、私の環境だけ?
http://bootcamp-text.readthedocs.io/textbook/3_types.html

Yusuke Miyazaki [10:43 AM]
こちらでも図2.2が表示されていないように見えます.
京都で開催した時は見えていました.

Takanori Suzuki [10:44 AM]
あー、ファイルのパス変えたせいかも

[10:44]
画像への相対パスが書き換わったとかな気がする

5/27 リハーサルコメント(ryokamiya)

  • pythonのインデントの話をサラッと話しましたが、pep8っていうスタイルガイドがあるっていうのを紹介してもいいかも。python独特だと思うし。
  • みんなのレベルに合わせて、スキップできそうなところをあらかじめ検討つけておくといいかも。例えばみんな何かしらのプログラミング経験者が揃っているなら、fizz buzzの例で数字の連番をprintする段階を飛ばしていきなりfizz buzz例の最終形態を見せるとか。
  • (issueじゃないですが)話のスピード、みんながついてきているかの確認(「そろそろ手が止まってきているようなので、、」とか)、話しながらコマンドラインで実演できたりとか、すごく上手にやってもらったと思います。

スクレイピングの章についての指摘

  • venv で環境を作ってから pip install する手順にしよう(自分の環境を汚さない
  • sys.exit 必要?
  • json で吐き出すのはやりたい人がやればよくて、とりあえずは対話的に先頭 X 件を print するくらいでいいんじゃないかな
  • bs4 のコードがちょこっと複雑なので、もっとシンプルに取り出せるページを使ったほうがいいんじゃないかな。私が前使ったのは Python の ライブラリ一覧ページとか使った
  • # -- coding: utf-8 -- python 3 は default が utf-8 になったので、書かなくてよいはず(http://docs.python.jp/3/howto/unicode.html)
  • argparse もやりたい人だけやればいいので、不要では

5/27 リハーサルコメント (ymyzk)

全体

  • テキスト内の表記揺れの統一
    • 例えば, "Bootcamp", "bootcamp", "Boot Camp"
  • 各章をどのくらいの時間で進めるのか事前に決めておかないと, 時間内にイベントを終えることが難しそう
  • 演習問題等で時間調整できる部分があると良さそう
  • コラムの背景色が, 注意や警告のような印象を受ける

Pythonをはじめよう

  • (この章で書くべきかはわかりませんが) Python がどのような言語かを簡単に説明してもいいかもしれません
    • どういう用途で使われているのか?
    • よく比較される言語は何か?
      • プログラミング経験がある方を対象にするなら, 他の言語の比較があるとわかりやすそう
    • どういう特徴があるのか?
  • Python 2 / 3 の違いについても簡単いふれておいた方が, 後で受講者が自分で調べ物をする際に役立ちそうです

Pythonのデータ型(基本編)

  • 巨大な整数演算もできることを示しておくと, Python らしさが少し出そうです.

Pythonのデータ型[コレクション編]

  • [コレクション編]のかっこは表記揺れ?
  • 繰り返し用変数 という言葉が聞き慣れません

モジュール

  • モジュールまたは関数しかインポートできないような印象を受けました
  • "その他便利なモジュールについては、一部を「 standard-library 」で扱います。" -> リンク切れ?
  • 余裕があれば...
    • 何がエクスポートされるのかの説明 (cf. C言語だとヘッダファイルが必要)
    • パッケージについての説明

pyvenv

  • virtualenv や pyenv 等との比較を少し述べておくと親切かも
  • "次節では、それを使ってスクレイピングを行う方法を記述します。" -> pyvenv を使ってスクレイピングをするというのは, 何か変な感じ

スクレイピング

  • shebang を書いているが, python simple.py のように実行しているので, shebang はなくてもいいかも (おまじないは減らしたほうが良い)
  • HTML の知識がある程度あることを前提にしてしまっているが, 少しくらいは説明したほうがいいかも

最後に

  • ライブラリのインストール方法を説明できているので, 各分野の有名ライブラリ紹介等を少し入れてもいいかも?
  • イベント終了後に何らかのサポートができる方法を考えたい
    • 京都会場では, CAMPHOR- でイベント後のサポートが可能です

参考

PyLadies Kyoto でも使用した, Python でプログラミングに入門するための資料です.

初回の節である、 `2.2.1. Pythonを楽しもう` が難しすぎないか?

ここではPythonの基本の基本を紹介します。 となっているが、初学者には意味不明な部分が多い気がした。

何かしらこの節を説明する1文があると良いかと思った。

例えば、
Pythonインタープリターに入力し結果を確認したり、Pythonファイル(.py)ファイルを作り実行してい見ること行いながら、Pythonにふれあいましょう。

さらに、以下を付け加えたい。
ここで説明したことのすべてをいま理解しようとしなくても大丈夫です。次節以降でおさらいをしていきます

受講者の方から直接メールでいただいた意見

メールの内容を下記にそのまま記述

プログラミングを1からスタートする目的の受講者という立場で、
フィードバックをご連絡いたします。

======

受講者対象が不明瞭だったため、下記2点いずれかであることを事前案内に明記すべき。
   1.ある程度他の言語をいじっているが、pythonを触ってみたい人
   2.対象がプログラム最初心者の場合は
           
   ※1が対象であるなら、
     ・データ型などについて、なんのことか説明が不足している。
     ・ある程度必要な環境を事前構築しておくのであれば、
      Ver.2とVer.3の切り替え方、インストール手順、
      推奨するエディタ、開発環境など事前に有ってほしい。

・関数の説明について、インデントや、行を開けるといったことの開設については、
 網掛けなどで強調していただくと良い(他の言語に慣れているとわかりづらい特徴
 なので)

・FizzBuzzGameの実演の前にデータ型の説明があるべきでは?
 ーーー>strをソースの中で使っているので。。。

・タプルの説明がわかりづらいので、詳しく教えてほしい

・受講者に手を動かせる実習を増やしたほうが理解が早い。

エディタ、コマンドラインについて説明を書く

  • エディタ、コマンドラインに使い慣れていない人用に、簡単な説明とかリファレンスへのリンクを載せる
  • エディタは Atom でいいかな? PyCharm?
  • コマンドラインは立ち上げ方くらいを書けばいいかな?

Python 3.5.2対応

Python 3.5.2 がリリースされたので、インストールバージョンを Python 3.5.2 にする

コードがpython3対応していない

$ python
Python 2.7.9 (default, Dec 29 2014, 17:03:36)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> 8 / 2
4
シーケンス型 http://docs.python.jp/2/library/stdtypes.html#typesseq
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print fizzbuzz(4)

pyenvに関して説明の補足

Issue #21 から分けた。

virtualenv や pyenv 等との比較を少し述べておくと親切かも
"次節では、それを使ってスクレイピングを行う方法を記述します。" -> pyvenv を使ってスクレイピングをするというのは, 何か変な感じ

2016-05-27 のpython bootcampについて

プログラマー向けであるという前提で

自習できる人たちが集まっているという前提で、自習できない部分を補う。という考え方もあるのかなとは思いました。
他の言語をやっている人たちが、 躓きそうな部分にこそ需要がある とおもうのですが、いかがでしょうか。pythonらしい部分、強みで、独習で他言語からpythonにスイッチするときに困りそうな部分について、まとまっていると素晴らしいかと思います。もちろん、わざわざpythonのboot campに来るぐらいですから、平均以上のモチベーションがあると仮定しても良いかと思います。

また事前課題も、スキルと進度の振り分けに役立つでしょう。事前課題と一緒に、ブートキャンプに参加するにあたって5時間?で 学ぶゴールについて聞いておくのもいいかもしれません。

ある一定規模以上のpythonプログラムを書くために、クラス・モジュールの生成や配置、それらのテストやドキュメント生成のトピックも軽く触れて、リンク集などあっても良いのではと思います。どうせプロジェクトをpythonでやろうとなると調べることになるのですから。

あと、各所でセミナーを開くのであれば、既存の質問のQAはFAQで、まとめておいてもらえると同じ質問はしなくていいかと思うので、ご一考ください。


プログラマー向けなら、最初から 型の概念や、イテレーター、ネームスペースなどを教えてもいいのでは?
あと最初からコメントを教えないのは仕様ですか?

pythonで、嵌りそうな所、たとえば /ではフロートでかえって // でないとintでかえらない
roundが5で切り捨てとか、あと ふつうは、pep8やpyflakeで書き方を揃える、ドキュメントの
書き方とか、unittestは、どれがいいのか。などなど

自分である規模のプログラムを書くにあたって、ぶつかりそうな罠を避ける方法があるといいなと

ファイルIO

なにか作ろうってなったときには、とりあえずファイルから読む/結果を書き出すってのは必要な気がするので、open 関数の説明はいれたい

「スクレイピング」に関して説明の補足

Issue #21 から分けた。

shebang を書いているが, python simple.py のように実行しているので, shebang はなくてもいいかも (おまじないは減らしたほうが良い)
HTML の知識がある程度あることを前提にしてしまっているが, 少しくらいは説明したほうがいいかも

5/27 リハーサルコメント (Kobayashi)

本日はおつかれさまでした。
私は、普段は組み込みでCやらARMのアセンブラを書いてる感じです。
細かい点もありますが、以下にリハーサル中に書いてたメモを記載させていただきます。

導入

  • サイトのフォントがほそくて見辛いような気がします……。
  • デモのターミナルとフォントのサイズは考えた方がよいかも。 (一番下でコマンド打っても見辛いです)
    • フォントサイズについては、指摘あって途中で解決。
    • ターミナルを上下二分割して上の方でやるとかよろしいでしょうか?

Pythonのデータ型(基本編)

  • 以下が話題に上がりました。
    • '//' も教えてほしいかもです。
    • round(0.5) -> 0 とかはおもしろかったです。
    • 「ヒアドキュメント」 Wikipedia

Pythonのデータ型[コレクション編]

  • リストの要素について、例が追加のみでしたが、removeくらいは例を示したほうが? (その後一覧はありましたが)
  • リストと違いタプルは不変(immutable)な値という点について、実際にエラー出してみたりした方が理解が進みそうです。どう使い分けるとかの例もあるとうれしいかもです。
  • 辞書について、他の参加者の方にツッコまれてましたが、イテレータの説明が軽くでもないと.items()とか受講者の経験分野によってはピンと来ないような、と思いました。

モジュール

  • classの話とか無い中、唐突に 「マッチオブジェクト」と出て来たのが気になりました。
  • モジュールの書き方をもうちょっと掘り下げてもらえるとうれしいです。
    この後出てきた if __name__ == '__main__': とかのはなしともつながりますし。

pyvenv

  • もっとモジュールの作り方とかを掘り下げてからでないと、必要性がわからない気がしました。あと、私が今読んでる本だとvirtualenv使ってます……。
  • Bashスクリプトとか出てきてますが、Windowsでもバッチファイルがあるとのことなので、それ用の説明も必要ではないでしょうか。

その他

  • すぐに理解出来た人用の練習問題をつくるという意見が出ましたが、それには大賛成です。
  • Pythonを選択する理由が聞きたいという意見にも賛成です。

受講者対象を明記する

Issue #23 から分けた。

受講者対象が不明瞭だったため、下記2点いずれかであることを事前案内に明記すべき。
   1.ある程度他の言語をいじっているが、pythonを触ってみたい人
   2.対象がプログラム最初心者の場合は
           
   ※1が対象であるなら、
     ・データ型などについて、なんのことか説明が不足している。
     ・ある程度必要な環境を事前構築しておくのであれば、
      Ver.2とVer.3の切り替え方、インストール手順、
      推奨するエディタ、開発環境など事前に有ってほしい。

pep8について説明を入れる

Issue #19 から分けた。

pythonのインデントの話をサラッと話しましたが、pep8っていうスタイルガイドがあるっていうのを紹介してもいいかも。python独特だと思うし。

関数の説明について、インデントや、行を開けるといったことについての説明を強調

Issue #23 から分けた。

Sphinxでインデント網掛けはできないかもしれないので、できなければ文章で説明を入れる。

・関数の説明について、インデントや、行を開けるといったことの開設については、
 網掛けなどで強調していただくと良い(他の言語に慣れているとわかりづらい特徴
 なので)

round(10.5)は例として良くない

2.2.1.5.1. 組み込み関数

round(10.5) は、 11 になってほしいと思う。例を round(10.4) に変更したい。
あえてここで roundの丸め誤差の話をするのはわかりにくい。

「モジュール」に関して説明の補足

Issue #21 から分けた。

モジュールまたは関数しかインポートできないような印象を受けました
何がエクスポートされるのかの説明 (cf. C言語だとヘッダファイルが必要)
パッケージについての説明

pyvenv について追記

  • requests などをインストールするので venv 環境が必要
  • python 3.5なので pyvenv がいいかな
  • モジュールの後半か、章を追加してください
  • pip についての説明もここに書くとよさそう

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.