Skip to main content
Ctrl+K
Social Media, Ethics, and Automation - Home Social Media, Ethics, and Automation - Home
  • Social Media, Ethics, and Automation
  • Authors and Acknowledgements
  • Perspectives and Biases

Book

  • 1. Introduction
    • 1.1. The case of Justine Sacco’s racist joke tweet
    • 1.2. Kumail Nanjiani’s Reflections on Ethics in Tech
    • 1.3. Learning Goals
    • 1.4. Bibliography
  • 2. Definitions
    • 2.1. Social Media
      • 2.1.1. What is Social Media?
      • 2.1.2. Social Media Platform Examples
      • 2.1.3. Social Media and “Real Life”
    • 2.2. Ethics
      • 2.2.1. What is Ethics?
      • 2.2.2. The “Golden Rule”
      • 2.2.3. Ethics Frameworks
      • 2.2.4. Practice Using Frameworks
      • 2.2.5. Ethics Frameworks Self-Assessment
    • 2.3. Automation
      • 2.3.1. Language Translation (Analogy)
      • 2.3.2. Human Computers
      • 2.3.3. Computers Speak Binary
      • 2.3.4. First Programmers
      • 2.3.5. Compilers and Programimng Languages
      • 2.3.6. A program that makes one Mastodon post
      • 2.3.7. Understanding the Mastodon Bot Code
      • 2.3.8. Demo: Try Running the Mastodon Bot!
      • 2.3.9. Reflections on the Bot
      • 2.3.10. Automation in Social Media
    • 2.4. Tying It Together
    • 2.5. Bibliography
  • 3. Bots
    • 3.1. Definition of a bot
    • 3.2. Examples of Bots (or apps)
    • 3.3. Anatomy of a Bot
      • 3.3.1. Organizing a Computer Program
      • 3.3.2. Demo: Statements, Variables, and Sleep
      • 3.3.3. Practice: Statements and Variables
      • 3.3.4. Code Structure Self-Assessment
      • 3.3.5. Python Basics Self-Assessment
    • 3.4. Bots and Responsibility
    • 3.5. Activity: Find Lists of Bots
    • 3.6. Bibliography
  • 4. Data
    • 4.1. Anatomy of a Social Media Post
      • 4.1.1. Data in a Social Media Post
      • 4.1.2. Basic Data Types
      • 4.1.3. Grouping data
      • 4.1.4. Additional Data Types
      • 4.1.5. Data Constraints
      • 4.1.6. Reflection Questions
    • 4.2. All data is a simplification of reality
    • 4.3. Who does data fit?
    • 4.4. How Data Informs Ethics
    • 4.5. Data in Python and Bluesky
      • 4.5.1. Demo: Python Basic Data Types
      • 4.5.2. Practice: Python Basic Data Types
      • 4.5.3. Demo: Data from a Bluesky Post\n
    • 4.6. Design Activity: Data and Social media
    • 4.7. Reflection: Ethics of Choosing Data Representation
    • 4.8. Bibliography
  • 5. History of Social Media
    • 5.1. Pre-Internet Social Media
    • 5.2. Web 1.0 Social Media
    • 5.3. Web 2.0 Social Media
    • 5.4. Looping with Lists and Dictionaries in Social Media
      • 5.4.1. Demo: Lists and Loops
      • 5.4.2. Demo: Dictionaries
      • 5.4.3. Practice: Looping through lists and dictionaries
    • 5.5. Antisocial Media
    • 5.6. Social Media Design
    • 5.7. Design Analysis: Use Cases and Social Media Designs
    • 5.8. Bibliography
  • 6. Authenticity
    • 6.1. Authenticity
    • 6.2. Posting Sources
      • 6.2.1. Example: Trump Tweet Sources
      • 6.2.2. Demo & Practice: Author Info
    • 6.3. Inauthenticity
    • 6.4. Personas, Code Switching, Context Collapse
    • 6.5. Parasocial Relationships
    • 6.6. Authenticity and Anonymity
    • 6.7. Example: Corporate Brand Authenticity
    • 6.8. Design Analysis: Facebook Names Rules
    • 6.9. Bibliography
  • 7. Trolling
    • 7.1. What is trolling
    • 7.2. Origins of trolling
    • 7.3. Activity: Evaluating Trolling Examples
    • 7.4. Responding to trolls?
    • 7.5. Trolling a Reply Bot
      • 7.5.1. Demo: Conditionals and String Manipulation
      • 7.5.2. Practice: Conditionals and String Manipulation
      • 7.5.3. Demo: Trolling a Reply Bot
    • 7.6. Ethics and Trolling
    • 7.7. Bibliography
  • 8. Data Mining
    • 8.1. Sources of Social Media Data
    • 8.2. Data From the Bluesky API
    • 8.3. Mining Social Media Data
    • 8.4. How is this data used
    • 8.5. Activity: What platforms think of you
    • 8.6. Sentiment Analysis on Social Media
      • 8.6.1. Demo: Sentiment Analysis and Loop Variables
      • 8.6.2. Practice: Sentiment Analysis and Loop Variables
      • 8.6.3. Demo: Sentiment Analysis on Bluesky
    • 8.7. Data Poisoning
    • 8.8. Reflections on Data Mining
    • 8.9. Bibliography
  • 9. Privacy and Security
    • 9.1. Privacy
    • 9.2. Security
    • 9.3. Additional Privacy Violations
    • 9.4. Tracking Use
      • 9.4.1. Demo: Writing Functions
      • 9.4.2. Practice: Functions
      • 9.4.3. Demo: Track Use of Sentiment Analysis Code
    • 9.5. Design Analysis: GDPR
    • 9.6. Reflection Questions
    • 9.7. Bibliography
  • 10. Accessibility and Inclusivity
    • 10.1. Disability
    • 10.2. Accessible Design
    • 10.3. Why It Matters Who Designs
    • 10.4. Alt-text on Social Media
      • 10.4.1. Alt-text
      • 10.4.2. Demo: Alt-text From Bluesky
    • 10.5. Design Analysis: Accessibility
    • 10.6. Bibliography
  • 11. Recommendation Algorithms
    • 11.1. What Recommendation Algorithms Do
    • 11.2. Ethical Analysis of Recommendation Algorithms
    • 11.3. Individual Concerns with Recommendation Algorithms
    • 11.4. Societal Concerns with Recommendation Algorithms
    • 11.5. Recommendation Bot
      • 11.5.1. Demo: Dictionary Counters
      • 11.5.2. Practice: Dictionary Counters
      • 11.5.3. Demo: Recommend Users to Follow
    • 11.6. Design Activity
    • 11.7. Bibliography
  • 12. Virality and Memes
    • 12.1. Evolution and Memes
    • 12.2. Pre-internet Virality Examples
    • 12.3. Evolution in social media
    • 12.4. Virality and Intention
    • 12.5. Ethics of copying
    • 12.6. The Experience of Going Viral
    • 12.7. Activity: Value statements in what goes viral
    • 12.8. Reflections
    • 12.9. Bibliography
  • 13. Mental Health
    • 13.1. Social Media Influence on Mental Health
    • 13.2. Unhealthy Activities on Social Media
    • 13.3. Healthy Activities on Social Media
    • 13.4. Mental Health Detection
    • 13.5. Demo: Only positive news
    • 13.6. Design Analysis: Mental Health
    • 13.7. Reflection questions on mental health
    • 13.8. Bibliography
  • 14. Content Moderation
    • 14.1. What Content Gets Moderated
    • 14.2. Moderation Tools
    • 14.3. Comparing Different Platforms
    • 14.5. Moderation and Ethics
    • 14.6. Activity and Reflections on Moderation
    • 14.7. Viewing Comments and Replies
      • 14.7.1. Tree Structures
      • 14.7.2. Demo: Navigating Trees (recursion)
      • 14.7.3. Demo: Display Real Bluesky Comments and Replies
      • 14.7.4. Demo: Hide Some Comments
    • 14.8. Bibliography
  • 15. Content Moderators
    • 15.1. Types of Content Moderator Set-Ups
    • 15.2. Example Moderator Set-ups
    • 15.3. The Toll on Moderators
    • 15.4. Game: Try being a content moderator
    • 15.5. Bibliography
  • 16. Crowdsourcing
    • 16.1. Crowdsourcing Definition
    • 16.2. Planned Crowdsourcing Examples
    • 16.3. Ad-hoc Crowdsourcing Examples
    • 16.4. Power Users and Lurkers
    • 16.5. Visualizing Networks
    • 16.6. Reflection Questions
    • 16.7. Bibliography
  • 17. Harassment
    • 17.1. Individual harassment
    • 17.2. Crowd Harassment
    • 17.3. Who gets harassed?
    • 17.4. Ethics and Harassment
    • 17.5. Justifying Harassment
    • 17.6. Stopping Harassment?
    • 17.7. Design Example: Quoting Posts
    • 17.8. Design Activity on Harassment
    • 17.9. Bibliography
  • 18. Public Criticism and Public Shaming
    • 18.1. Shame vs. Guilt in childhood development
    • 18.2. Online Criticism and Shaming
    • 18.3. Perspectives on the Ethics of Public Shaming
    • 18.4. Repair and Reconciliation
    • 18.5. Design a Retract Feature
    • 18.6. Bibliography
  • 19. Capitalism
    • 19.1. What is Capitalism?
    • 19.2. Meta’s Capitalist Strategy
    • 19.3. Responses to Meta’s Business Strategies
    • 19.4. Meta vs. Users
    • 19.5. Game: Try running a social media company
    • 19.6. Imagining Alternatives
    • 19.7. Programming, Gender, Status, and Money
    • 19.8. Bibliography
  • 20. Colonialism
    • 20.1. What is Colonialism?
    • 20.2. Colonialism in Tech
    • 20.3. Colonialism in Programming
    • 20.4. Mark Zuckerberg’s “Benevolent” Goals
    • 20.5. Colonialism and Meta’s Strategy
    • 20.6. Imagining Alternatives
    • 20.7. Bibliography
  • 21. Conclusions
    • 21.1. What We Covered
    • 21.2. Ethics in Tech
    • 21.3. Going Forward
      • 21.3.1. As a Social Media User
      • 21.3.2. As a Member of Society
      • 21.3.3. As a Potential Tech Worker
    • 21.4. Final Reflection Questions
    • 21.5. More Resources
    • 21.6. Bibliography

