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 20: Line 20:
;Resources
;Resources
* 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.
 
<br/>
<br/>


=== Week 2: April 4 ===
=== Week 2: April 4 ===
Line 28: Line 26:


;Agenda
;Agenda
* We will review the [[DS4UX_(Spring_2016)/Day_2_lecture#Part 1: Review|programming concepts introduced last week]] as a group.
* We'll walk through answers to the [[DS4UX_(Spring_2016)/Day_2_lecture#Part 1: Review|concepts and code challenges from last week]] as a group.
* We will introduce some [[DS4UX_(Spring_2016)/Day_2_lecture#Part_2:_New_programming_concepts|new programming concepts]] into the mix.
*[[DS4UX_(Spring_2016)/Day_2_lecture#Part_2:_New_programming_concepts|Interactive lecture]]
* We will play a guessing game ('''[http://jtmorgan.net/ds4ux/week2/others/favorite_buildings.py click here to download the code]''')
* We will use what we have learned so far to [[Wordplay|cheat at Scrabble]].
* We will introduce our first set of Coding Challenges.
* We will take a sneak peak at what a [https://nyssadatascience.wordpress.com/ good final project] looks like.


;Homework  
;Homework  
Line 41: Line 35:
;Resources
;Resources
* Python for Informatics: [http://www.pythonlearn.com/html-009/book003.html Chapter 2  Variables, expressions and statements] and [http://www.pythonlearn.com/html-009/book004.html Chapter 3  Conditional execution]
* Python for Informatics: [http://www.pythonlearn.com/html-009/book003.html Chapter 2  Variables, expressions and statements] and [http://www.pythonlearn.com/html-009/book004.html Chapter 3  Conditional execution]
* [[Python data types cheat sheet]]
* [[Python loops cheat sheet]]
* [[DS4UX_(Spring_2016)/Working_within_loops|Working within loops]]
* [[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.
<br/>
<br/>


=== Week 3: April 11 ===
=== Week 3: April 11 ===
Line 53: Line 40:


;Agenda
;Agenda
* We will review your feedback from last week
* We'll walk through the concepts and solutions to the [[DS4UX_(Spring_2016)/Day_2_coding_challenge|code challenges from last week]] as a group.
* We will walk through the [[DS4UX_(Spring_2016)/Day_2_coding_challenge#Solutions|solutions to the code challenges from last week]]
* [[DS4UX_(Spring_2016)/Day_3_lecture|Interactive lecture]] - reading and writing datafiles, dictionaries
* We will introduce some [[DS4UX_(Spring_2016)/Day_3_lecture|new programming concepts]]
* We'll explore dataset and research question options for the Final Project assignments.
* We will walk through an example of programming in a UX Research context
* We'll begin working on a series of exercises using the Baby Names dataset
* We will begin working on a series of exercises using the [[DS4UX_(Spring_2016)/Baby Names|Baby Names]] dataset
<!--[[Baby Names]] ([[Community_Data_Science_Workshops_(Fall_2015)/Day_1_baby_names_project_download|download]]) -->


;Homework
;Homework
Line 64: Line 51:
;Resources
;Resources
*''go here''
*''go here''
<br/>
<br/>


=== Week 4: April 18 ===
=== Week 4: April 18 ===
Line 71: Line 56:


;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.
* We'll walk through the concepts and solutions to the [[DS4UX_(Spring_2016)/Day_3_coding_challenge|code challenges]] from last week 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_4_lecture|Interactive lecture]] - background of web APIs; requesting web pages with <code>requests</code>, JSON, and writing to files.
* [[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.
* We'll discuss the Final Project Idea assignment (due next week!)
* [[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.
* We'll begin working on [[Community Data Science Course (Spring 2015)/Wikipedia API projects|a series of projects using the Wikipedia API]].
* [[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]]
* Final Project Idea


;Resources
;Resources
* Two video lectures by Mako Hill, which covers most of the concepts from NEXT week's lecture (as well as some useful review):
* Python for Informatics: [http://www.pythonlearn.com/html-009/book013.html Chapter 12  Networked programs] and [http://www.pythonlearn.com/html-009/book014.html Chapter 13  Using Web Services]
:* [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 5: April 25 ===
=== Week 5: April 25 ===
Line 91: Line 72:


;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]]


;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''')
*Python quiz #5
*[[DS4UX_(Spring_2016)#Final_Project_Idea|Final project ideas]]  
*[[DS4UX_(Spring_2016)/Day_5_coding_challenge|Day 5 coding challenges]]


;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 ===
[[DS4UX_(Spring_2016)/Day_6_plan|Day 6 plan]]
[[DS4UX_(Spring_2016)/Day_6_plan|Day 6 plan]]
;Assignments due
*[[DS4UX_(Spring_2016)#Final_Project_Idea|Final project ideas]] ([https://canvas.uw.edu/courses/1040891/discussion_topics/3325827 Turn in on Canvas])


;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]]


;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)'''
:* [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 148:


;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) ===
''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.''


=== Week 10: May 30 ===
;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)