This paper presents an innovative personalized e-learning environment to promoting students’ learning on the topic Basic Computer Programming for undergraduate students. Three sources of personalized information including personalized learning problems, personalized learning styles, and personalized learning achievement were used to determine the personalized subject materials on the topic. The developed e-learning environment can be used to work with an online learning system by giving personal guidance and appropriate learning material to each student based on their online learning performance.