Week 1: March 28
- Assignments due
- fill out the pre-course survey
- Class schedule
- Quick introductions — Be ready to introduce yourself and describe your interest and goals in the class.
- Class overview and expectations — We'll walk through this syllabus.
- Installation and setup — You'll install software including the Python programming language and run through a series of exercises.
- 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.
- Interactive lecture: programming concepts 1
- command line basics
- variables, types, lists, dictionaries, tuples
- Homework
- Python quiz #1
- 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
- SPARQL queries with Hurl.it and Python
- Homework
- Python quiz #4
- Day 4 coding challenges
- Resources
- go here
Week 5: April 25
- Assignments due
- Final project ideas
- Class schedule
- Day 5 lecture - visualizing data
- Introduction to Jupyter notebooks
- Jupyter notebooks 1
- importing data with SQL and API queries
- Coding challenges
- Resources
- go here
Week 6: May 2
- Class schedule
- Coding challenges
- Resources
- go here
Week 7: May 9
- Assignments due
- Final project plan
- Class schedule
- Coding challenges
- Resources
- go here
Week 8: May 16
- Class schedule
- Coding challenges
- Resources
- go here
Week 9: May 23
- Class schedule
- Coding challenges
- Resources
- go here
Week 10: May 30
- Class schedule
- TBD
Week 11: June 6
- Assignments due
- final projects due by midnight on Wednesday, 6/8/2016
- Class schedule
- No class this week!