Students’ Perception about Fundamental Programming Course Teaching and Learning (original) (raw)

DIFFICULTIES IN LEARNING PROGRAMMING: VIEWS OF STUDENTS

Programming courses areamong 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 study involved 105 Polytechnic students inthe Electrical Engineering Department, who undergo the Fundamental Programming course. 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 multi-dimensional array, looping statement and function) 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, majority of students agreed that practical situation such as laboratory activities was very helpful for them to learn programming. However, it was identified that lecturers not providing enough examples was one of the major factorinfluencing 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.

A Study of Difficulties of Students in Learning Programming

Journal of Education & Social Sciences

Programming has been a challenging subject for computer science students. A programmer must have strong analytical and reasoning skills to program effectively. In order to inculcate such skills, instructor must prepare their lectures accordingly and employ several novel techniques to develop analytical and problem solving skills into the students. Despite the strong need, there have not been any studies to identify the major challenges faced by programming students. Such a study can help instructor in development of appropriate materials and planning of lectures accordingly. To fulfill this gap, this work performs a survey of 57 students who just completed their first programming course. Students were asked to fill a questionnaire. The questionnaire was analyzed further to determine what are the most challenging concepts for students to learn and when do the students feel most comfortable learning. The correlations among students response were determined and k-mode clustering was also performed. Based on analysis, several recommendations were drawn. These recommendations can help instructor to develop their learning material. The paper concludes that flipped/ inverted class room model is the most appropriate model for teaching programming course.

A review on challenges and solutions in learning programming courses at undergraduate level

International Journal of Applied Research , 2019

Taking a computer programming language course for the first time is a problematic and challenging task for most of the pupils who mostly fail or drop out of the course. In addition to this, this problem is not restricted for computer science pupils, since pupils in other engineering disciplines have to take programming courses as well. In this paper, we review papers related to teaching approach, challenges and solutions for improving student's ability and performance in a first programming language course in undergraduate program. One of the most well-known challenges in teaching and learning a first programming language course is that in the same course, the students must learn and get to know fundamental programming techniques, high level abstraction capabilities, the application of those tricks and techniques, notion and significance in problem solving and design. In this paper the general trends comparing freshers and expert programmers, programming strategies and knowledge, program generation and understanding has been identified. The main and fundamental focus and point of this review is on novice programming and concepts relating to novice learning and teaching. Different problems faced and experienced by novices are recognized, containing issues relating to core program design, to algorithmic complexity in some specific language features, to the frangibility of novice knowledge, and so on. Keep this in mind we have summarized this material and suggest some practical concepts for academicians.

Using the Methodology Problem-Based Learning to Teaching Programming to Freshman Students

International Journal of Information and Education Technology, 2023

This work registers the initial results of a teaching strategy implemented with students entering the Algorithms discipline with a higher degree in Computing. This discipline offered to first-year students records cases of dropout and evasion. Thus, it is necessary to implement teaching strategies to provide engagement, interest, and motivation with the subjects worked on. The main objective is apply an active methodology problem-based learning in programming teaching. In this work participated 177 students in the years 2019-2 (47), 2020-1/2020-2 (83), and 2021-2 (47), enrolled in the first period of the course. The methodology adopted for the development of this study consisted of: use of questionnaires to measure prior knowledge about computing concepts; group discussion of the answers recorded in the questionnaire; development of an APP for smartphone; use of the PBL (Problem-based learning) methodology as a learning strategy. It is an activity related to the active teaching and learning methodology of problem-based learning that is being developed on the first day of class in groups of up to five students. The strategy consisted of two actions: 1) answering a questionnaire associating everyday computing elements; and 2) even though the programming concepts were not presented, the groups were challenged to develop a smartphone application. Each group received a questionnaire containing 19 questions divided into four blocks. What can be seen from the completion of this work was the enthusiasm, motivation, and engagement of the students, who, even though they were newcomers, organized themselves into groups and researched the necessary strategies to complete the challenge. When measuring the knowledge obtained through the application of a questionnaire relating to the content (with the participation of 62% of students), it was found that 81% of the participants obtained the necessary grade for approval of that content. Following the strategy of an active methodology of learning and teaching that favors the protagonism and autonomy of the student, we concluded that strategy was benefic for to the students, and the teacher acted as a guide in the teaching process, directing what should be researched to find the solution and serving as a tutor in the resolution of the problem presented. Preliminarily, part of this study was presented at the 2nd International Computer Programming Education Conference.

A study on student’s characteristics and programming learning

Results in introductory programming courses are often disappointing. Several possible causes for this situation have been reported. One of them is the differences between students in terms of their individual characteristics. This paper reports some results of an experiment where we tried to find correlations between first year student's performance in an initial programming course and some of their characteristics, namely previous programming experience, secondary education grades (in general and in Mathematics), learning styles, problem solving abilities and motivation to the study area. The study took place during the academic year of 2007-2008 and involved two different groups of students, from two different institutions, that followed two different programming languages approaches.

