Text this: A review of literature on methods for teaching and learning programming in high schools