Adaptive book: teaching and learning environment for programming education | IEEE Conference Publication | IEEE Xplore