Implementing a Challenge-Based Approach to Teaching Selected Courses in CS and Computational Sciences | Synapse