Tools for Teaching Basic Programming Concepts