An investigation of the common difficulties students encounter programming in BASIC