Effects of abstract thinking and familiarity with programming languages on computer programming ability in high schools | IEEE Conference Publication | IEEE Xplore