Skip to content

robbintt/PythonClass

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyClass meets every Monday from 7 to 9 PM (PST) in the "Church" classroom.

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

After class, we welcome your feedback! Submit the form here

Contents:

Curriculum

We usually run through a cycle of six core classes (below) over six weeks, then four weeks of guest talks, followed by an off week.

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 mailing list and send an email out to [email protected]

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

  1. keep the discussion focused
  2. keep the discussion fact-based*
  3. stimulate the discussion with probing questions
  4. periodically summarize what has and what has not been dealt with and/or resolved
  5. 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

For the sake of our sanity, we use Python 2 for this course.

Check out The Hitchhiker’s Guide to Python! for help installing Python, learning best practices, and finding useful packages. In an emergency, you can access Python in your browser.

Python Resources

If you are new to Python or to programming in general, here are some excellent resources:

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.

git

While git is worth learning in general, it will be particularly useful when trying to get the source code for each week's class. Installers are available for Windows and Mac, and Linux users can install via their package manager.

OS / Environment / Versions

We accept refugees using all operating systems. You will be politely prodded in the direction of solutions that are closer to POSIX standards.

Some options:

  1. Use the command line in your Linux or Apple machine.
  2. Install a Linux virtual machine on another computer using Virtualbox.
  3. Explore POSIX for windows
  4. Use a virtual private server (VPS).
    • Digital Ocean $10 Credit An easy way to get a free linux environment. If you are on Windows, you can login with PuTTY.
    • Amazon's AWS has a free tier that allows you 750 compute hours every month of their t2.micro instances for 12 months.
      • Use EC2 to create an instance from the Ubuntu 16.04 AMI for the most well known and supported platform.

Mailing List

Sign up for the Noisebridge Python Mailing List to hear updates and conversations regarding the course!

The mailing list uses GNU Mailman and pipermail. To search archives you may find it helpful to download the archive .tar.gz (compressed) file and use regular expressions (grep) to search.

The Python Class Google Group Closed on Tuesday, November 3rd, 2015.

About

Lesson Plans for PyClass

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 34.3%
  • Jupyter Notebook 32.2%
  • Python 31.0%
  • Perl 2.2%
  • CSS 0.2%
  • Mako 0.1%