SlideShare uma empresa Scribd logo
1 de 10
UTILIZANDO PROGRAMAÇÃO PARALELA NA
CRIAÇÃO DE UM JOGO PARA AUXÍLIO NO
ENSINO DE ALGORITMOS ­­ COMMAND++
Everton Seiei Arakaki
Lucas Grigolon Varela
Rodrigo Curvêllo
Este jogo tem o objetivo de facilitar o ensino da disciplina de
algoritmos, trazendo ao jogador a possibilidade de entendimento e
a compreensão de como funcionam as funções. Conceitos de
thread, concorrência e programação paralela aprendidos em
sala de aula foram aplicados na implementação do jogo,
que foi desenvolvido utilizando a linguagem de programação
Python.
O jogo
Teste para aprovação na universidade 42 do Vale
do Silício (foco no ensino de programação)
A disciplina de algoritmos é considerada a base para o ensino de programação
nos cursos de Ciência da Computação. Esta disciplina aborda os princípios da lógica
de programação, com o objetivo de desenvolver a capacidade de análise e resolução
de problemas dos alunos através da descrição dos mesmos na forma de algoritmos.
Além disso, ela faz parte do plano curricular de outros cursos, como os de engenharia,
com a finalidade de introduzir os conceitos de programação. Essas disciplinas
costumam ter altos índices de evasão e reprovação, sendo um dos gargalos existentes
nos cursos de graduação, particularmente de computação, dificultando ou até
mesmo impedindo a continuidade dos alunos no curso (RAPKIEWICZ et al., 2006).
Porque algoritmos?
É hoje consensual que um aluno que presta atenção retém aproximadamente
10% do que lê 20% do que ouve 30% do que vê, 50% do que vê e ouve ao mesmo
tempo, 80% do que diz e 90% do que diz fazendo qualquer coisa a propósito da qual
reflete e na qual se implica pessoalmente. (ROCHA, 1988 p. 176).
Segundo Tarouco et al (2004) os jogos podem ser ferramentas eficientes, pois
eles divertem enquanto motivam, facilitam o aprendizado e aumentam a capacidade de
retenção do que é ensinado, exercitando as funções mentais e intelectuais do jogador.
De acordo com Tarouco (2005) algumas características que fazem com que os jogos
sejam atrativos são: os jogos possuem regras (fornecem uma estrutura),
têm metas (produzem motivação), são interativos (permitem agir), têm resultados e
realimentação (favorecem a aprendizagem) e são divertidos (tornam o processo
agradável).
Por conta destes fatos, a escolha de implementar um jogo para o auxílio do ensino da
matéria de algoritmos é relevante.
Porque utilizar ferramentas visuais para
facilitar o ensino?
Desde que os sistemas computacionais
evoluíram, eles começaram a prover
mecanismos que nos permitem a executar
partes específicas do programa em paralelo
com outras, melhorando a resposta e a
performance do programa como um todo. A
programação paralela está em diversos
contextos, desde pequenos smartphones
a grandes e potentes servidores em centros
de pesquisas. A programação paralela
permite um melhor gerenciamento de
recursos, levando menos tempo para
executar uma tarefa (PALACH, 2014).
Programação Paralela
A linguagem de programação Python traz para o usuário módulos
prontos, similar as bibliotecas em Java para implementações usando
threads. A versão do Python escolhida para ser abordada neste jogo é a
3.6. A partir da versão 3, a linguagem de programação Python oferece
ao usuário o módulo threading. O módulo threading faz com que o
desenvolvedor tenha acesso a recursos de programação paralela de
maneira abstrata, utilizando código de alto nível em sua implementação.
Implementando threads em python
Com o desenvolvimento deste projeto o grupo veio a compreender melhor a
aplicação real de threads em softwares de uso real. O jogo implementado
não está completo para poder ser utilizado no auxílio da matéria de
algoritmos, faltando atualizar o gerenciamento de comandos, bem como
atualizar o limite de comandos. Também para próximos projetos é
interessante o desenvolvimento de novos mapas, do sistema de cores para
estruturas de seleção, adicionar um contador para limitar o tempo de jogo
máximo com um sistema de pontuação. Em uma futura implementação é
recomendada a reestruturação do código usando Programação Orientada
a Objetos para melhor utilização dos recursos da linguagem Python.
V2 – Em desenvolvimento.
Conclusão – V1
Referências
PALACH, J. Parallel Programming with Python. Develop efficient parallel systems using the robust
Python environment. Packt Publishing, 2014.
PEREIRA JR, J. C. R., RAPKIEWICZ, C. E.. O Processo de Ensino e Aprendizagem de Algoritmos e
Programação: Uma Visão Crítica da Literatura. WEIMIG – Workshop de Educação em Informática
de Minas Gerais. Belo Horizonte. 2004.
RAPKIEWICZ, C. E. et al. ESTRATÉGIAS PEDAGÓGICAS NO ENSINO DE ALGORITMOS E
PROGRAMAÇÃO ASSOCIADAS AO USO DE JOGOS EDUCACIONAIS. Revista RENOTE – Novas
Tecnologias na Educação ­ UFRGS, V.4 No 2, Dezembro, 2006.
ROCHA, M. N. Recursos Visuais e Audiovisuais no Ensino – Construção e Exploração de
Materiais Pedagógicos. 1998. Disponível em: https://web.archive.org/web/20100102124526/www.cf­­
francisco­­holanda.rcts.pt/accoes/2005/accao_7.htm. Acesso: 30 de maio de 2017
TAROUCO, L. M. R., ROLAND, L. C., FABRE , M. C. J. M., KONRATH, M. L. P. Jogos educacionais ,
RENOTE ­ Novas Tecnologias na Educação , v. 2, n. 1. 2004.
TAROUCO, L. Jogos educativos via WWW. Disponível em:
http://penta3.ufrgs.br/animacoes/JogosEducacionais. 2005. Acesso: 30 de maio de 2017.
Referências
PALACH, J. Parallel Programming with Python. Develop efficient parallel systems using the robust
Python environment. Packt Publishing, 2014.
PEREIRA JR, J. C. R., RAPKIEWICZ, C. E.. O Processo de Ensino e Aprendizagem de Algoritmos e
Programação: Uma Visão Crítica da Literatura. WEIMIG – Workshop de Educação em Informática
de Minas Gerais. Belo Horizonte. 2004.
RAPKIEWICZ, C. E. et al. ESTRATÉGIAS PEDAGÓGICAS NO ENSINO DE ALGORITMOS E
PROGRAMAÇÃO ASSOCIADAS AO USO DE JOGOS EDUCACIONAIS. Revista RENOTE – Novas
Tecnologias na Educação ­ UFRGS, V.4 No 2, Dezembro, 2006.
ROCHA, M. N. Recursos Visuais e Audiovisuais no Ensino – Construção e Exploração de
Materiais Pedagógicos. 1998. Disponível em: https://web.archive.org/web/20100102124526/www.cf­­
francisco­­holanda.rcts.pt/accoes/2005/accao_7.htm. Acesso: 30 de maio de 2017
TAROUCO, L. M. R., ROLAND, L. C., FABRE , M. C. J. M., KONRATH, M. L. P. Jogos educacionais ,
RENOTE ­ Novas Tecnologias na Educação , v. 2, n. 1. 2004.
TAROUCO, L. Jogos educativos via WWW. Disponível em:
http://penta3.ufrgs.br/animacoes/JogosEducacionais. 2005. Acesso: 30 de maio de 2017.

