Avaliação do Uso de Desafios no Aprendizado de Programação Paralela

Detalhes bibliográficos
Autor(a) principal: Martins, Guilherme
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da USP
Texto Completo: 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.
id USP_2eb981e2c325a44d055089e68e995dfb
oai_identifier_str oai:teses.usp.br:tde-10092020-160414
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling Avaliação do Uso de Desafios no Aprendizado de Programação ParalelaEvaluating Challenges Applied to Parallel Programming LearningDesafio de programaçãoEnsinoParallel programmingProgramação paralelaProgramming challengeTeachingO 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.Learning parallel programming is not trivial, due to its basic concepts, difficulties to understand and view the behavior of concurrent programs, and the knowledge dependence from other computer science disciplines. Such factors, plus the absence of a fully effective learning model and the growing demand for trained professionals in the development of high performance applications, justify the need for new methods and resources capable to make easier the teachinglearning process, which favour the development of skills and competences expected for this context. The objective of this work is to evaluate the use of challenges to teach parallel programming, regardless of the teaching methodology (traditional, Problem Based Learning and others) or support systems for programming marathons. We analyze how the challenges contribute to the learning of parallel programming, considering technical and motivational aspects. The results show learning in terms of theoretical content, quality and correctness of code. In addition, they represent the level of student satisfaction with the quality of the course. The results were positive in relation to the analyzes made, evidenced by percentages of up to 85% in code quality and 83% in student satisfaction. We conclude that the use of programming challenges positively affects the learning of parallel programming, stimulates the development of creative solutions and promotes a healthy competition environment among students. In addition, we realized that the use of programming marathon systems has benefits, such as immediate textit feedback and simplified assessment, but it requires considerable effort to prepare classes and maintain the computational infrastructure.Biblioteca Digitais de Teses e Dissertações da USPSouza, Paulo Sergio Lopes deMartins, Guilherme2020-05-29info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/55/55134/tde-10092020-160414/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesspor2020-09-10T22:08:02Zoai:teses.usp.br:tde-10092020-160414Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212020-09-10T22:08:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Avaliação do Uso de Desafios no Aprendizado de Programação Paralela
Evaluating Challenges Applied to Parallel Programming Learning
title Avaliação do Uso de Desafios no Aprendizado de Programação Paralela
spellingShingle Avaliação do Uso de Desafios no Aprendizado de Programação Paralela
Martins, Guilherme
Desafio de programação
Ensino
Parallel programming
Programação paralela
Programming challenge
Teaching
title_short Avaliação do Uso de Desafios no Aprendizado de Programação Paralela
title_full Avaliação do Uso de Desafios no Aprendizado de Programação Paralela
title_fullStr Avaliação do Uso de Desafios no Aprendizado de Programação Paralela
title_full_unstemmed Avaliação do Uso de Desafios no Aprendizado de Programação Paralela
title_sort Avaliação do Uso de Desafios no Aprendizado de Programação Paralela
author Martins, Guilherme
author_facet Martins, Guilherme
author_role author
dc.contributor.none.fl_str_mv Souza, Paulo Sergio Lopes de
dc.contributor.author.fl_str_mv Martins, Guilherme
dc.subject.por.fl_str_mv Desafio de programação
Ensino
Parallel programming
Programação paralela
Programming challenge
Teaching
topic Desafio de programação
Ensino
Parallel programming
Programação paralela
Programming challenge
Teaching
description 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.
publishDate 2020
dc.date.none.fl_str_mv 2020-05-29
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.teses.usp.br/teses/disponiveis/55/55134/tde-10092020-160414/
url https://www.teses.usp.br/teses/disponiveis/55/55134/tde-10092020-160414/
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1809090590743199744