Below is a sample syllabus for an introductory computer science course that incorporates critical race and gender theory with technical concepts in Python. It is designed to be co-taught by a Computer Science professor and a Science and Technology Studies professor, but that is not required. Each week listed in the syllabus shows the technical and social content to be delivered, alongside a relevant reading to be discussed. These readings tie into the homework assignments, which are designed to bridge the gap between technical knowledge and social criticism to reinforce for students the importance of considering both. It also helps to reinforce for faculty the idea that integrating social and ethical content need not require a separate exercise, but rather can be done holistically in each assignment
Links
A Downloadable PDF Version: ConceptSyllabus
Syllabus
Lecture: 1.5 Hours, Twice a Week
Lab: 2 hours, Once a Week
Instructor: CS Faculty Member
Co-Instructor: STS Faculty Member
TA: Information Technology & Web Science (ITWS) or Computer Science (CS) graduate student
Mentor Contact and Office Hours:
CS Undergraduate Students
STS Undergraduate Students
Learning Outcomes
By successfully completing the readings below and participating in class discussions, students will achieve the following:
- Demonstrate proficiency in the purpose and behavior of basic programming constructs
- Design algorithms and programs to solve small-scale computational programs
- Write, test, and debug small-scale programs
- Demonstrate an understanding of the wide-spread application of computational thinking to real-world problems.
- Demonstrate basic proficiency in discussing the mutual formation of technology and society
- Articulate some of the biases that enter into higher education, technology, and the design of algorithmic systems
- Understand and critique dataset provenance, particularly along lines of race, gender, and class
- Effectively communicate to others the biases that enter your own systems
Required Texts
Students should purchase or otherwise obtain copies of the following texts:
- Cathy O’Neil, Weapons of Math Destruction(2016).
- Virginia Eubanks, Automating Inequality: How High-Tech Tools Profile, Police, and Punish the Poor(2018).
Links to all other readings in the course schedule below will be provided to you by the instructor.
Course Schedule
Week | Lecture 1 | Lecture 2 | Lab | Reading | Due |
1 | Introduction | Lab 0: Setup | |||
2 | Python as a calculator | String | Lab 1: What is education and what does it do? | “Liberal Education has Failed,” by Matt Wisnioski | Hwk 1 |
3 | Functions | Decisions | Lab 2: Epistemologies and Ideologies of Code | “US Operating Systems at Mid- Century” by Tara McPherson | |
4 | Tuples, Modules, Images | EXAM 1 | Lab 3: Modularization and Masculinity | “Technology as Masculine Culture” by Judy Wajcman | Hwk 2 |
5 | Lists | While Loops | Lab 4: Loops and Bridges: Does Code have Politics? | “Do Artifacts Have Politics?” by Langdon Winner | Hwk 3 |
6 | Controlling Loops | Data from Files and the Web | Lab 5: If Statements, Non-linearity, and Queer Stories | “Depression Quest, from Videogames for Humans,” meritt kopas ed. | Hwk 4 |
7 | Problem Solving and Design | EXAM 2 | Lab 6: How do we Define a Problem? | “Algorithms of Oppression, Introduction and Chapter 1,” by Safiya Noble | |
8 | Sets | Dictionaries | Lab 7: Who Gets Counted? | “Weapons of Math Destruction, Chapter 1,” by Cathy O’Neil | Hwk 5 |
9 | Dictionaries | Classes | Lab 8: How do we Count? | “Can an Algorithm be Agnostic?” by Kate Crawford | Hwk 6 |
10 | Classes | Searching | Lab 9: Building Classes, Constructing Classes | “The Allegheny Algorithm,” by Virginia Eubanks | Hwk 7 |
11 | Sorting | Lab 10: Theories and Politics of Information and Order | “The Information: A Theory, a Flood,” by James Gleick | ||
12 | TKInter | Recursion | Lab 11: Who Builds? | “Programmed Inequality, Conclusion” by Marie Hicks | Hwk 8 |
13 | Functional Programming | Lab 12: Recursion and Recursive Narratives | “The Garden of Forking Paths,” by Jorge Luis Borges |