Improving Student Understanding of Programming Concepts: The Case of a Scenario Based Approach to Teaching Programming Online | IEEE Conference Publication | IEEE Xplore