DS4UX (Spring 2016)/Schedule: Difference between revisions

From CommunityData
 
(43 intermediate revisions by the same user not shown)
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 46:
* [[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 64:
;Resources
;Resources
*''go here''
*''go here''
 
<br/>
 
<br/>


=== Week 4: April 18 ===
=== Week 4: April 18 ===
Line 84: Line 84:
:* [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 92: Line 94:


;Agenda
;Agenda
*[[DS4UX_(Spring_2016)/Day_5_lecture|Day 5 lecture]]
* [[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#Lecture_1:_What_is_an_API.3F|Lecture 1: What is an API?]] — Ray will introduce us to APIs ("Application Programming Interfaces").
* visualize Seattle building permit data
* [[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].
-->
* [[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]].
*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.


;Homework
;Homework
*[[DS4UX_(Spring_2016)/Day_5_coding_challenge|Day 5 coding challenge]] ('''Required''')
*[[DS4UX_(Spring_2016)/Day_5_coding_challenge|Day 5 coding challenge]] ('''Update: NOT 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]].
* [https://jsonformatter.curiousconcept.com/ JSON formatter and validator]: (useful for examining the structure of large/complex JSON blobs)
* [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!
* [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!
Line 106: Line 112:
:* [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 6: May 2 ===
=== Week 6: May 2 ===
Line 111: Line 119:


;Assignments due
;Assignments due
*[[DS4UX_(Spring_2016)#Final_Project_Idea|Final project ideas]] — '''MOVED FROM WEEK 5'''
*[[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)/Day_6_lecture|Day 6 lecture]]  
* [[DS4UX_(Spring_2016)/Panama_Papers|Panama Papers project]] — using Wikipedia APIs to gather information related to a breaking news event.
:* [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
:* [https://jtmorgan.net/ds4ux/week6/lecture.zip Click here to download the lecture slides and code]


;Homework
;Homework
Line 121: Line 131:


;Resources
;Resources
*''go here''
*[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)
 
<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)/Day_6_coding_challenge|Day 6 coding challenges]] '''(Required)'''
*[[DS4UX_(Spring_2016)#Final_Project_Proposal|Final project proposal]]
:* [https://jtmorgan.net/ds4ux/week6/panama-papers-solutions.zip Click here to download the week 6 challenge solutions]
* Week 6 coding challenge


;Agenda
;Agenda
* [[DS4UX_(Spring_2016)/Day_7_lecture|Day 7 lecture]]
* Week 6 coding challenge solutions - Jonathan will review the solutions to the week 6 coding challenges and answer questions
<!--
* 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.
* corpus analysis
:* [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
* [[DS4UX_(Spring_2016)/Day_8_lecture|Day 8 lecture]]
*Jupyter notebooks: intro and setup
<!--
:* paws.wmflabs.org
* statistics with scipy
:* [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
*[[DS4UX_(Spring_2016)/Day_8_coding_challenge|Day 8 coding challenges]]
*No coding challenges this week!


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


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


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


;Resources
;Resources
* ''go here''
* [http://effbot.org/pyfaq/tutor-what-is-if-name-main-for.htm What is 'if __name__ == "__main__"' for?] (''effbot.org'')
* [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 Friday evening, rather than Monday evening, because of the Memorial Day holiday.''
''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.''


;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
;Resources
 
* ''one''
 
<br/>
<br/>


=== Week 11: June 6 ===
=== Week 11: June 6 ===
Line 204: Line 230:
;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)]]

Latest revision as of 21:02, 23 May 2016

Week 1: March 28[edit]

Day 1 plan

Assignments due
  • fill out the pre-course survey
Agenda
  • Quick introductions — Be ready to introduce yourself and describe your interest and goals in the class.
  • Why Programming and Data Science for UX Research? — What this course is about
  • Class overview and expectations — We'll walk through this syllabus.
  • Group formation — We'll assemble in our peer programming groups for the first time.
  • Installation and setup — You'll install software including the Python programming language and run through a series of exercises.
  • Interactive lecture: programming concepts 1
  • Self-guided tutorial and exercises — You'll work through a self-guided tutorial to practice the basic concepts we introduced in the lecture.
Homework
Resources



Week 2: April 4[edit]

Day 2 plan

Agenda
Homework
Resources



Week 3: April 11[edit]

Day 3 plan

Agenda
Homework
Resources
  • go here



Week 4: April 18[edit]

Day 4 plan

Agenda
Homework
Resources
  • Two video lectures by Mako Hill, which covers most of the concepts from NEXT week's lecture (as well as some useful review):



Week 5: April 25[edit]

Day 5 plan

Assignments due
Agenda
Homework
Resources



Week 6: May 2[edit]

Day 6 plan

Assignments due
Agenda
  • An interactive lecture introducing the concept of user-defined functions
Homework
Resources



Week 7: May 9[edit]

Day 7 plan

Assignments due
Agenda
  • Week 6 coding challenge solutions - Jonathan will review the solutions to the week 6 coding challenges and answer questions
  • 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.
  • 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.
Coding challenges



Week 8: May 16[edit]

Day 8 plan

Assignments due
Agenda
  • Jupyter notebooks: intro and setup
  • Some new concepts: try/except, sleep(), dateutil.parser, datetime.datetime
  • Functions II: walk through examples in Jupyter and terminal
Coding challenges
  • No coding challenges this week!
Resources
  • Data Science from Scratch, Joel Grus (O'Reilly)



Week 9: May 23[edit]

Day 9 plan

Agenda
  • We will review the requirements for the Final Presentation and Final Project assignments
  • We will review the course as a whole, and what we accomplished
  • We will go through 1-2 more examples of how to organize a program into functions
  • 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
Resources
Free (mostly) Python 3 tutorials and reference works



Week 10: June 3 (DATE CHANGE)[edit]

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.

Assignments due
Agenda
  • Final project presentations
Resources
  • one



Week 11: June 6[edit]

FINALS WEEK - NO CLASS

Assignments due