I believe working on algorithms and data structures, is the best way to solve real world problems effectively with programming.
As a commitment: When I implement an algorithm, I add to the list.
I took a computer-science course to fill a prerequisite at Stanford, and I realized that every day was a new problem, and every day you got to think about how to solve something new, how to reason through something new, how to develop an algorithm to solve for something you hadn't worked on before. — Marissa meyer