This paper suggests some teaching strategies for Algorithms and AI courses. These courses can have a common goal of teaching complex problem-solving techniques. Based on my experience teaching undergraduates in a small liberal-arts college, the paper offers concrete ideas for working toward this goal. These ideas are supported by relevant studies in cognitive science and education. Together, they provide a plan for structuring lessons and assignments to help student become better problem-solvers.