Detalhes bibliográficos
Ano de defesa: |
2020 |
Autor(a) principal: |
Martins, Guilherme |
Orientador(a): |
Não Informado pela instituição |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Biblioteca Digitais de Teses e Dissertações da USP
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: |
|
Link de acesso: |
https://www.teses.usp.br/teses/disponiveis/55/55134/tde-10092020-160414/
|
Resumo: |
O aprendizado de programação paralela não é trivial devido à complexidade dos conceitos que a fundamentam, dificuldades de compreensão e visualização do comportamento dos programas concorrentes, e dependência de conhecimentos provenientes de outras disciplinas de ciência da computação. Tais fatores, unidos à ausência de um aprendizado mais agregador e à crescente demanda por profissionais capacitados em desenvolvimento de aplicações de alto desempenho, justificam a necessidade de novos métodos e recursos que facilitem o processo de ensinoaprendizado que favoreça o desenvolvimento das habilidades e competências esperadas neste contexto. O objetivo do presente trabalho é avaliar o uso de desafios para ensinar programação paralela, independentemente da metodologia de ensino (tradicional, Problem Based Learning e outras) ou sistemas de suporte a maratonas de programação. Analisamos como os desafios contribuem para o aprendizado da programação paralela, considerando aspectos técnicos e motivacionais. Os resultados mostram o aprendizado em termos de conteúdo teórico, qualidade e corretude de código. Além disso, representam o nível de satisfação dos estudantes em relação à qualidade do curso. Os resultados foram positivos em relação às análises feitas, evidenciados por percentagens de até 85% em qualidade de código e 83% em satisfação dos alunos. Concluímos que o uso de desafios de programação afeta positivamente o aprendizado de programação paralela, estimula o desenvolvimento de soluções criativas e promove um ambiente saudável de competição entre os alunos. Além disso, percebemos que o uso de sistemas de maratona de programação traz benefícios, como feedback imediato e avaliação simplificada, mas requer um esforço considerável dos responsáveis pelos cursos para preparar as aulas e manter a infraestrutura computacional. |