Appendix

  • 22. Making a Bot Account (Mastodon)
  • 23. Practice Solutions
    • 23.1. Ch 3 Practice: Statements and Variables
    • 23.2. Ch 4 Practice: Python Basic Data Types
    • 23.3. Ch 5 Practice: Looping through lists and dictionaries
    • 23.4. Ch 7 Practice: Conditionals and String Manipulation
    • 23.5. Ch 8 Practice: Sentiment Analysis and Loop Variables
    • 23.6. Ch 9 Practice: Functions
    • 23.7. Ch 12 Solution: Dictionary Counters
  • 24. Teaching With This Book
    • 24.1. Pedagogical Goals and Design
    • 24.2. Tech Set-Up
    • 24.3. Assignments
      • 24.3.1. Reading assignments
      • 24.3.2. Programming practice
      • 24.3.3. Programming Assignments
        • A1: Make 7 Bluesky Posts
        • A2: Try another site
        • A3: Trolling a Reply Bot
        • A4: Political Bias\n”
        • A5: Best Comments\n”
      • 24.3.4. Group Final Project
        • Project Description
        • Project Proposal
        • Project Write-Up
        • Project Presentation
        • Peer Evaluation
        • Your Favorite Projects
      • 24.3.5. Writing Project
        • Writing Project Description
        • Proposal
        • Sourcing Topic/Scenario
        • Ethics Frameworks Background
        • Outline of Using Frameworks
        • Writing Project Draft
        • Final Project
    • 24.4. Course Schedule
  • Repository
  • Open issue
  • .md

Teaching With This Book

24. Teaching With This Book#

  • 24.1. Pedagogical Goals and Design
  • 24.2. Tech Set-Up
  • 24.3. Assignments
    • 24.3.1. Reading assignments
    • 24.3.2. Programming practice
    • 24.3.3. Programming Assignments
      • A1: Make 7 Bluesky Posts
      • A2: Try another site
      • A3: Trolling a Reply Bot
      • A4: Political Bias\n”
      • A5: Best Comments\n”
    • 24.3.4. Group Final Project
      • Project Description
      • Project Proposal
      • Project Write-Up
      • Project Presentation
      • Peer Evaluation
      • Your Favorite Projects
    • 24.3.5. Writing Project
      • Writing Project Description
      • Proposal
      • Sourcing Topic/Scenario
      • Ethics Frameworks Background
      • Outline of Using Frameworks
      • Writing Project Draft
      • Final Project
  • 24.4. Course Schedule

previous

23.7. Ch 12 Solution: Dictionary Counters

next

24.1. Pedagogical Goals and Design

By Kyle Thayer and Susan Notess

© Copyright 2024.