pyvec / pyvec/naucse.python.cz

Snake workshop improvements

Đang mở
#356 13 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

content sprint-idea
Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
335
Fork
119
Merge trung bình
3 giờ 6 phút
Pull request đã merge (30 ngày)
1

Mô tả

Braindump of TODOs after the first iteration of the Snake workshop.

(Checked means solved in my fork, not necessarily merged here)

  • Adapt Django Girls' Intro to Python, extending it to include every language/stdlib feature we'll need (with exceptions below). We need some examples of functionality; let's use stuff that'll make people go oh, I knew this already! afterwards.

    • floor division
    • list slicing
    • del (instead of pop())
    • tuples
    • in operator
    • list.remove
    • zip() (use a more advanced example with zipitem-and-the-next with staggred listsjust before a break, so advanced people can think about it while others just clear their head)
    • import
      • random.randrange()
    • return
    • Comments
    • class? (Without __init__, but with general methods, this seems doable – and using it could save time refactoring!)
    • not decorators – those are best explained on Pyglet
    • etc.
  • Print out cheatsheets, ideally:

    • Keyboard
    • Lists
    • Dictionaries
    • Basic control structures (loops, if/else, functions)?
  • Introduce a simple & consistent poor man's versioning scheme very early after writing the first .py file: copy the file to another name, then clear the current file.

  • About the class: explain what a "class" is conceptually (a "blueprint"), show how to write one, but don't go in detail and don't aim for thorough understanding.

  • Don't split the game into two files. That takes too much time and is hard to manage on a projector.

  • Warn about naming a file pyglet.py, random.py & similar

  • Edges of the screen should kill the snake; don't do the toroidal topology. It's exciting for the mathematician, but messes up tile selection which is already more than complicated enough. Move this to a "possible extensions" section at the end

  • Do a "possible extensions" section at the end. There should be proper materials to walk you through:

    • Improvements of controls
    • Toroidal topology
    • Score keeping
    • Two-snake multiplayer
    • Gradually sSpeeding up
    • Split State, plug it into a provided console or web client
    • Use pyinstaller to make an `exe file
    • etc.
  • Discourage creating the virtualenv on the desktop (actually, just fix #313 and make sure the result is usable for workshops)

  • Skip intro to Pyglet; explain all that on the game itself: draw, move, and resize a green square. Maybe add a simple mouse handler with print(), which won't be used in the actual game (that makes it possible to ask "what do the arguments mean?" without giving an answer).

  • Use one language (Czech/English) consistently.

  • Include answers to the hard problem. With diagrams. (This includes removing the code snippet with ???, which isn't syntax-highlighted nicely.)

  • Better time management. Set a fixed schedule. The first workshop wasn't ideal, but its timings were:

    • 9-12:30: installation; intro to Python
    • (Lunch)
    • 13:30-14:00 Intro to Pyglet
    • 14:00-15:40 Drawing
    • (Break)
    • 16:10-18:00 Logic (another 15-30 min would be great to polish the game, but we had to end)
  • Have regular WC breaks.

  • Make a properly dumbed down-version of the intro to command line. Mention and Tab; avoid mkdir and other stuff you can click up graphically. Mention how to copy from/to the command line. Merge improvements to the beginners' course intro.

  • https://github.com/pyvec/naucse.python.cz/issues/667

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng cách rà soát các TODO của workshop đối chiếu với Django Girls' Intro to Python, tài liệu Pyglet, phần giới thiệu dòng lệnh của khóa học dành cho người mới bắt đầu và issue #667 được liên kết. Issue không cung cấp tên tệp, test, entry point hay một ranh giới hoàn thành duy nhất; để hoàn thành sẽ cần xác định và hoàn tất một tập hợp con có phạm vi giới hạn của các cải tiến workshop này.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
content, documentation
Loại issue
Tài liệu
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.