Rea-LP: Open Educational Resource for Studying Algorithms and Programming Logic

Authors

  • Diego Eugenio Fernandes Pereira Universidade Federal de Itajubá
  • Rodrigo Duarte Seabra Universidade Federal de Itajubá

DOI:

https://doi.org/10.14571/brajets.v18.n1.11-37

Keywords:

open educational resources, algorithms, programming logic, technical education

Abstract

The teaching and learning of programming, in general, has proven to be a challenge for students of computer and related courses since they present challenges and require complex skills, such as logical-mathematical reasoning, for their good development. The tool proposed herein, REA-LP, aims to facilitate the studying and retention of content related to the discipline of programming logic at the technical level by presenting its content through various types of media, in addition to allowing students to actively participate in the construction of their knowledge, favoring engagement and motivation. From the results obtained through an empirical study with 39 students, it can be concluded that the tool was very well accepted, being effective in its function of facilitating and assisting participants in their learning, motivation, and interest in classes, mainly due to how the content is presented at REA-LP, exceeding their expectations.

References

Adamchik, V; Gunawardena, A. (2003). A learning objects approach to teaching programming. In: Proceedings ITCC 2003. International Conference on Information Technology: Coding and Computing. IEEE, p. 96-99. DOI: https://doi.org/10.1109/ITCC.2003.1197507

Almeida, E. S. et al. (2002). AMBAP: Um ambiente de apoio ao aprendizado de programação. In: Anais do XXII Congresso da Sociedade Brasileira de Computação. p. 79-88.

Baldwin, D. et al. (2013). The roles of mathematics in computer science. Acm Inroads, v. 4, n. 4, p. 74-80. DOI: https://doi.org/10.1145/2537753.2537777

Barbosa, L. S. et al. (2011). Takkou: uma ferramenta proposta ao ensino de algoritmos. In: XVIII Workshop sobre Educação em Computação (WEI 2011).

Barbosa, E. F; De Moura, D. G. (2013). Metodologias ativas de aprendizagem na educação profissional e tecnológica. Boletim Técnico do Senac, v. 39, n. 2, p. 48-67. DOI: https://doi.org/10.26849/bts.v39i2.349

Barcelos, R. et al. (2009). O uso de mobile learning no ensino de algoritmos. RENOTE, v. 7, n. 3, p. 327-337. DOI: https://doi.org/10.22456/1679-1916.13573

Bennedsen, J; Caspersen, M. E. (2019). Failure rates in introductory programming: 12 years later. ACM Inroads, v. 10, n. 2, p. 30-36. DOI: https://doi.org/10.1145/3324888

Bergin, S; Reilly, R. (2005). Programming: factors that influence success. In: Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education. p. 411-415. DOI: https://doi.org/10.1145/1047344.1047480

Bezerra, F; Dias, K. (2012). Programação de computadores no ensino fundamental: experiências com Logo e Scratch em escola pública. Traços, v. 14, n. 30, p. 9-19.

Bonwell, C. C; Eison, J. A. (1991). Active learning: creating excitement in the classroom. ASHE-ERIC Higher Education Reports. ERIC Clearinghouse on Higher Education, The George Washington University, One Dupont Circle, Suite 630, Washington, DC 20036-1183.

Boyle, T. (2003). Design principles for authoring dynamic, reusable learning objects. Australasian Journal of Educational Technology, v. 19, n. 1, p 46-58. DOI: https://doi.org/10.14742/ajet.1690

BRASIL. (2016a). Medida Provisória MPV 746/2016. Brasília, 22 set. 2016. Disponível em: < http://www.planalto.gov.br/ccivil_03/_ato2015-2018/2016/Mpv/mpv746.htm >. Acesso em: 19 fev. 2022.

BRASIL. (2016b). Resolução n. 510, de 07 de abril de 2016. Dispõe sobre as normas aplicáveis a pesquisas em Ciências Humanas e Sociais, Conselho Nacional de Saúde.

BRASIL. (2017). Lei de Diretrizes e Bases da Educação Nacional. Lei nº 13.415/2017, de 16 de fevereiro de 2017. Disponível em: < http://www.planalto.gov.br/ccivil_03/_ato2015-2018/2017/lei/L13415.htm>. Acesso em: 19 fev. 2022. DOI: https://doi.org/10.22420/rde.v11i20.773