Mais conteúdo relacionado

Mais procurados

Que características deverá então ter o software educativo
Que características deverá então ter o software educativoQue características deverá então ter o software educativo
Que características deverá então ter o software educativoErica Santos
 
Curso Profissional Informática de Gestão
Curso Profissional Informática de GestãoCurso Profissional Informática de Gestão
Curso Profissional Informática de Gestãonunoli100
 
Caderno de Orientação a Objetos - Secretaria de Educação
Caderno de Orientação a Objetos - Secretaria de EducaçãoCaderno de Orientação a Objetos - Secretaria de Educação
Caderno de Orientação a Objetos - Secretaria de Educaçãogeysasz
 
Engenharia de software aplicada ao software educacional: desafios, problemas ...
Engenharia de software aplicada ao software educacional: desafios, problemas ...Engenharia de software aplicada ao software educacional: desafios, problemas ...
Engenharia de software aplicada ao software educacional: desafios, problemas ...sergiocrespo
 
Caderno de Linguagem de Programação para Web
Caderno de Linguagem de Programação para WebCaderno de Linguagem de Programação para Web
Caderno de Linguagem de Programação para Webgeysasz
 
A Utilização da Plataforma Joomla! na Escola
A Utilização da Plataforma Joomla! na EscolaA Utilização da Plataforma Joomla! na Escola
A Utilização da Plataforma Joomla! na EscolaJorge Borges
 
