Computing has permeated daily life and underlies many decision-making processes we take for granted. However, few people know how programs work, with a proverbial “black box” obscuring the innerrworkings of programs that make decisions about what movies to recommend to us, who to interview for jobs, what your credit rating is, and whether someone will commit another crime. Understanding how people take complex problems and turn them into programs is important not only for the fun of learning how to program but to understand how the decision-making processes embedded in technology influence our everyday life.

This course will expose students outside of STEM fields to computation as skill, method, and social phenomenon. We assume no prior programming experience, and students will learn core computational skills through practical examples and applications familiar to the social sciences. We will use the Python programming language to explore computational concepts, like abstraction, conditional logic, loops, and lists. Additionally, students will engage with the social and ethical aspects of computing’s ubiquity in everyday life.

At the end of this course, you will be a programmer and have an elevated knowledge of how code intersects ethics and society. Specifically, you will be able to:

  • Write and debug basic python programs
  • Identify ethical challenges with programs
  • Begin to think like a programmer
  • Develop critical thinking that will help “lift the black box” of technology and reason effectively about its use in modern society.

Course Texts

Additionally, readings and chapters from other books may be provided to you through Canvas or by link to an external site.

Schedule