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 1: Line 1:
=== Week 1: March 28 ===
=== Week 1: March 28 ===
[[DS4UX (Spring 2016)/Day 1 plan|Day 1 plan]]
[[DS4UX (Spring 2016)/Day 1 plan]]


;Assignments due
;Assignments due
* fill out the pre-course survey
* fill out the pre-course survey
* complete setting up Python on your computer
;Suggested readings
* ''[http://www.pythonlearn.com/html-009/book002.html Python for Informatics Chapter 1]''
;Class schedule


;Agenda
* Quick introductions — Be ready to introduce yourself and describe your interest and goals in the class.
* Quick introductions — Be ready to introduce yourself and describe your interest and goals in the class.
* [[DS4UX_(Spring_2016)/Day_1_lecture#Part 1: Why Programming and Data Science|Why Programming and Data Science for UX Research?]] — What this course is about
* Class overview and expectations — We'll walk through this syllabus.
* Class overview and expectations — We'll walk through this syllabus.
* Group formation — We'll assemble in our peer programming groups for the first time.
* [[DS4UX_(Spring_2016)/Day_1_exercise|Installation and setup]] — You'll install software including the Python programming language and run through a series of exercises.
* [[DS4UX_(Spring_2016)/Day_1_exercise|Installation and setup]] — You'll install software including the Python programming language and run through a series of exercises.
* [[DS4UX_(Spring_2016)/Day_1_lecture#Part 2: Basic Python concepts|Interactive lecture]]: ''programming concepts 1''
* [[DS4UX (Spring 2016)/Day 1 tutorial|Self-guided tutorial and exercises]] — You'll work through a self-guided tutorial introducing you to some basic concepts. When you're done, you'll meet with the instructor or TA and we'll check you off.
* [[DS4UX (Spring 2016)/Day 1 tutorial|Self-guided tutorial and exercises]] — You'll work through a self-guided tutorial to practice the basic concepts we introduced in the lecture.
 
=== Week 2: April 4 ===
''overview''


;Homework
;Assignments due
* Complete [[DS4UX (Spring 2016)/Day 1 tutorial|Self-guided tutorial and exercises]] (if you didn't finish this in class).
* assignment 1
* Complete [[DS4UX_(Spring_2016)/Day_1_exercise#Goal_7:_Practice_Python_using_Codecademy|CodeAcademy lessons]]


;Resources
;Readings
* 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?]
* reading 1
* [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 ===
;Class schedule
[[DS4UX_(Spring_2016)/Day_2_plan|Day 2 plan]]
*one


;Agenda
;Exercises
* We will review the [[DS4UX_(Spring_2016)/Day_2_lecture#Part 1: Review|programming concepts introduced last week]] as a group.
*one
* We will introduce some [[DS4UX_(Spring_2016)/Day_2_lecture#Part_2:_New_programming_concepts|new programming concepts]] into the mix.
* 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  
* Complete [https://www.codecademy.com/courses/python-beginner-en-kSQwt/1/1 the second set of CodeAcademy lessons]
*stuff
* Work on the Week 2 [[DS4UX_(Spring_2016)/Day_2_coding_challenge|coding challenges]]


;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 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 ===
[[DS4UX_(Spring_2016)/Day_3_plan|Day 3 plan]]
''overview''


;Agenda
;Assignments due
* We will review your feedback from last week
* assignment 1
* We will walk through the [[DS4UX_(Spring_2016)/Day_2_coding_challenge#Solutions|solutions to the code challenges from last week]]
* We will introduce some [[DS4UX_(Spring_2016)/Day_3_lecture|new programming concepts]]
* We will walk through an example of programming in a UX Research context
* We will begin working on a series of exercises using the [[DS4UX_(Spring_2016)/Baby Names|Baby Names]] dataset


;Homework
;Readings
*[[DS4UX_(Spring_2016)/Day_3_coding_challenge|Day 3 coding challenges]]
* reading 1
 
;Class schedule
*one
 
;Exercises
*one
 
;Homework  
*stuff


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


=== Week 4: April 18 ===
=== Week 4: April 18 ===
[[DS4UX_(Spring_2016)/Day_4_plan|Day 4 plan]]
''overview''


;Agenda
;Assignments due
* [[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.
* assignment 1
* [[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#Reading_and_writing_files|Reading and writing files]] — we will learn how to read and write basic datafiles with Python.
* [[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
;Readings
* [[DS4UX_(Spring_2016)/Day_4_coding_challenge|Day 4 coding challenges]] (Required) '''[https://canvas.uw.edu/courses/1040891/assignments/3264409 Turn in here!]'''
* reading 1
 
;Class schedule
*one
 
;Exercises
*one


;Resources
*  Two video lectures by Mako Hill, which covers most of the concepts from NEXT week's lecture (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 5: April 25 ===
=== Week 5: April 25 ===
[[DS4UX_(Spring_2016)/Day_5_plan|Day 5 plan]]
''overview''


;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!]'''
* assignment 1
 
;Readings
* reading 1
 
;Class schedule
*one


;Agenda
;Exercises
* [[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.
*one
* [[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").
* [[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]] ('''Update: NOT Required''')
*stuff
*[[DS4UX_(Spring_2016)#Final_Project_Idea|Final project ideas]]


;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://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]]
''overview''


;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])
* assignment 1


;Agenda
;Readings
* [[DS4UX_(Spring_2016)/Panama_Papers|Panama Papers project]] — using Wikipedia APIs to gather information related to a breaking news event.
* reading 1
:* [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
;Class schedule
*[[DS4UX_(Spring_2016)/Day_6_coding_challenge|Day 6 coding challenge]] ('''Required''')
*one
 
;Exercises
*one
 
;Homework  
*stuff


;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)
<br/>
<br/>


=== Week 7: May 9 ===
=== Week 7: May 9 ===
[[DS4UX_(Spring_2016)/Day_7_plan|Day 7 plan]]
''overview''
 
;Assignments due
;Assignments due
* assignment 1
;Readings
* reading 1


*[[DS4UX_(Spring_2016)/Day_6_coding_challenge|Day 6 coding challenges]] '''(Required)'''
;Class schedule
:* [https://jtmorgan.net/ds4ux/week6/panama-papers-solutions.zip Click here to download the week 6 challenge solutions]
*one


;Agenda
;Exercises
* Week 6 coding challenge solutions - Jonathan will review the solutions to the week 6 coding challenges and answer questions
*one
* 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]
;Homework
* [[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.
*stuff
:* [https://jtmorgan.net/ds4ux/week7/bpdata.zip Click here to download the building permit code and data]


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


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


=== Week 8: May 16 ===
=== Week 8: May 16 ===
[[DS4UX_(Spring_2016)/Day_8_plan|Day 8 plan]]
''overview''
 
;Assignments due
;Assignments due
*[[DS4UX_(Spring_2016)#Final_Project_Proposal|Final project proposal]] '''MOVED FROM WEEK 7'''
* assignment 1
;Agenda
 
*Jupyter notebooks: intro and setup
;Readings
:* paws.wmflabs.org
* reading 1
:* [https://en.wikipedia.org/w/index.php?title=Special:UserLogin&type=signup CLICK HERE to create a Wikipedia account]
 
:* [https://paws-public.wmflabs.org/paws-public/User:Jtmorgan/DS4UX%20Jupyter%20intro.ipynb Jupyter intro notebook]
;Class schedule
:* [http://jtmorgan.net/ds4ux/week8/notebooks.zip Click here to download today's notebooks] ''(I'm not 100% sure this will work)''
*one
*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]
;Exercises
*Functions II: walk through examples in Jupyter and terminal
*one
:* [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]
;Homework
:* [https://paws-public.wmflabs.org/paws-public/user/Jtmorgan/notebooks/Wiki%20shows.ipynb Wiki-shows notebook]
*stuff
;Coding challenges
 
*No coding challenges this week!


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


=== Week 9: May 23 ===
=== Week 9: May 23 ===
[[DS4UX_(Spring_2016)/Day_9_plan|Day 9 plan]]
''overview''


;Agenda
;Assignments due
* We will review the requirements for the Final Presentation and Final Project assignments
* assignment 1
* 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
;Readings
* [http://effbot.org/pyfaq/tutor-what-is-if-name-main-for.htm What is 'if __name__ == "__main__"' for?] (''effbot.org'')
* reading 1
* [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
;Class schedule
* ''[http://www.diveintopython3.net/ Dive into Python3]''
*one
* ''[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/>
;Exercises
<br/>
*one


=== Week 10: June 3 (DATE CHANGE) ===
;Homework
''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.''
*stuff
 
 
=== Week 10: May 30 ===
''overview''


;Assignments due
;Assignments due
* [[DS4UX_(Spring_2016)#Final_Project_Presentation|Final project presentation]]
* assignment 1
 
;Readings
* reading 1
 
;Class schedule
*one


;Agenda
;Exercises
* Final project presentations
*one


;Resources
;Homework
* ''one''
*stuff
<br/>
<br/>


=== Week 11: June 6 ===
=== Week 11: June 6 ===
FINALS WEEK - NO CLASS
''overview''


;Assignments due
;Assignments due
*[[DS4UX_(Spring_2016)#Final_Project_Report|Final project report and code]] due '''by midnight on Wednesday, 6/8/2016'''
* assignment 1
<br/>
<br/>


;Readings
* reading 1
;Class schedule
*one
;Exercises
*one
;Homework
*stuff


[[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)