Publicação: Histórias de aprendizagem com as TIC
Publicação:  Histórias de aprendizagem com as TICPublicação:  Histórias de aprendizagem com as TIC
Publicação: Histórias de aprendizagem com as TICFernanda Ledesma
 
Programa referencial de comunicação e tecnologias da informação
Programa  referencial de comunicação e tecnologias da informaçãoPrograma  referencial de comunicação e tecnologias da informação
Programa referencial de comunicação e tecnologias da informaçãosandra alfaiate
 
Defesa do TC Portfólio de Elen Arantza em 12/12/2013
Defesa do TC Portfólio de Elen Arantza em 12/12/2013Defesa do TC Portfólio de Elen Arantza em 12/12/2013
Defesa do TC Portfólio de Elen Arantza em 12/12/2013Elen Arantza
 
Gabarito respostas (3)
Gabarito respostas (3)Gabarito respostas (3)
Gabarito respostas (3)Fernanda Goz
 

Mais procurados (14)

Software educacionais tipos
Software educacionais   tiposSoftware educacionais   tipos
Software educacionais tipos
 
Que características deverá então ter o software educativo
Que características deverá então ter o software educativoQue características deverá então ter o software educativo
Que características deverá então ter o software educativo
 
Curso Profissional Informática de Gestão
Curso Profissional Informática de GestãoCurso Profissional Informática de Gestão
Curso Profissional Informática de Gestão
 
Caderno de Orientação a Objetos - Secretaria de Educação
Caderno de Orientação a Objetos - Secretaria de EducaçãoCaderno de Orientação a Objetos - Secretaria de Educação
Caderno de Orientação a Objetos - Secretaria de Educação
 
Engenharia de software aplicada ao software educacional: desafios, problemas ...
Engenharia de software aplicada ao software educacional: desafios, problemas ...Engenharia de software aplicada ao software educacional: desafios, problemas ...
Engenharia de software aplicada ao software educacional: desafios, problemas ...
 
Caderno de Linguagem de Programação para Web
Caderno de Linguagem de Programação para WebCaderno de Linguagem de Programação para Web
Caderno de Linguagem de Programação para Web
 
Fazer
FazerFazer
Fazer
 
A Utilização da Plataforma Joomla! na Escola
A Utilização da Plataforma Joomla! na EscolaA Utilização da Plataforma Joomla! na Escola
A Utilização da Plataforma Joomla! na Escola
 
Fazer 2
Fazer 2Fazer 2
Fazer 2
 
Publicação: Histórias de aprendizagem com as TIC
Publicação:  Histórias de aprendizagem com as TICPublicação:  Histórias de aprendizagem com as TIC
Publicação: Histórias de aprendizagem com as TIC
 
Programa referencial de comunicação e tecnologias da informação
Programa  referencial de comunicação e tecnologias da informaçãoPrograma  referencial de comunicação e tecnologias da informação
Programa referencial de comunicação e tecnologias da informação
 
Defesa do TC Portfólio de Elen Arantza em 12/12/2013
Defesa do TC Portfólio de Elen Arantza em 12/12/2013Defesa do TC Portfólio de Elen Arantza em 12/12/2013
Defesa do TC Portfólio de Elen Arantza em 12/12/2013
 
Apostila algoritmos mar2007
Apostila algoritmos mar2007Apostila algoritmos mar2007
Apostila algoritmos mar2007
 
Gabarito respostas (3)
Gabarito respostas (3)Gabarito respostas (3)
Gabarito respostas (3)
 

Semelhante a Ensino algoritmos jogo Python

A LÓGICA DE PROGRAMAÇÃO COMO FERRAMENTA METODOLÓGICA PARA O ENSINO DE CIÊNCIA...
A LÓGICA DE PROGRAMAÇÃO COMO FERRAMENTA METODOLÓGICA PARA O ENSINO DE CIÊNCIA...A LÓGICA DE PROGRAMAÇÃO COMO FERRAMENTA METODOLÓGICA PARA O ENSINO DE CIÊNCIA...
A LÓGICA DE PROGRAMAÇÃO COMO FERRAMENTA METODOLÓGICA PARA O ENSINO DE CIÊNCIA...hawbertt
 
