Core courses
Apply core concepts in design and analysis of algorithms, data structures, and computational problem-solving techniques to address complex problems. Hashing, searching, sorting, tree algorithms, dynamic programming, greedy algorithms, divide and conquer, backtracking, random number generation, and randomized algorithms are examples of algorithms you will learn to exploit to solve problems ranging from logistics to route optimization to DNA sequencing.
What’s ethically significant about being human, or about our identities as members of various social groups? What do we owe to animals, to ecosystems, to future generations, to AI, and how do our answers to these questions rely on theories of identity? How do social and political institutions and structures limit and enable who we are? How might we reimagine the boundaries of humanity to challenge oppressive and unjust power dynamics? In this course we will examine the origins and enduring justifications for core ethical beliefs, as well as challenges to the idea that there are universal ethical norms by exploring the emergence of different conceptions of humanity and human values from a wide range of globally diverse perspectives. While the course introduces students to many historically significant philosophical voices, most of our classes focus on applying philosophy to concrete contemporary ethical challenges, particularly in the areas of environmental ethics, data ethics, bioethics, and feminist ethics. Note: This course provides the foundations for, and is a prerequisite for, the Philosophy, Ethics and the Law concentration in the Arts & Humanities major. AH111 also counts toward the Minor in Sustainability because it addresses a broad range of environmental ethical topics, including food ethics, climate ethics, and environmental justice.
Concentrations Courses
The course focuses on the application of predictive and causal statistical inference for decision making across a wide range of scenarios and contexts. The first part of the course focuses on parametric and non-parametric predictive modeling (regression, cross-validation, bootstrapping, random forests, etc.). The second part of the course focuses on causal inference in randomized control trials and observational studies (statistical matching, synthetic control methods, encouragement design/instrument variables, regression discontinuity design, etc.). Technical aspects of the course focus on computational approaches and real-world challenges, drawing cases from the life sciences, public policy and political science, education, and business. This course also emphasizes the importance of being able to articulate one’s findings effectively and tailor methodology and policy/decision-relevant recommendations for different audiences. Note: CS130 may be substituted for a tutorial in CS/NS/SS and can count like a cross-listed tutorial for double majors in SS, NS, or CS (any pairwise combination). This course was previously CS112.
Apply methods and algorithms from Artificial Intelligence (AI) — such as propositional logic, logic programming, predicate calculus, and computational reasoning — to a diverse range of applications from robot navigation to restaurant selection with expert systems. Discover AI in action through an exploration of robotics, and gain an appreciation of its convergence towards modern machine learning methods. NOTE: In addition to the listed prerequisites, the following courses are recommended prior to taking this course: CS113
Normative ethics is the study of ethical systems that provide answers to the question of how one ought to act in situations of moral significance. Moral dilemmas involve choices between mutually exclusive alternatives, each of which carries significant burdens. This course introduces you to theoretical frameworks from a wide range of global perspectives, including Greek, Confucian, and African virtue ethical theories, Kantian and Utilitarian moral theories, and Feminist and Buddhist ethical theories centered on care and compassion. Students study ethical theories in their social and historical contexts and then apply them to address moral decisions and dilemmas arising from reproductive and sexual ethics, the ethics of care work, the ethics of markets, climate change ethics and green tourism, and the distribution of scarce health resources. This course supports and is a prerequisite for both the Philosophy, Ethics and the Law Concentration and the Interpretation and Meaning Concentration in the Arts & Humanities major because the course provides students with experience in closely interpreting philosophical texts in their social and historical contexts, and supports students as they integrate contextual knowledge into their evaluations of each perspective.
"The past is never dead. It's not even past," wrote William Faulkner. The presentness of the past is evident in the controversies that ensue when history is used and misused for public purposes. This course analyzes some of the critical public debates that have occurred over historical issues and over governmental policies enacted in different parts of the world in response to museum exhibits, memorials, the publication of history textbooks, and the making of historical films. It also examines the call for political actions based on a fictitious past as well as the role of historians in opposing such efforts. Students consider questions such as: what constitutes public history and what theoretical issues does it raise? What is the difference between public memory and history? What are the standards and responsibilities of the field? What obligations does the historian have to the living and the dead, and what preparation do historians need in order to be effective in this increasingly important segment of the historical profession?
This course examines and compares how political systems operate in practice and why they have different outcomes, such as corruption/transparency, racism, political stability/instability, low/high inequality, security/insecurity, and low/high socio-economic standards. Students will learn the ways in which institutions and structures shape the way people act individually and collectively across different countries with diverse political systems to achieve their goals. Note: This course qualifies as part of the Interdisciplinary Minor in Sustainability because it takes an in-depth look at the complex interactions that take place between political, social, cultural, and economic factors that are relevant to sustainability. In general, students also learn how to use complexity thinking to analyze and compare the interactions between institutions, structures, and human actions that affect sustainable development issues across different political systems.
Examine important challenges facing both developing and developed economies. Explore the development of societies through the analysis of access to education and healthcare as well as sustainable mechanisms for economic growth. Identify the socio-economic impacts of rural to urban migration and technological progress while exploring the reasons for income inequality throughout the world. Generate and critique policies designed to address specific economic issues within an effective institutional and political framework. Note: This course qualifies as part of the Interdisciplinary Minor in Sustainability.
Students learn to apply core machine learning techniques — such as classification, perceptron, neural networks, support vector machines, hidden Markov models, and nonparametric models of clustering — as well as fundamental concepts such as feature selection, cross-validation and over-fitting. Students program machine learning algorithms to make sense of a wide range of data, such as genetic data, data used to perform customer segmentation or data used to predict the outcome of elections. NOTE: In addition to the listed prerequisites, the following courses are recommended prior to taking this course: CS110
Learn how to apply advanced modeling techniques to analyze and predict the behavior of social, physical and economic systems. You will learn from specific examples applied to portfolio management, traffic flow management, and analyzing social networks. The course covers three modeling frameworks — cellular automata for modeling interactions on grids of cells, networks for more general interactions between nodes in a graph, and Monte Carlo simulations showing how we can use simulation to generate random numbers and how we can use random numbers to drive simulations of complex phenomena. The course covers the theoretical (mathematical) and practical (implementation) aspects of each of the three frameworks.