12 research outputs found
Teaching introductory programming: a quantitative evaluation of different approaches
© ACM, 2014. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM Transactions on Computing Education, 2014, Vol. 14, No. 4, Article 26, DOI: http://dx.doi.org/10.1145/266241
Senior Computer Science Students’ Task and Revised Task Interpretation While Engaged in Programming Endeavor
Developing a computer program is not an easy task. Studies reported that a large number of computer science students decided to change their major due to the extreme challenge in learning programming. Fortunately, studies also reported that learning various self-regulation strategies may help students to continue studying computer science. This study is interested in assessing students’ self-regulation, in specific their task understanding and its revision during programming endeavors. Task understanding is specifically selected because it affects the entire programming endeavor.
In this qualitative case study, two female and two male senior computer science students were voluntarily recruited as research participants. They were asked to think aloud while answering five programming problems. Before solving the problem, they had to explain their understanding of the task and after that answer some questions related to their problem-solving process. The participants’ problem-solving process were video and audio-recorded, transcribed, and analyzed.
This study found that the participants’ were capable of tailoring their problem-solving approach to the task types, including when understanding the tasks. Given enough time, the participants can understand the problem correctly. When the task is complicated, the participants will gradually update their understanding during the problem-solving endeavor. Some situations may have prevented the participants from understanding the task correctly, including overconfidence, being overwhelmed, utilizing an inappropriate presentation technique, or drawing knowledge from irrelevant experience. Last, the participants tended to be inexperienced in managing unfavorable outcomes
Hindrances to learning to program in an introductory programmimg module
Introductory programming failure rate among students is high worldwide, including in
South Africa. The failure rate remains a subject for investigation due to a high number of
students who find learning to program difficult. This study evaluates factors that contribute
to high failure rates in an introductory programming module at University of South Africa.
The study evaluates curriculum, programming syllabus, and personal factors to evaluate
reasons for high failure rates. Quantitative and qualitative research approaches are used to
identify learning hindrances.
The research results show that personal factors are the leading contributing factors,
followed by the curriculum and then the programming syllabus. Personal factors relate to
time, personal reasons, and commitments; curriculum involves tutorials; and programming
syllabus factors are linked to programming concepts and application. The findings have
implications for how teaching and learning in introductory programming can be improved.
The study provides recommendations for improvement and future studies.
Keywords: Learn to program; introductory programming; higher learning; personalSchool of ComputingM. Tech (Information Technology
The Effects of Self-Explanation and Reading Questions and Answers on Learning Computer Programming Language
The current study explored the differential effects of two learning strategies, self-explanation and reading questions and answers, on students\u27 test performance in the computer programming language JavaScript. Students\u27 perceptions toward the two strategies as to their effectiveness in learning JavaScript was also explored by examining students\u27 preferred strategy and the reasons for their choice. An online interactive tutorial instruction that implemented worked-examples and multimedia learning principles was developed for this study. A total of 147 high school students (ages ranging from 14 to 17) who were taking a Computer Introduction course participated in this study. The course was offered in six periods and all periods were taught by one instructor, the current investigator. The six periods were randomly divided into two groups with three periods in each group. One group (n = 78) started learning the first two of the five lessons in the tutorial with the self-explanation learning strategy while the other group (n = 69) started the first two lessons with the reading questions and answers strategy. Then the two groups learned the next two lessons with the tutorial that swapped the two strategies, so they can experience the other learning strategy. Finally, the two groups went back to their original strategy to learn the 5th and last lesson in the tutorial. Students took an end-of-lesson test after each lesson and completed a questionnaire at the end of the final lesson regarding their perceptions toward the two learning strategies. Students\u27 prerequisite knowledge of XHTML and motivation to learn computer programming language were measured before taking the JavaScript tutorial lessons. The two learning strategies did not have differential effects on students\u27 test performance. However, students largely expressed their preference toward the self-explanation learning strategy over the reading questions and answers strategy. Students considered self-explanation incurring much more work yet more effective with helping them learn JavaScript, supporting the notion that self-explanation generates germane cognitive load that directly contributes to learning. The seeming discrepancy in findings between students\u27 test performance and the reasoning for their choice on the preferred strategy was discussed in the areas of familiar versus new strategy, difficulty of learning materials, and experimental duration
Aprendizagem da programação no Ensino Superior: a adoção de cursos "online" gamificados
A temática da aprendizagem da programação tem sido objeto de estudo crescente nos últimos
anos. Como forma de mitigar as dificuldades de aprendizagem da programação diversas
soluções foram propostas. Procura-se assim motivar e criar experiências de aprendizagem ricas
e envolventes, centrar o estudante na aprendizagem, contribuindo assim para que o estudante
não desista na primeira dificuldade encontrada. A presente tese estuda em primeiro lugar os
diferentes tipos de problemas, percecionados por alunos e professores, na aprendizagem da
programação, e a aplicação de soluções que possam criar um maior envolvimento por parte dos
estudantes. Baseado em diversas teorias nomeadamente na teoria da gamificação e do "flow" é
aqui proposta e validada uma "framework" teórica de cursos "online" no contexto da aprendizagem
de programação. Neste sentido, foi desenvolvido numa plataforma "online" um curso gamificado
para operacionalização da "framework" teórica. Foi realizado um estudo com estudantes de
diversos cursos de ensino superior das áreas de engenharia, para aferir dos resultados
percecionados acerca do curso "online". Nesta tese foi também desenvolvido, um modelo teórico
de adoção tecnológica de cursos "online" para a aprendizagem da programação, no qual se
identificam os principais determinantes dessa adoção. Este modelo foi objeto de estudo e foi
realizado um inquérito para validação das hipóteses aqui definidas. Como dimensões
determinantes dessa adoção estão: fatores de personalidade dos estudantes, a facilidade de
utilização da plataforma e do curso de aprendizagem de programação, o prazer na utilização do
curso, a utilidade percebida do curso e o "flow". Os vários estudos conduzidos no âmbito desta
tese, demonstram que o desenho de cursos gamificados e os fatores de personalidade dos
estudantes são fatores chave na aprendizagem da programação e na adoção de cursos "online"
realizados para o efeito