Dekstra: um Ambiente de Aprendizagem Social para iniciação à aprendizagem de programação usando esquemas de concepção e planos programação

Jalves Mendonça Nicácio, Fábio Paraguaçu Duarte da Costa

Resumo


A aprendizagem de algoritmos é uma etapa essencial na atividade de programar. No entanto, o aprendiz de programação tem muita dificuldade de elaborar planos de programação. Esse trabalho propõe a concepção e realização de um Ambiente Virtual de Aprendizagem de Programação, baseado no conceito de Ambiente de Aprendizagem Social. No Ambiente proposto, foi disponibilizado na interface, um conjunto de suportes para auxiliar o aprendiz na elaboração dos algoritmos desenvolvidos a partir da biblioteca Blockly. Nesse sentido, foram incorporados no ambiente um conjunto de esquemas de concepção de programas que permite a construção de planos de programação de forma visual e através da interação com um agente inteligente companheiro. A noção de Scaffolding, termo utilizado por alguns pesquisadores no contexto da aprendizagem para designar um suporte que é dado ao indivíduo no estágio inicial de aprendizagem, foi fortemente utilizada com vistas a promover a aprendizagem colaborativa dos conceitos iniciais de programação.

Palavras-chave


Ensino de programação; Ambiente de Aprendizagem Social; Andaimento; Plano de Programação; Padrões de Programação

Texto completo:

PDF

Referências


dán-Coello, J., de Menezes, W., de Faria, E., & Tobar, C. (2008). Conflito sócio-cognitivo e estilos de aprendizagem na formação de grupos para o aprendizado colaborativo de programação de computadores. Brazilian Journal of Computers in Education, 16(03).

Almeida, E. S. d., Costa, E. d. B., Silva, K. d. S., Paes, R. d. B., Almeida, A. A. M., & Braga, J. D. H. (2002). Ambap: Um ambiente de apoio ao aprendizado de programação. X Workshop sobre Educação em Informática.

ARANTES, Flávia Linhalis; RIBEIRO, Paula Eduarda Justino. Desenvolvimento do Pensamento Computacional com Valores da Ética Hacker. Informática na Educação: teoria & prática, Porto Alegre, v. 20, n. 2, p. 188-206, mai./ago. 2017.

Astrachan, O. & Wallingford, E. (1998), 'Loop Patterns', Patterns Languages of Programs.

Bergin, J. (1999), 'Patterns for selection version 4', Disponível em

Bonar, J. & Soloway, E. (1985), 'Preprogramming Knowledge: A Major Source of Misconceptions in Novice Programmers.', Human-Computer Interaction 1(2), 133-161. Disponível em:

Chan, T. W. (1991), Integration-Kid: A Learning Companion System, in International Joint Conferences on Artificial Intelligence Organization, ed., .

Chan, T.-W. (1995), 'Artificial Agents in Distance Learning', International Journal of Educational Telecommunications 1(2), 263–282. Disposnível em:

Dershem, H. L. & Jipping, M. J. (1995), Programming Languages. Structures and models, PWS Publishing Company, Boston.

Dijkstra, E. W. (1968), 'Go To statement considered harmful', Comm. ACM 11(3), 147-148.

Fischer, A. E. & Grodzinsky, F.Cliffs, E., ed. (1993), The Anatomy of Programming Languages, Prentice Hall, New Jersey.

Fraser, N. & others (2013), 'Blockly: A visual programming editor', URL: https://developers.google.com/blockly/guides/overview.

Halstead, N. (2007), 'Uses of Pseudo Code in Development'. Disponível em: . Acesso em: 4 de Agosto de 2017.

Johnson, W. L. & Soloway, E. (1985), PROUST: Knowledge-based program understanding, in 'IEEE, Transactions on Software Engineering', pp. 369-380.

Koliver, C.; Dorneles, R. V. & Casa, M. E. (2004), Das (Muitas) Dúvidas e (Poucas) Certezas do Ensino de Algoritmos, in 'Anais do XXIV Congresso da Sociedade Brasileira de Computação. p. 949-960.'.

Leal, A. V. A. (2014), 'Ensino de Programação no Ensino Médio Integrado: Uma Abordagem Utilizando Padrões e Jogos com Materiais Concretos.', Master's thesis, Universidade Federal de Goiás.

Leite, V. M.; Senefonte, H. C. M.; Barbosa, C. R. & Seabra, R. D. (2013), 'VisuAlg: Estudo de Caso e Análise de Compilador destinado ao ensino de Programação''Nuevas Ideas en Informática Educativa TISE 2013'.

