Teaching Practice and Thinking of Programming Courses | IEEE Conference Publication | IEEE Xplore