Butcher, N. (2015). A basic guide to open educational resources (OER). Commonwealth of Learning (COL). DOI: https://doi.org/10.56059/11599/36

Byrne, P; Lyons, G. (2001). The effect of student attributes on success in programming. In: Proceedings of the 6th Annual Conference on Innovation and Technology in Computer Science Education. p. 49-52. DOI: https://doi.org/10.1145/377435.377467

Byrne, M. D. et al. (1996). Do algorithm animations aid learning?. Georgia Institute of Technology.

Cacho, C. E. A. (2016). Desenvolvimento e utilização de recursos educacionais abertos para colaborar com ensino de memória virtual. Tese de Doutorado, Universidade de São Paulo.

Caspersen, M. E; Kolling, M. (2009). STREAM: A first programming process. ACM Transactions on Computing Education (TOCE), v. 9, n. 1, p. 1-29. DOI: https://doi.org/10.1145/1513593.1513597

Costa, F. H. G. D. (2011). Objeto de aprendizagem para o ensino de estruturas de dados. Brasília: [s.n].

De Jesus, A. N. et al. (2007). Objetos de aprendizagem no ensino de lógica de programação. Revista de Informática Aplicada, v. 3, n. 2.

Ferrandin, M; Stephani, S. L. (2005). Ferramenta para o ensino de programação via Internet. Anais SULCOMP, v. 1.

Gama, C. L. G. (2007). Método de construção de objetos de aprendizagem com aplicação em métodos numéricos. Tese de Doutorado, Universidade Federal do Paraná.

Gomes, A; Mendes, A. (2014). A teacher's view about introductory programming teaching and learning: difficulties, strategies and motivations. In: 2014 IEEE Frontiers in Education Conference (FIE) Proceedings. IEEE. p. 1-8. DOI: https://doi.org/10.1109/FIE.2014.7044086

Grabe, M; Grabe, C. (2001). Integrating technology for meaningful learning. Houghton Mifflin Co. Boston.

Grandl, M. et al. (2018). It's in your pocket: a MOOC about programming for kids and the role of OER in teaching and learning contexts. In: Conference Proceeding Open Educational Global Conference. p. 14.

Henrique, M. S. et al. (2015). Uma revisão sistemática da literatura sobre o uso de teorias de aprendizagem em softwares educacionais. RENOTE, v. 13, n. 2. DOI: https://doi.org/10.22456/1679-1916.61434

Holanda, W. et al. (2018). Uma intervenção metodológica para auxiliar a aprendizagem de programação introdutória: um estudo experimental. In: VII Congresso Brasileiro de Informática na Educação. Anais. Fortaleza: Sociedade Brasileira de Computação. DOI: https://doi.org/10.5753/cbie.wcbie.2018.699

Jenkins, T. (2002). On the difficulty of learning to program. In: Proceedings of the 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences, p. 53-58.

Júnior, J. C. R. P. et al. (2005). Ensino de algoritmos e programação: uma experiência no nível médio. In: XIII Workshop de Educação em Computação. São Leopoldo, Rio Grande do Sul.

K-12 COMPUTER SCIENCE FRAMEWORK STEERING COMMITTEE et al. (2016). K-12 computer science framework. ACM.

Kenski, V. M. (2003). Aprendizagem mediada pela tecnologia. Revista Diálogo Educacional, v. 4, n. 10, p. 1-10. DOI: https://doi.org/10.7213/rde.v4i10.6419

Koliver, C. et al. (2004). Das (muitas) dúvidas e (poucas) certezas do ensino de algoritmos. In: XII Workshop de Educação em Computação.

Kulyk, O. et al. (2007). Human-centered aspects. In: Human-centered visualization environments. Springer, Berlin, Heidelberg, p. 13-75. DOI: https://doi.org/10.1007/978-3-540-71949-6_2

Lahtinen, E. et al. (2005). A study of the difficulties of novice programmers. Acm Sigcse Bulletin, v. 37, n. 3, p. 14-18. DOI: https://doi.org/10.1145/1151954.1067453

Lin, F. et al. (2019). Open interactive algorithm visualization. In: 2019 IEEE Canadian Conference of Electrical and Computer Engineering (CCECE). IEEE, p. 1-4. DOI: https://doi.org/10.1109/CCECE.2019.8861535

