IPHS 200: Programming Humanity
Fall 2026
Professor Katherine Elkins
with guest Professor Jon Chun
- Sections: TR 9:40–11:00 and TR 1:10–2:30
- Office hours: Tuesday 11:00–12:00, Thursday 2:30–4:30, and by appointment
- Course website: programminghumanity.org
- Course text: Scott E. Page, The Model Thinker (available through the Kenyon College Bookstore)
“We become what we behold. We shape our tools and then our tools shape us.”
— John Culkin, reflecting on Marshall McLuhan
Course Description
How do we think about humanity in a computational age?
Our words, movements, preferences, relationships, bodies, and behavior are increasingly translated into data and acted upon by computational systems. These systems visualize, classify, predict, simulate, automate, and intervene in human life.
This course asks a central question:
Can we program our humanity into our tools so that they remain humane, or will our tools program us?
Over the semester, we will examine data, algorithms, visualization, networks, programming languages, automation, probability, surveillance, predictive models, natural language processing, simulations, biotechnology, social networks, and artificial intelligence.
We will move continually between concepts, code, models, and ethical questions. We will learn how computational systems work while also asking what happens when we use them to represent human beings, cultures, and societies.
No previous programming experience is required. Students come to this class with very different backgrounds and strengths.
This course also provides many of the computational and conceptual foundations for AI for Humanity, offered in the spring, where we examine artificial intelligence in much greater depth.
Learning Goals
By the end of the course, students will:
- develop basic skills in Python, data visualization, data analysis, natural language processing, computational modeling, and network analysis;
- gain a foundational understanding of major ideas of the information age, including data, algorithms, networks, probability, models, machine learning, and artificial intelligence;
- learn to use multiple models to understand complex human systems and recognize that different models reveal different aspects of the world;
- understand how computational tools both challenge and deepen traditional approaches in the humanities and social sciences;
- examine how our technologies shape human behavior, institutions, relationships, and values;
- analyze ethical debates surrounding surveillance, automation, predictive systems, social networks, biotechnology, and artificial intelligence;
- relate emerging technologies to longer conversations about Humanism, Posthumanism, and Transhumanism;
- and complete a portfolio of project-based computational work and an original final project.
Course Materials
Scott E. Page, The Model Thinker
The book is available through the Kenyon College Bookstore.
We will read most of The Model Thinker over the semester. One of Page’s central ideas will run throughout the course: complex systems are rarely understood adequately through a single model. Different models make different aspects of the world visible.
DataCamp
All students will receive a free DataCamp subscription for the semester.
We will use DataCamp for structured practice in Python, data science, statistics, and other computational skills that support our in-class work and projects.
Other Materials
Additional readings, notebooks, datasets, videos, and exercises will be posted on the course website at programminghumanity.org.
Because the technologies we study change rapidly, specific readings and contemporary cases may be updated over the course of the semester.
How the Course Works
Most weeks combine four kinds of work:
Concepts: What computational idea are we trying to understand?
Code: How does it work in practice?
Models: What assumptions do we make when we represent people or systems computationally?
Humane Questions: What happens when those representations begin shaping the world they describe?
Some weeks will emphasize reading and discussion. Others will involve more coding, modeling, or project work.
Assignments and Grading
Attendance, Participation, and Preparedness — 25%
This course is designed to be active, collaborative, and exploratory. Students will bring different strengths and backgrounds to an interdisciplinary classroom.
The 25% attendance, participation, and preparedness grade consists approximately of:
- 20% attendance and engaged participation
- 5% homework preparation and low-stakes readiness quizzes
Participation does not simply mean talking frequently. It includes:
- preparing for class;
- listening carefully;
- asking questions;
- contributing thoughtfully to discussion;
- participating in collaborative work;
- experimenting with code and models;
- helping classmates solve problems;
- and taking intellectual risks.
If you do the work and engage seriously with the course, you will do well.
Readiness Quizzes and Homework Checks
Some class meetings will begin with a very brief, low-stakes readiness quiz or written response based on the assigned reading, DataCamp work, or other homework.
These are intended to encourage preparation, not to function as high-stakes tests. They will generally take only a few minutes and focus on basic comprehension, interpretation, or reflection.
The lowest two readiness-quiz scores will be dropped. This allows for ordinary absences, difficult weeks, and the occasional reading that simply did not happen.
Approved absences will be handled in accordance with College policy.
Three Mini-Projects — 24%
The mini-projects give students experience with several forms of computational analysis and prepare them for the final project.
- Data Storytelling
- Computational Text / Modeling
- Social Network Analysis
Detailed instructions and rubrics will be provided when each project is assigned.
DataCamp and Computational Exercises — 26%
Regular DataCamp modules and other computational exercises provide structured practice with Python, statistics, data analysis, and related methods.
These assignments are generally low-stakes and graded primarily for completion. Detailed assignments and deadlines will be posted on the course website.
Final Project and Poster — 25%
For the final project, students will undertake an original project drawing on the ideas or methods of the course.
Projects may involve computational analysis of numeric, linguistic, cultural, social, or network data, or an in-depth investigation of a technology that demonstrates understanding of both how that technology works and the human, ethical, or social questions surrounding it.
Detailed project guidelines will be provided later in the semester.
Final Project and Exam Period
There is no separate final examination.
Students who complete and submit their final project before their section’s scheduled final-exam period do not need to attend the exam session.
Students who have not yet completed and submitted the project are required to attend the scheduled exam period, which will serve as a supervised work session for completing and submitting the project.
Grades
Grades will be maintained in a private course gradebook. Each student will have access only to their own grades and feedback. Grades will not be posted publicly or in a class-wide spreadsheet.
The course grading categories are:
- Attendance, Participation, and Preparedness — 25%
- Three Mini-Projects — 24%
- DataCamp and Computational Exercises — 26%
- Final Project and Poster — 25%
Grading Scale
- A: 93–100; A−: 90–92
- B+: 87–89; B: 83–86
- B−: 80–82; C+: 77–79
- C: 73–76; C−: 70–72
- D+: 67–69; D: 63–66
- D−: 60–62; F: below 60
Discussion, Debate, and Intellectual Community
This course asks questions on which reasonable people may disagree.
We will discuss technology, privacy, inequality, race, gender, disability, surveillance, biotechnology, artificial intelligence, and other subjects that may touch directly on people’s values, identities, and experiences.
One of our goals is to encounter a genuine diversity of perspectives and to learn how to debate difficult questions well.
You are encouraged to question arguments, challenge assumptions, change your mind, and respectfully disagree with one another and with the instructors.
Serious intellectual disagreement also requires attention to evidence, careful listening, and sensitivity to the experiences and positions of others.
We will distinguish between challenging an idea and dismissing a person. We will try to understand positions before criticizing them, represent opposing arguments fairly, and remain open to the possibility that another perspective reveals something our own does not.
The goal is not to eliminate disagreement. It is to become better at having it.
Use of Artificial Intelligence
Generative AI is part of the contemporary computational environment and may be used in this course as a learning and computational tool.
Appropriate uses may include:
- explaining unfamiliar concepts;
- helping troubleshoot or debug code;
- exploring alternative approaches to a problem;
- helping interpret technical documentation;
- and other uses authorized for a particular assignment.
AI should support rather than replace your own reasoning.
You are responsible for understanding, checking, correcting, and being able to explain anything you submit.
When generative AI contributes substantively to an assignment, you should disclose how you used it.
Individual assignments may establish additional guidelines about permitted AI use.
Attendance and Absences
Because much of the learning in this course takes place through discussion, collaborative problem solving, coding, and experimentation, regular attendance is expected.
Students may miss three class meetings without a grade penalty.
Additional unexcused absences may lower the attendance and participation portion of the course grade.
Absences recognized under College policy, including religious observances and documented circumstances requiring accommodation, will not be penalized.
If you know that you will miss class, please communicate with Professor Elkins as early as reasonably possible.
Late or Missing Work
The purpose of assignments is to help you learn, not to catch you out on deadlines.
If circumstances interfere with your ability to complete work on time, communicate with Professor Elkins before the deadline whenever reasonably possible.
Reasonable extensions can often be arranged.
Work that is substantially late without communication may receive a penalty, particularly when lateness interferes with collaborative work or feedback.
Major projects cannot simply be skipped. If circumstances prevent you from completing one on schedule, we will establish a plan for completing it.
Out-of-Class Work
In addition to scheduled class meetings, students should expect to spend time each week:
- reading;
- completing DataCamp and other computational exercises;
- preparing for class discussion;
- working with code or models;
- and developing projects.
Some weeks will involve substantially more reading; others will involve more computational work.
Academic Integrity
Students are expected to submit work that meets Kenyon’s standards of academic integrity.
Collaboration is an important part of this course. You are encouraged to discuss problems, troubleshoot code together, and help one another learn.
Unless an assignment is explicitly collaborative, however, the final work you submit should represent your own intellectual contribution, and you should be able to explain it.
Sources, code, data, ideas, and substantive assistance from other people or artificial intelligence should be acknowledged where appropriate.
If you are uncertain about what is permitted for a particular assignment, ask.
Accessibility Accommodations
Kenyon College values diversity and recognizes disability as an aspect of diversity. Our shared goal is to create learning environments that are accessible, equitable, and inclusive.
If you anticipate barriers related to the format, requirements, or assessments of this course, contact Student Accessibility and Support Services (SASS) at sass@kenyon.edu, and then speak with Professor Elkins so that appropriate accommodations or adaptations can be implemented.
Religious Observances
Students who need to miss class or alter an assignment schedule because of a religious observance should contact Professor Elkins as early as possible so that appropriate arrangements can be made.
Title IX and Civil Rights
We will study and discuss subjects that may sometimes cause discomfort or distress.
If you wish to speak with an instructor about a reading, assignment, classroom discussion, or personal experience, please understand that faculty members may be required to report certain information involving sexual misconduct, discrimination, discriminatory harassment, interpersonal violence, or stalking to the appropriate College office.
Confidential resources are available through Kenyon’s designated confidential-support services.
Changes to the Syllabus
This syllabus provides the structure of the course.
Because Programming Humanity engages rapidly changing technologies and contemporary events, particular readings, examples, coding exercises, and cases may change during the semester.
Significant changes to assignments or deadlines will be announced clearly in class and on the course website.
Fall 2026 Schedule
Specific readings, The Model Thinker chapters, DataCamp exercises, notebooks, and assignment deadlines will be posted on programminghumanity.org as each unit approaches.
Thursday, August 27
Introduction: Programming Humanity
Course introduction, syllabus, central questions, and how we will work together.
Can we program our humanity into our tools so that they remain humane, or will our tools program us?
Tuesday, September 1
Week One: Data
Concepts: Data, information, information theory
Code: Introduction to data science
Models: Turning the world into data
September 8 & 10
Week Two: Processing
Concepts: Algorithms, cognitive science, neuroscience
Code: Algorithms and computational processes
Models: Rules and procedures
Humane Question: What is consciousness?
September 15 & 17
Week Three: Storytelling Visualized
Concepts: Visualization, storytelling, persuasion
Code: Data visualization
Cases: Data journalism, misleading visualization, misinformation
Humane Question: Can a visualization tell the truth and still deceive?
Mini-Project 1: Data Storytelling
September 22 & 24
Week Four: Interconnecting Humanity — Networks
Concepts: Networks, nodes and edges, network effects, diffusion, contagion
Models: Network models
Code: Computational networks
Contemporary Questions: Cyber networks, bots, distributed systems, and autonomous agents acting through interconnected systems
Humane Question: When does a network acquire capacities that none of its individual members possesses?
September 29 & October 1
Week Five: The Language of Thought — Programming Aesthetics
Concepts: Programming languages, formal languages, programming paradigms
Code: Python, syntax, grammars, and different ways of structuring computation
Humane Question: What is the difference between a natural and an artificial language?
Tuesday, October 6
Week Six: Ro/Bots — Automating Humanity
Concepts: Cybernetics, feedback, control, automation, and robotics
Code: Control structures and computational feedback
Cases: Robotics, autonomous systems, labor, and human augmentation
Humane Question: What should humans delegate to machines?
October 8–11
October Break
No class Thursday, October 8.
October 13 & 15
Week Seven: Data, the New Oil — Surveillance and Privacy | Independent London Week
Professor Elkins will be attending the Schmidt Sciences convening in London.
Concepts: Databases, Big Data, surveillance, and privacy
Cases: Contemporary surveillance technologies, location data, platforms, data brokers, and inferential profiling
Humane Question: What can computational systems know about us that we never explicitly told them?
Students will complete a guided independent and collaborative surveillance unit, including a short surveillance audit of an everyday technology or service.
October 20 & 22
Week Eight: Quantifying Uncertainty
Concepts: Probability, distributions, uncertainty, and causality
Code: Statistical thinking in Python
Models: Probabilistic models
Humane Question: How should we make decisions when we cannot know the future?
October 27 & 29
Week Nine: Models — Predicting Humanity
Concepts: Classification, prediction, decision trees, and machine learning
Code: Predictive modeling and the analytics pipeline
Models: Comparing assumptions and competing explanations
Humane Question: When does prediction become judgment?
November 3 & 5
Week Ten: Natural Language — Finding Humanity in Text
Concepts: Natural language processing and computational text analysis
Code: Text processing and sentiment analysis
Case: SentimentArcs and computational approaches to narrative
Humane Question: What do we gain and lose when language becomes data?
Mini-Project 2: Computational Text / Modeling
November 10 & 12
Week Eleven: Simulating Humanity
Concepts: Agent-based models, emergence, local interaction, and path dependence
Models: Schelling, Axelrod, Zipf, and power-law phenomena
Code: Computational simulations
Humane Question: All models are wrong. When are they useful?
November 17 & 19
Week Twelve: Evolving Life — Recoding Humanity
Concepts: Genetic engineering, CRISPR, synthetic biology, and brain-computer interfaces
Contemporary Questions: Base editing, prime editing, engineered biological systems, and emerging methods of altering biological life
Humane Question: What happens when humans can deliberately alter the biological systems that make us human?
November 21–29
Thanksgiving Break
December 1 & 3
Week Thirteen: Social Networks — Domesticating the Social Animal
Concepts: Social networks, centrality, communities, influence, diffusion, and collective behavior
Code: Social network analysis
Models: Networks, contagion, and thresholds
Humane Question: Are we programming social networks, or are social networks programming us?
Mini-Project 3: Social Network Analysis
December 8 & 10
Week Fourteen: Artificial Intelligence — From Programming Humanity to AI for Humanity
Artificial intelligence brings together many of the ideas we have studied throughout the semester:
data + algorithms + probability + models + language + networks + automation
Rather than attempting to survey AI in one week, we will use it to look backward across the semester and return to our central question:
Can we program our humanity into our tools so that they remain humane, or will our tools program us?
Students who continue into AI for Humanity in the spring will take up these questions in much greater depth.
Final project work and course synthesis
