Python Office Hours
When and Where?
Every other Wednesday. It should appear on our handy-dandy calendar of events. We usually meet in the electronics area upstairs unless another group is meeting there.
3519 N. Elston Chicago, IL 60618
We talk on irc during at #pumpingstationone on freenode. It is handy for sharing links to information and pastebins. If you don't have an irc client, you can connect to the channel via this web client: #pumpingstationone
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.
- 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."
- official Python tutorial
- 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
- 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. (all ages, despite name)
- 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.
- How to Think Like a Computer Scientist
- 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://colaboratory.jupyter.org/welcome/ a Google Drive app that provides an interactive ipython notebook (need to install google drive app)
- https://www.wakari.io/ ipython notebook (need account)
- https://www.pythonanywhere.com/ many different python shells. python, ipython, pypy (need account)
Books and Reading
- Two Scoops of Django: an excellent django book
- Effective Computation in Physics
- Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython
- 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
Help find materials
- 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