CDSC Computational Social Science Workshop (Fall 2022)

The CDSC Computational Social Science Workshop in Fall 2022 is a series of project-based workshops being held at the University of Washington for anyone interested in learning how to use programming and data science tools to ask and answer questions about online communities like Wikipedia, Twitter, free and open source software, and civic media. If taken with a faculty supervisor, the workshop is intended to be suitable for university-level credit.

The Fall 2022 workshop will take place:


 * Tuesdays, 12-2pm Pacific time. The first hour will be interactive lecture and discussion, and the second hour devoted to questions, co-working, and 1-on-1 discussion
 * In-Person for UW folks, on Jitsi for folks elsewhere.

This workshop is for people with absolutely no previous programming experience who want to use data to answer questions about the social world.

The goal is that, after the workshop, participants will be able to use data to produce numbers, hypothesis tests, tables, and graphical visualizations to answer questions like:


 * Are new contributors in Wikipedia this year sticking around longer or contributing more than people who joined last year?
 * Who are the most active or influential users of a particular Twitter hashtag?
 * Are people who join through a Wikipedia outreach event staying involved? How do they compare to people who decide to join the project outside of the event?

The workshop is based on the curriculum used for the Computational Data Science Workshops.

Schedule
'''All sessions are interactive and involve you programming on your own and on your own laptop. Everybody attending should bring a laptop and a power cord so that they don't run out of battery.'''

10/4 Set Up Your Environment

 * Objectives: During this session, you will:


 * work through any remaining items in the onboarding checklist
 * set up your development environment
 * learn how to write and execute Python code in a Jupyter Notebook
 * learn about printing and using Python as a calculator


 * Material: Click here for the the setup and tutorial material.


 * Python practice through short projects (see below) on a variety of fun and practical topics:
 * Baby Names
 * Learnpython.org exercises

10/11 Introduction to Programming

 * Objectives: Programming is an essential tool for data science and is useful for solving many other problems. The goal of this session will be to introduce programming in the Python programming language. Each participant will leave having solved a real problem and will have built their first real programming project.


 * Class Material: We will use this overview on using Python -- there are notes on what this includes located here: a lecture-based introduction to the Python programming language

10/18 Importing Data from web APIs Part 1
Course Material An interactive introduction to the web programming and APIs

Prep for next week Complete the Twitter authentication setup before we meet. If you plan to complete the Yelp session, you need to complete the Yelp authentication setup instructions.

10/25 Importing Data from web APIs Part 2
Web API practice through short projects (see below) on a variety of fun and practical topics:
 * Twitter
 * Wikipedia
 * Yelp - Get a Yelp API Key ahead of time so you're ready to go.
 * TikTok


 * Objectives: An important step in doing data science is collecting data. The goal of this session will be to teach participants how to get data from the public application programming interfaces ("APIs") common to many social media and online communities. Although we will use the APIs provided by Wikipedia, Twitter, and Yelp in the session, the principles and techniques are common to many other online communities.

11/1: Data Analysis and Visualization

 * interactive lecture

11/8 Web API practice through independent projects

 * Visualization and analysis of civic data from data.seattle.gov
 * Review of Previous Topics
 * Independent projects working on issues of your choosing!


 * Objectives: The goal of data science is to use data to answer questions. In our final session, we will use the Python skills we learned in the first session and the datasets we've created in the second to ask and answer common questions about online and offline communities. We will focus on learning how to generate visualizations, create summary statistics, and test hypotheses.

11/15 Leveling up: Using computation servers

 * hyak
 * kibo
 * wikiq
 * git

Objectives: Let's not be limited to what our laptops can do: there are supercomputers at our disposal, and code developed by previous folks. Let's explore those group resources!