Current Courses
A comprehensive list of all past and present courses that apply to the minor are available here.
FALL 2021
This course provides a basic introduction to programming for liberal arts students with no previous experience. It includes an introduction to the history and philosophy of computation, an engagement with critical approaches to assessing the social impact of computation, an introduction to the philosophy of artificial intelligence, as well as some hands-on experience in writing your own code. The course aims to give students familiarity with the history, philosophy, and practice of coding, and experience in writing basic programs that will actually run. [Read more]
Code Toolkit
Frank Shepard
F @ 9:00-11:40
This course provides a basic introduction to coding for students with no prior experience using the Python computer language. It will introduce the use of computing and algorithms to web design, data analysis and visualization, and game design. Students will complete integrative projects within each of these areas, and leave the class with a strong foundation in the use of Python across a range of applications. [Read more]
Code Toolkit: Python
Rory Solomon
W @ 12:10-2:50
Textile production influenced the industrial revolution causing social upheaval. Textile craft is also at the root of modern computer programming that has dramatically influenced the Information Age. This course provides a liberal arts perspective on the fundamental concepts of programming and computer architecture, exploring the premise that computer science is derived from textile craft production. [Read more]
Code Crafting: The Influence of Textiles on Computing
Ursula Wolz
W @ 12:10-2:50
This hybrid theory/practice seminar will trace the history of radical, activist, and countercultural uses of software and digital technology. From the milieu surrounding the Whole Earth Catalog, to hacker collectives such as Anonymous, to recent art and activism, we will explore efforts that have attempted to deploy software and its networks as anti-authoritarian or counter-hegemonic techniques. We will examine concepts that undergird the commitments of such actions, such as liberalism, freedom, sovereignty, and direct action. [Read more]
Radical Software
Rory Solomon
TR @ 12:00-1:40
Generative Media and Artificial Intelligence: Digital Theories of Autonomy and Alienation
David Bering-Porter
MW @ 12:00-1:40
Do you ever feel like you’re being watched? Do you feel like your phone or your laptop is listening to you? Very likely, it is, and belongs to a new class of software that is trained to observe your behavior and predict your desires, or at least to correctly guess what you’ll type next. This kind of software has become increasingly common: it is embedded into the websites we visit such as the search algorithms in Google, Netflix, and Amazon; listening to us through Siri, Alexa, Cortana, and Google Assistant; watching us through cameras in our personal technologies and in our cities leading to facial recognition, Snapchat filters, and “deepfakes.” Generative media is not just a tool that we use, but an increasingly active collaborator with us across media forms in our everyday lives. [Read more]
Python: Data, Science & Design
Jacob Koehler
M @ 12:10-2:50
This course aims to introduce students to the Python computing language. Students will write basic programs with Python, investigate the use of Python to perform data analysis (including machine learning and artificial intelligence), use Python to access and structure information from the web, and also use Python to build and deploy web based applications. The course will teach these skills through three projects 1) analysis of public policing data 2) a sentiment analysis and topic modeling project using news articles and social media data, and 3) design and deployment of a personal web application. [Read more]
This course introduces students to technologies of music from historical, philosophical, and practical hands-on perspectives. We will consider music technologies from throughout history, from player pianos to synthesizers, radios to autotune, tape machines to DAWS. We will question whether these technologies are just tools or if they hold ethical values that connect to other aspects of cultural identity, such as gender, race, and sexuality. [Read more]
Contemporary Music: Technologies
Clara Latham
MW @ 10:00-11:40
This course will introduce students to the building blocks of programming for applications in creative technologies and games. Students will spend the first portion of the course developing an understanding of software programming fundamentals (ex. data types, control structures such as functions, if/else, and loops, OOP), terminology, and use cases. Previously offered under Code 1. Co-requisite with Critical Computation Lecture. [Read more]
Critical Computation Lab & Lecture
Multiple faculty
Multiple times
Digital Equity, Infrastructure, and Access
Charlie Muller
M @ 4:00-6:40
While digital objects are often imagined to exist in an immaterial or virtual cyberspace, code and data actually exist in material forms and places in the physical world: data centers, routers, wired and wireless data flows, and physical computers in our homes, pockets, and public spaces. This hybrid theory/practice seminar will take these physical infrastructures of the digital as our primary objects of inquiry, developing both critical analysis and hands-on techniques to test, build, and intervene in these networks and data circulations. [Read more]
Coding Natural Language
Ursula Wolz
W @ 4:00-6:40
In this course we will ask the question: “How does SIRI work, and what is it actually doing?” Natural Language Processing (NLP) is a subfield of Artificial Intelligence that uses linguistic theory to attempt to provide more human centered ways to interact with a computer. Students explore the relationships between data, information and knowledge while being introduced to programming in JavaScript. [Read more]