Escolar Documentos
Profissional Documentos
Cultura Documentos
RSL Ceresmorais PDF
RSL Ceresmorais PDF
net/publication/341526356
CITATIONS READS
0 10
3 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Ceres Germanna Braga Morais on 20 May 2020.
The process of teaching and learning programming at the higher level: a systematic
literature review.
3984
MORAIS, OSÓRIO, MENDES NETO
Resumo
O presente artigo apresenta uma revisão sistemática de literatura que teve como objetivo analisar
artigos que abordem metodologias, estratégias e técnicas para o ensino e aprendizagem de
programação de computadores para o nível superior. A escolha pelo método de pesquisa se deu
pelo fato de que a revisão sistemática de literatura representa um tipo de estudo cuja metodologia
é bem definida, de forma que é capaz de avaliar as pesquisas de maneira criteriosa, confiável e
objetiva. Para este estudo, a revisão foi realizada em quatro bases de dados: Educational
Resources Information Center (ERIC), Web of Science, Scopus e IEEE Xplore. Para tanto, foi
definida uma questão de revisão, as palavras-chave, a equação necessária ao estudo, os critérios
de inclusão e exclusão, bem como o protocolo de revisão. Inicialmente, foram encontrados 301
artigos, dos quais 63 foram pré-selecionados. Após as etapas de aplicação dos critérios de
inclusão e exclusão permaneceram 21 artigos, que nos permitiram enquadrar o assunto tratado
nos temas de interesse para a nossa análise de conteúdos. Assim, foram definidos três temas
centrais, relacionados entre si, com o intuito de verificar (1) as abordagens propostas para o
ensino de programação, (2) como estas abordagens são validadas por seus proponentes e (3) quais
benefícios ou limitações são relatadas com o uso destas abordagens. Através dos resultados
apresentados, este artigo contribuiu com uma visão geral capaz de servir de ponto de partida para
várias outras pesquisas, incentivando como aplicar estas abordagens em um ambiente real de sala
de aula.
Abstract
This article presents a systematic literature review that aimed to analyze articles that address
methodologies, strategies and techniques for teaching and learning computer programming to the
higher level. The choice by the research method was based on the fact that the systematic review
of literature represents a type of study whose methodology is well defined, so that it is able to
evaluate the research in a judicious, reliable and objective way. For this study, the review was
conducted in four databases: Educational Resources Information Center (ERIC), Web of Science,
Scopus and IEEE Xplore. For that, a review question was defined, the keywords, the equation
necessary for the study, the inclusion and exclusion criteria, as well as the review protocol.
Initially, 301 articles were found, of which 63 were pre-selected. After the steps of applying the
inclusion and exclusion criteria, 21 articles remained, which allowed us to frame the subject
matter in the topics of interest for our content analysis. Thus, three central, related themes have
been defined in order to verify (1) the proposed approaches to programming teaching, (2) how
these approaches are validated by their proponents, and (3) what benefits or limitations are
reported with the use of these approaches. Through the results presented, this article contributed
with an overview that could serve as a starting point for several other researches, encouraging
how to apply these approaches in a real classroom environment.
3985
O processo de ensino e aprendizagem de programação no nível superior: uma revisão sistemática
Introdução
Aprender a programar está inserido das diretrizes curriculares dos cursos de Computação
e áreas correlatas (Rum e Ismail, 2017). No entanto, sabe-se que aprender uma linguagem
de programação é uma tarefa de grande dificuldade para alguns estudantes (Saito,
Washizaki e Fukuzawa, 2016). Além disso, cada aluno possui suas dificuldades individuais e
os professores precisam identificar tais dificuldades para que possam dar o suporte devido
a seus alunos (Kawagush et al., 2019), de maneira a garantir um melhor desempenho de
cada um de forma individual, e da turma como um todo. Vários são os estudos desenvolvidos
nos últimos anos, a fim de verificar e proporcionar abordagens que proporcionem melhorias no
processo de ensino e aprendizagem de programação de computadores.Para sedimentar propostas
educacionais voltadas para o ensino e aprendizado de programação, é importante mapear
esforços e resultados de produções científicas que estão sendo desenvolvidas. Este artigo
apresenta então os resultados de uma revisão sistemática da literatura (RSL), referente aos
últimos cinco anos, 2014 a 2019, com o objetivo de analisar artigos que tragam metodologias,
estratégias e ferramentas para o ensino e aprendizagem de programação para o ensino
superior. O trabalho está organizado da seguinte forma: a Seção 2 apresenta o método de
pesquisa utilizado; a Seção 3 apresenta as discussões em torno das três questões de pesquisas
elaboradas para este estudo; e a Seção 4 conclui o trabalho.
Metodologia
O presente trabalho tem como objetivo investigar trabalhos científicos que apresentem
metodologias, estratégias e ferramentas utilizadas no ensino e aprendizagem de programação,
dentre os anos de 2014 e 2019. Esse período de tempo foi escolhido para poder representar
pesquisas desenvolvidas nos últimos cinco anos, de forma a contemplar estudos mais recentes.
A metodologia utilizada neste trabalho foi baseada nas diretrizes propostas por
Kitchenham et. al. (2009), que define a RSL como uma pesquisa em profundidade de um
fenômeno de interesse que produz resultados específicos e detalhados por meio da análise de
conteúdo e qualidade do material pesquisado. Para esta revisão, foram elaboradas três questões de
pesquisas (QP), as quais guiaram o desenvolvimento de trabalho. A Tabela 1 a seguir apresenta as
questões relacionadas entre si.
Tabela 1
Questões de Pesquisa
3986
MORAIS, OSÓRIO, MENDES NETO
As pesquisas nas bases de dados foram realizadas através de uma string de busca para
trazer trabalhos que tratassem de estratégias de ensino de programação. A mesma string foi
utilizada nas quatro bases de dados digitais, e os mecanismos de buscas foram configurados para
buscar pela string no título, resumo e palavras-chaves dos artigos. A string utilizada é apresentada
a seguir:
((“Programming learning”) OR (“Programming teaching”)
AND
((“methods”) OR (“techniques”) OR (“strategies”)))
Para o desenvolvimento da RSL, foram realizadas pesquisas em quatro bases de dados
distintas, enquadradas em temáticas de Educação, Multidisciplinar e Eletrônica Informática. As
bases utilizadas estão apresentadas na Tabela 2, com a respectiva temática.
Tabela 2
Bases de dados utilizadas na pesquisa
Base de Dados Temática
ERIC – Educational Resources Information Center Educação
Web of Science Multidisciplinar
Scopus Multidisciplinar
IEEE Xplore Eletrônica Informática
3987
O processo de ensino e aprendizagem de programação no nível superior: uma revisão sistemática
Tabela 4
Critérios de exclusão
Critério de Exclusão Descrição
CE1 Artigos que estejam fora do intervalo de tempo dos anos 2014 a
2019
CE2 Artigo que contenha menos de seis páginas (ou seja, apenas
resumo ou short papers)
Resultados da pesquisa
Como resultado de buscas baseadas em títulos, resumos e palavras-chave, com a string
descrita anteriormente, e com os critérios de inclusão e exclusão configurados nas bases digitais,
foram encontrados um total de 301 trabalhos, sendo três na ERIC, 111 na Web of Science, 179 na
Scopus e oito na IEEE.
Inicialmente, por meio da leitura dos títulos e palavras-chave dos dados brutos retornados
na pesquisa, foram pré-selecionados 63 estudos artigos científicos, sendo um da ERIC, 19 da
Web of Science, 39 da Scopus e quatro da IEEE. A pré-seleção se deu eu relação à critérios
inerentes ao que se pretende trabalhar nesta pesquisa. Foram excluídos trabalhos que não fossem
específicos para o ensino de programação no nível superior de ensino, trabalhos voltados para
uma linguagem de programação específica, ou ainda que não contemplassem os critérios da
pesquisa.
Após essa pré-seleção, os 63 artigos foram exportados para a ferramenta de gestão
bibliográfica Mendeley, para que se desenvolvesse, primeiramente, a exclusão de artigos
duplicados e, posteriormente, à leitura dos resumos de todos os artigos. Com isso, não foi
selecionado nenhum artigo da base ERIC, seis artigos da Web of Science, 14 artigos da Scopus e
um artigo da IEEE, para a realização do trabalho, totalizando 21 artigos para análise. A Tabela 5
apresenta os resultados das buscas, separando-os de acordo com a base consultada.
Tabela 5
Resultado das buscas
Fonte Artigos encontrados Artigos pré-selecionados Artigos incluídos
ERIC 03 01 0
Web of Science 111 19 06
3988
MORAIS, OSÓRIO, MENDES NETO
Scopus 179 39 14
IEEE Xplore 08 04 01
Total 301 63 21
3989
O processo de ensino e aprendizagem de programação no nível superior: uma revisão sistemática
3990
MORAIS, OSÓRIO, MENDES NETO
3991
O processo de ensino e aprendizagem de programação no nível superior: uma revisão sistemática
Testes de usabilidade A6
Estudo quantitativo A17
Entrevista A18
Comparação entre abordagens A20
Os autores dos artigos [A1, A2, A8, A12, A14, A15, A21] não apresentaram em seus
respectivos resumos se a abordagem proposta foi validada. Um artigo [A3] realizou a validação
de sua proposta com uma comparação entre sistemas. A validação da abordagem em um ambiente
real de sala de aula foi realizada em dez dos trabalhos analisados [A3, A4, A5, A7, A9, A10, A11,
A13, A16, A17]. Já o artigo A6 realizou um teste de usabilidade para o sistema proposto. Os
trabalhos [A5] e [A19] desenvolveram um estudo empírico, e o trabalho [A17] apresentou um
estudo quantitativo. Para analisar a viabilidade da proposta, um trabalho desenvolveu uma
entrevista com os usuários [A18] e um trabalho comparou algumas abordagens de ensino da
programação [A20].
Quais benefícios e/ou limitações estão sendo relatadas pelo uso das abordagens propostas?
A Questão de Pesquisa 3 busca apresentar aos leitores quais são as principais vantagens
em se utilizar as abordagens tratadas nos trabalhos encontrados na RSL. Além disso, foram
pesquisadas as limitações das abordagens, a fim de saber se existem trabalhos futuros, ou se, por
exemplo, a abordagem proposta não trás resultados significativos no que diz respeito à
aprendizagem, aos seus utilizadores. A Tabela 8 apresenta os benefícios apresentados nos artigos,
classificados de acordo com os dados encontrados na pesquisa.
Tabela 8
Benefícios do uso das abordagens
Descrição do benefício Artigo
Motivação e maior integração dos alunos A2, A8, A11, A14, A15, A16, A17, A18
Melhor Performance A4, A5, A12, A17, A19, A20
Melhoria na prática de programação A4, A7, A11, A12, A16, A17, A20
Adaptável a outras abordagens A10, A21
Habilidades de pensamento lógico A11, A12, A20
Espírito de cooperação e colaboração A3, A18
De acordo com os dados obtidos, sete trabalhos [A2, A8, A11, A14, A15, A16, A17, A18]
trazem como benefícios de sua proposta a motivação e maior integração dos alunos em relação à
aprendizagem de programação. Destes sete trabalhos, cinco trazem a gamificação inserida em sua
abordagem, o que pode justificar o fato dos alunos sentirem-se mais motivados.
3992
MORAIS, OSÓRIO, MENDES NETO
3993
O processo de ensino e aprendizagem de programação no nível superior: uma revisão sistemática
em seus resumos os critérios de validação utilizados. Outro ponto verificado durante esta
pesquisa foram os benefícios que cada metodologia, estratégia ou técnicas poderiam trazer para
os alunos. Sete trabalhos citaram que os alunos ficavam mais motivados e notou-se
maior integração, e sete trabalhos também destacaram uma melhora significativa na
prática de programação.
Através dos resultados apresentados, este artigo contribuiu com uma visão geral capaz de
servir de ponto de partida para várias outras pesquisas, incentivando como aplicar
estas abordagens em um ambiente real de sala de aula.
Referências
Aparicio, J. T., & Costa, C. J. (2018, 13-16 June 2018). A virtual robot solution to support
programming learning an open source approach. Paper presented at the 2018 13th Iberian
Conference on Information Systems and Technologies (CISTI).
Appiahene, P., Asante, G., Kesse-Yaw, B., & Acquah-Hayfron, J. (2017). Raising students
programming skills using appiahene gamification model. Proceedings of the 11th European
Conference on Games Based Learning, ECGBL 2017
Arunoprayoch, N., Lai, C. H., Tho, P. D., & Liang, J. S. (2017). Effects of peer interaction on
web-based computer programming learning. Proceedings of the 25th International Conference on
Computers in Education, ICCE 2017
Chao, P. Y. (2016). Exploring students' computational practice, design and performance of
problem-solving through a visual programming environment. Computers and Education,
95, 202-215.
Coenen, J., Gross, S., & Pinkwart, N. (2018). Comparison of Feedback Strategies for Supporting
Programming Learning in Integrated Development Environments (IDEs). In N. T. Le, T.
VanDo, N. T. Nguyen, & H. A. LeThi (Eds.), Advanced Computational Methods for
Knowledge Engineering, Iccsama 2017 (Vol. 629, pp. 72-83).
Gu, P., Ma, J., Chen, W., Deng, L., & Jiang, L. (2017) A personalized learning strategy
recommendation approach for programming learning. In: Vol. 10179 LNCS (pp. 267-274).
Ito, K. (2018). Pictogramming-Programming learning environment using human pictograms.
IEEE Global Engineering Education Conference, EDUCON.
Ivanović, M., Mitrović, D., Budimac, Z., Vesin, B., & Jerinić, L. (2014) Different roles of agents
in personalized programming learning environment. In: Vol. 7697 LNCS (pp. 161-170).
Kawaguchi, S., Sato, Y., Nakayama, H., Onuma, R., Nakamura, S., & Miyadera, Y. (2019).
Machine Learning Model for Analyzing Learning Situations in Programming Learning.
2018 IEEE Conference on Big Data and Analytics, ICBDA 2018
Khaleel, F. L., Ashaari, N. S., Wook, T. S. M. T., & Ismail, A. (2018). Methodology for
developing gamification-based learning programming language framework. Proceedings of
the 2017 6th International Conference on Electrical Engineering and Informatics: Sustainable Society Through Digital
Innovation, ICEEI 2017
Kim, B., Kim, T., & Kim, J. (2014). Paper-and-pencil programming strategy toward
computational thinking for non-majors: Design your solution. Journal of Educational
Computing Research, 49(4), 437-459.
3994
MORAIS, OSÓRIO, MENDES NETO
Kim, H., Kim, C. M., (2015). Effects of PSA programming learning on Problem solving ability
and Logical thinking ability : In the case of High School Students. The Journal of Korean
Association of Computer Education, 18(5), 1-13.
Kitchenham, B.; Brereton, P.; Budgen, D.; Turner, M.; Bailey, J.; Linkman, S. (2009) “Systematic
literature reviews in software engineering – A systematic literature review”. In:
Information and Software Technology, v.51, p.7-15.
Lai, C.-H., Pham-Duc, T., & Liang, J.-S. (2017). Design and Evaluation of Question-generated
programming learning system. 2017 6th Iiai International Congress on Advanced Applied Informatics
Estrada, M. L. B., Cabada, R. Z., & Valdez, M. L. (2017). CodeTraining: An Authoring Tool for a
Gamified Programming Learning Environment. In O. PichardoLagunas & S.
MirandaJimenez (Eds.), Advances in Soft Computing, Micai 2016, Pt Ii (Vol. 10062, pp.
501-512).
Malliarakis, C., Satratzemi, M., & Xinogalos, S. (2014). Designing educational games for
computer programming: A holistic framework. Electronic Journal of e-Learning, 12(3),
281-298.
Matsumoto, S., Hayashi, Y., & Hirashima, T. (2018). Development of a card operation-based
programming learning system focusing on thinking between the relations of parts. IEEJ
Transactions on Electronics, Information and Systems, 138(8), 999-1010.
Özyurt, H., & Özyurt, Ö. (2018). Analyzing the effects of adapted flipped classroom approach on
computer programming success, attitude toward programming, and programming self-
efficacy. Computer Applications in Engineering Education, 26(6), 2036-2046.
Özyurt, Ö., & Özyurt, H. (2016). Using Facebook to enhance learning experiences of students in
computer programming at Introduction to Programming and Algorithm course. Computer
Applications in Engineering Education, 24(4), 546-554.
Rum, S. N. M., & Ismail, M. A. (2017). Metocognitive support accelerates computer assisted
learning for novice programmers. Educational Technology and Society, 20(3), 170-181.
Saito, D., Washizaki, H., & Fukazawa, Y. (2016). Work in progress: A comparison of
programming way: Illustration-based programming and text-based programming.
Proceedings of 2015 IEEE International Conference on Teaching, Assessment and Learning for Engineering, TALE
2015
Silva, T. R., Medeiros, T. J., Medeiros, H., Lopes, R., Aranha, E. (2015)Ensino e aprendizagem
de programação: uma revisão sistemática de literatura. Revista Brasileira de Informática
na Educação, Volume 23, número 1. 2015.
Vahldick, A., Mendes, A. J., & Marcelino, M. J. (2017). Learning Analytics Model in a Casual
Serious Game for Computer Programming Learning. In C. V. DeCarvalho, P. Escudeiro,
& A. Coelho (Eds.), Serious Games, Interaction and Simulation (Vol. 176, pp. 36-44).
3995