It is evident that learning and teaching computer programming are considered as one of the striking challenges in academic environments. Meanwhile, selecting the correct and appropriate materials can leave an enormous impact in learning computer programming languages. However, recently this argument has been put under scrutiny as to which types of materials motivate learners to learn computer programming languages as well as enhance learning outcomes. Therefore, the main objective of this study is to investigate the current teaching and learning materials of computer programming languages in Kurdistan region of Iraq universities. Additionally, another aim is to give a rigorous analysis of how materials help students to learn computer programming language. A further focus is to identify the difficulties of learning computer programming languages at undergraduate level which constitutes technical Diploma and Bachelor. The last but not the least, this paper examines new approaches to teaching programming languages as a cognitive model for programming education.