Getting at deep learning: a problem-based approach | Synapse