Welcome to COM 674!

About Me

Introductions

Dad Joke

  • Why did the nearsighted man fall in the well?
  • He couldn’t see that well!

The Class

Programming provides exciting opportunities for social scientists

  • Digital data is exploding and programming is required to do research at scale
  • Algorithms mediate more and more interactions and understanding programming can help us to analyze them
  • Computational methods let us do new things
    • Natural language processing
    • Simulation
    • Large-scale experiments
  • There is value in “thinking like a computer”

Goals

  • Learn basic programming
  • Collect data using APIs
  • Perform basic visualizations using Pandas
  • Learn about fundamental computational social science techniques
  • Read and evaluate computational social science research
  • Meaningfully progress a research project that uses computation

This is an intense class intended to teach the basics of skills used by computational social scientists

  • But we can do it!
  • Module 1: Python for Everybody
  • Module 2: Pandas, visualizations, and APIs
  • Module 3: Data cleaning, version control, etc.
  • Module 4: Work on final project

Day-to-day

  • Lecture
    • Recorded lecture on coding topic
    • Notebook to follow along - download and run each day
    • Class time focused on confusions + Coding Challenges
  • Coding Challenges
    • Random “cold calling” for reviewing solutions
  • Example paper
    • One person will present each Thursday + lead discussion
    • Others will be prepared to discuss
  • Co-working

Readings

  • Getting kind of stale
    • Help me find new things to read!
  • Sign up to present on Google Spreadsheet (up to 2 people)
    • Present the work as though you were the researcher
    • Everyone else will skim and be prepared to ask questions

Coding Challenges

  • Exercises from the book
  • Jupyter Notebooks
  • Suggested approach:
    • Work with a partner
    • Turn on Github Copilot
      • Make sure you understand the result!
    • Ask questions on Element
    • Look up solutions (where available)

Coding Challenge Reviews

  • The coldcaller will choose someone to share in class
  • Rotation for who is assigned to submit / curate solution on Element

Final Project

  • Default option
    • Jupyter notebook
    • Short intro + Methods + Result section of paper
  • Replication
  • Do what is best for your future goals

Project Milestones

  • Final project
    • Identify a dataset and general plan (September 6)
    • Project planning doc (October 18)
    • Project presentation + report (December 6 and 8)

Grades

  • Goal is learning
  • Two self-assessment reflections

Resources

Wiki

  • Schedule
  • Links to readings
  • Slides and videos may be from older versions of the class
    • I will try to stay 1-2 weeks ahead

Brightspace

  • Readings
  • Example Projects
  • Announcements

Element

  • Post questions and help each other
  • Post solutions to homework problems

Anaconda / VSCode Intro