BlackPythonDevs / blackpythondevs

MIT License
3 stars 5 forks source link

Getting Started with Python Workshop at Uncommon in Harare #60

Open kjaymiller opened 1 month ago

kjaymiller commented 1 month ago

Getting started in Python:

Kudzmat commented 1 month ago

Here is the agenda for the workshop:

  1. Students will receive early access to the repository for instructions on downloading Python and a code editor (VS Code or PyCharm) before the workshop.
  2. Introduction to the workshop using the intro slides.
  3. Working through "intro-to-python.rst" with the help of coaches. There will be opportunities for questions and discussion to make it more engaging and interactive.
  4. Attempting to build a calculator or create a game in Python.
  5. If time allows, a member of PyCon Zim (perhaps Ron) can give a short presentation on Python applications in the real world.

Link to the repository below, any suggestions and recommendations are welcome!

https://github.com/Kudzmat/Python-Installation-Tutorial/tree/main

kjaymiller commented 1 month ago

So it sounds like you need to create the repo with the game.

I would take a look at some of Al Sweigart's content - https://inventwithpython.com/bigbookpython/

Many of the games are a good way to learn Python.

I think you could create a variant of one of the games there (or if you have a particular game that is common in your culture you can make a Python version of it).

Kudzmat commented 1 month ago

I created "rock, paper, scissors", and it's in this same repository. Here's the link: https://github.com/Kudzmat/Python-Installation-Tutorial/blob/main/workshop/game.py

But I'll also explore this book for more ideas. The projects should be interesting enough to engage but not too complicated for beginners. Thanks!

kjaymiller commented 1 month ago

Something that I would consider is doing a set of Jupyter notebooks with this being implemented a few different ways

Level 1 - Random Choice and Lists with an input and if else statement. Level 2 - Make it smarter (Create a CPU class that adds weights to the choices)

The reason I like this format is mostly in that if you're using VS Code or PyCharm, then you are able to walk through your code and explain what you're doing.

kjaymiller commented 2 weeks ago

@Kudzmat - Do you want to do a test workshop in the discord? We can promote it for beginners.

Kudzmat commented 1 week ago

@kjaymiller, I like that idea! How would we structure it, though? I'm creating it with a live audience in mind. Would it be a live stream?

kjaymiller commented 1 week ago

@Kudzmat - it could be but I was thinking we get you on the stage or in one of the chat rooms in our discord and you present it and have someone help you with fielding questions.

Kudzmat commented 1 week ago

@kjaymiller Awesome, I'm fine with either the stage or a chat room. It will be great to test out the content. I'll need at least another week to finish preparing, though. What day do you want to do it?

kjaymiller commented 1 week ago

could you do it next Friday?

Kudzmat commented 1 week ago

July 5th is a good date for me, what time would work for everyone?

kjaymiller commented 1 week ago

I'm pretty flexible that day (US holiday is the day before so you may not get a large group of folks from the US).

The weeks after that are pretty hectic for me, but I also think that it should be what is most convenient for you since this is your rehearsal.

Kudzmat commented 1 week ago

I like the 5th, but the following week, the 12th, also works for me. If you're too busy on the 12th let's do the 5th. Also, how many new Python learners do we have on Discord? Is this workshop open to people outside of Discord?

Kudzmat commented 1 week ago

I also wanted to get your thoughts on the possibility of Black Python Devs sponsoring lunch for the workshop in Harare on the 19th. We estimate that $100 would be sufficient to cover lunch for all attendees—we're expecting to cater for 25-30 people (not including coaches).

kjaymiller commented 1 week ago

I like the 5th, but the following week, the 12th, also works for me. If you're too busy on the 12th let's do the 5th. Also, how many new Python learners do we have on Discord? Is this workshop open to people outside of Discord?

If we do it the 12th (I will likely not be available as I'll be traveling back to the US from Canada). I think the 5th is the best option.

We could use that time in between to promote and get people in the discord to attend. I would think we make it so that you have to join the Discord to be a part of it. I don't know what the total amount of beginners in the Discord would be but I also don't think we have the ability to really walk more thank like 20-30 people through this without it getting complicated. (@ronnzw, do you have any ideas)

RE: I also wanted to get your thoughts on the possibility of Black Python Devs sponsoring lunch for the workshop in Harare on the 19th. We estimate that $100 would be sufficient to cover lunch for all attendees—we're expecting to cater for 25-30 people (not including coaches).

I think this is doable.

I will need to document the request. Will you be able to accept payment via WISE or another format? I would also hope there could be some form of acknowledgement that we sponsored (you can even list it as a food sponsor).

kjaymiller commented 1 week ago

Also please message the content-team in discord to help get this post create.

ditirodt commented 1 week ago

I can help help with this from the content team, you can provide me with the details @Kudzmat

kjaymiller commented 3 days ago

@Kudzmat - we're prepared to host you for the event this Friday please confirm the time is okay with you. (There were some requests to move it to 1 hour later.

Kudzmat commented 2 days ago

@kjaymiller The time works for me; how long will we be on for? The actual in-person workshop is going from 9 am-4 pm

kjaymiller commented 2 days ago

I think we will cap it at the same length but try to get through it faster. I think there are a lot of setup things that will likely be a thing you will need to do in the live workshop that we can figure a faster way through. I also think that a lot of folks in the discord will be watching or working at their own pace.

I will likely be there most of the time but I think it will be hard to get folks to stay that long. That being said I think we can record a lot of it (in parts)

on the request to move it one hour later, is that okay?

also are you good with the recordings being published (after the live workshop) (also open to discussing this one after the workshops are held)

Kudzmat commented 2 days ago

Sure, I'll do my best to summarize it. For the setup, please ask participants to download Python and an IDE before the workshop. We want to be able to start the workshop right away. I have provided download instructions on my Github:

Download Python ---> https://github.com/Kudzmat/Python-beginner-workshop/blob/main/download-instructions.md

Download IDE ---> https://github.com/Kudzmat/Python-beginner-workshop/blob/main/code-editor-instructions.md

We can start an hour later; please confirm that it will be 5 pm CAT. I'm also okay with being recorded and having the recordings published. We can discuss specific details after the workshops.

kjaymiller commented 3 hours ago

You include some images from RealPython. there isn't much that we can do about that in the recording but it would be good to make sure that we have permission for things like this.

kjaymiller commented 3 hours ago

The "How Python works under the hood" section is extremely interesting but I wonder if it is comprehensible for those getting started in Development.

Maybe/maybe not I think it depends on the folks learning and how interested they are in all of this.

kjaymiller commented 2 hours ago

When you start talking about variables you mentioned the idea of defining globals with all uppercase.

This is not technically accurate.

variables that are all caps are CONSTANTS. you can make them a global using the global assignment

for more information. https://realpython.com/python-use-global-variable-in-function/

JustNunuz commented 2 hours ago

Random thought: maybe we can mention the types of errors a beginner may face? And what it means. Maybe in each section eg strings -> syntax etc