Uma ferramenta para apoiar generalização de feedback em disciplinas de programação introdutória
Resumo
Os conceitos básicos de programação fazem parte das disciplinas de programação introdutória, sendo de grande importância para a formação dos estudantes. Geralmente para avaliar o entendimento destes conceitos, os professores adotam atividades práticas de codificação, o que pode ser uma tarefa difícil, caso o feedback do professor não esteja em tempo adequado, podendo levar o aluno a desconhecer se o seu entendimento é correto. Para minimizar dificuldades desta natureza, diversos recursos computacionais são buscados pelos docentes. Portanto, o presente trabalho tem como objetivo apresentar uma proposta de ferramenta, que auxilie na generalização de feedback por meio de agrupamentos de códigos baseados em métricas de software.Referências
Alves, F. P. and Jaques, P. (2014). Um ambiente virtual com feedback personalizado para apoio a disciplinas de programação. Anais do XXV Simpósio Brasileiro de Informática na Educação (SBIE) 2014, pages 1078–1082.
Amaral, E., Camargo, A., Gomes, M., Richa, C., and Becker, L. (2017). Algo+: uma ferramenta para o apoio ao ensino de algoritmos e programação para alunos iniciantes. Anais do XXVIII SBIE 2017, pages 1677–1686.
Barbosa, A. A. (2018). Minimizando o esforço de avaliação em disciplinas de programação introdutória utilizando agrupamentos adaptáveis. Tese (Doutorado em Ciência da Computação). Universidade Federal de Campina Grande, Campina Grande, 2018.
Barbosa, A. A., Costa, E. B., and Brito, P. H. S. (2017). Uma abordagem adaptativa para gerar agrupamento de códigos em disciplinas de programação introdutória. Anais do XXVIII SBIE 2017, pages 1427–1436.
Beck, K. (2004). Programação extrema aplicada: acolha as mudanças. Bookman.
Bootstrap (2020). Bootstrap about. Get Bootstrap. Disponível em: https://getbootstrap.com/docs/4.3/about/overview. Acesso em: 28 fev. 2020.
Django (2020). Django documentation. Django Software Foundation. Disponível em: https://www.djangoproject.com. Acesso em: 11 fev. 2020.
Halstead, M. H. (1977). Elements of software science (Operating and programming systems series). Elsevier.
Lacchia, M. (2020). Radon 4.1.0 documentation. Read the docs. Disponível em: https://radon.readthedocs.io/en/latest. Acesso em: 11 fev. 2020.
MDN (2019). Django introduction. MDN Web Docs. Disponível em: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Introduction. Acesso em: 11 fev. 2020.
Oliveira, M. G., Monroy, N. A. J., Zandonade, E., and Oliveira, E. (2014). Análise de componentes latentes da aprendizagem de programação para mapeamento e classicação de pers. Anais do XXV SBIE 2014, pages 134–143.
Oracle (2020). MySQL 8.0 reference manual. Oracle Corporation. Disponível em: https://downloads.mysql.com/docs/refman-8.0-en.pdf. Acesso em: 28 fev. 2020.
Piech, C. (2013). K-means. Stanford. Disponível em: http://stanford.edu/cpiech/cs221/handouts/kmeans. Acesso em: 28 fev. 2020.
Santos, A. G. S., Neves, W. R. M., and Lopes, F. A. (2019). Uma perspectiva das múltiplas inteligências nas tecnologias utilizadas para o ensino de programação. Anais da XIX Escola Regional de Computação Bahia-Alagoas-Sergipe (ERBASE) 2019.
Silva, M. T., Costa, E. B., Barbosa, P. H., and Cavalcante, J. C. (2014). Um arcabouço para construção de mecanismos de análise de códigos de programação introdutória. Anais do XXV SBIE 2014, pages 1083–1092.
Sommerville, I. (2011). Engenharia de software. Pearson Prentice Hall, 9th edition.
Souza, M. S. C., Costa, F. A. M., Silva, V. L., and Terra, D. C. (2016). Lord of code: uma ferramenta de apoio ao ensino de programação. Anais do XXVII SBIE 2016, pages 1316–1320.
Teles, V. M. (2014). Extreme programming. Novatec, 2nd edition.
Yin, H., Moghadam, J., and Fox, A. (2015). Clustering student programming assignments to multiply instructor leverage. In Proceedings of the Second 2015, page 367–372. ACM Conference on Learning @ Scale.
Yulianto, S. V. and Liem, I. (2014). Automatic grader for programming assignment using source code analyzer. In International Conference on Data and Software Engineering (ICoDSE) 2014.
Amaral, E., Camargo, A., Gomes, M., Richa, C., and Becker, L. (2017). Algo+: uma ferramenta para o apoio ao ensino de algoritmos e programação para alunos iniciantes. Anais do XXVIII SBIE 2017, pages 1677–1686.
Barbosa, A. A. (2018). Minimizando o esforço de avaliação em disciplinas de programação introdutória utilizando agrupamentos adaptáveis. Tese (Doutorado em Ciência da Computação). Universidade Federal de Campina Grande, Campina Grande, 2018.
Barbosa, A. A., Costa, E. B., and Brito, P. H. S. (2017). Uma abordagem adaptativa para gerar agrupamento de códigos em disciplinas de programação introdutória. Anais do XXVIII SBIE 2017, pages 1427–1436.
Beck, K. (2004). Programação extrema aplicada: acolha as mudanças. Bookman.
Bootstrap (2020). Bootstrap about. Get Bootstrap. Disponível em: https://getbootstrap.com/docs/4.3/about/overview. Acesso em: 28 fev. 2020.
Django (2020). Django documentation. Django Software Foundation. Disponível em: https://www.djangoproject.com. Acesso em: 11 fev. 2020.
Halstead, M. H. (1977). Elements of software science (Operating and programming systems series). Elsevier.
Lacchia, M. (2020). Radon 4.1.0 documentation. Read the docs. Disponível em: https://radon.readthedocs.io/en/latest. Acesso em: 11 fev. 2020.
MDN (2019). Django introduction. MDN Web Docs. Disponível em: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Introduction. Acesso em: 11 fev. 2020.
Oliveira, M. G., Monroy, N. A. J., Zandonade, E., and Oliveira, E. (2014). Análise de componentes latentes da aprendizagem de programação para mapeamento e classicação de pers. Anais do XXV SBIE 2014, pages 134–143.
Oracle (2020). MySQL 8.0 reference manual. Oracle Corporation. Disponível em: https://downloads.mysql.com/docs/refman-8.0-en.pdf. Acesso em: 28 fev. 2020.
Piech, C. (2013). K-means. Stanford. Disponível em: http://stanford.edu/cpiech/cs221/handouts/kmeans. Acesso em: 28 fev. 2020.
Santos, A. G. S., Neves, W. R. M., and Lopes, F. A. (2019). Uma perspectiva das múltiplas inteligências nas tecnologias utilizadas para o ensino de programação. Anais da XIX Escola Regional de Computação Bahia-Alagoas-Sergipe (ERBASE) 2019.
Silva, M. T., Costa, E. B., Barbosa, P. H., and Cavalcante, J. C. (2014). Um arcabouço para construção de mecanismos de análise de códigos de programação introdutória. Anais do XXV SBIE 2014, pages 1083–1092.
Sommerville, I. (2011). Engenharia de software. Pearson Prentice Hall, 9th edition.
Souza, M. S. C., Costa, F. A. M., Silva, V. L., and Terra, D. C. (2016). Lord of code: uma ferramenta de apoio ao ensino de programação. Anais do XXVII SBIE 2016, pages 1316–1320.
Teles, V. M. (2014). Extreme programming. Novatec, 2nd edition.
Yin, H., Moghadam, J., and Fox, A. (2015). Clustering student programming assignments to multiply instructor leverage. In Proceedings of the Second 2015, page 367–372. ACM Conference on Learning @ Scale.
Yulianto, S. V. and Liem, I. (2014). Automatic grader for programming assignment using source code analyzer. In International Conference on Data and Software Engineering (ICoDSE) 2014.
Publicado
26/10/2020
Como Citar
DA SILVA, Luiz Fernando; BARBOSA, Alexandre.
Uma ferramenta para apoiar generalização de feedback em disciplinas de programação introdutória. In: ESCOLA REGIONAL DE COMPUTAÇÃO BAHIA, ALAGOAS E SERGIPE (ERBASE), 20. , 2020, Arapiraca-AL.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2020
.
p. 321-330.