Lemos, M. A. (2004), 'Uma Abordagem Baseada em Padrões Elementares para Aprendizado de Programação', PhD thesis, Universidade de São Paulo.

Lemos, M. A.; Barros, L. N. & Lopes, R. D. (2003), Uma Biblioteca Cognitiva para o aprendizado de programação, in 'CONGRESSO NACIONAL DA SOCIEDADE BRASILEIRA DECOMPUTAÇÃO'.

Lemos, M. A.; Lopes, R. D. & Barros, L. N. (2005), Avaliação do ensino-aprendizagem de programação usando uma abordagem baseada em padrões elementares de programação, in 'XXXIII Congresso Brasileiro de Ensino de Engenharia'.

Manso, A.; Oliveira, L. & Marques, Cé. G. (2009), 'Portugol IDE–Uma ferramenta para o ensino de programação', PAEE.

McIntyre, D. (1998), 'Comp.Lang.Visual - Frequently-Asked Questions List', .

Otwell, T. (2016), 'Laravel Documentation', Laravel.[Online].

Pacitti, T.; Aktinson, C. P. & Teles, A. A. d. S.LTC, ed. (1983), Programação e Métodos Computacionais, Rio de Janeiro.

Papert, S. (1988), Logo: computadores e educação., Brasiliense, São Paulo.

Paraguacu, F. (1997), 'VYGOTSKY: un environnement d'apprentissage social pour la programmation fondé sur la collaboration entre agents d'aide à la conception par cas', PhD thesis, Aix-Marseille 3

Pears, A.; Seidman, S.; Malmi, L.; Mannila, L.; Adams, E.; Bennedsen, J.; Devlin, M. & Paterson, J. (2007), A survey of literature on the teaching of introductory programming, in 'Working group reports on ITiCSE on Innovation and technology in computer science education', ACM, New York, NY, USA, pp. 204--223.

Resnick, M.; Maloney, J.; Monroy-Hernández, A.; Rusk, N.; Eastmond, E.; Brennan, K.; Millner, A.; Rosenbaum, E.; Silver, J.; Silverman, B. & Kafai, Y. (2009), 'Scratch: Programming for All', Commun. ACM 52(11), 60--67.

Rheinfrank, J. & Evenson, S. (1996), Bringing design to software, in Terry Winograd, ed., , ACM, New York, NY, USA, pp. 63--85.

Rocha, P. S.; Ferreira, B.; Monteiro, D.; Nunes, D. d. S. C. & do Nascimento Góes, H. C. (2010), 'Ensino e Aprendizagem de Programação: Análise da aplicação de proposta metodológica baseada no Sistema Personalizado de Ensino', RENOTE 8(3).

Silva, M. T.; Cavalcante, M. C. T. C. & Costa, E. B. (2013), Explorando correlações em Programação: um estudo focado no processo seletivo e em disciplinas correlatas, in 'Anais do XXIV Simpósio Brasileiro de Informática na Educação'.

Vygotsky, L. S. (2007), A formação social da mente, Martins Fontes, São Paulo.

Wallingford, E. (1998), Elementary Patterns and their Role in Instruction., in 'OOPSLA'98 Educators Symposium Notes'.

von Wangenheim, C. G.; Nunes, V. R. & dos Santos, G. (2014), 'Teaching Computing with SCRATCH in Elementary Schools – A Case Study', Brazilian Journal of Computers in Education 22(03), 115.

Winograd, T. (1996), Bringing Design to Software, ACM Press.

Wood, D. J.; Bruner, J. S. & Ross, G. (1976), 'The Role of Tutoring in Problem Solving', Jorunal of Child Psychiatry and Psychology 17(2), 89--100.

(2016), 'Blockly Games', Google, Acesso em: 07/10/2016.

(2016), 'Maze', Google, Acesso em: 07/10/2016.

(2016), 'Intro to Computational Thinking: Algorithms - Intro Blockly', Virginia Polytechnic Institute and State University, Acesso em: 07/10/2016.

(2005), 'The Elementary Patterns Home Page', University of Northern Iowa, Iowa, homepage de padrões elementares, integra a comunidade de pesquisadores, trabalhos realizados e em andamento na área. Acesso em: 14 out. 2016.

(1998), 'ChiliPLoP: Southwestern Conference on Pattern Languages of Programs', The Hillside Group, Acesso em 21 out 2016.




DOI: https://doi.org/10.22456/1982-1654.77611

Direitos autorais 2018 Informática na educação: teoria & prática

Licença Creative Commons
Este obra está licenciado com uma Licença Creative Commons Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional.

INFORMÁTICA NA EDUCAÇÃO: teoria & prática. e-ISSN: 1982-1654 ISSN Impresso:1516-084X