Löwis, M. et al. (2015). Scaling youth development training in IT using an xMOOC platform. In: 2015 IEEE Frontiers in Education Conference (FIE). IEEE, p. 1-9. DOI: https://doi.org/10.1109/FIE.2015.7344145

Mayer, R. E. (Ed.). (2005). The Cambridge handbook of multimedia learning. New York: Cambridge University Press. DOI: https://doi.org/10.1017/CBO9780511816819

Mayer, R. E.; Moreno, R. (2002). Aids to computer-based multimedia learning. Learning and Instruction, v. 12, n. 1, p. 107-119. DOI: https://doi.org/10.1016/S0959-4752(01)00018-4

Mayer, R. E; Moreno, R. (2003). Nine ways to reduce cognitive load in multimedia learning. Educational Psychologist. v. 38, n. 1, p. 43-52. DOI: https://doi.org/10.1207/S15326985EP3801_6

Medeiros, R. P. (2019). Hello, world: uma análise sobre dificuldades no ensino e na aprendizagem de introdução à programação nas universidades. Tese de Doutorado, Universidade Federal de Pernambuco.

Medeiros, R. P. et al. (2018). A systematic literature review on teaching and learning introductory programming in higher education. IEEE Transactions on Education, v. 62, n. 2, p. 77-90. DOI: https://doi.org/10.1109/TE.2018.2864133

Moon, J. et al. (2020). A conceptual framework for teaching computational thinking in personalized OERs. Smart Learning Environments, v. 7, n. 1, p. 1-19. DOI: https://doi.org/10.1186/s40561-019-0108-z

Narasimhamurthy, U; Al Shawkani, K. (2009). Teaching of programming languages: an introduction to dynamic learning objects. In: 2009 International Workshop on Technology for Education. IEEE, p. 114-115. DOI: https://doi.org/10.1109/T4E.2009.5314123

Ng, E; Bereiter, C. (1991). Three levels of goal orientation in learning. Journal of the Learning Sciences, v. 1, n. 3-4, p. 243-271. DOI: https://doi.org/10.1080/10508406.1991.9671972

Nobre, I. A. M.; Menezes, C. S. (2002). Suporte à cooperação em um ambiente de aprendizagem para programação (SAmbA). In: XIII Simpósio Brasileiro de Informática na Educação – SBIE 2002. São Leopoldo, p. 337-347.

Ralston, A. (1984). The first course in computer science needs a mathematics corequisite. Communications of the ACM, v. 27, n. 10, p. 1002-1005. DOI: https://doi.org/10.1145/358274.358280

Rapkiewicz, C. E. et al. (2006). Estratégias pedagógicas no ensino de algoritmos e programação associadas ao uso de jogos educacionais. RENOTE, v. 4, n. 2. DOI: https://doi.org/10.22456/1679-1916.14284

Ribeiro, R. J. et al. (2015). Teorias de aprendizagem em jogos digitais educacionais: um panorama brasileiro. RENOTE, v. 13, n. 1. DOI: https://doi.org/10.22456/1679-1916.57589

Saines, G. et al. (2013). Codecombat. Silicon Valley. Disponível em: <https://br.codecombat.com/about>. Acesso em: 01 ago. 2021.

Sancho, J. M; Hernández, F. (2008). Tecnologias para transformar a educação. Porto Alegre: Artmed.

Santiago, A. D.; Kronbauer, A. H. (2017). Um modelo lúdico para o ensino de conceitos de programação de computadores. Revista Brasileira de Informática na Educação, v. 25, n. 3, p. 1-29. DOI: https://doi.org/10.5753/rbie.2017.25.03.1

Silberman, M. (1996). Active learning: 101 strategies to teach any subject. Prentice-Hall, PO Box 11071, Des Moines, IA 50336-1071. p. 189.

Silva, G; Seabra, R. D. (2018). REA-AED: Recurso educacional aberto para o ensino de algoritmos e estruturas de dados. In: Anais do XIV Simpósio Brasileiro de Sistemas de Informação, p 1-7.

Silva, J. P. et al. (2020). Turing Project: an open educational game to teach and learn programming logic. In: 15th Iberian Conference on Information Systems and Technologies (CISTI). IEEE, p. 1-6. DOI: https://doi.org/10.23919/CISTI49556.2020.9141122

