The mapping class group of a surface S is the component group of orientation-preserving homeomorphisms on S. We survey geometric and algebraic aspects of this group, and introduce a technique of using right-angled Artin groups to find geometrically significant subgroups of this group. We briefly discuss related groups such as braid groups and area-preserving diffeomorphism groups of surfaces.