The objective of this study is to introduce an intelligent E-Learning software system, which aims to improve students' motivations and academic achievements in computer programming courses. The system is based on an intelligent analysis approach, which is formed via an Artificial Neural Network model trained by Cognitive Development Optimization Algorithm. This intelligent approach tries to provide appropriate materials to students by evaluating learning levels. At this point, types of learning levels are defined by teachers and associated with specific abilities regarding to computer programming. After determining learning levels according to results of the performed activities, it is then possible for software system to provide appropriate materials/applications corresponding types of low learning levels. Thanks to the system, it is possible to learn abstract, difficult computer programming based subjects easily. In order to have idea about effectiveness of the system, it was evaluated in some computer programming courses with contribution of 110 students and eventually, positive results were obtained after several evaluation works.