A definition of causality introduced by Halpern and Pearl [2005a], which uses structural equations, is reviewed. A more refined definition is then considered, which takes into account issues of normality and typicality, which are well known to affect causal ascriptions. Causality is typically an all-or-nothing notion: either A is a cause of B or it is not. An extension of the definition of causality to capture notions of degree of responsibility and degree of blame, due to Chockler and Halpern [2004], is reviewed. For example, if someone wins an election 11-0, then each person who votes for him is less responsible for the victory than if he had won 6-5. Degree of blame takes into account an agent's epistemic state. Roughly speaking, the degree of blame of A for B is the expected degree of responsibility of A for B, taken over the epistemic state of an agent. Finally, the structural-equations definition of causality is compared to Wright's [It is generally agreed that the notion of legal cause is sorely in need of clarification. Not surprisingly, there has been a great deal of effort in the legal community to provide that clarification (see [Hart and Honoré 1985;Wright 1988] and the references therein). Philosophers have also spent a great deal of effort attempting to clarify causality (see [Collins, Hall, and Paul 2004] for a recent collection of articles on the subject, along with pointers to the literature). Recently there has also been work on causality be computer scientists. It is that work that I report on here. In particular, I describe a definition of causality due to Halpern and Pearl [2005a]; I henceforth call this the HP definition.The HP definition is more formal and mathematical than other definitions of causality in the literature. While this does add some initial overhead, it has the advantage of there being far less ambiguity. There is no need, as in most other definitions, to try to understand how to interpret the English (what counts as a "sufficient condition"? what is a "part" of a sufficient condition?). The first step in the HP definition involves building a formal model in which causality can be determined unambiguously. The definition will then say only that A is a cause of B in model M . It is possible to construct two closely related models M 1 and M 2 such that A is a cause of B in M 1 but not in M 2 . There is not necessarily a "right" model (and, in any case, the definition is silent on what makes one model better than another, although see [Halpern and Hitchcock 2010] for some discussion of this issue). That means that, even if there is agreement regarding the definition of causality, there may be disagreement about which model better describes the real world. I view this as a feature of the definition. It moves the question of actual causality to the right arena-debating which of two (or more) models of the world is a better representation of those aspects of the world that one wishes to capture and reason about. This, indeed, is the type of debate that goes on in informal (and le...