Moral Framing and Reddit Upvotes in Teen Online Debates

Moral Framing and Reddit Upvotes in Teen Online Debates

ISEF Category: Behavioral and Social Sciences

Ready to Turn This Idea Into a Real Project?

This guide was put together with the help of AI research tools to give you a solid starting point. But a competitive science fair project lives in the details: refining your research question, fine-tuning your variables, analyzing your data, and presenting your findings like a seasoned scientist.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

Subcategory: Social Psychology  ·  Difficulty: Intermediate  ·  Setup: Home Setup  ·  Time: 1 to 2 Months

The Hook

A comment can sound logical and still get ignored. On Reddit, the words you choose can matter as much as the point you make. Moral language, words about fairness, harm, loyalty, authority, and purity, can act like a signal flare. You can test whether those signals help a comment rise in teen issue debates.

What Is It?

Moral foundations language is the set of cues people use when they argue about right and wrong. Think of it like different lenses. One lens focuses on fairness, another on harm, another on authority, loyalty, or purity.

In Reddit threads about school policy or social media bans, commenters are not only sharing opinions. They are framing the issue in a moral way, like saying a rule is unfair, unsafe, disrespectful, or harmful. Your project asks whether those frames change how other users vote, which makes this a mix of text analysis and social psychology.

Why This Is a Good Topic

This is a strong science fair topic because you can measure it with public text data and clear outcomes like comment score, rank, or early vote growth. It connects to a real problem, since teens argue about school rules and platform bans all the time. You can learn how to code text, control for outside factors, and test whether a moral frame predicts attention better than plain topic alone.

Research Questions

  • How does fairness language affect the upvote score of comments in school policy threads?
  • What is the effect of harm language on early comment ranking in social media ban debates?
  • Does authority language predict higher upvote counts than loyalty language in teen issue threads?
  • To what extent do mixed moral frames outperform single-frame comments after controlling for comment length and thread age?
  • Which moral foundation best predicts comment-level upvote dynamics in Reddit discussions about teen rules?
  • How does the dominant moral frame of the original post change which replies get the most votes?

Basic Materials

  • Laptop with internet access.
  • Python 3 and Jupyter Notebook.
  • pandas for table cleaning and scoring.
  • spaCy or NLTK for text preprocessing.
  • Reddit thread export or Reddit API access.
  • Spreadsheet software for manual coding and checks.
  • Moral Foundations Dictionary or a similar word list.

Advanced Materials

  • University computing server with enough memory for large comment dumps.
  • Reddit academic dataset archive or API credentials for large-scale collection.
  • Annotation platform for double-coding comments.
  • Secure storage for raw text and de-identified metadata.
  • Mixed-effects modeling tools in R or Python.
  • Access to a human coding team for reliability checks.

Software & Tools

  • Python: Cleans Reddit text, builds features, and runs the statistical models.
  • Jupyter Notebook: Lets you document your analysis and code in one place.
  • pandas: Organizes posts and comments into tables you can filter, merge, and score.
  • spaCy: Helps you tokenize text, find parts of speech, and prepare comments for analysis.
  • statsmodels: Fits regression models that test whether moral language predicts votes.

Experiment Steps

  1. Define one issue type and one target outcome, such as comment score, rank, or early vote growth.
  2. Choose how you will label moral language, using a dictionary, human coding, or both.
  3. Pick controls for comment length, thread age, subreddit, and reply depth.
  4. Build a scoring plan that turns text and vote data into variables you can compare.
  5. Plan a validation check that tests whether your labels stay consistent across coders or methods.
  6. Decide how you will compare moral framing against topic alone in your final model.

Common Pitfalls

  • Treating upvote count as a pure measure of agreement, which ignores subreddit norms, thread age, and score fuzzing.
  • Using a general sentiment score instead of a moral foundations codebook, which misses the frame you want to test.
  • Combining school policy and social media ban posts in one pool without labels, which hides issue-specific patterns.
  • Leaving comment length uncontrolled, which can make longer replies look stronger even when moral language does not change.
  • Skipping a coder agreement check, which makes manual labels too noisy to trust.

What Makes This Competitive

A strong version of this project does more than count moral words. It compares multiple moral foundations, controls for thread and user context, and tests whether the pattern holds across issue types. If you add careful manual coding and a model that checks early vote dynamics, the project moves from simple text counting to real social analysis. That is the kind of design choice that makes the work feel serious.

Project Variations

  • Compare school policy threads with sports-rule debates to see whether authority language works the same way in every community.
  • Test whether comments with mixed moral frames earn more early votes than comments built around one foundation.
  • Swap Reddit for another public forum, such as a school board archive or news comment section, to see whether the pattern holds across platforms.

Learn More

  • Pew Research Center: Reports on teen social media use and online behavior, found by searching Pew Research Center for teen social media.
  • Reddit API Documentation: Explains how to collect public posts and comments, found by searching Reddit API docs.
  • Moral Foundations Dictionary: A common starting point for moral language coding, found by searching for the original academic project and dictionary.
  • NIH PubMed: Search for review articles on moral foundations, online discourse, and social psychology.
  • MIT OpenCourseWare: Free statistics and regression lessons that help with model building and interpretation.
  • pandas Documentation: Shows how to clean and merge text data in Python, found by searching the pandas project docs.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

To discover more projects, visit the MehtA+ Science Fair Project Discovery Hub​ →

Shopping Cart