PyClass: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
(35 intermediate revisions by 18 users not shown)
Line 1: Line 1:
== PSAs and Events ==
[https://meetup.com/noisebridge MeetUp Schedule]


''' PSA 8-19-14: ''' The [https://noisebridge.net/wiki/PyClass noisebridge wiki] and [https://github.com/PyClass/PyClass-lesson-plans github readme] files now have parity to each other.
=== git ===


''' 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.
https://github.com/noisebridge/PythonClass


== Scheduled Weekly Meeting Times ==
* Tuesday 7:00 - 9:00 PM PST - 'Turing' Classroom
* Wednesday 7:00 - 9:00 PM PST - 'Church' Classroom


== Mailing List ==
If you have feedback on class, please put it here: [http://goo.gl/oMhxkv]
Sign up for this to hear updates and conversations regarding the course!
 
* [http://groups.google.com/group/pyclass Pyclass-Discussion]
 
=== Scheduled Weekly Meeting Times ===
 
We set up the space at 6:45 PM - try to arrive early to help if you are able to.


== Class Description, Goals, and Ideal Student ==
* Monday 7:00 - 9:00 PM PST - 'Church' Classroom
* Thursday 7:00 - 9:00 PM PST - 'Church' Classroom - check the meetup page for topics


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.
=== Mailing List ===


A major PyClass 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?
Sign up for this to hear updates and conversations regarding the course!


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
[https://www.noisebridge.net/mailman/listinfo/python Python & PyClass Mailing List]


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):
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.


<source lang="python">
The Python Class Google Group Closed on Tuesday, November 3rd, 2015.


word_frequency_dict = {}
=== Class Description, Goals, and Ideal Student ===
word = "noisebridge"


for letter in word:
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.
    times = word_frequency_dict.get(letter, 0)
    times += 1
    word_frequency_dict[letter] = times
   
</source>


== Course List ==
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?


The order of the following courses has not yet been determined.
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


Please [http://groups.google.com/group/pyclass ask on the mailing list] if you want to know what courses are coming this week!
Lessons are [https://github.com/PyClass/PyClassLessons available on Github].


# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/1_json_module.md JSON format, Python Types, and the JSON Module]
===== The 'ideal student' for this course can grasp the following code: =====
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/5_control_statements.md Control Flow and Exceptions]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/3_functional_and_control.md itertools, and Functional Programming]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/4_builtintypes_stringservices.md Built-in Types and String Services]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/10_rot13.md Coding a module: rot13) ]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/6_socrata_matplotlib_workshop.md Matplotlib Workshop (using Socrata API ]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/11_server_side_dev_flask.md Flask - Installfest & Basics]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/9_numbers.md Working with numbers in Python) ]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/13_games.md Programming Mastermind (the game]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/14_unittest.md Unit Testing and Python's unittest Module]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/15_classy_OOP.md OOP in Python]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/16_keywords_and_control_flow.md Keywords & Control Flow]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/17_polygon_abstraction.md Project: Calculate Angles of a Polygon]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/18_unittesting_more.md Project: Unit testing our projects ]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/12_functions.md Functions]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/2_git_module.md Git  - incomplete]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/3_functional_and_control.md) Functional Programming in Python]
# [https://github.com/PyClass/PyClass-lesson-plans/blob/master/7_built-ins_and_idioms.md Some Idioms for Python Builtins]


== OS / Environment / Versions ==
(Feel free to use web resources to look up anything you don't understand)


This section is under development.
    letter_frequency_dict = {}
    word = "noisebridge"
    for letter in word:
        times = letter_frequency_dict.get(letter, 0)
        times += 1
        letter_frequency_dict[letter] = times


For the sake of our sanity we use Python 2.7.1+ for this course.
===== We use the [http://www.criticalthinking.org/pages/socratic-teaching/606 Socratic Method] =====


Emergency Python Command Line: http://repl.it/languages/Python
====== A Socratic questioner should ======


Installing Python with [http://docs.python-guide.org/en/latest/ The Hitchhiker’s Guide to Python!]
# 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.


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
* [https://en.wikipedia.org/wiki/Intellectual_responsibility intellectually responsible] can be effectively replaced with 'fact based' for our needs.


Emergency Python Command Line: http://repl.it/languages/Python
=== New Student Reading ===


Some routes:
If you are new to python or programming in general here are some excellent resources:<br />
# Install a linux virtual machine on another computer using virtualbox.
-[http://learnpythonthehardway.org/ Learn Python the Hardway] - great guide for total beginner<br />
# Use the command line in your apple machine.
-[http://www.swaroopch.com/notes/python/ Byte of Python] - nice guide for total beginner and new to python<br />
# Explore POSIX for windows: http://en.wikipedia.org/wiki/POSIX#POSIX_for_Windows
-[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


Another critical tool is git:
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.
* Windows: http://git-scm.com/download/win
* Mac: http://git-scm.com/download/mac
* Linux: (use your package manager)


== Legacy Materials 2011-2014 (Liz & Kellan's Class) ==
=== OS / Environment / Versions ===


''' The following material is old material from Kellan and Liz's long-running PyClass: '''
This section is under development.


[https://www.digitalocean.com/?refcode=1a1061eaf303 Digital Ocean $10 Credit]


'''Come learn [http://www.python.org/ Python]'''!!<br>
[http://aws.amazon.com/free/ Amazon's AWS has a free tier that allows you 750 compute hours every month of their t2.micro instances for 12 months]
See our awesome website for both PyClasses at [http://pycourse.com/ Noisebridge Learning Python]


-Use EC2 to create an instance from the Ubuntu 12.04 AMI for the most well known and supported platform that will come with Python 2 installed


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.
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!]


''' Semi-Official Intro to Python Class Texts '''
Emergency Python Command Line: http://repl.it/languages/Python
* [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 '''
'''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'''
* [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 '''
Some routes:<br />
* [https://github.com/PythonNinjas PyClass Organization]
1. Install a linux virtual machine on another computer using virtualbox.<br />
* [https://github.com/PythonNinjas/InventWithPython  Invent with Python Textbook Code] <404 Error>
2. Use the command line in your apple machine.<br />
* https://github.com/noisebridge/Intro-Python  / Kellan Jacobs Notes
3. Explore POSIX for windows: http://en.wikipedia.org/wiki/POSIX#POSIX_for_Windows
* https://github.com/noisebridge/web2py-noiselist
* https://github.com/noisebridge/flask-noiselist  / E Leddy
* https://github.com/tachang/django_noiselist


''' [Old] Class Slides '''
Another critical tool is git:<br />
* [http://egonschiele.github.com/pyclass Slides on Github]
''Windows: http://git-scm.com/download/win<br />
''Mac: http://git-scm.com/download/mac<br />
*Linux: (use your package manager)


''' Other Helpful PyClass links '''
=== Free to all - please donate to Noisebridge! ===
* [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]]
The course is free although we recommend a donation to Noisebridge. Donations go to: https://www.noisebridge.net/wiki/Donate_or_Pay_Dues Recommended Donations: $15, $50, $200+ Recommended monthly donations: $10, $20, $40, $80+ / month
[[Category:Pages with a Noisebridge Tiny URL]]

Revision as of 19:54, 24 September 2018

MeetUp Schedule

git

https://github.com/noisebridge/PythonClass


If you have feedback on class, please put it here: [1]


Scheduled Weekly Meeting Times

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

  • Monday 7:00 - 9:00 PM PST - 'Church' Classroom
  • Thursday 7:00 - 9:00 PM PST - 'Church' Classroom - check the meetup page for topics

Mailing List

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

Python & PyClass Mailing List

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.

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.

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
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.

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.

OS / Environment / Versions

This section is under development.

Digital Ocean $10 Credit

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 12.04 AMI for the most well known and supported platform that will come with Python 2 installed

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)

Free to all - please donate to Noisebridge!

The course is free although we recommend a donation to Noisebridge. Donations go to: https://www.noisebridge.net/wiki/Donate_or_Pay_Dues Recommended Donations: $15, $50, $200+ Recommended monthly donations: $10, $20, $40, $80+ / month