Week 1: March 28
- 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.
- Lecture: Why Programming and Data Science — 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
- Homework
- Self-guided tutorial and exercises — You'll work through a self-guided tutorial to practice the basic concepts we introduced in the lecture.
- Resources
Week 2: April 4
- Class schedule
- Lecture — working with data
- flow control
- modules
- user-defined functions
- Exercises
- Reading data from a flat file (interactively & from a script)
- Homework
- Python quiz #2
- Coding challenges
- Set up a Wikimedia account
- Resources
Week 3: April 11
- Class schedule
- Day 3 lecture - working with web data 1 (APIs)
- programming concepts 3
- APIs
- JSON
- Exercises
- Practice in API sandboxes
- Requesting data from an API using Python
- Homework
- Python quiz #3
- Day 3 coding challenges
- Resources
- go here
Week 4: April 18
- Class schedule
- Day 4 lecture - working with web data 2 (SQL)
- introduction to the Wikipedia database
- programming concepts 4
- SQL queries
- advanced API queries
- final project discussion 1
- data sources
- research questions
- outline of project idea and project plan deliverables
- Exercises
- MYSQL queries with Quarry
- SOQL queries with Hurl.it and Python
- Homework
- Python quiz #4
- Day 4 coding challenges
- Resources
- go here
Week 5: April 25
- Assignments due
- Class schedule
- Day 5 lecture - visualizing data
- Introduction to Jupyter notebooks
- Jupyter notebooks 1
- importing data with SQL and API queries
- data manipulation with Jupyter
- Exercises
- visualize Seattle building permit data
- Homework
- Python quiz #5
- Day 5 coding challenges
- Resources
- go here
Week 6: May 2
- Class schedule
- Day 6 lecture - working with text
- Jupyter notebooks 2
- basic regular expressions
- graphing data with MatPlotLib
- Exercises
- counting mentions and welcomes in the Teahouse corpus
- plotting trends over time in the Teahouse corpus
- Homework
- Resources
- go here
Week 7: May 9
- Assignments due
- Class schedule
- Day 7 lecture - describing data with statistics
- Jupyter notebooks 3
- running statistics with SciPy
- Exercises
- plotting Burke-Gilman bike traffic on rainy days
- Coding challenges
- Resources
- go here
Week 8: May 16
- Class schedule
- Day 8 lecture - research study design
- Exercises
- Replicate Teahouse invite A/B test
- Coding challenges
- Resources
- go here
Week 9: May 23
- Class schedule
- Day 9 lecture - communicating your findings
- review of key concepts and tools
- presentation practice
- Homework
- goes here
- Resources
- go here
Week 10: May 30
- Assignments due
- Class schedule
- Day 10 lecture - Final project report review, next steps for Data Science
- Final project presentations
Week 11: June 6
- Assignments due
- Final project report and code due by midnight on Wednesday, 6/8/2016
- Class schedule
- Finals week - No class!