Thinking Through Project-Based Learning