Learning to program is difficult. The focus of this research was on developing an environment (AAPT) to assist the student in learning programming at an appropriate speed without a tutor having to be available. AAPT is made up of two components, a programming toolbox and an algorithm animator and is intended for use in conjunction with formal lectures, tutorials and laboratory sessions. The approach taken here is different to other work in algorithm animation because AAPT allows the student to develop the program and see how it works in the same environment.