Teaching Kids to be Thoughtful Programmers