Ensino de lógica de programação no ensino fundamental utilizando o Scratch: u...
Ensino de lógica de programação no ensino fundamental utilizando o Scratch: u...Ensino de lógica de programação no ensino fundamental utilizando o Scratch: u...
Ensino de lógica de programação no ensino fundamental utilizando o Scratch: u...Aline Ferreira
 
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas OperacionaisSimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas OperacionaisCaio Ribeiro Pereira
 
Análise de ferramentas para o ensino de computação na educação básica
Análise de ferramentas para o ensino de computação na educação básicaAnálise de ferramentas para o ensino de computação na educação básica
Análise de ferramentas para o ensino de computação na educação básicaAline Ferreira
 
387555062-analise-sistemas-pdf.pdf
387555062-analise-sistemas-pdf.pdf387555062-analise-sistemas-pdf.pdf
387555062-analise-sistemas-pdf.pdfNickMartinsgaspar
 
Uso de software nas escolas
Uso de software nas escolasUso de software nas escolas
Uso de software nas escolasLeonardo Soares
 
AS POTENCIALIDADES DO USO DO SOFTWARE SCRATCH PARA A CONSTRUÇÃO DA LITERACIA...
 AS POTENCIALIDADES DO USO DO SOFTWARE SCRATCH PARA A CONSTRUÇÃO DA LITERACIA... AS POTENCIALIDADES DO USO DO SOFTWARE SCRATCH PARA A CONSTRUÇÃO DA LITERACIA...
AS POTENCIALIDADES DO USO DO SOFTWARE SCRATCH PARA A CONSTRUÇÃO DA LITERACIA...ULBRA
 
Apostila lógica de programação
Apostila lógica de programaçãoApostila lógica de programação
Apostila lógica de programaçãoMarcos Nori
 
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidiaFábio Costa
 
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidiaFábio Costa
 
Apresentacao curso introedudigital 40h - 2012
Apresentacao curso introedudigital 40h - 2012Apresentacao curso introedudigital 40h - 2012
Apresentacao curso introedudigital 40h - 2012Dirce Reges Crispim Sousa
 
Code week - Introdução à programação no Ensino Básico
Code week - Introdução à programação no Ensino BásicoCode week - Introdução à programação no Ensino Básico
Code week - Introdução à programação no Ensino BásicoFernanda Ledesma
 
InterCon 2016 - A revolução da Internet das Coisas na educação
InterCon 2016 - A revolução da Internet das Coisas na educaçãoInterCon 2016 - A revolução da Internet das Coisas na educação
InterCon 2016 - A revolução da Internet das Coisas na educaçãoiMasters
 
Livro Algoritmos e Programação de Computadores Autores JR., Dilermando
Livro Algoritmos e Programação de Computadores Autores JR., DilermandoLivro Algoritmos e Programação de Computadores Autores JR., Dilermando
Livro Algoritmos e Programação de Computadores Autores JR., DilermandoOs Fantasmas !
 

Semelhante a Ensino algoritmos jogo Python (20)

A LÓGICA DE PROGRAMAÇÃO COMO FERRAMENTA METODOLÓGICA PARA O ENSINO DE CIÊNCIA...
A LÓGICA DE PROGRAMAÇÃO COMO FERRAMENTA METODOLÓGICA PARA O ENSINO DE CIÊNCIA...A LÓGICA DE PROGRAMAÇÃO COMO FERRAMENTA METODOLÓGICA PARA O ENSINO DE CIÊNCIA...
A LÓGICA DE PROGRAMAÇÃO COMO FERRAMENTA METODOLÓGICA PARA O ENSINO DE CIÊNCIA...
 
4
44
4
 
Ensino de lógica de programação no ensino fundamental utilizando o Scratch: u...
Ensino de lógica de programação no ensino fundamental utilizando o Scratch: u...Ensino de lógica de programação no ensino fundamental utilizando o Scratch: u...
Ensino de lógica de programação no ensino fundamental utilizando o Scratch: u...
 
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas OperacionaisSimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
 
Apresentacao
ApresentacaoApresentacao
Apresentacao
 
Análise de ferramentas para o ensino de computação na educação básica
Análise de ferramentas para o ensino de computação na educação básicaAnálise de ferramentas para o ensino de computação na educação básica
Análise de ferramentas para o ensino de computação na educação básica
 
