Editing DS4UX (Spring 2016)/Schedule

From CommunityData
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 21: Line 21:
* Python for Informatics: [http://www.pythonlearn.com/html-009/book001.html Preface] and [http://www.pythonlearn.com/html-009/book002.html Chapter 1  Why should you learn to write programs?]
* Python for Informatics: [http://www.pythonlearn.com/html-009/book001.html Preface] and [http://www.pythonlearn.com/html-009/book002.html Chapter 1  Why should you learn to write programs?]
* [http://sites.tufts.edu/cbi/files/2013/01/linux_cheat_sheet.pdf Command line cheat sheet] — covers basics like <code>ls, pwd, cd</code> and much more.
* [http://sites.tufts.edu/cbi/files/2013/01/linux_cheat_sheet.pdf Command line cheat sheet] — covers basics like <code>ls, pwd, cd</code> and much more.
<br/>
<br/>


=== Week 2: April 4 ===
=== Week 2: April 4 ===
Line 46: Line 44:
* [[Wordplay handout]]
* [[Wordplay handout]]
* [http://communitydata.cc/~mako/cdsw-au2015-lecture1-20151010.ogv cdsw-au2015-lecture1-20151010.ogv] -- Mako Hill's lecture video from a previous course, which covers most of the concepts from my Week 1 and Week 2 lectures.
* [http://communitydata.cc/~mako/cdsw-au2015-lecture1-20151010.ogv cdsw-au2015-lecture1-20151010.ogv] -- Mako Hill's lecture video from a previous course, which covers most of the concepts from my Week 1 and Week 2 lectures.
<br/>
<br/>


=== Week 3: April 11 ===
=== Week 3: April 11 ===
Line 64: Line 60:
;Resources
;Resources
*''go here''
*''go here''
<br/>
<br/>


=== Week 4: April 18 ===
=== Week 4: April 18 ===
Line 72: Line 66:
;Agenda
;Agenda
* [[DS4UX_(Spring_2016)/Day_3_coding_challenge|Week 3 code challenges]] — We'll briefly walk through the concepts and solutions to the Week 3 coding challenges as a group.
* [[DS4UX_(Spring_2016)/Day_3_coding_challenge|Week 3 code challenges]] — We'll briefly walk through the concepts and solutions to the Week 3 coding challenges as a group.
* [[DS4UX_(Spring_2016)/Day_4_lecture#Week_3_follow-up|Day 3 follow up]] — We will cover some important concepts that we didn't have a chance to cover in depth last week.
* [[DS4UX_(Spring_2016)/Day_3_follow_up|Day 3 follow up]] — We will cover some important concepts that we didn't have a chance to cover in depth last week.
* [[DS4UX_(Spring_2016)/Day_4_lecture#Reading_and_writing_files|Reading and writing files]] — we will learn how to read and write basic datafiles with Python.
* Reading and writing files — we will learn how to read and write basic datafiles with Python.
<!--* [[DS4UX_(Spring_2016)/Day_4_lecture|Reading and writing files]] — we will learn how to read and write basic datafiles with Python. -->
* [[DS4UX_(Spring_2016)/Wikipedia Notifications survey]] — We will walk through a real life example that uses the concepts we've developed so far to answer research questions.
* [[DS4UX_(Spring_2016)/Seattle_traffic|Burke-Gilman traffic counter]] — we will start working with a dataset of bike and pedestrian traffic on the Burke-Gilman trail.
* [[DS4UX_(Spring_2016)/Seattle_traffic|Burke-Gilman traffic counter]] — we will start working with a dataset of bike and pedestrian traffic on the Burke-Gilman trail.
* [[DS4UX_(Spring_2016)/Wikipedia Notifications survey|Wikipedia Notifications survey analysis]] — We will walk through a real life example that uses the concepts we've developed so far to answer research questions.
 


;Homework
;Homework
* [[DS4UX_(Spring_2016)/Day_4_coding_challenge|Day 4 coding challenges]] (Required) '''[https://canvas.uw.edu/courses/1040891/assignments/3264409 Turn in here!]'''
* [[DS4UX_(Spring_2016)/Day_4_coding_challenge|Day 4 coding challenges]] ('''Required''')


;Resources
;Resources
Line 84: Line 80:
:* [https://communitydata.cc/~mako/cdsw-au2015-lecture2-20151024.ogv cdsw-au2015-lecture2-20151024.ogv]
:* [https://communitydata.cc/~mako/cdsw-au2015-lecture2-20151024.ogv cdsw-au2015-lecture2-20151024.ogv]
:* [https://communitydata.cc/~mako/cdsw-au2015-lecture3-20151107.ogv cdsw-au2015-lecture3-20151107.ogv]
:* [https://communitydata.cc/~mako/cdsw-au2015-lecture3-20151107.ogv cdsw-au2015-lecture3-20151107.ogv]
<br/>
<br/>


=== Week 5: April 25 ===
=== Week 5: April 25 ===
Line 91: Line 85:


;Assignments due
;Assignments due
* [[DS4UX_(Spring_2016)/Day_4_coding_challenge|Day 4 coding challenge]] '''[https://canvas.uw.edu/courses/1040891/assignments/3264409 Turn in here!]'''
* [[DS4UX_(Spring_2016)#Final_Project_Idea|Final project idea]]
* Day 4 coding challenge


;Agenda
;Agenda
* [[DS4UX_(Spring_2016)/Day_4_coding_challenge#Solutions|Week 4 code challenge solutions]] — We'll walk through the concepts and solutions to the Week 4 coding challenges as a group.
*[[DS4UX_(Spring_2016)/Day_5_lecture|Day 5 lecture]] - visualizing web data
* [[DS4UX_(Spring_2016)/Day_5_lecture#Lecture_1:_What_is_an_API.3F|Lecture 1: What is an API?]] — Ray will introduce us to APIs ("Application Programming Interfaces").
*Introduction to Jupyter notebooks
* [[DS4UX_(Spring_2016)/Day_5_lecture#Exercise_1:_How_do_we_use_APIs_to_get_kitten_pictures.3F|Exercise 1: PlaceKitten API]] — we will write our first API requests using the [http://placekitten PlaceKitten API].
* graphing data with matplotlib
* [[DS4UX_(Spring_2016)/Day_5_lecture#Lecture_2:_Using_data_from_APIs_in_Python|Lecture 2: Using data from APIs in Python]] — Ray will introduce us to JSON ("JavaScript Object Notation"), a type of data structure that is commonly used by APIs, which can be easily imported into Python and converted to a dictionary for analysis.
<!--
* [[DS4UX_(Spring_2016)/Day_5_lecture#Week_5_project:_How_do_we_use_APIs_to_get_data_from_Wikipedia.3F|Week 5 project: Introducing the Wikipedia API]] — We will learn the syntax of the MediaWiki API (used by Wikipedia), as well as how to test API queries in a sandbox, and how to perform those queries in Python—in preparation for the [[DS4UX_(Spring_2016)/Day_5_coding_challenge|Week 5 coding challenges]].
;Exercises
*We will go over a [https://docs.google.com/document/d/1RPjvoxYX87DM_px8UX9my6rEg0V3rTcNvRHzSAHxAzU/edit list of sample APIs, datasets, and research questions] that will get you thinking about what research ''you'' want to conduct for your final class project.
* visualize Seattle building permit data
-->


;Homework
;Homework
*[[DS4UX_(Spring_2016)/Day_5_coding_challenge|Day 5 coding challenge]] ('''Update: NOT Required''')
*[[DS4UX_(Spring_2016)/Day_5_coding_challenge|Day 5 coding challenges]] ('''Required''')
*[[DS4UX_(Spring_2016)#Final_Project_Idea|Final project ideas]]


;Resources
;Resources
* [https://docs.google.com/document/d/1RPjvoxYX87DM_px8UX9my6rEg0V3rTcNvRHzSAHxAzU/edit# Project Idea Assignment resources]: some examples of APIs, datasets, and research questions to help you complete your [[DS4UX_(Spring_2016)#Final_Project_Idea|Final Project Idea Assignment]].
*''go here''
* [https://jsonformatter.curiousconcept.com/ JSON formatter and validator]: (useful for examining the structure of large/complex JSON blobs)
* [https://www.hurl.it/ Hurl.it API sandbox]: like the [https://en.wikipedia.org/wiki/Special:ApiSandbox Wikipedia API sandbox], but can query many more APIs!
* Two video lectures by Tommy Guy and Mako Hill, which covers most of the concepts from this week (as well as some useful review):
:* [https://communitydata.cc/~mako/cdsw-au2015-lecture2-20151024.ogv cdsw-au2015-lecture2-20151024.ogv]
:* [https://communitydata.cc/~mako/cdsw-au2015-lecture3-20151107.ogv cdsw-au2015-lecture3-20151107.ogv]
<br/>
<br/>


=== Week 6: May 2 ===
=== Week 6: May 2 ===
Line 119: Line 107:


;Assignments due
;Assignments due
*[[DS4UX_(Spring_2016)#Final_Project_Idea|Final project ideas]] ([https://canvas.uw.edu/courses/1040891/discussion_topics/3325827 Turn in on Canvas])
* Day 5 coding challenge
 


;Agenda
;Agenda
* [[DS4UX_(Spring_2016)/Panama_Papers|Panama Papers project]] — using Wikipedia APIs to gather information related to a breaking news event.
* [[DS4UX_(Spring_2016)/Day_6_lecture|Day 6 lecture]] - querying databases
:* [https://jtmorgan.net/ds4ux/week6/panama-papers.zip Click here to download the Panama Papers project]
<!--
* An interactive lecture introducing the concept of user-defined functions
*MYSQL queries with Quarry
:* [https://jtmorgan.net/ds4ux/week6/lecture.zip Click here to download the lecture slides and code]
*SOQL queries with Hurl.it and Python
-->


;Homework
;Homework
*[[DS4UX_(Spring_2016)/Day_6_coding_challenge|Day 6 coding challenge]] ('''Required''')
*[[DS4UX_(Spring_2016)/Day_6_coding_challenge|Day 6 coding challenges]] ('''Required''')


;Resources
;Resources
*[http://jtmorgan.net/ds4ux/week5/wikipedia-solutions.zip Click here to download the solutions to the week 5 coding challenges] (the ones that weren't required)
*''go here''
<br/>
<br/>


=== Week 7: May 9 ===
=== Week 7: May 9 ===
[[DS4UX_(Spring_2016)/Day_7_plan|Day 7 plan]]
[[DS4UX_(Spring_2016)/Day_7_plan|Day 7 plan]]
;Assignments due
;Assignments due
 
*[[DS4UX_(Spring_2016)#Final_Project_Proposal|Final project proposal]]
*[[DS4UX_(Spring_2016)/Day_6_coding_challenge|Day 6 coding challenges]] '''(Required)'''
* Week 6 coding challenge
:* [https://jtmorgan.net/ds4ux/week6/panama-papers-solutions.zip Click here to download the week 6 challenge solutions]


;Agenda
;Agenda
* Week 6 coding challenge solutions - Jonathan will review the solutions to the week 6 coding challenges and answer questions
* [[DS4UX_(Spring_2016)/Day_7_lecture|Day 7 lecture]] - corpus analysis
* Writing your own functions - Ray will give a lecture and lead us through a series of interactive exercises on creating custom functions to make our code simpler, clearer, and more flexible.
<!--
:* [https://jtmorgan.net/ds4ux/week7/lecture.zip Click here to download the lecture slides and code]
* counting mentions and welcomes in the Teahouse corpus
* [[DS4UX_(Spring_2016)/Building_permits|Working with location data]] - Jonathan will introduce some simple techniques for aggregating and visualizing datasets that have a location component, using a corpus of Seattle building permit data.
* plotting trends over time in the Teahouse corpus
:* [https://jtmorgan.net/ds4ux/week7/bpdata.zip Click here to download the building permit code and data]
-->


;Coding challenges
;Coding challenges
*[[DS4UX_(Spring_2016)/Day_7_coding_challenge|Day 7 coding challenges]]
*[[DS4UX_(Spring_2016)/Day_7_coding_challenge|Day 7 coding challenges]]


<!--
;Resources
;Resources
*''go here''
*''go here''
-->
<br/>
<br/>


=== Week 8: May 16 ===
=== Week 8: May 16 ===
[[DS4UX_(Spring_2016)/Day_8_plan|Day 8 plan]]
[[DS4UX_(Spring_2016)/Day_8_plan|Day 8 plan]]
;Assignments due
 
*[[DS4UX_(Spring_2016)#Final_Project_Proposal|Final project proposal]] '''MOVED FROM WEEK 7'''
;Agenda
;Agenda
*Jupyter notebooks: intro and setup
* [[DS4UX_(Spring_2016)/Day_8_lecture|Day 8 lecture]] - statistics with scipy
:* paws.wmflabs.org
<!--
:* [https://en.wikipedia.org/w/index.php?title=Special:UserLogin&type=signup CLICK HERE to create a Wikipedia account]
* plotting Burke-Gilman bike traffic on rainy days
:* [https://paws-public.wmflabs.org/paws-public/User:Jtmorgan/DS4UX%20Jupyter%20intro.ipynb Jupyter intro notebook]
-->
:* [http://jtmorgan.net/ds4ux/week8/notebooks.zip Click here to download today's notebooks] ''(I'm not 100% sure this will work)''
 
*Some new concepts: <code>try/except, sleep(), dateutil.parser, datetime.datetime</code>
:* [https://paws-public.wmflabs.org/paws-public/User:Jtmorgan/Week%208%20new%20concepts.ipynb Week 8 new concepts notebook]
*Functions II: walk through examples in Jupyter and terminal
:* [https://paws-public.wmflabs.org/paws-public/user/Jtmorgan/notebooks/Parsing%20permit%20data%20demo.ipynb Building permit notebook]
:* [http://jtmorgan.net/ds4ux/week8/lecture.zip Click here to download the wiki shows demo code]
:* [https://paws-public.wmflabs.org/paws-public/user/Jtmorgan/notebooks/Wiki%20shows.ipynb Wiki-shows notebook]
;Coding challenges
;Coding challenges
*No coding challenges this week!
*[[DS4UX_(Spring_2016)/Day_8_coding_challenge|Day 8 coding challenges]]


;Resources
;Resources
*''Data Science from Scratch'', Joel Grus (O'Reilly)
*''go here''
<br/>
 
<br/>


=== Week 9: May 23 ===
=== Week 9: May 23 ===
Line 187: Line 163:


;Agenda
;Agenda
* We will review the requirements for the Final Presentation and Final Project assignments
* [[DS4UX_(Spring_2016)/Day_9_lecture|Day 9 lecture]] - research study design
* We will review the course as a whole, and what we accomplished
* review of key concepts and tools from this course
* We will go through 1-2 more examples of how to organize a program into functions
* presentation workshop
* We will have an opportunity to review key Python concepts as a class
<!--
* We will have plenty of time to ask questions about and work on final projects
* Replicate Teahouse invite A/B test
-->


;Resources
;Resources
* [http://effbot.org/pyfaq/tutor-what-is-if-name-main-for.htm What is 'if __name__ == "__main__"' for?] (''effbot.org'')
* ''go here''
* [https://www.quora.com/What-is-use-of-main-method-in-Python-Can-someone-explain-with-example What is use of main method in Python? Can someone explain with example?] (''Quora.com'')
 
;Free (mostly) Python 3 tutorials and reference works
* ''[http://www.diveintopython3.net/ Dive into Python3]''
* ''[http://learnpythonthehardway.org/book/ Learn Python the Hard Way]''
* ''[http://www.python-course.eu/python3_course.php Python-Course.EU]''
* ''[http://thepythonguru.com/ The Python Guru - Beginner's tutorial]''
* ''[https://www.gitbook.com/book/krother/python-3-basics-tutorial/details GitBook Python 3 Basics Tutorial]''
* ''[https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3 WikiBooks Non-programmer's Python 3 tutorial]''
* ''[http://docs.python-guide.org/en/latest/intro/learning/ The Hitchhiker's Guide to Python]'' (links to many different tutorials!)
* ''[https://www.dataquest.io/track/data-analyst-track DataQuest Data Analyst interactive course series]''
* ''[http://shop.oreilly.com/product/0636920023784.do Python for Data Analysis]'' (O'Reilly media book)


<br/>
<br/>


=== Week 10: June 3 (DATE CHANGE) ===
=== Week 10: June 3 (DATE CHANGE) ===
''Please note that this class we will meet from 6pm to 9pm on Friday evening, rather than Monday evening, because of the Memorial Day holiday.''
''Please note that this class we will meet Friday evening, rather than Monday evening, because of the Memorial Day holiday.''
 
;Assignments due
;Assignments due
* [[DS4UX_(Spring_2016)#Final_Project_Presentation|Final project presentation]]
* [[DS4UX_(Spring_2016)#Final_Project_Presentation|Final project presentation]]


;Agenda
;Agenda
* [[DS4UX_(Spring_2016)/Day_10_lecture|Day 10 lecture]] - Final project report review, next steps for Data Science
* Final project presentations
* Final project presentations
;Resources
* ''one''
<br/>
<br/>


=== Week 11: June 6 ===
=== Week 11: June 6 ===
FINALS WEEK - NO CLASS
FINALS WEEK - NO CLASS
;Assignments due
;Assignments due
*[[DS4UX_(Spring_2016)#Final_Project_Report|Final project report and code]] due '''by midnight on Wednesday, 6/8/2016'''
*[[DS4UX_(Spring_2016)#Final_Project_Report|Final project report and code]] due '''by midnight on Wednesday, 6/8/2016'''
<br/>
 
<br/>




[[Category:DS4UX (Spring 2016)]]
[[Category:DS4UX (Spring 2016)]]
Please note that all contributions to CommunityData are considered to be released under the Attribution-Share Alike 3.0 Unported (see CommunityData:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)