Main Article Content

Abstract

Programming is a skill that students of Computer Science need to learn yet struggle to learn. If students are to master the skill, the root cause for the difficulties in learning must be addressed. In this context, a systematic literature survey is done to study the work carried out by researchers to find out the difficulties faced by students and faculty while learning or teaching programming. Focusing on the problems from the teacher’s perspective and analyzing the literature, the authors have ascertained the most common problems as curriculum, selection of introductory programming language, pedagogy, literature and tools for teaching programming. The authors also propose an intelligent tutoring system that will support students in providing resources and exercises to learn programming and will ensure faculties teach programming effectively.

Article Details