PythonClass
Lesson Plans for PyClass
Install / Use
/learn @noisebridge/PythonClassREADME
The Noisebridge Python Class meets every Monday from 7 to 9 PM (PT) in the 2nd floor Electronics Room at Noisebridge in San Francisco.
Currently we are running Series 4 of the 2023 class. See the Noisebridge wiki for more information
The course is free! If you wish to donate, please give to Noisebridge.
- Recommended donations: $15, $50, $200+
- Recommended monthly donations: $10, $20, $40, $80+ / month
All Python classes follow the Noisebridge Anti-Harrasment Policy, the Noisebridge Conflict Resolution Guide and the recurse.org Social Rules
After class, we welcome your feedback! Submit the form here
Contents:
Iterations
The Noisebridge Python Class has existed at least as far back as 2015, with many different instructors and iterations.
From 2017 - 2018, the class seems to have been run by Jared Garst. (?).
From 2023 - 2024, the class was run by Travis Briggs.
If you have other information about the history of this class that you'd like to share, please make a PR here, reach out on the Noisebridge wiki, or reach out to @tmoney on the Noisebridge Discord.
Old versions of class materials are no longer kept in the main git repo. Instead, you can access pre-audiodude versions of the class (latest version by jgarst) with this tag and pre-jgarst versions of the class (latest version in Noisebridge repo prior to jgarst fork) with this tag.
Sample Curriculum
As of May 2023, the class is being redesigned/rebooted and a new curriculum is
being designed. Travis B (audiodude/tmoney) is attempting to do this largely by
himself, so be patient!
The following are links to samples of the old curriculum but may not be
completely representative of what will be taught in the new course.
The old course was 6 weeks of lectures, followed by 4 guest lectures and a week off. We're still determining the best way to teach the new course.
- JSON and File Handling
- String Methods and Usage
- The Sqlite3 Database Library
- Writing an Algorithm
- Functional Programming in Python
- Intro to Microservices with Flask
Course Description, Goals, and Ideal Student
The course is designed with the following constraints in mind:
- The barrier to entry is low, but the pace is fast.
- All materials must be made available on Github.
- Each lesson stands alone, so it's okay to miss a week!
- The core, repeated modules are regularly updated.
To best experience the course, spend a short time reviewing the materials beforehand. If you wish to know what's scheduled for this week, please join the Noisebridge Discord.
Prerequisites
Ideally, students starting the course can grasp the following code. Feel free to use web resources to look up anything you don't understand!
letter_frequency_dict = {}
word = "noisebridge"
for letter in word:
times = letter_frequency_dict.get(letter, 0)
times += 1
letter_frequency_dict[letter] = times
We use the Socratic Method
A Socratic questioner should:
- Keep the discussion focused
- Keep the discussion fact-based*
- Stimulate the discussion with probing questions
- Periodically summarize what has and what has not been dealt with and/or resolved
- Draw as many students as possible into the discussion.
* intellectually responsible can be effectively replaced with 'fact-based' for our needs.
New Student Reading
Installing Python
No Python installation necessary!
For this course, we use a shared Python Jupyter Hub service. To create an account on the service, simply visit the homepage and type your desired username in the username box and the shared global password in the password box. The password will be shared during class sessions.
You can also click the links for individual lesson notebooks, which will open in the shared Jupyter Hub environment and prompt you to login or create an account.
Please do not attempt to access other students accounts or otherwise hack this shared resource!
With all that said, if you would like help with installing a Python environment on your personal computer, reach out to one of the instructors. We use Python 3 exclusively, as Python 2 is EOL (end of life).
Python Resources
If you are new to Python or to programming in general, here are some excellent resources:
- The Official Python Tutorial
- Learn Python the Hard Way
- Byte of Python
- Learning Python, 5th edition (Also available at the SF public library!)
Once you feel comfortable with the basics of the language, you can explore the standard library!
There are many, many good resources for learning the language of Python and how to do awesome things with it. Those listed above are just a few based on personal experience and strong recommendations.
OS / Environment / Versions
As mentioned above, the course is taught from a shared Jupyter Hub instance. No installation is necessary and it should work on any computer that has a web browser.
Connecting
Feel free to connect with us on the #python channel in Noisebridge
Discord!
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
