PyClass

From Noisebridge
(Difference between revisions)
Jump to: navigation, search
m (Reverted edits by JohnyRadio (talk) to last revision by 216.243.58.198)
(The 'ideal student' for this course can grasp the following code:)
 
(48 intermediate revisions by 11 users not shown)
Line 1: Line 1:
== Noisebridge's Learning Python Classes ==
+
=== PSAs and Events ===
  
'''Come learn [http://www.python.org/ Python]'''!!<br>
+
'''PSA 1-26-15:''' DO NOT COME TO PYCLASS ON WEDNESDAY (although Noisebridge is still open). As of February 1st, attend PyClass on Tuesdays and Thursdays! Thursday in the Church Classroom will replace the Wednesday.
See our awesome website for both PyClasses at [http://pycourse.com/ Noisebridge Learning Python]
+
  
* Advanced Class, Tuesdays at 7:00 - 9:00 PM PST
+
'''PSA 10-1-14:''' PyClass starts at 7:00 PM, try to come a few minutes earlier. We want to finish up by nine so people can hack or catch their preferred train home. You can come at any time, but YMMV (your mileage may vary).
* Introduction to Python, Wednesday, ditto (at 7-9 PM)
+
  
Intro to Python schedule is [http://pycourse.com/schedule/ here], see below to get the online texts for this Intro to Python class
+
'''PSA 8-19-14:''' The [https://noisebridge.net/wiki/PyClass noisebridge wiki] and [https://github.com/PyClass/PyClass-lesson-plans github readme] files have the same information and updates.
  
The Advanced Class:
+
'''PSA 8-16-14:''' The new curriculum for the Noisebridge PyClass is a crash course in the Python standard library, also touching on modules that are popular but not quite part of the standard modules. Scroll down to see the course list.
We are currently building a weekly schedule that you can peek at by clicking [[http://pycourse.com/advanced-class-schedule/ here]]<br>
+
In general, this is '''your''' class, peeps! We are here to serve '''you''', so any feedback is welcome.  
+
  
After 9pm Tuesdays, we'll have open hacking time and time for questions for those that are kicking so much ass they just can't go home yet, or even for those that may have gone to Mondays' Front-end Web Development class and want to come back for more. If you have problems from work or home, feel free to bring them after 9 and everyone can help each other.
+
=== Scheduled Weekly Meeting Times ===
  
For redundancy, not 1 but 2(!) people will be helping run the Advanced Class. Please contact either of us with comments/questions:
+
We set up the space at 6:45 PM - try to arrive early to help if you are able to.
* Elizabeth Leddy on IRC (#noisebridge/#plone) as eleddy or [http://twitter.com/eleddy @eleddy]
+
* Kellan Jacobs  [http://twitter.com/kellanjacobs @kellanjacobs]
+
  
Cost: Free! That's right homies. Bring your good vibes and we are at your disposal!
+
* Tuesday 7:00 - 9:00 PM PST - 'Turing' Classroom
 +
* Thursday 7:00 - 9:00 PM PST - 'Church' Classroom
  
 
=== Mailing List ===
 
=== Mailing List ===
Sign up for this now!
 
* [http://groups.google.com/group/pyclass Pyclass-Discussion]
 
Once you join the mailing list, send a request to join the PyClass organization to https://github.com/egonSchiele
 
  
=== Semi-Official Intro to Python Class Texts ===
+
Sign up for this to hear updates and conversations regarding the course!
* [http://www.greenteapress.com/thinkpython/ Think Python: How to Think Like a Computer Scientist]
+
* [http://learnpythonthehardway.org/ Learn Python The Hard Way] - A good introductory text with lots of exercises written by prolific programmer [http://zedshaw.com/ Zed Shaw]
+
* [http://www.python.org/dev/peps/pep-0008/ PEP 8 -- The '''highly''' recommended Style Guide for Python Code]
+
  
=== Other Intro to Python Texts ===
+
[http://groups.google.com/group/pyclass PyClass-Discussion]
* [http://www.swaroopch.com/notes/python A Byte of Python]
+
* [http://www.learnpython.org/ Learn Python - Free Interactive Python Tutorial]
+
* [http://www.openbookproject.net/thinkcs/python/english2e/ How to Think Like a Computer Scientist: Learning with Python 2nd Edition]
+
* [https://docs.python.org/2/tutorial/ The Python Tutorial] - written by Guido van Rossum, creator of the Python programming language
+
** [https://docs.python.org/2/download.html Python 2.x.x Documentation download] - Contains Python Tutorial & other docs in various readable formats
+
  
=== PyClass Githubs===
+
=== Class Description, Goals, and Ideal Student ===
* [https://github.com/PythonNinjas PyClass Organization]
+
* [https://github.com/PythonNinjas/InventWithPython  Invent with Python Textbook Code] <404 Error>
+
* https://github.com/noisebridge/Intro-Python  / Kellan Jacobs Notes
+
* https://github.com/noisebridge/web2py-noiselist
+
* https://github.com/noisebridge/flask-noiselist  / E Leddy
+
* https://github.com/tachang/django_noiselist
+
  
===  [Old] Class Slides ===
+
The pace of the courses will be fast, and the materials will be available online 24/7. We plan to frequently repeat modules with new twists as we iterate over course materials.
* [http://egonschiele.github.com/pyclass Slides on Github]
+
  
=== Other Helpful PyClass links ===
+
A major PyClass goal is to break down the courses into independent units. In other words, you won't fall behind if you miss a week. Sounds good, right?
* [https://www.python.org/ Main Python.org site]
+
* [http://oreilly.com/catalog/9780596100469/ Python in a Nutshell] - an older but handy reference
+
* [http://www.pygame.org Pygame]
+
* [http://inventwithpython.com Invent Your Own Computer Games with Python] - written by Noisebridger [[User:AlSweigart|Al Sweigart]], free to download [http://inventwithpython.com/IYOCGwP_book1.pdf here] or [https://dl.dropbox.com/u/11076239/IYOCGwP_book1.pdf here]
+
  
[[Category:Python]]
+
To best experience the course, spend a short time reviewing the course materials before you come in. If you wish to know this week's courses, please join the mailing list and send an email out to PyClass@googlegroups.com
[[Category:Pages with a Noisebridge Tiny URL]]
+
 
 +
Lessons are [https://github.com/PyClass/PyClassLessons available on Github].
 +
 
 +
===== The 'ideal student' for this course can grasp the following code: =====
 +
 
 +
(Feel free to use web resources to look up anything you don't understand)
 +
 
 +
<source lang="python">letter_frequency_dict = {}
 +
word = 'noisebridge';
 +
 +
for letter in word:
 +
    times = letter_frequency_dict.get(letter, 0)
 +
    times += 1
 +
    letter_frequency_dict[letter] = times</source>
 +
 
 +
===== We use the [http://www.criticalthinking.org/pages/socratic-teaching/606 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.
 +
 
 +
:<nowiki>*</nowiki> [https://en.wikipedia.org/wiki/Intellectual_responsibility intellectually responsible] can be effectively replaced with 'fact based' for our needs.
 +
 
 +
=== New Student Reading ===
 +
 
 +
If you are new to python or programming in general here are some excellent resources:<br />-[http://learnpythonthehardway.org/ Learn Python the Hardway] - great guide for total beginner<br />-[http://www.swaroopch.com/notes/python/ Byte of Python] - nice guide for total beginner and new to python<br />-[https://docs.python.org/2/tutorial/ Excellent Official Python Tutorial - 2.7.8] - great for new to python<br />-[http://shop.oreilly.com/product/0636920028154.do Learning Python 5th edition (also at sf lib)] - A comprehensive guide to the language and its uses<br />-[http://pymotw.com/2/ Python Module of the Week] - Learning the standard library by example<br />-[https://www.python.org/doc/ The docs themselves! 2.x for this class] - Learn what is and how to use 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 ===
 +
 
 +
This section is under development.
 +
 
 +
[https://www.digitalocean.com/?refcode=1a1061eaf303 Digital Ocean $10 Credit]
 +
 
 +
For the sake of our sanity we use Python 2 for this course.
 +
 
 +
Installing Python with [http://docs.python-guide.org/en/latest/ The Hitchhiker’s Guide to Python!]
 +
 
 +
Emergency Python Command Line: http://repl.it/languages/Python
 +
 
 +
'''We accept refugees using all operating systems. You will be politely prodded in the direction of solutions that are closer to posix standards: http://en.wikipedia.org/wiki/POSIX#Mostly_POSIX-compliant'''
 +
 
 +
Some routes:<br />1. Install a linux virtual machine on another computer using virtualbox.<br />2. Use the command line in your apple machine.<br />3. Explore POSIX for windows: http://en.wikipedia.org/wiki/POSIX#POSIX_for_Windows
 +
 
 +
Another critical tool is git:<br />''Windows: http://git-scm.com/download/win<br />''Mac: http://git-scm.com/download/mac<br />*Linux: (use your package manager)

Latest revision as of 21:21, 15 February 2015

Contents

[edit] PSAs and Events

PSA 1-26-15: DO NOT COME TO PYCLASS ON WEDNESDAY (although Noisebridge is still open). As of February 1st, attend PyClass on Tuesdays and Thursdays! Thursday in the Church Classroom will replace the Wednesday.

PSA 10-1-14: PyClass starts at 7:00 PM, try to come a few minutes earlier. We want to finish up by nine so people can hack or catch their preferred train home. You can come at any time, but YMMV (your mileage may vary).

PSA 8-19-14: The noisebridge wiki and github readme files have the same information and updates.

PSA 8-16-14: The new curriculum for the Noisebridge PyClass is a crash course in the Python standard library, also touching on modules that are popular but not quite part of the standard modules. Scroll down to see the course list.

[edit] Scheduled Weekly Meeting Times

We set up the space at 6:45 PM - try to arrive early to help if you are able to.

  • Tuesday 7:00 - 9:00 PM PST - 'Turing' Classroom
  • Thursday 7:00 - 9:00 PM PST - 'Church' Classroom

[edit] Mailing List

Sign up for this to hear updates and conversations regarding the course!

PyClass-Discussion

[edit] Class Description, Goals, and Ideal Student

The pace of the courses will be fast, and the materials will be available online 24/7. We plan to frequently repeat modules with new twists as we iterate over course materials.

A major PyClass goal is to break down the courses into independent units. In other words, you won't fall behind if you miss a week. Sounds good, right?

To best experience the course, spend a short time reviewing the course materials before you come in. If you wish to know this week's courses, please join the mailing list and send an email out to PyClass@googlegroups.com

Lessons are available on Github.

[edit] The 'ideal student' for this 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
[edit] We use the Socratic Method
[edit] 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.

[edit] New Student Reading

If you are new to python or programming in general here are some excellent resources:
-Learn Python the Hardway - great guide for total beginner
-Byte of Python - nice guide for total beginner and new to python
-Excellent Official Python Tutorial - 2.7.8 - great for new to python
-Learning Python 5th edition (also at sf lib) - A comprehensive guide to the language and its uses
-Python Module of the Week - Learning the standard library by example
-The docs themselves! 2.x for this class - Learn what is and how to use 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.

[edit] OS / Environment / Versions

This section is under development.

Digital Ocean $10 Credit

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

Installing Python with The Hitchhiker’s Guide to Python!

Emergency Python Command Line: http://repl.it/languages/Python

We accept refugees using all operating systems. You will be politely prodded in the direction of solutions that are closer to posix standards: http://en.wikipedia.org/wiki/POSIX#Mostly_POSIX-compliant

Some routes:
1. Install a linux virtual machine on another computer using virtualbox.
2. Use the command line in your apple machine.
3. Explore POSIX for windows: http://en.wikipedia.org/wiki/POSIX#POSIX_for_Windows

Another critical tool is git:
Windows: http://git-scm.com/download/win
Mac: http://git-scm.com/download/mac
*Linux: (use your package manager)

Personal tools