Difference between revisions of "Python Office Hours"

From Pumping Station One
Jump to navigation Jump to search
(added udacity cs101 link)
 
(72 intermediate revisions by 9 users not shown)
Line 1: Line 1:
Every first and third Thursday of each month at 7pm PS:One holds Python Office Hours. Everyone is welcome, regardless of skill level! Show up and introduce yourself! When you do show up to an office hours understand that we try to [[Be_excellent_to_each_other]]. When I, SMiguez, am hosting, please be aware that you will need to follow my [[http://wiki.pumpingstationone.org/User:SMiguez/Code_of_Conduct personal code of conduct]] for learning events which extends the "Be excellent to each other" code.
+
Hi!
  
 +
== When and Where? ==
  
'''Hello someone who might be reading this wiki page while I'm building it. Pardon me while I reorganize!'''
+
Every other Monday.
  
 +
It was every other Wednesday, it moved to Monday sometime in mid 2022. It should appear on our [http://pumpingstationone.org/events/ handy-dandy calendar of events]. We usually met in the Electronics Area upstairs.
 +
 +
3519 N. Elston
 +
Chicago, IL 60618
 +
 +
We talk on irc in the #pumpingstationone freenode channel. It is handy for sharing links to information and pastebins. If you don't have an irc client installed, you can connect to the channel via this web client: [https://kiwiirc.com/client/irc.freenode.net/?nick=pyo|?#pumpingstationone #pumpingstationone]  [[IRC]]
  
 
== What is this? ==
 
== What is this? ==
  
This originally started out as a study group for people working through the same online course. But you don't have to be taking an online course to come to office hours. Perhaps you are curious about programming, or curious about python. Perhaps you have something you want to build and know that python can help.
+
This is a chance for people of all experiences levels to get together for programming, socializing, and moral support while working on things. This is a flipped "office hours" where you can learn from your peers. In flipped classrooms students watch lectures and read material outside the classroom then work on things in person. This isn't a formal class, but the idea is similar. Many people who attend are there to help.
  
This is a chance for people to get together for moral support, project assistance, and homework assistance.  We’ll have an experienced python developer or two on hand to help answer questions and explain difficult concepts. This is an “office hours” event with volunteer teaching assistants. For ''students'', the expectation is that you watch lectures, read tutorials and attempt homework on your own, then use this as a resource to aid in learning. For people who may not be students but have ideas for ''projects'', the expectation is that you can bounce ideas off of other people in the group for review, and get help with any python bits along the way. If you don't have a project, or aren't taking a class, but are just ''curious'' about python, or maybe even about programming in general, then we might be able to help by giving you a starting point to explore.
+
If you prefer to work on things on your own, that is okay too! If someone asks for help, let them know that you are working on something and not available for help at the moment.
  
 +
If you don't already have something to work on or study, look through the resources below.
  
== Curious but don't have a specific question or project? ==
+
== What to bring? ==
  
If you don't already have something to work on, look through the resources below for something to try.
+
*A kind attitude and good conduct: Everyone is expected to [[Be excellent to each other]] at the space. On top of that, I'd like to make this a setting that follows [https://www.recurse.com/manual#sec-environment The Recurse Center User's Manual] on social rules. Their social rules make learning environments more productive and friendly. I also expect everyone to follow the [[Python Office Hours/Code_of_Conduct]]
  
First, some philosophy. Many people who start learning to program want to know how to get better or want something concrete to work on rather than working through lectures. This blog post, [http://svaksha.com/post/2012/Contributing-to-Libre-software-projects Contributing to Libre software projects], talks about finding Free and Open Source Software (FOSS) projects. When you show up to office hours and see someone you haven't met before, ask them if they are a contributor to any project. Maybe you will find a shared interest.
+
*An interest in learning python
  
 +
*A computer: We have wifi at the space, but we don't have extra computers floating around. If you have trouble bringing a laptop, talk to us before the event and we could try to find one but we need to know beforehand (preferably a few days).
  
=== Here are some starting Points ===
+
== Learning resources ==
  
Start here if
+
=== Tutorials ===
* if you are new to programming, try out the [https://openhatch.org/wiki/Boston_Python_Workshop_6 beginner Boston Python Workshop] materials
 
* if you are new to python but know a little about programming, try out the [https://openhatch.org/wiki/Intermediate_Python_Workshop intermediate Boston Python Workshop] materials
 
* you want to do web development
 
* you want to play with robots
 
* you want to play with raspberry pi, arduino, etc
 
* you want to analyze data sets
 
* you want to write games
 
  
 +
* [https://docs.python.org/3.5/tutorial/ official Python tutorial]
 +
* [http://www.diveintopython3.net/ Dive Into Python 3] Tutorial for people who already know some basics.
 +
* if you are new to programming, try out the [https://openhatch.org/wiki/Boston_Python_Workshop_8 Boston Python Workshop] materials
 +
* if you are new to python but know a little about programming, try out the [https://openhatch.org/wiki/Intermediate_Python_Workshop/Projects Intermediate Boston Python Workshop] projects.
 +
* If you know some syntax already, try out [http://newcoder.io/ NewCoder] tutorials. NewCoder has tutorials on Data Visualization, APIs, Web Scraping, Networks
 +
* If you want ideas for small projects to try out new skills, [http://nedbatchelder.com/text/kindling.html Kindling projects] are "simple enough that a new learner can take them on, but with possibilities for extension and creativity. Large enough that there isn't one right answer, but designed to be hacked on by a learner simply to flex their muscles."
 +
* [http://wiki.communitydata.cc/Community_Data_Science_Workshops Community Data Science Workshop]
 +
** "The Community Data Science Workshops are a series of project-based workshops for anyone interested in learning how to use programming and data science tools to ask and answer questions about online communities like Wikipedia, Twitter, free and open source software, and civic media. The workshops are for people with no previous programming experience."
 +
* [http://software-carpentry.org/lessons.html Software Carpentry: Lessons]
 +
** automating tasks using the Unix shell;
 +
** structured programming in Python, R, or MATLAB
 +
*** "The best way to learn how to program is to do something useful, so this introduction to Python is built around a common scientific task: data analysis."
 +
** version control using Git or Mercurial.
 +
* [http://datacarpentry.org Data Carpentry]: has lessons on python for ecologists
 +
* [http://scipy-lectures.github.io/ Python Scientific Lecture Notes]: "Tutorial material on the scientific Python ecosystem, a quick introduction to central tools and techniques. The different chapters each correspond to a 1 to 2 hours course with increasing level of expertise, from beginner to expert."
 +
* [http://tutorial.djangogirls.org/ Django Girls Tutorial]: tutorial that starts from python basics to django to deploying a django site.
 +
* [https://openhatch.org/wiki/Django_for_Designers Django for Designers] a Django tutorial that focuses on areas of Django that particularly affect designers, such as static files, template inheritance, and AJAX.
 +
* [https://developers.google.com/edu/python/ Google's Python Class]: This is a free class for people with a little bit of programming experience who want to learn Python. The class includes written materials, lecture videos, and lots of code exercises to practice Python coding.
  
== Random stuff to get curated ==
+
=== Interactive Tutorials ===
 
 
Interactive online tools
 
* http://www.pythontutor.com/
 
 
* http://codingbat.com/python
 
* http://codingbat.com/python
 +
* http://www.codecademy.com/tracks/python
 
* http://www.learnpython.org/
 
* http://www.learnpython.org/
* http://www.codecademy.com/tracks/python
+
* http://www.pythontutor.com/
 +
* [http://interactivepython.org/runestone/static/thinkcspy/index.html How to Think Like a Computer Scientist]
 +
* [http://interactivepython.org/runestone/static/pythonds/index.html Problem Solving with Algorithms and Data Structures]
 +
 
 +
=== Online python interpreters ===
 +
 
 +
If you want to try out python and scientific packages without installing everything, you can use these servers.
 +
 
 +
* https://try.jupyter.org/ No install or login required. This launches ipython notebook for you.
 +
** This has an interactive python 101 lesson. Navigate to communities/pyladies and click on *Python 101.ipynb* to launch it.
 +
** You can play with other languages too. There are Julia, R, Haskell, Ruby, etc notebooks
 +
* https://www.pythonanywhere.com/ online python environments with [https://www.pythonanywhere.com/batteries_included/ many packages] already installed. (need account)
 +
* http://ipythonblocks.org
 +
 
 +
=== Books and Reading ===
 +
* [http://twoscoopspress.org/collections/everything Two Scoops of Django]: an excellent django book
 +
* [http://physics.codes/ Effective Computation in Physics]
 +
* [http://shop.oreilly.com/product/0636920023784.do Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython]
 +
* [http://python-guide.readthedocs.org/en/latest/ The Hitchhiker’s Guide to Python]: This is a guide for python developers that gives an overlay of the land of python development. In the guide's words: "The Hitchhiker’s Guide to Python exists to provide both novice and expert Python developers a best-practice handbook to the installation, configuration, and usage of Python on a daily basis."
 +
 
 +
=== Online courses providers ===
 +
* [https://www.edx.org/ edX]
 +
* [http://www.coursera.org/courses Coursera]
 +
* [http://www.udacity.com/ Udacity]
 +
* [http://pythonlearn.com/ Python Learn]
 +
 
 +
=== Offline courses and events ===
 +
 
 +
* [http://www.dabeaz.com/officehour/index.html DabeazLLC office hours]. Check periodically to see if there's a new one coming up
 +
* [http://www.dabeaz.com/chicago/index.html David Beazley classes]. Check periodically to see if there is a class coming up.
 +
* Periodically some of the python groups in the area will have a free or low cost workshop. TODO: put some links to the groups here.
 +
 
 +
=== Help find materials ===
 +
 
 +
[[Talk:Python_Office_Hours#help_find_new_and_better_guides]]
 +
 
 +
=== random stuff ===
 +
 
 +
* graphite is an event monitoring platform written in python. here is a repo with a script that will set up an example graphite stack https://github.com/obfuscurity/synthesize
  
Online courses and lectures
+
[[Python Office Hours/Organizing]]
* [http://www.udacity.com/overview/Course/cs101 Udacity Introduction to Computer Science 101]
 
* [http://pearachute.com/ Dojo], an earnest attempt to describe building websites (slightly outdated. but maybe we can make a pull request)
 
* [http://software-carpentry.org/4_0/ Software Carpentry]
 
* [http://www.coursera.org/courses Coursera] has online courses, search to see if there's a class that uses python, for example, [https://class.coursera.org/interactivepython-2012-001/class/index An Introduction to Interactive Programming in Python]
 
* [http://ged.msu.edu/angus/beacon-2012/ CSE 891 Computational Science for Evolutionary Biologists]]
 
  
[[Category:Interest_Groups]]
+
[[Category:Interest Groups]]

Latest revision as of 07:37, 1 December 2022

Hi!

When and Where?

Every other Monday.

It was every other Wednesday, it moved to Monday sometime in mid 2022. It should appear on our handy-dandy calendar of events. We usually met in the Electronics Area upstairs.

3519 N. Elston Chicago, IL 60618

We talk on irc in the #pumpingstationone freenode channel. It is handy for sharing links to information and pastebins. If you don't have an irc client installed, you can connect to the channel via this web client: #pumpingstationone IRC

What is this?

This is a chance for people of all experiences levels to get together for programming, socializing, and moral support while working on things. This is a flipped "office hours" where you can learn from your peers. In flipped classrooms students watch lectures and read material outside the classroom then work on things in person. This isn't a formal class, but the idea is similar. Many people who attend are there to help.

If you prefer to work on things on your own, that is okay too! If someone asks for help, let them know that you are working on something and not available for help at the moment.

If you don't already have something to work on or study, look through the resources below.

What to bring?

  • An interest in learning python
  • A computer: We have wifi at the space, but we don't have extra computers floating around. If you have trouble bringing a laptop, talk to us before the event and we could try to find one but we need to know beforehand (preferably a few days).

Learning resources

Tutorials

  • official Python tutorial
  • Dive Into Python 3 Tutorial for people who already know some basics.
  • if you are new to programming, try out the Boston Python Workshop materials
  • if you are new to python but know a little about programming, try out the Intermediate Boston Python Workshop projects.
  • If you know some syntax already, try out NewCoder tutorials. NewCoder has tutorials on Data Visualization, APIs, Web Scraping, Networks
  • If you want ideas for small projects to try out new skills, Kindling projects are "simple enough that a new learner can take them on, but with possibilities for extension and creativity. Large enough that there isn't one right answer, but designed to be hacked on by a learner simply to flex their muscles."
  • Community Data Science Workshop
    • "The Community Data Science Workshops are a series of project-based workshops for anyone interested in learning how to use programming and data science tools to ask and answer questions about online communities like Wikipedia, Twitter, free and open source software, and civic media. The workshops are for people with no previous programming experience."
  • Software Carpentry: Lessons
    • automating tasks using the Unix shell;
    • structured programming in Python, R, or MATLAB
      • "The best way to learn how to program is to do something useful, so this introduction to Python is built around a common scientific task: data analysis."
    • version control using Git or Mercurial.
  • Data Carpentry: has lessons on python for ecologists
  • Python Scientific Lecture Notes: "Tutorial material on the scientific Python ecosystem, a quick introduction to central tools and techniques. The different chapters each correspond to a 1 to 2 hours course with increasing level of expertise, from beginner to expert."
  • Django Girls Tutorial: tutorial that starts from python basics to django to deploying a django site.
  • Django for Designers a Django tutorial that focuses on areas of Django that particularly affect designers, such as static files, template inheritance, and AJAX.
  • Google's Python Class: This is a free class for people with a little bit of programming experience who want to learn Python. The class includes written materials, lecture videos, and lots of code exercises to practice Python coding.

Interactive Tutorials

Online python interpreters

If you want to try out python and scientific packages without installing everything, you can use these servers.

Books and Reading

Online courses providers

Offline courses and events

  • DabeazLLC office hours. Check periodically to see if there's a new one coming up
  • David Beazley classes. Check periodically to see if there is a class coming up.
  • Periodically some of the python groups in the area will have a free or low cost workshop. TODO: put some links to the groups here.

Help find materials

Talk:Python_Office_Hours#help_find_new_and_better_guides

random stuff

Python Office Hours/Organizing