A conceptual approach for understanding computer programming skills development | IEEE Conference Publication | IEEE Xplore