Abstract: There are many classes of rings appearing in commutative algebra, and hence algebraic geometry, whose information can be understood using combinatorics. Such classes of rings include affine semi-group rings, which appear in the study of toric varieties, and Stanley-Reisner rings. We will focus on a special class of Stanley-Reisner rings obtained by modding out a polynomial ring by an "edge ideal". Given a graph G with finite vertex set x_1, x_2, ..., x_n, one can abuse notation and consider the "edge ideal" of the polynomial ring C[x_1,...,x_n] whose generators are x_ix_j whenever there is an edge in the graph G connecting the vertex x_i with x_j. Many of the subtle invariants appearing in Commutative Algebra such as the height, the depth, the a-invariant, and the cohomological dimension of an edge ideal can be computed, or at least bounded in an effective way, using the combinatorial data of the graph G. These combinatorial techniques allow one to create large classes of commutative rings satisfying desirable algebraic properties and can provide excellent examples to study when developing Theorems and finding counterexamples.