Difference between revisions of "Python Office Hours"

From Pumping Station One
Jump to navigation Jump to search
m (Robot: Cosmetic changes)
(30 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
== When and Where? ==
 
== When and Where? ==
  
Every other Wednesday, like September 25 2013. It should appear on our [http://pumpingstationone.org/events/ handy-dandy calendar of events].
+
Every other Wednesday. It should appear on our [http://pumpingstationone.org/events/ handy-dandy calendar of events]. We usually meet in the Electronics Area upstairs.
  
 
3519 N. Elston
 
3519 N. Elston
 
Chicago, IL 60618
 
Chicago, IL 60618
  
We talk on irc during at #pumpingstationone on freenode. If you don't have an irc client, you can connect to the channel via this web client: [https://kiwiirc.com/client/irc.freenode.net/?nick=pyofficeho|?#pumpingstationone #pumpingstationone]
+
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 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.
+
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.
  
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.
+
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.
 
If you don't already have something to work on or study, look through the resources below.
 +
 +
== What to bring? ==
 +
 +
*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]]
 +
 +
*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 ==
 
== Learning resources ==
  
 
=== Tutorials ===
 
=== Tutorials ===
 +
 +
* [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 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 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.
* [http://newcoder.io/ NewCoder]: intermediate level projects to try after learning syntax and things from sites like Learn Python the Hard Way. It has tutorials on
+
* If you know some syntax already, try out [http://newcoder.io/ NewCoder] tutorials. NewCoder has tutorials on Data Visualization, APIs, Web Scraping, Networks
** Data Visualization
+
* 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."
** APIs
+
* [http://wiki.communitydata.cc/Community_Data_Science_Workshops Community Data Science Workshop]
** Web Scraping
+
** "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."
** Networks
+
* [http://software-carpentry.org/lessons.html Software Carpentry: Lessons]
* [https://openhatch.org/wiki/Community_Data_Science_Workshops Community Data Science Workshop]
+
** automating tasks using the Unix shell;
* [http://learnpythonthehardway.org/book/ Learn Python The Hard Way]: "instructs you in Python by slowly building and establishing skills through techniques like practice and memorization, then applying them to increasingly difficult problems."
+
** structured programming in Python, R, or MATLAB
* [http://software-carpentry.org/v5/novice/python/index.html Programming with Python]: "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."
+
*** "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.
  
 
=== Interactive Tutorials ===
 
=== Interactive Tutorials ===
* 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/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]
 
* [http://interactivepython.org/runestone/static/pythonds/index.html Problem Solving with Algorithms and Data Structures]
Line 44: Line 61:
 
If you want to try out python and scientific packages without installing everything, you can use these servers.
 
If you want to try out python and scientific packages without installing everything, you can use these servers.
  
* https://colaboratory.jupyter.org/welcome/ a Google Drive app that provides an interactive ipython notebook (need to install google drive app)
+
* https://try.jupyter.org/ No install or login required. This launches ipython notebook for you.
* https://www.wakari.io/ ipython notebook (need account)
+
** This has an interactive python 101 lesson. Navigate to communities/pyladies and click on *Python 101.ipynb* to launch it.
* https://www.pythonanywhere.com/ many different python shells. python, ipython, pypy (need account)
+
** 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 ===
 
=== Books and Reading ===
 
* [http://twoscoopspress.org/collections/everything Two Scoops of Django]: an excellent django book
 
* [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."
 
* [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 ===
 
=== Online courses providers ===
Line 59: Line 78:
 
* [http://www.udacity.com/ Udacity]
 
* [http://www.udacity.com/ Udacity]
 
* [http://pythonlearn.com/ Python Learn]
 
* [http://pythonlearn.com/ Python Learn]
* [http://software-carpentry.org Software Carpentry]
 
  
 +
=== 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 ===
 
=== Help find materials ===
I'd like to get some curricula for these topics.
 
  
* web development
+
[[Talk:Python_Office_Hours#help_find_new_and_better_guides]]
** I found [http://gettingstartedwithdjango.com/ Getting Started with Django]
 
* robots
 
* raspberry pi
 
* open data / civic hacking.
 
* games
 
* open science
 
* teaching
 
* young coders (see example from pycon [https://github.com/mechanicalgirl/young-coders-tutorial#readme Young Coders Tutorial])
 
* systems programming
 
** I found [https://github.com/zedshaw/lpthw-study-projects Learn Python The Hard Way Study Projects]
 
* audio stuff. [http://earsketch.gatech.edu/ EarSketch] curriculum. Introduction to programming with music. (has anyone tried this? The concept is neat so I've included it here)
 
  
 
=== random stuff ===
 
=== random stuff ===

Revision as of 20:38, 22 March 2019

Hi!

When and Where?

Every other Wednesday. It should appear on our handy-dandy calendar of events. We usually meet 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