Expert Guidance for the Beginning Programmer