Relato dos resultados sobre o Curso de Extensão Introdução à Programação Pedro Eduardo Camera¹, Patricia Mariotto Mozzaquatro Chicon ¹, 1 Unicruz Universidade de Cruz Alta Cruz Alta RS Brazil Resumo. O artigo aqui apresentado objetiva relatar os resultados do Curso de Extensão Introdução a Programação ministrado para os alunos que cursam o primeiro semestre de Lógica para Computação. O curso visa introduzir os conceitos iniciais sobre programação, ou seja, foi abordada a construção e implementação de algoritmos utilizando o software VisualG. Até o presente momento o curso encontra-se em andamento. Constatou-se que os resultados alcançados são positivos. Abstract. The article presented here aims to report the results of the Extension Course "Introduction to Programming" given to students who study the first semester of Logic for Computing. The course aims to introduce the initial concepts about programming, that is, it was approached the construction and implementation of algorithms using the VisualG software. The course is currently in progress. It was found that the results achieved are positive. 1. Introdução Em Ciência da Computação, observa-se que existe certa resistência nas aulas de programação (MARCOLINO et al. 2015). Tal dificuldade é reflexo, sobretudo, da falta de conceitos básicos de programação, principalmente pelo fato de os alunos não conseguirem achar soluções lógicas para seus problemas, o que pode gerar desistência logo no início do curso (ZANETTI, 2015). Existe certa resistência encadeada por alguns alunos que cursam algoritmos, uma disciplina introdutória de programação, em que os estudantes possuem dificuldades para solucionar, desenvolver e analisar problemas (simples e complexos). Neste contexto, o Curso de Introdução à Programação visa desenvolver a lógica do aluno com exercícios de logica, com o desenvolvimento do ensino de algoritmos e fluxogramas para facilitar a programação de sistemas mais complexos, assim o aluno vai treinando as funções básicas da programação. O relato aqui apresentado é descrito nas seguintes seções: uma introdução sobre o tema é descrita na seção um. A seção dois aborda o ensino de programação e os problemas relacionados à introdução a programação. A seção três aborda o software VisualG. A metodologia e o curso desenvolvidos são descritos na seção quatro. A seção cinco descreve os resultados e, finalmente, são apresentadas as referências.
2. O ensino de programação No ensino da programação, os alunos irão entender como resolver problemas, como construir um raciocínio lógico, ser capaz de entender um problema, e conseguir desenvolver uma solução para o mesmo. Poderão buscar soluções eficazes para os problemas computacionais. (ANJOS; DUDA; SILVA,2016) Com a programação serão capazes de melhorar o código criado por eles gerando uma solução possível para determinado problema. Ao aprender a programar, o aluno estará apto a de técnicas de resolver problemas. Pois vai ter que analisar o problema e achar alguma solução para poder gerar código para esse problema ser resolvido pela máquina. Juntamente o aluno apreenderá a resolver problemas lógicos de seus sistemas quando depois de programado, o código não tem a mesma solução gerada em problemas anteriores. Em pesquisas realizadas nos últimos anos, como mostram Pereira e Rapkiewicz (2004), observa-se uma preocupação crescente com o processo de ensino/aprendizagem de programação. Tais estudos são motivados, sobretudo, pela importância dos conceitos de programação na vida acadêmica dos cursos de computação. A apropriação ou não dos conceitos iniciais de programação tem relação direta com o desempenho do aluno no decorrer de todo o curso, já que disciplinas avançadas dependem fortemente desses conceitos iniciais de programação. A subseção a seguir irá abordar problemas relacionados ao ensino de programação. 2.2 Problemas relacionados ao ensino de programação Muitos alunos tem dificuldade na criação de um algoritmo, para resolver o problema, dificuldade de entender as estruturas de repetição estruturas de desvio, e principalmente entender as sintaxes da linguagem do código que está programado. (ANJOS; DUDA; SILVA, 2016). Também é comum a dificuldade na aprendizagem de entender a ferramenta que estão utilizando como por exemplo, a escrita, teste, execução do código e depuração do código conforme relatado pelo Anjos, Duda e Silva (2016). Com isso, no curso ministrado utilizou-se o software VisualG. A escolha justifica-se devido a abordar uma linguagem próxima da escrita em portugol. Conforme os autores Ferreira et.al (2010), para um melhor diagnóstico das dificuldades, é necessário um processo sólido de avaliação, uma vez que este é instrumento principal não somente para análise, mas, sobretudo, para tomada de ações efetivas sobre as dificuldades verificadas. Bennedsen e Caspersen (2007 apud RAMOS et al. 2015) realizaram uma pesquisa na qual retrata sobre os índices de sucesso/reprovação nos cursos de Ciência da Computação na procura de dados experimentais em que validasse os rumores das altas taxas de reprovações nesses cursos. O índice de reprovação é de 33%, em que cursos maiores têm valores superiores, e de 28% para valores absolutos.
3. Software VisualG O ensino de programação tem sido considerado de difícil entendimento para os alunos por diversos motivos: falta de preparo dos estudantes, ausência de uma didática adequada e de ferramentas computacionais que ajudem os atores (professores e estudantes) a superarem os problemas que se apresentam no processo ensinoaprendizagem. O VisuAlg é um aplicativo que fornece aos estudantes que se iniciam nas disciplinas de programação ferramentas para digitar, executar e depurar o pseudocódigo para resolver problemas propostos nas aulas e em exercícios, fornecendo também aos professores vários recursos didáticos para que expliquem como os programas funcionam, tais como execução passo a passo, visualização do conteúdo das variáveis, exame da pilha de ativação no caso de subprogramas, contador de execuções de cada linha do programa (SOUZA, 2009). A Figura 1 mostra o modelo de linguagem do software visualg Figura 1 - Linguagem do VisualG A Figura 2 mostra a tela inicial do software visualg
Figura 2. Tela inicial do VisualG A Figura 3 mostra a interface do programa após sua execução. Figura 3. A execução de um programa no VisuAlg, no modo DOS. O uso deste software nos estágios iniciais do ensino de programação tem-se mostrado bastante produtivo por permitir que desde o início os estudantes tenham contato com um ambiente de desenvolvimento.
Koliver, Dorneles e Casa (2004) relatam que há indicações de que o uso do VisuAlg(ou ferramenta similar) pode melhorar o desempenho dos estudantes, além de ser um fator motivador. 4. Metodologia Este artigo é parte integrante de um curso de extensão intitulado Introdução a Programação. O curso está sendo ministrado aos discentes do curso de Ciência da Computação do primeiro semestre de 2017-1. A pesquisa classifica-se como qualitativa, ou seja, será aplicado questionário aos alunos a fim de coletar as impressões sobre o curso ministrado. Foram desenvolvidas as seguintes etapas: Estudo teórico sobre: O ensino de programação, problemas relacionados a introdução a programação e sobre software visualg. Preparação dos materiais a serem inseridos; Criação de um curso no ambiente virtual de aprendizagem Moodle; Postagem dos materiais e atividades com acompanhamento da professora e monitor. O Curso ministrado integrou os seguintes conteúdos descritos na Tabela 1. Tabela 1 Conteúdos Ministrados Programação Construção de algoritmos Trabalhando com fluxogramas Sintaxe Variáveis Operadores Comandos de entrada e saída Comando de Impressão Comando de leitura Revisão geral para avaliação Avaliação Comando Condicional se então - senão
Estrutura de repetição - para Comando enquanto Incremento Decremento Vetor Matriz Revisão geral para avaliação Avaliação As atividades iniciaram em abril de 2017 e atualmente encontram-se em desenvolvimento. A Figura 4 ilustra um diagrama de sequencia do processo de desenvolvimento do curso ministrado. Conforme ilustra a imagem, o professor e o monitor podem efetuar as seguintes tarefas: criação do curso, desenvolvimento dos materiais, criação dos exercícios, realizar a postagem semanalmente das tarefas e conteúdos e resolver as dúvidas.
Figura 4 Diagrama de sequencia desenvolvimento do curso 4.1 Curso desenvolvido A Figura 5 mostra a interface inicial do curso via ambiente virtual de aprendizagem.
Figura 5. Interface inicial do curso A Figura 6 mostra uma tela com as tarefas propostas aos alunos Figura 6. Tarefas do curso
Este curso foi ministrado pelo ambiente online com alguns momentos presenciais para resolução de dúvidas. Em cada aula foi apresentada uma temática diferente. A avaliação final será presencialmente agendada para o dia 9 (nove) de junho. 5. Conclusão Com a observação realizada durante o decorrer do curso, foi possível identificar que os alunos conseguiram analisar melhor os problemas computacionais, desenvolver um algoritmo de forma precisa e, assim, melhorar o desempenho em outras disciplinas do curso. Constatou-se na disciplina de Lógica para Computação que o raciocínio lógico melhorou bastante relacionado a resolução de exercícios. O curso está sendo ministrado para 22 (vinte e dois) alunos que cursam a disciplina de Lógica para computação integrante do primeiro semestre do Curso de Ciência da Computação. Referencias Anjos, C. S., Duda, R., Silva, S. C. R. (2016). Desafios para o ensino da programação no ensino fundamental. In: V Simposio Nacional de Ensino de Ciências e Technologia(Sinect 2016), 2016, Paraná. Ferreira, B.; Monteiro, D. (2010) Projeto de Ensino Programa de Formação e Certificação em Fundamentos de Programação Imperativa, Disponível em http://www.aedmoodle.ufpa.br/moodle/file.php/133/projetocertificprogramacao. pdf. Acesso em julho de 2010. Koliver, C., Dorneles, R. V., Casa, M. E. (2004). Das (Muitas) Dúvidas e (Poucas)Certezas do Ensino de Algoritmos. In: XII Workshop de Educação em Computação (WEI 2004), 2004, Salvador. Anais do XXIV Congresso da Sociedade Brasileira de Computação. p. 949-960 Marcolino, Anderson S.; Barbosa, Ellen Francine. (2015). Softwares Educacionais para o Ensino de Programação: Um Mapeamento Sistemático. Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo (ICMC-USP), São Carlos, 2015. Pereira Junior, J.C.R., Rapkiewicz, C., Delgado, C., Xexéo, J.A.M. (2005) Ensino de Algoritmos e Programação: Uma Experiência no Nível Médio, comunicação particular, março, Rio de Janeiro. Ramos, Vinicius; Freitas, Mateus; Galimbert, Maurício; Mariani, Antonio Carlos; Wazlawick, Raul. (2015). A Comparação da Realidade Mundial do Ensino de Programação para Iniciantes com a Realidade Nacional: Revisão sistemática da literatura em eventos brasileiros. XXVI Simpósio Brasileiro de Informática na Educação (SBIE 2015), Araranguá, 2015.
Souza, Cláudio Morgado. VisuAlg- Ferramenta de Apoio ao Ensino de Programação. Revista TECCEN volume 2 número 2 - setembro de 2009 ISSN 1984-0993 Zanetti, Humberto Augusto Piovesana; Oliveira, Cláudio Luís Vieira. (2015). Prática de ensino de Programação de Computadores com Robótica Pedagógica e aplicação de Pensamento Computacional. IV Congresso Brasileiro de Informática na Educação (CBIE), 2015.