387555062-analise-sistemas-pdf.pdf
387555062-analise-sistemas-pdf.pdf387555062-analise-sistemas-pdf.pdf
387555062-analise-sistemas-pdf.pdf
 
Uso de software nas escolas
Uso de software nas escolasUso de software nas escolas
Uso de software nas escolas
 
AS POTENCIALIDADES DO USO DO SOFTWARE SCRATCH PARA A CONSTRUÇÃO DA LITERACIA...
 AS POTENCIALIDADES DO USO DO SOFTWARE SCRATCH PARA A CONSTRUÇÃO DA LITERACIA... AS POTENCIALIDADES DO USO DO SOFTWARE SCRATCH PARA A CONSTRUÇÃO DA LITERACIA...
AS POTENCIALIDADES DO USO DO SOFTWARE SCRATCH PARA A CONSTRUÇÃO DA LITERACIA...
 
Apostila lógica de programação
Apostila lógica de programaçãoApostila lógica de programação
Apostila lógica de programação
 
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
 
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
 
96177
9617796177
96177
 
Tecnologia educacional
Tecnologia educacionalTecnologia educacional
Tecnologia educacional
 
Apresentacao curso introedudigital 40h - 2012
Apresentacao curso introedudigital 40h - 2012Apresentacao curso introedudigital 40h - 2012
Apresentacao curso introedudigital 40h - 2012
 
Code week - Introdução à programação no Ensino Básico
Code week - Introdução à programação no Ensino BásicoCode week - Introdução à programação no Ensino Básico
Code week - Introdução à programação no Ensino Básico
 
8
88
8
 
III WS DS & DA - Sessão II - quinta
III WS DS & DA - Sessão II - quintaIII WS DS & DA - Sessão II - quinta
III WS DS & DA - Sessão II - quinta
 
InterCon 2016 - A revolução da Internet das Coisas na educação
InterCon 2016 - A revolução da Internet das Coisas na educaçãoInterCon 2016 - A revolução da Internet das Coisas na educação
InterCon 2016 - A revolução da Internet das Coisas na educação
 
Livro Algoritmos e Programação de Computadores Autores JR., Dilermando
Livro Algoritmos e Programação de Computadores Autores JR., DilermandoLivro Algoritmos e Programação de Computadores Autores JR., Dilermando
Livro Algoritmos e Programação de Computadores Autores JR., Dilermando
 

Mais de Congresso Catarinense de Ciências da Computação

Mais de Congresso Catarinense de Ciências da Computação (19)

Comparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacionalComparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacional
 
Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...
 
Jogo das derivadas
Jogo das derivadasJogo das derivadas
Jogo das derivadas
 
Docker
DockerDocker
Docker
 
UTILIZAÇÃO DOS SISTEMAS DE SINGLE SIGN-ON (SSO) DO GOOGLE E FACEBOOK
UTILIZAÇÃO DOS SISTEMAS DE SINGLE SIGN-ON (SSO) DO GOOGLE E FACEBOOKUTILIZAÇÃO DOS SISTEMAS DE SINGLE SIGN-ON (SSO) DO GOOGLE E FACEBOOK
UTILIZAÇÃO DOS SISTEMAS DE SINGLE SIGN-ON (SSO) DO GOOGLE E FACEBOOK
 
Reprodutor de Audio MR
Reprodutor de Audio MRReprodutor de Audio MR
Reprodutor de Audio MR
 
Jogo do Dino
Jogo do DinoJogo do Dino
Jogo do Dino
 
Filtro de Prewitt
Filtro de PrewittFiltro de Prewitt
Filtro de Prewitt
 
Sistema de Irrigação Automatizado com Interface de Controle e Monitoramento O...
Sistema de Irrigação Automatizado com Interface de Controle e Monitoramento O...Sistema de Irrigação Automatizado com Interface de Controle e Monitoramento O...
Sistema de Irrigação Automatizado com Interface de Controle e Monitoramento O...
 
Banco de Dados Orientado a Objetos para Aplicações Android - ORMLite
Banco de Dados Orientado a Objetos para Aplicações Android - ORMLiteBanco de Dados Orientado a Objetos para Aplicações Android - ORMLite
Banco de Dados Orientado a Objetos para Aplicações Android - ORMLite
 
