Skip to content

30% | Participation

The participation grade is divided into three parts: a student group live demo, peer discussion ("I like, I wish, I wonder"), and continuous engagement.

Live Demo

Students are expected to perform a Live Demo in their groups that helps the class understand a specific programming or statistical concept applied to social science research.

A live demo is a hands-on, interactive demonstration illustrating how to leverage open source tools (Python, pandas, Altair, statsmodels, Typst) with practical, coded examples.

Live Demo Requirements

  • Duration: The live demo lasts 10–15 minutes.
  • Handout: The presenting group must prepare a handout (an interactive Python script .py or Typst document) and share it on the class WhatsApp group before class.
  • Frequency: There are 4 student groups. Each group presents twice during the year (once in Semester 1, once in Semester 2).
  • Preparation & Direction: Groups can book a meeting with the instructor ahead of their demo to get direction, review code examples, and refine their presentation plan.
  • Structure:
    1. Introduce the problem or concept (why does this matter in social science?).
    2. Walk through executable, clean code step-by-step.
    3. Conclude with a practical takeaway for the class's research projects.

Live Demo Schedule

Session Group Topic & Focus Handout Example
S2 Group 1 Typst for Scientific Writing Syntax, document structure, .bib citations, exporting PDF
S3 Group 2 Python & Pandas Data Structures Variables, lists, dictionaries, Series & DataFrames basics
S4 Group 3 Data Acquisition & Column Inspection Reading ANES data, .shape, .info(), .describe(), column subsetting
S5 Group 4 Filtering Survey Rows & Univariate Charts Boolean masks, .value_counts(), distributions with Altair
S8 Group 1 Survey Data Recoding & Variable Creation Handling -9/-8/DK codes to NaN, masks vs. .replace(), binary indicators
S9 Group 2 Subgroup Analysis & Cross-Tabulations groupby(), comparing group means, pd.crosstab(..., normalize='index')
S10 Group 3 Linear Regression & Categorical Predictors Specifying DV ~ IV, adding C(category), interpreting slopes, reference levels & R²
S11 Group 4 Multiple Regression Specifications & Exporting Tables Models with controls (Baseline → Demographics → Full model), make_table for Typst

Back-Up Live Demo Themes

If a scheduled live demo requires substitution or if a group wishes to explore an alternative topic with instructor approval, groups may select from the following backup themes:

  • Semester 1 Backup: Visualizing Relationships with Altair
    Bivariate charts, scatter plots, grouped bars, color/size encodings, and interactive tooltips for exploratory analysis.
  • Semester 2 Backup: Visualizing Regression Models & Substantive Findings
    Plotting regression coefficients with 95% confidence intervals (plt.errorbar), predicted margins, and communicating substantive findings in Typst.
  • Cross-Tabulations & Survey Margins
    Computing row and column percentages with pd.crosstab(..., normalize='index') to analyze demographic differences in political behavior.
  • Navigating ANES Codebooks & Survey Weights
    Understanding questionnaire skip patterns, reading ANES documentation, and applying survey sampling weights.

Peer Discussion

Immediately following each live demo, the instructor randomly selects a peer student group to open the discussion. The selected group provides constructive feedback using the "I like, I wish, I wonder" framework:

  • I like: What worked well? Which explanation or code snippet was especially clear?
  • I wish: What could be improved, clarified, or expanded for practical use?
  • I wonder: What open questions or new applications does this demonstration inspire for our projects?

Mental Model


Continuous Engagement

Students are expected to actively engage during class meetings, participate in hands-on lab exercises, and contribute to the course WhatsApp community (asking questions, sharing tips, and troubleshooting code with peers).