Toggle navigation sidebar
Toggle in-page Table of Contents
Social Media, Ethics, and Automation
Social Media, Ethics, and Automation
Authors and Acknowledgements
Perspectives and Biases
Making a Twitter Bot Account
Book
1. Introduction
1.1. The case of Justine Sacco’s racist joke tweet
1.2. Kumail Nanjiani’s Reflections on Ethics in Tech
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. Other Frameworks
2.2.5. Practice Using Frameworks
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 posts one tweet
2.3.7. Understanding the Twitter Bot Code
2.3.8. Demo: Try Running the Twitter Bot!
2.3.9. Reflection questions
2.4. Tying It Together
2.5. Learn more
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.4. Bots and Responsibility
3.5. Learn more
4. Data
4.1. Anatomy of a Tweet
4.1.1. Data in a Tweet
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 Twitter
4.5.1. Demo: Python Basic Data Types
4.5.2. Practice: Python Basic Data Types
4.5.3. Demo: Data from a Tweet
4.5.4. Design Activity: Data and Social media
4.6. Reflection: Ethics of Choosing Data Representation
4.7. Learn more
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. Reflection Activities: Compare Social Media Designs
5.8. Learn More
6. Authenticity
6.1. Authenticity
6.2. Posting Sources
6.2.1. Example: Trump Tweet Sources
6.2.2. Demo & Practice: Tweet Sources
6.3. Inauthenticity
6.4. Personas and Code Switching
6.5. Parasocial Relationships
6.6. Authenticity and Anonymity
6.7. Example: Corporate Brand Authenticity
6.8. Design Analysis: Facebook Names Rules
6.9. Learn More
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
8. Data Mining
8.1. Sources of Social Media Data
8.2. Data From the Twitter 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 Twitter
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 Twitter
8.7. Reflections on Data Mining
8.8. Learn More
9. Privacy and Security
9.1. Privacy
9.2. Security
9.3. Additional Privacy Violations
9.4. Context Collapse
9.5. Tracking Use
9.5.1. Demo: Writing Functions
9.5.2. Practice: Functions
9.5.3. Demo: Track Tweepy Use
9.6. Reflection Questions
9.7. Learn More
10. Accessibility
10.1. Disability
10.2. Accessible Design
10.3. Why It Matters Who Designs
10.4. Activity: Accessibility on Social Media
10.5. Alt-text on Twitter
10.5.1. Alt-text
10.5.2. Demo: Extra Data From Twitter
10.5.3. Demo: Alt-text From Twitter
11. Virality
11.1. Evolution and Memes
11.2. Pre-internet Virality Examples
11.3. Evolution in social media
11.4. Virality and Intention
11.5. Ethics of copying
11.6. The Experience of Going Viral
11.7. Reflections
11.8. Learn More
12. Recommendation Algorithms
12.1. What Recommendation Algorithms Do
12.2. Individual Concerns with Recommendation Algorithms
12.3. Societal Concerns with Recommendation Algorithms
12.4. Recommend a Friend
12.4.1. Demo: Dictionary Counters
12.4.2. Practice: Dictionary Counters
12.4.3. Demo: Recommend a User to Follow
12.5. Design Activity
12.6. Learn More
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. Reflection questions on mental health
13.7. Learn more
14. Content Moderation
14.1. What Content Gets Moderated
14.2. Moderation Tools
14.3. Comparing Different Platforms
14.4. Moderation and Ethics
14.5. Activity and Reflections on Moderation
14.6. Viewing Tweets and Replies
14.6.1. Tree Structures
14.6.2. Demo: Navigating Trees (recursion)
14.6.3. Demo: Hide Some Tweets
14.7. Learn More
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. Learn More
16. Crowd Work
16.1. Crowd Work Definition
16.2. Planned Crowd Work Examples
16.3. Ad-hoc Crowd Work Examples
16.4. Power Users and Lurkers
16.5. Visualizing Networks
16.6. Reflection Questions
16.7. Learn More
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 and Harassment
17.8. Reflection Questions
17.9. Learn More
18. Public Shaming
18.1. Shame vs. Guilt in childhood development
18.2. Online Shaming
18.3. Perspectives on the Ethics of Public Shaming
18.4. Repair and Reconciliation
18.5. Design a Retract Feature
18.6. Learn More
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. Imagining Alternatives
19.6. Programming, Gender, Status, and Money
19.7. Learn More
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. Learn More
21. Conclusions
21.1. What We Covered
21.2. Going Forward
21.2.1. As a Social Media User
21.2.2. As a Member of Society
21.2.3. As a Potential Tech Worker
21.3. Final Reflection Questions
21.4. More Resources
Appendix
(Incomplete) Teaching With This Book
Practice Solutions
Ch 3 Practice: Statements and Variables
Ch 4 Practice: Python Basic Data Types
Ch 5 Practice: Looping through lists and dictionaries
Ch 7 Practice: Conditionals and String Manipulation
Ch 8 Practice: Sentiment Analysis and Loop Variables
Ch 9 Practice: Functions
Ch 12 Solution: Dictionary Counters
Ch14 Demo: recursion with real tweets
repository
open issue
.md
.pdf
Colonialism
20.
Colonialism
#
Let’s take a final step back now and look at 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. Learn More