Silva, P. et al. (2015a). Um mapeamento sistemático sobre iniciativas brasileiras em ambientes de ensino de programação. In: Anais do XXVI Simpósio Brasileiro de Informática na Educação, p. 367. DOI: https://doi.org/10.5753/cbie.sbie.2015.367

Silva, T. R. et al. (2015b). Ensino aprendizagem de programação: uma revisão sistemática da literatura. Revista Brasileira de Informática na Educação, v. 23, n. 1, p. 182-196. DOI: https://doi.org/10.5753/rbie.2015.23.01.182

Sloane, K. D; Linn, M. C. (1988). Instructional conditions in Pascal programming classes. In R. E. Mayer (ed), Teaching and Learning Computer Programming, Lawrence Erlbaum Associates. pp 207-235.

Soares, T. C. A. P. et al. (2004). Uma proposta metodológica para o aprendizado de algoritmos em grafos via animação não-intrusiva de algoritmos. In: III Workshop de Educação em Computação e Informática do Estado de Minas Gerais (WEIMIG'2004). Belo Horizonte, p. 1-14.

Staubitz, T. et al. (2017). Towards a repository for open auto-gradable programming exercises. In: 2017 IEEE 6th International Conference on Teaching, Assessment, and Learning for Engineering (TALE). IEEE, p. 66-73. DOI: https://doi.org/10.1109/TALE.2017.8252306

Tobar, C. M. et al. (2001). Uma arquitetura de ambiente colaborativo para o aprendizado de programação. In: Simpósio Brasileiro de Informática na Educação. p. 367-376.

Torres, E. F; Mazzoni, A. A. (2004). Conteúdos digitais multimídia: o foco na usabilidade e acessibilidade. Ciência da Informação, v. 33, n. 2, p. 152-160. DOI: https://doi.org/10.1590/S0100-19652004000200016

Towey, D; Zhao, K. (2017). Developing an automated coding tutorial OER. In: 2017 IEEE 6th International Conference on Teaching, Assessment, and Learning for Engineering (TALE). IEEE, p. 233-238. DOI: https://doi.org/10.1109/TALE.2017.8252339

Watson, C; Li, F. W. (2014). Failure rates in introductory programming revisited. In: Proceedings of the 2014 Conference on Innovation & Technology in Computer Science Education. p. 39-44. DOI: https://doi.org/10.1145/2591708.2591749

Werneburg, S. et al. (2018). ctGameStudio – a game-based learning environment to foster computational thinking. In: 26th International Conference on Computers in Education, Philippines.

Wilson, B. C; Shrock, S. (2001). Contributing to success in an introductory computer science course: a study of twelve factors. ACM SIGCSE Bulletin, v. 33, n. 1, p. 184-188. DOI: https://doi.org/10.1145/366413.364581

Wilson, C. (2014). Hour of code: we can solve the diversity problem in computer science. ACM Inroads, v. 5, n. 4, p. 22-22. DOI: https://doi.org/10.1145/2684721.2684725

Wu, B. et al. (2011). Live programming learning objects on cloud. In: 2011 IEEE 11th International Conference on Advanced Learning Technologies. IEEE, p. 362-363. DOI: https://doi.org/10.1109/ICALT.2011.113

Wu, W. H. et al. (2012). Re-exploring game-assisted learning research: the perspective of learning theoretical bases. Computers & Education, v. 59, n. 4, p. 1153–1161. DOI: https://doi.org/10.1016/j.compedu.2012.05.003

Zorzo, A. F. et al. (2017). Referenciais de Formação para os Cursos de Graduação em Computação. 2017. Disponível Em: https://www.sbc.org.br/documentos-da-sbc/send/131-curriculos-de-referencia/1165-referenciais-de-formacao-para-cursos-de-graduacao-em-computacao-outubro-2017. Acesso: fev. 2022.

Published

28-03-2025

How to Cite

Fernandes Pereira, D. E., & Duarte Seabra, R. (2025). Rea-LP: Open Educational Resource for Studying Algorithms and Programming Logic. Cadernos De Educação Tecnologia E Sociedade, 18(1), 11–37. https://doi.org/10.14571/brajets.v18.n1.11-37

Issue

Section

Article