*Email: sdraut@sus.ac.in
Programming courses are among the important components of the curriculum to be studied, not only in the field of Information Technology, but also in most of the field including Science, Mathematics, and Engineering at tertiary levels. However, the subject is considered difficult, complex and categorized as part of the seven grand challenges in computing education. In this research, a study was conducted to investigate and explore the views of students and the difficulties they faced in learning fundamental programming courses. The results from statistical analysis shows that the level of students ‘understanding of the topic is moderate and the most difficult topic for them is understanding the abstract concepts involving the role of variable position in computer memory (such as syntax, variable, array multi-dimensional array, looping statement and function, methods) when the program was executed. Also, students faced difficulties in understanding the basic concept of programming structure and designing a program to solve certain tasks. In addition, the majority of students agreed that practical situations such as laboratory activities were very helpful for them to learn programming. However, it was identified that lecturers not providing enough examples was one of the major factors influencing students ‘understanding of programming. Finally, the authors proposed visualization tool as alternative to learn programming in practical manner, and most of the students agreed the function of this tool in facilitating them learning programming.
Programming Languages, Student Mindset, Psychological Barriers, Learning Syntax, Problem solving, Logical thinking