A mix of guided and unguided learning is essential There's nothing worse than spending a bunch of time learning, only to realize you don’t know how to apply what you learned to real-world problems. We use courses to teach new concepts like algorithms, data structures, and functional progra...