Aprender a melhor programar computadores: com métodos e ferramentas que permitem conceber, executar e testar programas — casos de programação iterativa e recursiva

Autores

  • Paulo Enes Silveira Universidade Lusíada

DOI:

https://doi.org/10.34628/0zy6-we77

Resumo

Como conceber e codificar um bom Programa para Programação de Computadores? Esta é uma questão sempre presente na mente de quem aprende e ensina Programação. Perante um Problema a resolver, o presente artigo apresenta métodos para conceber soluções de Programação, apresentando estudos de casos com a aplicação de métodos de Programação Iterativa e Recursiva, tanto na conceção, como na codificação, execução e testes de Programas, num ambiente de aprendizagem interativa. A Linguagem de Programação Python foi justificadamente escolhida, na sua componente de paradigma imperativo, e aplicou-se a ferramenta Online Python Tutor, para codificação, execução e teste, a qual permite, de forma interativa, compreender a execução do programa e observar o estado das estruturas de dados envolvidas, passo a passo.

Palavras-chave:

Métodos de programação, Programação iterativa, Programação recursiva, Aprendizagem interativa, Python

Referências

Arsac, J. (1980). Premières leçons de programmation. Paris: Cedic.

Arsac, J. (1983). Les bases de la programmation. Paris: Dunod.

Arsac, J. (1991). Préceptes pour Programmer. Paris: Dunod.

Arsac, J. (1993). Programação Criativa, Preceitos e Instrumentos. T. L. Castro (Ed.), Mem Martins, Portugal: CETOP. Prólogo de P. E. Silveira.

Cass, S. (2020) Top Programming Languages 2020, Spectrum IEEE.

https://spectrum.ieee.org/at-work/tech-careers/top-programming-language-2020

Dijkstra, E. (1976). A Discipline of Programming. Prentice Hall.

Greis, D. (1981). The Science of Programming. New York: Springer Verlag.

Guo, P. (2013) Online Python Tutor: Embeddable Web-Based Program Visualization for CS Education. ACM Technical Symposium on Computer Science Education (SIGCSE), 2013. Consultado a 12/10/2020: https://dl.acm.org/doi/10.1145/2445196.2445368

Guo, P. (2014) Python Is Now the Most Popular Introductory Teaching Language at Top U.S. Universities, July 7 2014, bolg@cacm, Communications of the ACM, 7 p. https://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-u-s-universities/fulltext

Guo, P. & Markel, J. & Zhang, X. (2020). Learnersourcing at Scale to Overcome Expert Blind Spots for Introductory Programming: A Three-Year Deployment Study on the Python Tutor Website. L@S ‘20: Proceedings of the Seventh ACM Conference on Learning @ Scale August 2020 pp. 301–304 https://doi.org/10.1145/3386527.3406733

Knuth, D. (1968). The art of computer programming: Fundamental Algorithms (3rd. Ed.) vol 1, Addison Wesley.

Shein, E..(2015) Python for Beginners, Communications of the ACM. Mar2015, Vol. 58 Issue 3, p19-21. https://dl.acm.org/doi/10.1145/2716560

Silveira, P. E. (2016). Programação Directa e Iterativa, Métodos para criar bons Programas. Tributo a Jacques Arsac, Economia & Empresa, 21, Lusíada, Lisboa, 21-51 (2016). http://revistas.lis.ulusiada.pt/index.php/lee/article/view/2362

Silveira, P. E. & Neves, R. (2019). How to achieve better performance in teaching computer programming: Cases of iterative and recursive programming. AIP Conference Proceedings. 2116. 410003. https://doi.org/10.1063/1.5114427

Turing, A. (1936). On Computable Numbers, with an application to the Entscheidungsproblem.

In Proc. Lond. Math. Soc. (2) 42 230-265. Obtido a 12/10/2020, de https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf; Correction ibid. 43, 544-546 (1937).

Publicado

26-07-2021

Como Citar

Silveira, P. E. (2021). Aprender a melhor programar computadores: com métodos e ferramentas que permitem conceber, executar e testar programas — casos de programação iterativa e recursiva. Lusíada. Economia E Empresa, (30), 77–102. https://doi.org/10.34628/0zy6-we77

Edição

Secção

Artigos