CDSC Computational Social Science Workshop (Fall 2022): Difference between revisions

From CommunityData
(getting started with a fall kaylea-taught version)
 
 
(35 intermediate revisions by the same user not shown)
Line 4: Line 4:


* 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
* 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
* Zoom or In-Person
* 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.
'''This workshop is for people with absolutely no previous programming experience''' who want to use data to answer questions about the social world.
Line 14: Line 14:
* 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?
* 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 entirely based on [[CDSW|the curriculum used for the Computational Data Science Workshops]].
The workshop is based on [[CDSW|the curriculum used for the Computational Data Science Workshops]].


== Schedule ==
== Schedule ==
There will be a mandatory evening setup session '''6:00-9:00pm on Friday January 17''' and three workshops held from '''9:45am-4pm on three Saturdays (January 18 and February 1 and 15)'''. Each Saturday session will involve a period for lecture and technical demonstrations in the morning. This will be followed by a lunch graciously provided by the [http://escience.washington.edu/ eScience Institute at UW]. The rest of the day will be followed by group work on programming and data science projects supported by more experienced mentors.


'''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.'''
'''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.'''


=== Session 0: Setup and Programming Tutorial (Friday January 17 evening)===


Come to the '''[http://www.washington.edu/maps/#!/cmu Communications Building (CMU) 104]''' between 6:00 and 9:00pm. It's OK if you come a little late but you'll want to have as much time as you can to finish the setup and self-directed assignments so come as close to 6:00pm as you can. Most people will finish early but some people will definitely need the full 3 hours. It's hard to know in advance where problems will crop up so please come on time even if you are confident.
===10/4 Set Up Your Environment===


:'''Time''': 6-9pm
: '''Objectives''': During this session, you will:
:'''Location''': '''[http://www.washington.edu/maps/#!/cmu Communications Building (CMU) 104]'''
: '''Objectives''': During this session, mentors will help you:


:: work through any remaining items in the onboarding checklist
:: set up your development environment
:: set up your development environment
:: learn how to write and execute Python code in a Jupyter Notebook
:: learn how to write and execute Python code in a Jupyter Notebook
Line 36: Line 32:
:'''Material''': <font size="+1">[[CDSW/Day 0 setup and tutorial|Click here for the the setup and tutorial material.]]</font>
:'''Material''': <font size="+1">[[CDSW/Day 0 setup and tutorial|Click here for the the setup and tutorial material.]]</font>


'''Note''': Because we expect to hit the ground running on our first full day, we will meet to help participants get software installed and to work through a self-guided tutorial that will help ensure that everyone has the skills and vocabulary to start programming and learning when we meet the following morning.


=== Session 1: Introduction to Programming (January 18) ===
::  Python practice through short projects (see below) on a variety of fun and practical topics:
::* [[Baby_Names | Baby Names]]
::* [[Learnpython.org exercises]]
 


Come to '''[http://uw.edu/maps/?sav Savery Hall (SAV) 260] by 9:45am'''.
===10/11 Introduction to Programming ===
Plan to be on UW campus by 9:45am. You will need time to get settled and setup. We will start lecturing promptly at 10am. There will be coffee!


: '''Time:''' 9:45am-4pm
: '''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 [http://www.python.org/ Python programming language]. Each participant will leave having solved a real problem and will have built their first real programming project.
: '''Location:''' [http://uw.edu/maps/?sav Savery Hall (SAV)]


: '''Schedule'''
: '''Class Material''': We will use this [https://communitydata.science/~mako/cdsw-wi2020-lecture1-20200118.ogv overview on using Python] -- there are notes on what this includes located here: [[CDSW/Day_1_lecture|a lecture-based introduction to the Python programming language]]
:: '''Morning, 10am-12:20 (SAV 260)''': [[CDSW/Day_1_lecture|A 2.5 hour lecture-based introduction to the Python programming language]]
:: '''Lunch, 12:20-1pm (Savery Hall in the downstairs hallway)''': We'll provide lunch (pizza!)
:: '''Afternoon, 1pm-3:30pm (SAV 130, 137, 138, 156):''' Python practice through short projects (see below) on a variety of fun and practical topics:
::* [[Baby_Names | Baby Names]]
::* [[Learnpython.org exercises]]
:: '''Wrap-up, 3:30pm-4pm (SAV 260):''' Wrap-up, next steps, and upcoming opportunities for learning and practicing Python


: '''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 [http://www.python.org/ Python programming language]. Each participant will leave having solved a real problem and will have built their first real programming project.
===10/18 Importing Data from web APIs Part 1 ===


=== Session 2: Importing Data from web APIs (February 1) ===
'''Course Material'''
Come to '''[http://uw.edu/maps/?sav Savery Hall (SAV) 260] by 9:45am'''. You will need time to get settled and setup. We will start lecturing promptly at 10am. There will be coffee!
[[CDSW/Day_2_Lecture|An interactive introduction to the web programming and APIs]]


: '''Time''': 9:45am-4pm
'''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.


: '''Location''': [http://uw.edu/maps/?sav Savery Hall (SAV)]
===10/25 Importing Data from web APIs Part 2 ===


: '''Schedule''':
Web API practice through short projects (see below) on a variety of fun and practical topics:
:: '''Morning: 10am-12:20 (SAV 260)''': [[CDSW/Day_2_Lecture|A 2.5 hour lecture-based introduction to the web programming and APIs]]
:: '''Lunch: 12:20-1pm (Savery Hall downstairs hallway)''': We'll provide lunch (TBD)
:: '''Afternoon: 1pm-3:30pm (SAV 130, 137, 138, 156)''': Web API practice through short projects (see below) on a variety of fun and practical topics:
::* [[Twitter (CDSW)|Twitter]]
::* [[Twitter (CDSW)|Twitter]]
::* [[Wikipedia (CDSW)|Wikipedia]]
::* [[Wikipedia (CDSW)|Wikipedia]]
::* [[Yelp (CDSW)|Yelp]] - Get a [[Yelp API Key]] ahead of time so you're ready to go.
::* [[Yelp (CDSW)|Yelp]] - Get a [[Yelp API Key]] ahead of time so you're ready to go.
:: '''Wrap-up: 3:30pm-4pm''': Wrap-up, next steps, and upcoming opportunities for learning and practicing Python
::* [[TikTok (CDSW)|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 [https://en.wikipedia.org/wiki/Application_programming_interface public application programming interfaces] ("APIs") common to many social media and online communities. Although we will use the APIs provided by Wikipedia, Twitter, and Socrata in the session, the principles and techniques are common to many other online communities.
: '''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 [https://en.wikipedia.org/wiki/Application_programming_interface 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.


: An outline for the lecture can be found [[CDSW/Day_2_lecture|here]] and a list of potential projects for the afternoon session are listed below:
=== 11/1: Data Analysis and Visualization  ===


'''Important Note:''' If you plan to attend the Twitter afternoon session, you need to complete the [[Twitter authentication setup]] ''before'' the afternoon setup on Saturday. If you plan to complete the Yelp session, you need to complete the [[Yelp authentication setup]] instructions. There's no promise that we will be running these sessions this weekend unless there is demand but you will need to have done these if you want to attend the session.
:: [[CDSW/Day_3_Lecture|interactive lecture]]


=== Session 3: Data Analysis and Visualization (February 15) ===
=== 11/8 Web API practice through independent projects ===
Come to '''[http://uw.edu/maps/?sav Savery Hall (SAV) 260] by 9:45am'''. You will need time to get settled and setup. We will start lecturing promptly at 10am. There will be coffee!
::* [[Seattle_open_data|Visualization and analysis of civic data from data.seattle.gov]]
::* [[CDSW/Review_Wk1_Wk2 | Review of Previous Topics]]
::* Independent projects working on issues of ''your'' choosing!


: '''Time''': 9:45am-4pm
: '''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.


: '''Location:''' [http://uw.edu/maps/?sav Savery Hall (SAV) 260]
=== 11/15 Leveling up: Using computation servers ===
* hyak
* kibo
* wikiq
* git


: '''Schedule''':
'''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!


:: '''Morning, 10am-12:20 (SAV 260):''' [[CDSW/Day_3_Lecture|2.5 hour interactive lecture]]
=== 11/22 From data files to dataframes: getting started with R ===
:: '''Lunch, 12:20-1pm (TBD):''' We'll provide lunch ([[:wikipedia:Bahn mi|Bahm mi]] from Saigon Deli)
:: '''Afternoon, 1pm-3:30pm (SAV 130, 137, 138, 156): '''Web API practice through independent projects
::* [[Seattle_open_data|Visualization and analysis of civic data from data.seattle.gov]]
::* [[CDSW/Review_Wk1_Wk2 | Review of Week 1 and Week 2]]
::* Independent projects working on issues of ''your'' choosing!
:: '''Wrap-up, 3:30-4pm
 
: '''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.


== Venue and Logistics ==
=== 11/29 Functions and Figures in R ===


=== What to bring ===
=== 12/6 Putting the pieces together with Overleaf, Rmd, Dropbox, and Zotero ===
# a '''laptop'''
#*  for '''Session 0''' make sure that you have about 1GB of space free so you can install Python and all the necessary other software
#* for '''Sessions 1-3''' bring your laptop with Python set up
# a '''power cord'''
# a '''sense of adventure!'''

Latest revision as of 21:32, 15 November 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[edit]

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[edit]

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:


10/11 Introduction to Programming[edit]

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[edit]

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[edit]

Web API practice through short projects (see below) on a variety of fun and practical topics:

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[edit]

interactive lecture

11/8 Web API practice through independent projects[edit]

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[edit]

  • 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!

11/22 From data files to dataframes: getting started with R[edit]

11/29 Functions and Figures in R[edit]

12/6 Putting the pieces together with Overleaf, Rmd, Dropbox, and Zotero[edit]