This REU will focus on the relationship between structural graph theory and graph algorithms. Many NP-hard problems become tractable once some additional structural assumptions are made about the input graph. These connections provide avenues for understanding what really makes a problem hard. They often also help with the development of approximation and parameterized algorithms. We will focus on connections between these areas.