Teoria Geral de Sistemas
Teoria Geral de SistemasTeoria Geral de Sistemas
Teoria Geral de Sistemas
 
Use Case 2.0
Use Case 2.0Use Case 2.0
Use Case 2.0
 
Computação na Escola
Computação na EscolaComputação na Escola
Computação na Escola
 
Engenharia e Gestão do Conhecimento: Conceitos e Cases
Engenharia e Gestão do Conhecimento: Conceitos e CasesEngenharia e Gestão do Conhecimento: Conceitos e Cases
Engenharia e Gestão do Conhecimento: Conceitos e Cases
 
Segurança da Informação e Governança em TI
Segurança da Informação e Governança em TISegurança da Informação e Governança em TI
Segurança da Informação e Governança em TI
 
Empreendedorismo tecnológico
Empreendedorismo tecnológicoEmpreendedorismo tecnológico
Empreendedorismo tecnológico
 
O poder da visão
O poder da visãoO poder da visão
O poder da visão
 
Mineração de patentes (rio do sul)
Mineração de patentes (rio do sul)Mineração de patentes (rio do sul)
Mineração de patentes (rio do sul)
 
Ataque Cibernético em Veículos Autônomos
Ataque Cibernético em Veículos AutônomosAtaque Cibernético em Veículos Autônomos
Ataque Cibernético em Veículos Autônomos
 

