Avaliação do Uso de Desafios no Aprendizado de Programação Paralela
Autor(a) principal: | |
---|---|
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 |