Intro to Programming Using Open Government Data: Difference between revisions

imported>Shauna
No edit summary
imported>Shauna
 
(19 intermediate revisions by the same user not shown)
Line 1:
__toc__
To do:
 
Interested in helping? You can:
* Create open gov projects based off of the [https://openhatch.org/wiki/Boston_Python_Workshop_7/Saturday_projects Python Workshop Saturday projects].
* Edit the Saturday projects on Github
* Download the files from Github, try them out, and send feedback to shaunagm (at gmail dot com)
 
To Do (in rough chronological order):
* API project:
* Saturday projects
** What do we want people to learn?
* Go through curriculum and flavor examples to be gov data
*** What an API is.
* Create an "survey of open government projects" presentation (20 - 30 min) to give folks a taste of what is possible.
*** Using the URL bar to query an API vs doing so within a script.
* Logistics (funding, date, location, staff)
*** Endpoints and return values. Get vs put vs post vs delete
 
** Good possible APIs to use:
==Saturday Projects==
*** Capitol Words? Or general Real Time Congress, or Influence Explorer. The key is that whichever API we use should be as simple as possible, with straightforward attribute names.
 
** What should the API do?
*Goal: Create open gov projects based off of the [https://openhatch.org/wiki/Boston_Python_Workshop_7/Saturday_projects Python Workshop Saturday projects].
***
 
Three project ideas:
* API project - lead people: James and Erin
* Stats project - lead person: Shauna
* Graphical project (visualizing data) - Shauna?
 
Projects should be:
* as simple as possible
* modular - introduce one thing at a time, possibly in separate scripts labeled "proj1", "proj2" (see [https://github.com/jesstess/Wordplay the original WordPlay project]) for an example.
* well commented (at least for the first draft)
 
Put projects in [https://github.com/shaunagm/IntroToOpenGov this GitHub repo].
 
* ===API project:===
 
** '''What do we want people to learn?'''
*** What an API is.
*** Using the URL bar to query an API vs doing so within a script.
*** Endpoints and return values. Get vs put vs post vs delete
 
** '''Good possible APIs to use''':<br />
*** Capitol Words? Or general Real Time Congress, or Influence Explorer. The key is that whichever API we use should be as simple as possible, with straightforward attribute names.
 
** '''What should the API do?'''
* Easily access government data from online database.
* Show examples of querying - how to look for intersects, unions, if-then, etc.
* Maybe link it to a simple display - html page?
 
'''Notes'''
Use [http://www.codecademy.com/courses/python-intermediate-en-6zbLp this intro to APIs] as inspiration?
 
===Stats project===
 
'''What do we want people to learn?'''
* How to use python to do basic math/statistics:
** Find minimums, maximums, averages, sums.
* How to get data into appropriate format i.e. from string to integer (if time.)
* How to handle arrays and data objects (if time.)
 
'''Good datasets to use.''':<br />
Whatever's the most interesting - and maybe something complementary to whatever we use for other projects.
 
'''What should the Stats project do?'''
* Access a file with a cleaned-up dataset.
* Show people what data objects are/look like in python. Introduce or go over how to access elements of arrays/hashes.
*
* Optional: Access a file with a dirty dataset and clean it up (mainly data typing.)
 
===Visualization project===
 
* Options:
** Matplotlib - possibly hard to install? But maybe install it on our own server and have attendees access it.
** Maybe do two visualizations - a straightforward/simple scatterplot or pie chart (ugh) and then a more complicated (and abstracted away) map
** Use [http://www.census.gov/housing/ahs/ american household survey data]? Use this [https://github.com/sunlightlabs/census census wrapper]?
** Things to visualize:
*** Two non-categorical variables, for the scatter plot, for instance average income of an area by some other value.
*** Things that vary by state, that we can show color-coded on a map: income, ethnic diversity, occupations, age
Anonymous user