Ensino algoritmos jogo Python

  • 1. UTILIZANDO PROGRAMAÇÃO PARALELA NA CRIAÇÃO DE UM JOGO PARA AUXÍLIO NO ENSINO DE ALGORITMOS ­­ COMMAND++ Everton Seiei Arakaki Lucas Grigolon Varela Rodrigo Curvêllo
  • 2. Este jogo tem o objetivo de facilitar o ensino da disciplina de algoritmos, trazendo ao jogador a possibilidade de entendimento e a compreensão de como funcionam as funções. Conceitos de thread, concorrência e programação paralela aprendidos em sala de aula foram aplicados na implementação do jogo, que foi desenvolvido utilizando a linguagem de programação Python. O jogo
  • 3. Teste para aprovação na universidade 42 do Vale do Silício (foco no ensino de programação)
  • 4. A disciplina de algoritmos é considerada a base para o ensino de programação nos cursos de Ciência da Computação. Esta disciplina aborda os princípios da lógica de programação, com o objetivo de desenvolver a capacidade de análise e resolução de problemas dos alunos através da descrição dos mesmos na forma de algoritmos. Além disso, ela faz parte do plano curricular de outros cursos, como os de engenharia, com a finalidade de introduzir os conceitos de programação. Essas disciplinas costumam ter altos índices de evasão e reprovação, sendo um dos gargalos existentes nos cursos de graduação, particularmente de computação, dificultando ou até mesmo impedindo a continuidade dos alunos no curso (RAPKIEWICZ et al., 2006). Porque algoritmos?
  • 5. É hoje consensual que um aluno que presta atenção retém aproximadamente 10% do que lê 20% do que ouve 30% do que vê, 50% do que vê e ouve ao mesmo tempo, 80% do que diz e 90% do que diz fazendo qualquer coisa a propósito da qual reflete e na qual se implica pessoalmente. (ROCHA, 1988 p. 176). Segundo Tarouco et al (2004) os jogos podem ser ferramentas eficientes, pois eles divertem enquanto motivam, facilitam o aprendizado e aumentam a capacidade de retenção do que é ensinado, exercitando as funções mentais e intelectuais do jogador. De acordo com Tarouco (2005) algumas características que fazem com que os jogos sejam atrativos são: os jogos possuem regras (fornecem uma estrutura), têm metas (produzem motivação), são interativos (permitem agir), têm resultados e realimentação (favorecem a aprendizagem) e são divertidos (tornam o processo agradável). Por conta destes fatos, a escolha de implementar um jogo para o auxílio do ensino da matéria de algoritmos é relevante. Porque utilizar ferramentas visuais para facilitar o ensino?
  • 6. Desde que os sistemas computacionais evoluíram, eles começaram a prover mecanismos que nos permitem a executar partes específicas do programa em paralelo com outras, melhorando a resposta e a performance do programa como um todo. A programação paralela está em diversos contextos, desde pequenos smartphones a grandes e potentes servidores em centros de pesquisas. A programação paralela permite um melhor gerenciamento de recursos, levando menos tempo para executar uma tarefa (PALACH, 2014). Programação Paralela
  • 7. A linguagem de programação Python traz para o usuário módulos prontos, similar as bibliotecas em Java para implementações usando threads. A versão do Python escolhida para ser abordada neste jogo é a 3.6. A partir da versão 3, a linguagem de programação Python oferece ao usuário o módulo threading. O módulo threading faz com que o desenvolvedor tenha acesso a recursos de programação paralela de maneira abstrata, utilizando código de alto nível em sua implementação. Implementando threads em python
  • 8. Com o desenvolvimento deste projeto o grupo veio a compreender melhor a aplicação real de threads em softwares de uso real. O jogo implementado não está completo para poder ser utilizado no auxílio da matéria de algoritmos, faltando atualizar o gerenciamento de comandos, bem como atualizar o limite de comandos. Também para próximos projetos é interessante o desenvolvimento de novos mapas, do sistema de cores para estruturas de seleção, adicionar um contador para limitar o tempo de jogo máximo com um sistema de pontuação. Em uma futura implementação é recomendada a reestruturação do código usando Programação Orientada a Objetos para melhor utilização dos recursos da linguagem Python. V2 – Em desenvolvimento. Conclusão – V1
  • 9. Referências PALACH, J. Parallel Programming with Python. Develop efficient parallel systems using the robust Python environment. Packt Publishing, 2014. PEREIRA JR, J. C. R., RAPKIEWICZ, C. E.. O Processo de Ensino e Aprendizagem de Algoritmos e Programação: Uma Visão Crítica da Literatura. WEIMIG – Workshop de Educação em Informática de Minas Gerais. Belo Horizonte. 2004. RAPKIEWICZ, C. E. et al. ESTRATÉGIAS PEDAGÓGICAS NO ENSINO DE ALGORITMOS E PROGRAMAÇÃO ASSOCIADAS AO USO DE JOGOS EDUCACIONAIS. Revista RENOTE – Novas Tecnologias na Educação ­ UFRGS, V.4 No 2, Dezembro, 2006. ROCHA, M. N. Recursos Visuais e Audiovisuais no Ensino – Construção e Exploração de Materiais Pedagógicos. 1998. Disponível em: https://web.archive.org/web/20100102124526/www.cf­­ francisco­­holanda.rcts.pt/accoes/2005/accao_7.htm. Acesso: 30 de maio de 2017 TAROUCO, L. M. R., ROLAND, L. C., FABRE , M. C. J. M., KONRATH, M. L. P. Jogos educacionais , RENOTE ­ Novas Tecnologias na Educação , v. 2, n. 1. 2004. TAROUCO, L. Jogos educativos via WWW. Disponível em: http://penta3.ufrgs.br/animacoes/JogosEducacionais. 2005. Acesso: 30 de maio de 2017.
  • 10. Referências PALACH, J. Parallel Programming with Python. Develop efficient parallel systems using the robust Python environment. Packt Publishing, 2014. PEREIRA JR, J. C. R., RAPKIEWICZ, C. E.. O Processo de Ensino e Aprendizagem de Algoritmos e Programação: Uma Visão Crítica da Literatura. WEIMIG – Workshop de Educação em Informática de Minas Gerais. Belo Horizonte. 2004. RAPKIEWICZ, C. E. et al. ESTRATÉGIAS PEDAGÓGICAS NO ENSINO DE ALGORITMOS E PROGRAMAÇÃO ASSOCIADAS AO USO DE JOGOS EDUCACIONAIS. Revista RENOTE – Novas Tecnologias na Educação ­ UFRGS, V.4 No 2, Dezembro, 2006. ROCHA, M. N. Recursos Visuais e Audiovisuais no Ensino – Construção e Exploração de Materiais Pedagógicos. 1998. Disponível em: https://web.archive.org/web/20100102124526/www.cf­­ francisco­­holanda.rcts.pt/accoes/2005/accao_7.htm. Acesso: 30 de maio de 2017 TAROUCO, L. M. R., ROLAND, L. C., FABRE , M. C. J. M., KONRATH, M. L. P. Jogos educacionais , RENOTE ­ Novas Tecnologias na Educação , v. 2, n. 1. 2004. TAROUCO, L. Jogos educativos via WWW. Disponível em: http://penta3.ufrgs.br/animacoes/JogosEducacionais. 2005. Acesso: 30 de maio de 2017.