Teaching Advanced Undergraduate Classes in a Problem-solving Context: The Cognitive Sherlock Approach | Synapse