Performance of Students in Computer Programming: An Analysis

International Journal of Engineering Research in Computer Science and Engineering (IJERCSE), 2023

The recent challenges in the delivery of instruction leads to the indispensable use of online platforms. Tasks of mentors and learners are now required to be done online. Presently it is undeniable that all disciplines involve the use of a computer. Thus the increasing utilization of computers is not only for computer education and computer programming skills but in all fields or disciplines. This study determined the challenges and experiences encountered by lecturers and students in relation to the acquisition and transfer of relevant knowledge in computer education specifically in programming courses. The Random Sampling method was used in identifying the sample size that is calculated based on the following parameters: (1) population size; (2) margin of error; and (3) confidence level. The total population of respondents is one hundred twenty-nine (129), eighty-four (84), or 65% males and forty-five (45), or 35% females. The test-retest method was employed to ensure the reliability of the instrument and the Modified-adopted survey questionnaire for gathering the required data. In order to check the coefficient of reliability of the data the Spearman-Brown method was utilized. Results revealed that most males prefer to enroll in Bachelor of Science in Computer Science (BSCS), keener and more motivated to do programming. They are keener in computer programming. Study also shows that students need to have the good foundation in courses like (1) knowledge in basic science and math course as well as (2) more hands-on programming activities. In order to produce well-versed BS Computer Science graduates, it is recommended that a more enhanced IT and Computing Education and Orientation Program should be given priority.

A study on students' behaviours and attitudes towards learning to program

2012

Learning difficulties in introductory programming courses are well known to teachers and students. Although several types of causes for those difficulties can be pointed out, in this work we focused on student related issues, namely their study methods and attitudes towards learning to program. We found a strong correlation between students' results and their personal perceptions of competence during the course. This result raises the need for teachers to consider this issue when devising the pedagogical approaches to use in introductory programming courses.

Analysis of teaching programming basics from pupils’ viewpoint

Lietuvos matematikos rinkinys, 2009

Teaching programming in a comprehensive school is a long and difficult process, which is why it should be analysed from various points of views. An analysis of pupils’ opinion on the lesson of programming basics has been carried out by combining pedagogical observation method with continuing questionnaires of pupils. Having processed the data of analysis, it has been determined that pupils’ cooperation with teacher and friends has a considerable influence on the success of learning programming. Moreover, the analysis has revealed that not only the final result is important but also the process of learning. In this article, the most common difficulties that pupils encounter when learning programming are discussed and their reasons are indicated. Having processed the results of pupils’ test task solutions, an attempt was made to determine if the pupils evaluate their knowledge, abilities and skills objectively. Finally, recommendations to teachers are given on the grounds of the resul...

Undergraduate Students' Experiences in Programming: Difficulties and Obstacles

2014

Programming courses become prominent as one of the courses in which undergraduate students are unsuccessful especially in departments which offer computer education. Students often state that these courses are quite difficult compared to other courses. Therefore, a qualitative phenomenological approach was used to reveal the reasons of the failures of the undergraduate students in programming courses and to examine the difficulties they confronted with programming. In this scope, the laboratory practices of the Internet Programming course were observed in fall term of the 2013-2014 academic year in a university at central Anatolia. Interviews were made with 12 undergraduate students taking this course. Finally, the difficulties students experienced in the programming were determined as programming knowledge, programming skills, understanding semantics of the program, and debugging. Students emphasized that the biggest causes of failure in programming languages are lack of practice, not using algorithms and lack of knowledge. In addition, it was seen that the students who had high programming experience possess higher programming success and self-efficacy related to programming.

Performance of Students in Computer Programming: Background, Field of Study and Learning Approach Paradigm

Many factors can be attributed to the high rate of failure in computer programming courses. This paper studies the background of students, their fields of study and learning approaches applied to the study of programming courses. It is worth considering as a major factor and necessary to research into the causes of failure of students in programming courses from the learner perspective. Programming courses form part of the core concentration areas for students especially studying Information Technology (IT) and Computer Science as well as those other fields of study sandwiched with IT in an undergraduate degree programs. Through the use of questionnaires, interviews and focused group, a survey was conducted using one hundred (100) students at the middle and end of the semester. The responses from the three groups of students were compared. Their opinions to the usefulness of their background, field of study and learning approaches toward programming courses were investigated. The needs and concerns about these key factors are highlighted in the survey and discussed thereby leading to the inferences made and then proposed recommendations on the learning approach in relation to the background and field of study of students in computer programming courses in order to improve understanding of programming by students, hence, reducing failure rates.