DS4UX (Spring 2016)/Schedule: Difference between revisions

From CommunityData
 
(134 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=== Week 1: March 28 ===
=== Week 1: March 28 ===
Syllabus & Intros; Course Introduction & Motivation; Installation & local environment setup; Self-guided tours and exercises
[[DS4UX (Spring 2016)/Day 1 plan|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


;Readings
;Agenda
* reading 1
* 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.
* 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_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 to practice the basic concepts we introduced in the lecture.


;Class schedule
;Homework
*Course Introduction; Introduction to the Command line and programming in Python
* Complete [[DS4UX (Spring 2016)/Day 1 tutorial|Self-guided tutorial and exercises]] (if you didn't finish this in class).
* Complete [[DS4UX_(Spring_2016)/Day_1_exercise#Goal_7:_Practice_Python_using_Codecademy|CodeAcademy lessons]]


;Exercises
;Resources
* practice Python at command line
* 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.
;Homework
<br/>
*stuff
<br/>


=== Week 2: April 4 ===
=== Week 2: April 4 ===
''overview''
[[DS4UX_(Spring_2016)/Day_2_plan|Day 2 plan]]
 
;Assignments due
* assignment 1


;Readings
;Agenda
* reading 1
* We will review the [[DS4UX_(Spring_2016)/Day_2_lecture#Part 1: Review|programming concepts introduced 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.
;Class schedule
* We will play a guessing game ('''[http://jtmorgan.net/ds4ux/week2/others/favorite_buildings.py click here to download the code]''')
*one
* We will use what we have learned so far to [[Wordplay|cheat at Scrabble]].
 
* We will introduce our first set of Coding Challenges.
;Exercises
* We will take a sneak peak at what a [https://nyssadatascience.wordpress.com/ good final project] looks like.
*one


;Homework  
;Homework  
*stuff
* Complete [https://www.codecademy.com/courses/python-beginner-en-kSQwt/1/1 the second set of CodeAcademy lessons]
* 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 ===
''overview''
[[DS4UX_(Spring_2016)/Day_3_plan|Day 3 plan]]


;Assignments due
;Agenda
* assignment 1
* We will review your feedback from last week
* 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


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


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


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


;Assignments due
;Agenda
* assignment 1
* [[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_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.


;Readings
;Homework
* reading 1
* [[DS4UX_(Spring_2016)/Day_4_coding_challenge|Day 4 coding challenges]] (Required) '''[https://canvas.uw.edu/courses/1040891/assignments/3264409 Turn in here!]'''
 
;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 ===
''overview''
[[DS4UX_(Spring_2016)/Day_5_plan|Day 5 plan]]


;Assignments due
;Assignments due
* assignment 1
* [[DS4UX_(Spring_2016)/Day_4_coding_challenge|Day 4 coding challenge]] '''[https://canvas.uw.edu/courses/1040891/assignments/3264409 Turn in here!]'''
 
;Readings
* reading 1
 
;Class schedule
*one


;Exercises
;Agenda
*one
* [[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").
* [[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
*stuff
*[[DS4UX_(Spring_2016)/Day_5_coding_challenge|Day 5 coding challenge]] ('''Update: NOT Required''')
*[[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 ===
''overview''
[[DS4UX_(Spring_2016)/Day_6_plan|Day 6 plan]]


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


;Readings
;Agenda
* reading 1
* [[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]


;Class schedule
;Homework
*one
*[[DS4UX_(Spring_2016)/Day_6_coding_challenge|Day 6 coding challenge]] ('''Required''')
 
;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 ===
''overview''
[[DS4UX_(Spring_2016)/Day_7_plan|Day 7 plan]]
 
;Assignments due
;Assignments due
* assignment 1


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


;Class schedule
;Agenda
*one
* 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.
;Exercises
:* [https://jtmorgan.net/ds4ux/week7/lecture.zip Click here to download the lecture slides and code]
*one
* [[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.
 
:* [https://jtmorgan.net/ds4ux/week7/bpdata.zip Click here to download the building permit code and data]
;Homework
*stuff


;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 ===
''overview''
[[DS4UX_(Spring_2016)/Day_8_plan|Day 8 plan]]
 
;Assignments due
;Assignments due
* assignment 1
*[[DS4UX_(Spring_2016)#Final_Project_Proposal|Final project proposal]] '''MOVED FROM WEEK 7'''
 
;Agenda
;Readings
*Jupyter notebooks: intro and setup
* reading 1
:* paws.wmflabs.org
 
:* [https://en.wikipedia.org/w/index.php?title=Special:UserLogin&type=signup CLICK HERE to create a Wikipedia account]
;Class schedule
:* [https://paws-public.wmflabs.org/paws-public/User:Jtmorgan/DS4UX%20Jupyter%20intro.ipynb Jupyter intro notebook]
*one
:* [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>
;Exercises
:* [https://paws-public.wmflabs.org/paws-public/User:Jtmorgan/Week%208%20new%20concepts.ipynb Week 8 new concepts notebook]
*one
*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]
;Homework
:* [http://jtmorgan.net/ds4ux/week8/lecture.zip Click here to download the wiki shows demo code]
*stuff
:* [https://paws-public.wmflabs.org/paws-public/user/Jtmorgan/notebooks/Wiki%20shows.ipynb Wiki-shows notebook]
 
;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 ===
''overview''
[[DS4UX_(Spring_2016)/Day_9_plan|Day 9 plan]]


;Assignments due
;Agenda
* assignment 1
* 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


;Readings
;Resources
* reading 1
* [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'')


;Class schedule
;Free (mostly) Python 3 tutorials and reference works
*one
* ''[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)


;Exercises
<br/>
*one
<br/>


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


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


;Exercises
;Agenda
*one
* Final project presentations


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


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


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


;Readings
* reading 1


;Class schedule
[[Category:DS4UX (Spring 2016)]]
*one
 
;Exercises
*one
 
;Homework
*stuff

Latest revision as of 20: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