Upload
others
View
15
Download
0
Embed Size (px)
Citation preview
WAGNER TITON
ENSINO DE CONCEITOS DE PROGRAMAÇÃO UTILIZANDO A
ROBÓTICA EDUCACIONAL, APOIADA NA PLATAFORMA ARDUINO:
UMA APLICAÇÃO NO CURSO DE APRENDIZAGEM INDUSTRIAL EM
INFORMÁTICA
Itajaí (SC), fevereiro de 2017
UNIVERSIDADE DO VALE DO ITAJAÍ
CURSO DE MESTRADO ACADÊMICO EM
COMPUTAÇÃO APLICADA
ENSINO DE CONCEITOS DE PROGRAMAÇÃO UTILIZANDO A
ROBÓTICA EDUCACIONAL, APOIADA NA PLATAFORMA ARDUINO:
UMA APLICAÇÃO NO CURSO DE APRENDIZAGEM INDUSTRIAL EM
INFORMÁTICA
por
Wagner Titon
Dissertação apresentada como requisito parcial à
obtenção do grau de Mestre em Computação
Aplicada.
Orientador: Alejandro Rafael Garcia Ramirez,
Dr.
Itajaí (SC), Fevereiro de 2017
FOLHA DE APROVAÇÃO
Esta página é reservada para inclusão da folha de assinaturas, a ser disponibilizada pela
Secretaria do Curso para coleta da assinatura no ato da defesa.
AGRADECIMENTOS
Agradecimentos ao Dr. Alejandro Rafael Garcia Ramirez por ter aceitado o convite de ser o
orientador deste trabalho, onde orientou com excelência durante todos os momentos necessários. A
todos professores do curso de Mestrado da Univali pelas contribuições e ensinamentos repassados,
sendo que estes contribuíram tanto para minha formação acadêmica como profissional.
À toda minha família, em especial as meus pais Sr. Claudio e Sra. Dulce, pela compreensão
nos momentos difíceis e pelo apoio fundamental e incondicional de cada um, sem eles nada disto
teria surgimento e significado.
À Bárbara Cansian, pessoa muito especial em minha vida, pelo grande carinho e apoio, onde
pelos quais foram fundamentais durante toda a jornada e para a conclusão deste trabalho.
À coordenação e professores da área de informática do SENAI/SC, unidade Chapecó, pela
disponibilidade e parceira durante desenvolvimento deste estudo.
ENSINO DE CONCEITOS DE PROGRAMAÇÃO UTILIZANDO A
ROBÓTICA EDUCACIONAL, APOIADA NA PLATAFORMA ARDUINO:
UMA APLICAÇÃO NO CURSO DE APRENDIZAGEM INDUSTRIAL EM
INFORMÁTICA
Wagner Titon
Fevereiro / 2017
Orientador: Alejandro Rafael Garcia Ramirez, Dr.
Área de Concentração: Computação Aplicada
Linha de Pesquisa: Sistemas Embarcados e Distribuídos
Palavras-chave: Robótica Educacional, Arduino, Programação, Ensino-aprendizagem.
Número de páginas: 142
RESUMO
É de extrema importância a criação/utilização de novos conceitos no âmbito educacional
como facilitadores do conhecimento. Estes se traduzem em uma melhor fixação dos conhecimentos
dos alunos, assim como na permanência nos cursos. Em particular, a aplicação dos conceitos de
robótica educacional, apoiado em plataformas de hardware e software livre, como o Arduino,
configura-se como uma alternativa interessante de ensino-aprendizagem para o ensino dos
conhecimentos básicos de programação. Através desta proposta, aplicaram-se intervenções na
metodologia de ensino da disciplina de Conceitos de Programação, da instituição FIESC SENAI,
unidade Chapecó. A proposta baseou-se na transformação de um ambiente puramente virtual, no
qual o aluno resolve problemas de cunho comercial, pela montagem e utilização de robôs móveis e
a realização de intervenções relacionadas com suas atividades cotidianas. As intervenções foram
divididas em cinco momentos, totalizando 20 horas/aula. Definiu-se um grupo de controle e um
grupo experimental com trinta e um praticantes em ambos, para analisar se os alunos submetidos a
este estudo manifestaram alguma melhoria expressiva do conhecimento em tópicos afins da
disciplina Conceitos de Programação. Para tanto, foram empregados três métodos de avaliação:
teste de conhecimento (pré-teste e pós teste), análise do conteúdo e um questionário que objetivou
analisar a satisfação dos alunos. A análise da equivalência entre o grupo de controle e experimental,
usando o teste t-Student, aplicado nas médias obtidas pelos participantes nas disciplinas de
Fundamentos de Matemática e Introdução à Linguagem de Programação, revelou que ambos os
grupos eram equivalentes em ambas as disciplinas. Por outro lado, a análise dos resultados
estatísticos obtidos na disciplina de Conceitos de Programação, através do teste de Mann-Whitney,
revelou que as intervenções geraram uma diferença estatisticamente significante no grupo
experimental, sendo que a média final das avaliações do grupo experimental foi 26% superior em
relação ao grupo de controle. Os resultados do questionário de satisfação permitiram observar que
em nenhuma das questões avaliadas obteve-se o valor mais baixo dentre as opções da escala de
Likert, ou seja, o valor 1 (5 seria a nota mais alta). Também, todas as questões obtiveram média de
pontuação acima de 4 e a questão que visou analisar o grau de satisfação do projeto, obteve o maior
valor entre todas: 4,66. Cabe salientar que a aplicação prática da robótica educacional para o ensino
dos conceitos de programação é pioneira no sistema FIESC-SENAI.
PROGRAMMING USING CONCEPTS OF LEARNING ROBOTICS
EDUCATION, BACKED IN PLATFORM ARDUINO:
AN APPLICATION IN APRENDIZAGEM INDUSTRIAL EM
INFORMÁTICA'S COURSE
Wagner Titon
February / 2017
Advisor: Alejandro Rafael Garcia Ramirez, Dr.
Area of Concentration: Applied Computer Science
Research Line: Embedded and Distributed Systems
Keywords: Educative robotics, Arduino, Programming, Teaching and learning
Number of pages: 142
ABSTRACT
The creation and use of new concepts in education, as facilitators of knowledge, is
extremely important. These concepts result in better retention of knowledge by students, and lower
course drop-out rates. In particular, the application of the concepts of educational robotics,
supported by hardware platforms and free software, such as Arduino, provide an interesting
teaching-learning tool for teaching basic programming knowledge. Through this proposal,
interventions were applied in the teaching methodology of the discipline Programming Concepts, at
the Chapecó unit of the institution FIESC SENAI (the National Industrial Educational Program of
the Federation of Industries of Santa Catarina). The proposal was based on the transformation of a
purely virtual environment, in which the student solves problems of a commercial nature by
assembling and applying mobile robots, and performing interventions related to their day-to-day
activities. The interventions were carried out at five separate times, totaling 20 class hours. A
control group and an experimental group were defined, with twenty-one students in each, to analyze
whether the students involved in the study demonstrated any significant improvement in their
knowledge of topics related to the discipline Programming Concepts. Three evaluation methods
were used: test of knowledge (pre- and post-tests), content analysis, and a questionnaire on the
students’ satisfaction with the project. The analysis of equivalence between the control group and
the experimental group, using the Student's t-test, applied to the participants’ average scores in the
classes Foundations of Mathematics and Introduction to Programming Language, showed that the
two groups achieved equivalent performance in both disciplines. On the other hand, analysis of the
statistical results obtained in the discipline of Programming Concepts, through the Mann-Whitney
test, revealed that the interventions generated a statistically significant difference in the
experimental group; 26% higher than in the control group. The results of the satisfaction
questionnaire showed that none of the questions evaluated obtained a lower score among the
options on the Likert scale, i.e. a value of 1 (where 5 is the highest). In addition, all the questions
obtained average scores of 4 or higher, and the question to analyze the level of satisfaction with the
project obtained the highest score of all: 4.66. It should be noted that the use of educational robotics
to teach programming concepts is a pioneering application in the FIESC-SENAI system.
LISTA DE ILUSTRAÇÕES
Figura 1. Kit LEGO Mindstorms ....................................................................................................... 28
Figura 2. Kit LEGO WeDo ................................................................................................................ 28 Figura 3. Projeto com Kit Modelix .................................................................................................... 29 Figura 4. Kit UNO Robótica .............................................................................................................. 30 Figura 5. Kit Alpha Maker ................................................................................................................. 31 Figura 6. Kit Alpha Mecatrônica ....................................................................................................... 32
Figura 7. Kit Robótica KTR-13 ......................................................................................................... 33 Figura 8. Kit Robótica KTR-30 ......................................................................................................... 33
Figura 9. IDE do Arduino .................................................................................................................. 37 Figura 10. Recurso Monitor Serial da IDE ........................................................................................ 38 Figura 11. Modelos Arduino .............................................................................................................. 39 Figura 12. Arduino Uno ..................................................................................................................... 40 Figura 13. Kits Arduino e componentes robóticos ............................................................................ 40
Figura 14. Sensores para Arduino ...................................................................................................... 42 Figura 15. Atuadores para Arduino.................................................................................................... 43 Figura 16. Nível de ensino dos participantes nos trabalhos analisados ............................................. 48 Figura 17. Tecnologias robóticas empregadas nos trabalhos analisados ........................................... 48
Figura 18. Instrumentos de avaliação utilizados nos trabalhos analisados ........................................ 49 Figura 19. Quant. de instrumentos de avaliação utilizados nos trabalhos analisados ........................ 49
Figura 20. Robô utilizado................................................................................................................... 53 Figura 21. Primeiro modelo do robô móvel ....................................................................................... 54
Figura 22. Esquema elétrico robô ...................................................................................................... 55 Figura 23. Comparativo entre grupo de controle e experimental ...................................................... 70
Figura 24. Resultado formulário ........................................................................................................ 73
Quadro 1. Cronograma de realização das intervenções ..................................................................... 60
Quadro 2. Entrada de Dados .............................................................................................................. 86 Quadro 3. Processamento de dados.................................................................................................... 86 Quadro 4. Saída de dados ................................................................................................................... 87
Quadro 5. Estrutura condicional simples ........................................................................................... 90 Quadro 6. Estrutura condicional composta ........................................................................................ 91
Quadro 7. Estrutura condicional composta encadeada ...................................................................... 92 Quadro 8. Estrutura condicional múltipla .......................................................................................... 93
Quadro 9. Estrutura de repetição condicional While ......................................................................... 95 Quadro 10. Estrutura de repetição condicional Do...While ............................................................... 96 Quadro 11. Estrutura de repetição contada ........................................................................................ 97
LISTA DE TABELAS
Tabela 1. Comparativo entre os kits robóticos educaionais 34
Tabela 2. Números sobre a busca de trabalhos relacionados 46 Tabela 3. Componente robô e valores 56 Tabela 4. Teste de Shapiro-Wilk com grupo de controle e experimental 66 Tabela 5. Resultado teste t-Student da disciplina de Fundamentos de Matemática 66 Tabela 6. Resultado teste t-Student da disciplina de Introdução a Linguagem de Programação 67
Tabela 7. Valores obtidos nas avaliações do grupo de controle 68 Tabela 8. Valores obtidos nas avaliações do grupo experimental 69
Tabela 9. Teste de normalidade grupo de controle e experimental 70 Tabela 10. Resultado teste Mann-Whitney com dados coletados 71 Tabela 11. Resultado em % de cada pergunta 72 Tabela 12. Operadores Relacionais 88 Tabela 13. Operadores Lógicos 89
LISTA DE ABREVIATURAS E SIGLAS
CAPES Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
CNPq Conselho Nacional de Pesquisa
FFL FIRST LEGO League
FIESC Federação das Indústrias do Estado de Santa Catarina
GPIO General Purpose Input/Output
IDE Integrated Development Environment
LED Light Emitting Diode
LCD Liquid Crystal Display
MCA Mestrado em Computação Aplicada
OBR Olimpíada Brasileira de Robótica
PWM Pulse Width Modulation
SENAI Serviço Nacional de Aprendizagem Industrial
SC Santa Catarina
UNIVALI Universidade do Vale do Itajaí
USB Universal Serial Bus
SUMÁRIO
1 INTRODUÇÃO .................................................................................... 12
1.1 PROBLEMA DE PESQUISA........................................................................... 13
1.1.1 Delimitação de Escopo .................................................................................... 13
1.1.2 Justificativa ...................................................................................................... 14
1.2 OBJETIVOS ...................................................................................................... 15
1.2.1 Objetivo Geral ................................................................................................. 15
1.2.2 Objetivos Específicos ...................................................................................... 15
1.3 METODOLOGIA .............................................................................................. 15
1.3.1 Metodologia da Pesquisa ................................................................................ 16
1.3.2 Procedimentos Metodológicos ........................................................................ 16
1.4 ESTRUTURA DA DISSERTAÇÃO ................................................................ 17
2 FUNDAMENTAÇÃO TEÓRICA ...................................................... 19
2.1 DEFINIÇÃO DE ALGORITMO E PROGRAMAÇÃO ............................... 19
2.2 PROBLEMAS NO ENSINO DE PROGRAMAÇÃO .................................... 21
2.3 ROBÓTICA ........................................................................................................ 22
2.3.1 Robótica Educacional ..................................................................................... 23
2.4 COMPETIÇÕES NA ÁREA DA ROBÓTICA .............................................. 24
2.4.1 Olimpíada Brasileira de Robótica ................................................................. 24
2.4.2 Torneio de Robótica FIRST LEGO League ................................................. 25
2.5 KITS EDUCACIONAIS ................................................................................... 26
2.5.1 LEGO Education ............................................................................................. 27
2.5.2 Programa mais Educação – Modelix Robotics ............................................. 29
2.5.3 Robô UNO ........................................................................................................ 30
2.5.4 Kit Alpha .......................................................................................................... 31
2.5.5 Kit Atto Educacional ...................................................................................... 32
2.5.6 Análise comparativa entre os kits educacionais ........................................... 34
2.6 ARDUINO .......................................................................................................... 34
2.6.1 IDE .................................................................................................................... 36
2.6.2 Modelos de Arduino ........................................................................................ 38
2.6.3 Kits baseados em Arduino .............................................................................. 40
2.6.4 Sensores e atuadores ....................................................................................... 41
2.7 CENÁRIO DE ENSINO DE CONCEITOS DE PROGRAMAÇÃO -
SENAI/SC ................................................................................................................... 43
3 TRABALHOS RELACIONADOS .................................................... 45
3.1 PROTOCOLO DE BUSCA .............................................................................. 45
3.2 SÍNTESE DOS TRABALHOS RELACIONADOS ....................................... 47
3.3 CONSIDERAÇÕES .......................................................................................... 50
4 DESENVOLVIMENTO ...................................................................... 52
4.1 ESTRUTURA ROBÔ ........................................................................................ 53
4.2 INTERVENÇÕES E ATIVIDADES ............................................................... 56
4.3 INSTRUMENTOS DE AVALIAÇÃO ............................................................ 58
4.4 CRONOGRAMA ............................................................................................... 59
4.4.1 Descrição das intervenções ............................................................................. 60
4.5 CONSIDERAÇÕES .......................................................................................... 64
5 RESULTADOS .................................................................................... 65
5.1 ANÁLISE DE EQUIVALÊNCIA DO GRUPO DE CONTROLE E
EXPERIMENTAL .................................................................................................... 65
5.2 DADOS OBTIDOS DOS MÉTODOS DE AVALIAÇÃO ............................. 67
5.3 RESULTADOS DO GRUPO DE CONTROLE E EXPERIMENTAL ....... 70
5.4 RESULTADOS QUESTIONÁRIO ................................................................. 71
5.5 CONSIDERAÇÕES .......................................................................................... 74
6 CONCLUSÃO ...................................................................................... 75
6.1 CONTRIBUIÇÕES ........................................................................................... 77
6.2 TRABALHOS FUTUROS ................................................................................ 78
REFERÊNCIAS ....................................................................................... 79
APÊNDICE A – FUNDAMENTAÇÃO TEÓRICA DE
ESTRUTURA DE PROGRAMAÇÃO .................................................. 85
APÊNDICE B – PROTOCOLO DE BUSCA .................................... 98
APÊNDICE C – TRABALHOS RELACIONADOS ...................... 101
APÊNDICE D – PLANO DE AULA PRIMEIRA INTERVENÇÃO
111
APÊNDICE E – PLANO DE AULA SEGUNDA INTERVENÇÃO
113
APÊNDICE F – PLANO DE ENSINO TERCEIRA
INTERVENÇÃO 115
APÊNDICE G – PLANO DE ENSINO QUARTA INTERVENÇÃO
117
APÊNDICE H – PLANO DE ENSINO QUINTA INTERVEÇÃO
119
APÊNDICE I – DESCRITIVO DO DESAFIO - ROBOCLEAN .. 121
APÊNDICE J – MISSÃO 1 ............................................................... 123
APÊNDICE K – MISSÃO 2 .............................................................. 124
APÊNDICE L – MISSÃO 3 ............................................................... 125
APÊNDICE M – MISSÃO 4 ............................................................. 126
APÊNDICE N – MISSÃO 5 .............................................................. 127
APÊNDICE O – TESTE DE AVALIAÇÃO 1................................. 128
APÊNDICE P – TESTE DE AVALIAÇÃO 2 ................................. 130
APÊNDICE Q – TESTE DE AVALIAÇÃO 1 – GRUPO DE
CONTROLE 132
APÊNDICE R – ANÁLISE DE CONTEÚDO ................................ 134
APÊNDICE S – QUESTIONÁRIO .................................................. 135
ANEXO A – MATRIZ CURRICULAR DO CURSO .................... 137
ANEXO B – PLANO DE ENSINO CONCEITOS DE
PROGRAMAÇÃO ................................................................................. 138
ANEXO C – PLANO DE ENSINO INTRODUÇÃO A
LINGUAGEM DE PROGRAMAÇÃO................................................ 139
ANEXO D – PLANO DE ENSINO FUNDAMENTOS DE
MATEMÁTICA ..................................................................................... 140
ANEXO E – LISTA DE EXERCÍCIOS – GRUPO DE CONTROLE
141
12
1 INTRODUÇÃO
Segundo Menezes e Santos (2015), o termo Robótica Educacional pode ser definido da
seguinte maneira:
Termo utilizado para caracterizar ambientes de aprendizagem que reúnem materiais de sucata ou kits
de montagem compostos por peças diversas, motores e sensores controláveis por computador e
softwares que permitam programar de alguma forma o funcionamento dos modelos montados. Em
ambientes de robótica educacional, os sujeitos constroem sistemas compostos por modelos e
programas que os controlam para que eles funcionem de uma determinada forma.
Com base nesta citação, pode-se afirmar que através da robótica educacional o aluno tem a
liberdade de desenvolver seu protótipo, trazendo deste modo, uma situação de sua rotina escolar,
não algo abstrato e, em muitas situações, que não possui um conhecimento amplo. Desenvolver a
programação sobre um objeto conhecido e que se deseja, por exemplo, movimentar um robô, é algo
muito mais simples e intuitivo para aluno, ao contrário de solicitar que ele resolva um determinado
problema comercial em um ambiente puramente virtual.
Existem diversos kits de robótica de diferentes plataformas de hardware e software, tanto
livre como proprietário, que podem ser aliados do professor na transmissão dos conhecimentos.
Nesse sentido, através da plataforma Arduino, é possível desenvolver projetos interativos,
empregando conceitos de hardware e software, facilitando a implementação de comportamentos
robóticos, por exemplo. Esse comportamento ocorre a partir da implementação de um código fonte,
tal como um software, sendo executado dentro de um microcontrolador (BANZI, 2011).
O Arduino é composto por dois componentes: um é a placa Arduino ou elemento físico onde
se criam os protótipos, e o outro é a IDE (Integrated Development Environment) do Arduino, que é
o software ou ambiente de desenvolvimento do código fonte que será utilizado pelo processador da
placa Arduino. Esse código fonte é chamado de sketch, sendo ele posteriormente enviado ao
processador, através de uma comunicação USB (BANZI, 2011).
Neste contexto, a pesquisa proposta tem como objetivo explorar o conceito da robótica
educacional, auxiliada na plataforma de hardware e software livre Arduino, para o ensino de
conceitos de programação, aplicada ao curso de Aprendizagem Industrial em Informática, o qual é
oferecido pela instituição SENAI, Serviço Nacional de Aprendizagem Industrial, unidade da cidade
de Chapecó – SC.
13
1.1 PROBLEMA DE PESQUISA
O curso de Aprendizagem Industrial em Informática é ofertado desde o ano 2000, na
unidade do SENAI/SC Chapecó, sendo composto por diversas disciplinas da área de informática, a
fim de formar um aprendiz que possa atender as principais demandas da indústria local. Em sua
estrutura curricular possui três disciplinas que são focadas na área de desenvolvimento de software,
nomeadas de Introdução à Linguagem de Programação, Conceito de Programação e
Desenvolvimento de Páginas de Internet.
Deste modo, percebe-se que os alunos possuem dificuldades de aprendizado na disciplina de
Conceitos de Programação, que de certo modo, acarreta a dificuldade nas demais disciplinas de
programação que compõem o curso. O desenvolvimento das atividades em um ambiente puramente
virtual e, na grande maioria dos casos, resolvendo problemas que não são de seu cotidiano, leva à
desmotivação pelo aprendizado do conteúdo das disciplinas.
Diante deste contexto, este trabalho pretende responder a seguinte pergunta: A utilização da
robótica educacional, apoiada na plataforma Arduino, permite gerar uma melhoria no desempenho
acadêmico na disciplina de Conceitos de Programação do curso de Aprendizagem Industrial em
Informática?
Pretende-se através desta pesquisa propor uma forma mais interativa do ensino dos
conceitos de programação, os quais constituem a disciplina de Conceitos de Programação, para que
os alunos consigam assimilar com mais facilidade o conteúdo e alcancem um maior entendimento
do processo que está sendo desenvolvido.
Dessa forma, leva-nos a formular a hipótese de pesquisa deste trabalho: O ensino-
aprendizagem da disciplina de Conceitos de Programação pode contribuir na melhoria do
desempenho acadêmico dos alunos, se relacionado com a robótica, deste modo aplicando os
conceitos de programação para a construção e manipulação de um protótipo de robô móvel.
1.1.1 Delimitação de Escopo
O presente trabalho foi desenvolvido com os alunos do curso de Aprendizagem Industrial
em Informática da Unidade SENAI/SC Chapecó, com uma turma de 31 alunos, de modo a respeitar
o cronograma escolar e do presente trabalho. Neste momento, aplicou-se apenas à unidade do
14
SENAI/SC Chapecó, caso fosse necessário, seria analisada a aplicação em outra unidade da
instituição dentro do sistema FIESC.
A pesquisa tem como foco trabalhar sobre o ensino-aprendizagem de conceitos de
programação, que consiste no alicerce do aprendizado das disciplinas de desenvolvimento de
software, pois, acredita-se que com o aprendizado real destes conceitos, as demais disciplinas irão
acontecer com uma maior facilidade.
Salienta-se, no entanto, que a metodologia proposta, em tese, poderia ser adaptada ou
reavaliada para atender a demanda de aplicação em outros cursos que contemplam as disciplinas da
área de programação.
1.1.2 Justificativa
A robótica educacional, que também pode ser definida como robótica educativa, pode servir
como um instrumento de construção de experiências da rotina cotidiana do aluno, bem como,
identificar e propor soluções de nível complexo, e não apenas observar as formas de soluções já
existentes (MAISONNETTE, 2015).
Diante desta definição do conceito da robótica educacional, fica claro que ela facilita o
entendimento do processo ao aluno, permitindo que ele compreenda ou possa simular atividades de
sua rotina. Então, para “dar vida” ao protótipo desenvolvido, precisa-se fazer o desenvolvimento da
lógica e a aplicação da linguagem de programação para que a interface que está sendo utilizada
interaja com o protótipo e realize aquilo que o aluno deseja.
Neste trabalho a interface escolhida é a plataforma livre Arduino. E ele surgiu na Interaction
Design Institute, através da necessidade que o professor Massimo Banzi enfrentava na procura de
um meio barato e fácil de trabalhar a tecnologia com os estudantes do curso de Design. O princípio
da criação do Arduino era que o mesmo tivesse um preço acessível aos estudantes e que qualquer
pessoa pudesse utilizar a plataforma de desenvolvimento (EVANS, 2013).
O Arduino foi desenvolvido dentro do ambiente acadêmico, tendo em vista o seu fácil
manuseio, tanto em nível de hardware quanto de software. Sua popularidade cresceu rapidamente, o
público identificou que ele é um sistema de fácil utilização e, além disso, tem um bom custo
benefício. Através do Arduino os próprios usuários podem construir e desenvolver seus projetos,
15
em virtude disto, é identificado como uma excelente plataforma de ensino à introdução para
programação a microcontroladores (EVANS, 2013).
Através do uso da plataforma Arduino é possível criar um ambiente mais interativo e
produtivo do ensino de conceitos de programação, fazendo com que o aluno programe seu próprio
protótipo, dando um real sentido pelo qual ele está desenvolvendo todo aquele código fonte. O
Arduino Project foi desenvolvido em um ambiente educacional, deste modo, ele é de fácil manuseio
e ideal para iniciantes.
1.2 OBJETIVOS
1.2.1 Objetivo Geral
Utilizar a robótica educacional, apoiada na plataforma Arduino, para o ensino de conceitos
de programação no curso de Aprendizagem Industrial em Informática, a fim de avaliar a melhoria
no desempenho acadêmico na disciplina Conceitos de Programação.
1.2.2 Objetivos Específicos
1. Verificar as metodologias de ensino propostas para ensino de programação através da
robótica educacional, por meio de levantamento bibliográfico da área de pesquisa;
2. Propor intervenções na metodologia de ensino de conceitos de programação;
3. Realizar as intervenções propostas utilizando robótica educacional;
4. Avaliar a metodologia proposta, com alunos do curso de Aprendizagem Industrial em
Informática da Unidade do SENAI/SC Chapecó.
1.3 METODOLOGIA
Deve se estabelecer uma cadeia entre o problema e a metodologia, sendo que o problema
indica qual a sua natureza, se ela será quantitativa ou qualitativa, descritiva ou explicativa. Na etapa
da metodologia, onde o pesquisador definirá como será efetuada a investigação, quais serão os
instrumentos de coleta de dados, qual o tipo da pesquisa, o universo que se pretende abranger, a
amostra e a população (BOAVENTURA, 2011).
16
1.3.1 Metodologia da Pesquisa
Esta pesquisa consiste em propor uma nova forma para ensino de conceitos de programação,
através do uso da robótica educacional, utilizando a plataforma de hardware/software livre Arduino
e, a partir da utilização das intervenções propostas, verificar um ganho na motivação e no
aprendizado, caracterizando-se como método indutivo.
O método indutivo percorre o caminho inverso do método da dedução, sendo assim, a cadeia
de raciocínio estabelece uma conexão ascendente, através do particular para um geral. Através das
constatações particulares que levam a se obter as teorias e leis gerais (ANDRADE, 2010).
A natureza desta pesquisa é classificada como aplicada, portanto, deve ser objetiva, resolver
ou encaminhar a solução do problema proposto, e gerar conhecimentos úteis para esta solução
(BOAVENTURA, 2011).
Com base na abordagem do problema de pesquisa, ela pode ser considerada quantitativa.
Segundo Boaventura (2011 apud RICHARDSON, 1985) caracteriza-se o método quantitativo
através da utilização da quantificação tanto na modalidade de coleta de informações quanto no
tratamento da mesma, através de métodos estatísticos, desde o modo mais simples até ao mais
complexo.
Através dos objetivos deste trabalho, a pesquisa é caracterizada como exploratória, ou seja, é
aquela, como o nome sugere, que pretende explorar algo novo, que normalmente não é considerado
como ciência ainda, mas pode servir de base à ciência. Ela baseia-se no empirismo e alguns autores
afirmam que ela não elabora hipóteses a serem utilizadas quando se obtêm poucos estudos e
conhecimentos científicos relacionados ao tema. A pesquisa exploratória tem um grande valor, pois
pode servir como referência a outros tipos de pesquisas, quando o tema não possui bibliografias
abundantes ou de fácil acesso (LEITE, 2008).
1.3.2 Procedimentos Metodológicos
Os procedimentos técnicos utilizados para o desenvolvimento deste trabalho foram os
seguintes:
Pesquisa bibliográfica: teve como finalidade selecionar e tomar conhecimento das
propostas já desenvolvidas e aplicadas com o objetivo de utilizar a robótica
17
educacional, utilizando ou não hardware livre, para prover o ensino-aprendizagem de
programação;
Pesquisa documental: teve como finalidade buscar, junto ao SENAI unidade de
Chapecó, notas obtidas, avaliações realizadas e número de aprovados e reprovados
na disciplina de Conceitos de Programação, para verificar a evolução dos alunos
selecionados;
Pesquisa experimental: teve como finalidade a aplicação de atividades direcionas ao
ensino de conceitos de programação, com a utilização da plataforma de hardware
livre Arduino, a fim de prover uma nova metodologia de ensino-aprendizagem;
Estudo de caso: baseou-se na análise dos dados coletados através do método de
avaliação, após e/ou durante a aplicação das atividades, para serem utilizados a fim
de analisar a eficiência da metodologia.
1.4 ESTRUTURA DA DISSERTAÇÃO
O trabalho está organizado em seis capítulos correlacionados. Este Capítulo, Introdução,
apresentou, por meio de sua contextualização, o tema proposto. Da mesma forma, foram
estabelecidos os resultados esperados por meio da definição de seus objetivos e apresentadas às
limitações do trabalho permitindo uma visão clara do escopo proposto.
O Capítulo 2, Fundamentação Teórica, é discutido aspectos relacionados à programação e
sobre robótica educacional, sendo apresentados diversos kits educacionais e a plataforma Arduino.
No Capítulo 3 é apresentado um conjunto de trabalhos relacionados a este tema de pesquisa,
onde foram analisados e extraídos alguns dados, com a finalidade de gerar uma análise dos mesmos.
Os trabalhos relacionados foram considerados similares, devido à aplicação prática da robótica
educacional para o ensino de programação.
Já o Capítulo 4 detalha como se realizou as intervenções deste trabalho, bem como os
descritivos das atividades em que compõem cada intervenção, além disto, são apresentados os
métodos de avaliação empregados e, ao final, apresenta-se a estrutura do robô utilizado para as
intervenções e atividades práticas, bem como, o cronograma de execução das atividades.
O Capítulo 5 apresenta os dados coletados através dos métodos de avaliações empregados e
a análise estatística desses. Além disto, é apresentada a análise dos resultados obtidos com o
questionário.
18
Por fim, o Capítulo 6 apresenta as conclusões deste trabalho, além das suas contribuições e
sugestões de trabalhos futuros.
19
2 FUNDAMENTAÇÃO TEÓRICA
Este capítulo aborda os principais temas de interesse de pesquisa deste trabalho. São
abordados assuntos relacionados a conceitos de programação, sendo apresentadas algumas
definições e problemas, além da robótica educacional, abordando as competições e os kits
educacionais, com ênfase na plataforma Arduino.
2.1 DEFINIÇÃO DE ALGORITMO E PROGRAMAÇÃO
Na década de 40 surgiram os primeiros computadores digitais, sendo utilizados para
aplicações científicas; através deles começaram a surgir também as primeiras linguagens de
programação alto nível, para suprir a necessidade destas aplicações científicas. Posteriormente, a
partir década de 50, os computadores começaram a ser utilizados em aplicações comerciais,
expandindo ainda mais a área de programação, sendo necessária a criação de novas linguagens de
programação alto nível para negócios, as quais são utilizadas até hoje a este fim ainda (SEBESTA,
2006).
O processo de programação pode ser defino como uma “conversa” controlada por um
programador, ser humano, e um computador. Para este processo de comunicação é preciso utilizar
uma linguagem de programação, que o computador seja capaz de interpretá-la, onde esta
“conversa” será formada por uma série de instruções que serão executadas pelo computador,
realizando a operação desejada (MANZANO e OLIVEIRA, 2014).
O objetivo das linguagens de programação é promover, de forma eficaz, a comunicação
entre o programador e o computador. Elas são constituídas de um conjunto de palavras reservadas,
que será seu conjunto de instruções e regras, e quando associadas a uma ordem lógica, determinam
como os algoritmos devem ser formados para que o computador decodifique corretamente o seu
funcionamento, como pode ser conferido no Apêndice A. Deste modo, fica claro que as linguagens
de programação se diferem das linguagens naturais, podendo ser citado como exemplo, que estas
são mais tolerantes a erros, já naquelas, a simples falta de um ponto e vírgula deixa o algoritmo
inoperante (SOUSA, 2014).
As linguagens de programação podem ser de baixo nível ou alto nível. As de baixo nível
também são chamadas de “linguagem máquina” e será a linguagem utilizada para a comunicação
20
com o computador; já as de alto nível, são utilizadas para o desenvolvimento de programas, onde os
quais devem ser processados antes de sua inicialização, acarretando um adicional de tempo antes de
ser aberto (DOWNEY, 2012).
Tanto a linguagem de programação de baixo quanto a de alto nível, quando utilizadas em
um computador eletrônico, serão traduzidas internamente para a forma numérica binária, indiferente
do computador, ele opera internamente com binários, que são representados pelos valores números
1 (um) e 0 (zero), sendo que o valor 1 indicará que algum dos componentes internos com
computador estará ligado e o valor 0 indicará que o componente encontra-se desligado
(MANZANO e OLIVEIRA, 2014).
O algoritmo pode ser definido como nada mais que uma sequência de passos, sendo
necessário que ele possua uma ordem lógica. Na elaboração de um algoritmo devem ser
especificadas ações claras e precisas que, através de um estado inicial, ele realize as operações por
um período finito e alcance o estado final definido; o algoritmo realizará um determinado
comportamento, o qual visa alcançar o resultado esperado, geralmente a solução de um problema, e,
além disto, sempre, quando for ser executado, sob as mesmas condições, deve produzir o mesmo
resultado (FORBELLONE, 2005).
Um algoritmo pode ser definido informalmente como qualquer procedimento computacional
bem estruturado e definido que receberá algum valor ou até mesmo um conjunto de valores, como
entrada e produzirá, com base nos valores de entrada, uma saída, que pode ser formada por um
valor ou um conjunto de valores, deste modo, um algoritmo resolverá um problema computacional
através de uma sequência de passos, gerando a partir de uma entrada, a saída desejada (CORMEN
et. al, 2002).
Pode-se realizar o desenvolvimento de algoritmos diretamente em uma linguagem de
programação, porém, existe a alternativa de utilização do pseudocódigo, que visa facilitar o
aprendizado e o uso no desenvolvimento, pois este utiliza o idioma nativo, diferente das linguagens
de programação, as quais são construídas utilizando palavras reservadas em inglês, facilitando para
que o iniciante possa se habituar no desenvolvimento de algoritmos (MEDINA e FERTIG, 2006).
O pseudocódigo, também conhecido como português estruturado, no Brasil, possui algumas
características. A primeira é a utilização de um conjunto mais limitado de comandos do que as
21
linguagens de programação, mas não afeta o desenvolvimento, pois se combinados, podem gerar
soluções simples as mais complexas; outra característica é que os comandos têm uma interpretação
única para o computador, impedindo a existência de confusão na construção do algoritmo; e por
fim, o algoritmo desenvolvido acaba tornando-se uma lista ordenada de comandos combinados, que
por sua vez, será a solução do problema (VILARIM, 2004).
Também podem ser utilizadas ferramentas gráficas no desenvolvimento de algoritmos, como
os diagramas de blocos, que são baseados na norma internacional ISSO 5807:1985(E), ou
diagramas de quadros, desenvolvido por Isaac Nassi e Ben Shneiderman, na década de 70 e, logo
após, ampliado por Ned Chapin, entretanto, em ambos, possibilitam demonstrar de forma concreta a
linha de raciocínio lógico necessário para desenvolvimento de algoritmos, concedendo ao
desenvolvedor uma facilidade posterior na codificação ou na manutenção dos programas
desenvolvidos, indiferente da linguagem de programação adotada (MANZANO e OLIVEIRA,
2014).
2.2 PROBLEMAS NO ENSINO DE PROGRAMAÇÃO
As disciplinas de programação são de extrema importância para os alunos dos cursos de
computação e afins, pois elas servem como base para os conceitos que constituem a informática.
Com essas disciplinas, o aluno desenvolverá o raciocínio lógico, não apenas para ser utilizado na
programação, mas sim, em diversas outras atividades, tornando-se de fundamental importância para
disciplinas que exigem esse requisito básico (CHAVES et. al, 2013).
Entretanto, o ensino de programação dirigido aos alunos iniciantes ou a quem nunca teve
contanto com a programação, apresenta diversos empecilhos. Inúmeros professores dessa área
concordam que esta tarefa é muito árdua e continua sendo, pois o aprendizado da programação pode
demorar certo tempo até que o aluno comece a assimilar os conhecimentos, e isto pode estar
relacionado aos novos paradigmas de programação utilizados para o ensino ou até mesmo na
complexa utilização das ferramentas de desenvolvimento (CARPERSEN e KOLLING, 2009).
As linguagens de programação comerciais possuem uma sintaxe complexa, tendo em vista
que foram desenvolvidas para o uso profissional, não visam uma facilidade para apoiar seu
aprendizado e, na grande maioria, possuem uma gama de detalhes que devem ser memorizados,
além de possuírem uma extensa lista de comandos, exigindo do aluno uma maior concentração no
22
desenvolvimento tanto da estrutura lógica do algoritmo quanto na semântica da linguagem que está
utilizando (GOMES, 2007).
Por mais desafiadora que seja a tarefa de ensino de programação, quando o professor
consegue torná-la mais clara para o aluno, estará estimulando-o a desenvolver a capacidade
cognitiva, fazendo com que ele possa aplicar as técnicas aprendidas na resolução dos problemas em
diversos outros tipos de dificuldades que encontrará em sua vida profissional (SAICO, 2013).
2.3 ROBÓTICA
Hoje cada vez mais se tem a necessidade da realização de tarefas com uma alta eficiência e
precisão, deste modo, a presença de robôs faz-se necessária, permitindo realizá-las sem um risco de
vida (ROSÁRIO, 2005). A palavra robô teve origem através da palavra tcheca robotnik e esse termo
foi inicialmente utilizado por Karel Capek, em 1923, mas apenas no século XX a ideia começou a
tornar-se realidade, quando surge o primeiro robô industrial, devido à necessidade de aumentar a
produtividade industrial e melhorar a qualidade da fabricação dos produtos (ROSÁRIO, 2010).
A Robótica abrange o estudo dos robôs, isto significa o estudo da capacidade de sentir e agir
no mundo físico, através de uma forma autônoma e intencional (MATARIC, 2014).
Ela é composta por diversas áreas do conhecimento, tais como a engenharia mecânica,
engenharia elétrica, computação e a inteligência artificial (ROSÁRIO, 2005). Por esse motivo, o
termo Robótica é interdisciplinar (NIKU, 2014). Isaac Asimov introduziu o termo como uma
ciência dedica ao estudo de robôs, baseado em três leis fundamentais, que foram estabelecidas como
regras de comportamento do robô (SICILIANO, 2009):
1. Um robô não pode ferir um ser humano ou, por inação, permitir que um ser humano sendo,
sofra algum mal;
2. Um robô deve obedecer às ordens dadas por seres humanos, exceto quando tais ordens
entrarem em conflito com a primeira lei;
3. Um robô deve proteger sua própria existência, desde que tal proteção não entre em conflito
com a primeira ou a segunda lei.
23
Os robôs, na grande maioria, são projetados para serem controlados por um computador ou
similar, com a intenção de executar diversas tarefas com base no programa em execução, podendo
ser integrado a outros dispositivos do meio (NIKU, 2014).
2.3.1 Robótica Educacional
O trabalho da robótica está ligado diretamente na construção de um robô ou outra forma de
mecanismo que seja capaz de desempenhar as atividades de forma autônoma, como por exemplo,
movimentar-se sozinho ou até mesmo levantar um objeto (SANTOMAURO, 2008). A robótica
apresenta, já há alguns anos, uma grande capacidade de ser uma ferramenta interdisciplinar. A
criação dos robôs leva ao questionamento do aluno, fazendo com que relacione diferentes
conhecimentos no desenvolvimento da solução de um problema, além de estimulá-lo e motivá-lo
devido à curiosidade e ao espírito investigativo, permitindo que avance ainda mais nos
conhecimentos (SANTOS, 2010).
A Robótica é definida como a ligação inteligente entre a percepção e a ação. Trabalhar em
Robótica significa estudar, projetar e implementar sistemas ou dispositivos que, com a
utilização de percepção e de certo grau de “inteligência”, sejam úteis na realização de uma
determinada tarefa, pré-definida ou não, que envolva interação física entre o sistema (ou
dispositivo) e o meio onde a tarefa está sendo realizada (PIO, 2006).
Por sua vez, a robótica educacional faz com que o aluno se esforce na criação de soluções de
hardware e software, tendo em vista a solução de um determinado problema a ele proposto, fazendo
com que a atividade torne-se desafiadora e lúdica ao mesmo tempo (MIRANDA, 2010). E, além
disto, faz com que o aluno questione, pense e procure as soluções do problema, permitindo sair da
teoria e ir para prática, utilizando os ensinamentos obtidos em sala de aula, na rotina cotidiana, nos
relacionamentos, nos conceitos e valores (FIORIO, 2014).
Isso torna a robótica educacional uma forma efetiva e atraente aos “olhos” dos alunos. Ela
permite ampliar a possibilidade de uso dos recursos digitais. Neste processo, o design, a concepção,
a construção e o controle através de computador, permitem que os próprios alunos desenvolvam e
compartilhem os códigos com seus colegas, aumentando sua autoestima, mostrando sua
competência na construção e operação de robôs, deixando de ser um mero usuário de computador e
passando a ser, de maneira similar, a um especialista que programa robôs para a execução de tarefas
propostas (D’ABREU, 2012).
24
Por se tratar de uma aplicação pedagógica, a robótica educacional ganha força, permitindo
que os alunos desenvolvam soluções voltadas ao mundo real, concedendo o aprendizado de forma
dinâmica e estimulante. Permitindo a capacidade de unir atividades mecânicas, como a construção
dos robôs, com atividades lógicas, tais como a realização de cálculos e algoritmos para controlar o
robô construído (SANTOS, 2010).
Pode-se dividir em duas categorias a robótica educacional: a primeira, e a mais tradicional, é
a utilizada por escolas de ensino fundamental e médio, tem como objetivo desenvolver um ambiente
de ensino-aprendizagem fazendo o uso exclusivamente de kits prontos de um determinado padrão
comercial, sendo o LEGO um dos kits mais difundindo nesta categoria. Já a segunda, visa
desenvolver um ambiente de ensino-aprendizagem utilizando tanto kits comerciais como materiais
alternativos de um padrão não comercial do tipo “sucata” (D’ABREU, 2012).
2.4 COMPETIÇÕES NA ÁREA DA ROBÓTICA
Incentivos e competições na área da robótica partem tanto do apoio governamental como
iniciativas privadas ou públicas, em virtude de ambas estimularem os jovens alunos a ingressarem
no universo da tecnologia, engenharia e matemática, proporcionando uma experiência diferente ao
ensino das matérias de ciências e matemática. A seguir serão apresentadas duas competições que
têm destaque em âmbito nacional.
2.4.1 Olimpíada Brasileira de Robótica
A Olimpíada Brasileira de Robótica, a OBR, é uma competição da área da robótica que visa
estimular jovens a carreiras científicas e tecnológicas, identificar alunos com habilidades na área e
promover debates e atualizações aos professores treinadores; no processo de ensino-aprendizagem
nacional, ela é uma das olimpíadas científicas brasileiras em que o CNPq apoia; além disso, possui
duas modalidades de competição, a teórica e a prática, visando abranger alunos com e sem
experiências em robótica educacional (OBR, 2016).
A modalidade teórica é dividida em seis categorias, que vai do nível 0 até o nível 5. Cada
um abrange um nível de escolaridade, iniciando na pré-escola até a ensino médio ou técnico e ela
ocorre em apenas uma fase do nível 0 até o 4 e no nível 5, em duas fases, sendo que a primeira
etapa a escola aplica a prova aos alunos escritos, por intermédio do professor responsável na data
25
definida nacionalmente pela comissão organizadora, já a segunda etapa, que acontece apenas para o
nível 5, acontece em sedes regionais com os competidores classificados (OBR, 2016).
Quanto à modalidade prática, é dividida em dois níveis: o nível 1, voltado para alunos do
ensino fundamental e o nível 2, para alunos de ensino médio e técnico. No nível 2, o aluno deve
possuir no máximo 19 anos, as equipes formadas por dois até quatro alunos do mesmo nível e a
competição ocorre em duas etapas: nível estadual e nível nacional (onde participam os finalistas da
etapa estadual de cada estado) (OBR, 2016).
A OBR acontece anualmente e abrange todo o território brasileiro. É destinada a alunos
tanto de escolas públicas como privadas do ensino fundamental, médio ou técnico; ela é gratuita e
não visa fins lucrativos, pois é uma iniciativa pública (OBR, 2016).
2.4.2 Torneio de Robótica FIRST LEGO League
O Torneio de Robótica FIRST LEGO League, a FLL, é uma competição internacional para
alunos entre 9 a 16 anos. Foi desenvolvido para despertar o interesse em temas relacionados com a
ciência e tecnologia dentro do ambiente escolar em que estão inseridos, através da robótica
educacional, podendo participar escolas privadas, públicas, grupos de garagem, ONGs e as escolas
SESI (SESI, 2016).
A FFL é uma ONG americana que organiza esse torneio a nível mundial. No Brasil, o SESI
é o operador da competição. As equipes podem ter até 10 alunos, os quais devem utilizar a lógica e
a matemática para resolverem desafios do mundo real a eles submetidos em três dias de competição
e quatro provas diferentes. Durante esse período, devem cumprir uma série de missões inspiradas no
tema da temporada (SESI, 2016).
Mais de 600 jovens participam da competição, na qual os robôs construídos pelas equipes
devem resolver as missões propostas da mesa de competição em dois minutos e meio, e eles são
avaliados em quatro categorias, a de desenho, de estratégia, de inovação e a de programação, sendo
que os robôs devem ser programados para serem autônomos e devem ser construídos com a
tecnologia LEGO Mindstorms (SESI, 2016).
A competição é uma iniciativa para fortalecer a capacidade de inovação, criatividade e
raciocínio lógico, bem como, inspirar os jovens a seguirem na carreira do ramo da engenharia,
26
matemática e tecnologia. A competição é dividida em duas etapas, a regional, que seleciona as
melhores equipes para competirem na etapa nacional (SESI, 2016).
2.5 KITS EDUCACIONAIS
Inúmeros kits de robótica educacional podem ser encontrados no mercado, muitos deles
semelhantes ao LEGO, que se baseiam no encaixe de peças, podendo construir diversos
mecanismos. Alguns desses kits não possuem um software específico, fazendo com que se procure
um método para programá-lo, diferente do caso do LEGO, que vem com um ambiente específico de
desenvolvimento, embora também possam ser usados outros ambientes para programá-lo.
A utilização de kits de robótica educacional existentes no mercado permite que se tenham
algumas vantagens. A primeira delas é que tanto o hardware quanto o software tem como objetivos
atender os propósitos educacionais definidos. A segunda vantagem é que se pode utilizar em
diferentes aplicações e cenários de ensino. Outra vantagem muito importante é a existência de uma
documentação técnica e manual do usuário dos produtos fornecidos, podendo, em alguns kits, até
fornecer o material pedagógico de apoio ao professor. A última vantagem é a facilidade no processo
de compra e operação pelo usuário não familiarizado com tecnologias eletrônicas ou de informática
(MIRANDA, 2010).
Os kits educacionais e microcontroladores voltados à educação tiveram seu início logo após
o desenvolvimento de linguagens de programação para crianças, e este desenvolvimento tem
ocorrido em cinco gerações, conforme trabalho de Bliksteins (2015).
A primeira geração surgiu na década de 80 e início da de 90, com o desenvolvimento da
plataforma LEGO/LOGO e muitas das outras gerações de “tijolos programáveis”. Já a segunda
geração surgiu na década de 90. Nesse período, os dispositivos estenderam suas capacidades,
permitindo a inclusão de novos sensores, atuadores e formas de interação com computador,
direcionado aos amadores e designers de interação, como por exemplo, a plataforma Arduino. A
terceira geração, que surgiu no início da década de 2000, é marcada pelos dispositivos que ampliam
a participação na computação e permitem que os utilizadores acessem novos domínios de
conhecimento (BLIKSTEINS, 2015).
27
Na segunda metade da década de 2000, surgiu a quarta geração, nela os dispositivos
trouxeram novos formatos, novas arquiteturas e um novo design industrial, ampliando o alcance da
computação física a novos públicos. A quinta, e última geração, começou a ganhar força no
lançamento da placa Raspeberry Pi, em 2012; ela permite que seja instalado um sistema operacional
em uma placa do tamanho de um cartão de crédito, permitindo novas possibilidades para
computação física na educação (BLIKSTEINS, 2015).
A seguir serão apresentados alguns kits educacionais que podem ser encontrados a venda no
mercado brasileiro e, por sua vez, poderiam ser adquiridos através do modelo de compra do
SENAI/SC.
2.5.1 LEGO Education
A LEGO está há 35 anos no mercado, fornece um produto que visa permitir uma experiência
de aprendizagem de forma lúdica, traz temas à vida em sala de aula e torna o aprendizado divertido
e impactante. A LEGO possui uma ampla gama de produtos, tanto físicos como virtuais, os quais
incentivam os alunos a pensarem criativamente, além de inspirar o interesse deles pela ciência,
tecnologia, engenharia e matemática (LEGO, 2016).
O LEGO Mindstorms é um kit com diversos componentes, permite que os alunos
construam, programem e testem as soluções baseadas na tecnologia robótica na vida real. Possui
um pequeno computador integrado que torna possível o controle de motores e a coleta de dados do
ambiente através dos sensores (LEGO, 2016). A linha Mindstorms é amplamente utilizada e a mais
comum de se encontrar nos ambientes de ensino; é recomendada para alunos acima de 10 anos e
possui diferentes versões do produto. A comercializada pela LEGO hoje é a EV3, como demonstra
a Figura 1, sucedendo às versões NXT e RCX.
28
Figura 1. Kit LEGO Mindstorms
Fonte: LEGO (2016).
Além do Mindstorms, encontra-se o LEGO WeDo, que é uma versão recomendada para
alunos a partir de 7 anos. É um kit com diversos componentes, como demonstra a Figura 2. Ela
permite, do mesmo modo do Mindstorms, o ensino de diversas disciplinas nos níveis primários,
como ciências, matemática, engenharia e tecnologia, com uma forma simples de utilizar, permitindo
que o aluno construa seus modelos e os traga à “vida”, através de um ambiente de programação
(LEGO, 2016).
Figura 2. Kit LEGO WeDo
Fonte: LEGO (2016).
29
2.5.2 Programa mais Educação – Modelix Robotics
O kit Programa Mais Educação desenvolvido pela Modelix, é um kit de robótica econômico
e de fácil utilização; seu foco está na montagem de projetos robóticos e o desenvolvimento da
programação. Pode atender todos os níveis educacionais a partir do 4° ano do ensino fundamental,
pode ser utilizado por grupos de até cinco alunos, sendo que eles têm total autonomia tanto na
construção do projeto quanto na programação, que deve ser realizada através do software Modelix
System Pro (MODELIX, 2016).
Junto ao kit vem incluso ainda um manual passo a passo, na língua portuguesa e apostila de
programação de diversos cenários. O software Modelix System Pro é um ambiente de programação
através de diagramas de blocos, resultando em uma programação mais simples e intuitiva
(MODELIX, 2016).
A Figura 3 demonstra um projeto de montagem de um elevador de três andares com uma
cabine móvel a qual pode movimentar-se por todos os andares. Esse é um dos projetos possíveis de
realizar com o kit.
Figura 3. Projeto com Kit Modelix
Fonte: MODELIX (2016)
30
2.5.3 Robô UNO
Através do kit Robô UNO é possível ensinar robótica, eletrônica e programação de um
modo simplificado e prático. O kit é composto de componentes que formam um robô com diversas
funcionalidades, permitindo que ele seja programado na linguagem de programação C ou no seu
ambiente de desenvolvimento específico, o Studio UNO, que possui um ambiente gráfico baseado
no Scratch, permitindo que a programação seja através do encaixe de blocos de instruções (UNO
ROBÓTICA, 2016).
Ele possui como controlador o PIC18F4550, da Microchip, que pode executar até 12
milhões de instruções por segundo, além disso, possui oito portas digitais e seis portas analógicas, e
permite o acionamento direto de dois motores de corrente continua. Junto ao kit, possui um controle
infravermelho com sete teclas que podem enviar comandos ao robô a distância, permitindo, por
exemplo, coordenar os seus movimentos ou ações. E caso deseje expandir as funcionalidades, pode
adquirir acessórios adicionais diretamente do fabricante (UNO ROBÓTICA, 2016).
A Figura 4 demonstra os componentes que formam o kit do Robô UNO.
Figura 4. Kit UNO Robótica
Fonte: UNO ROBÓTICA (2016)
31
2.5.4 Kit Alpha
A empresa PETE desenvolveu e comercializa dois kits de robótica: o Kit Alpha Maker e o
Kit Alpha Mecatrônica, o primeiro é voltado a atender a demanda do público que deseja adquirir
um kit robótica para utilizar em casa e o segundo é um kit robótico que pode ser utilizado na
educação infantil até o superior.
O Kit Alpha Maker funciona com sensores e atuadores fabricados pela própria empresa, e
também com outros componentes encontrados no mercado, e possui um modo fácil de utilizar. Foi
criado para ser flexível e permitir aos usuários que utilizam irem além do conceito da robótica e
entrar ao mundo Maker, ou seja, “Faça você mesmo”. O hardware é compatível com diversas
plataformas, tal como Arduino e Scratch (PETE, 2016). Além disto, ele disponibiliza um ambiente
próprio de desenvolvimento, chamado de LEGAL Maker, que permite, de modo simples,
desenvolver programas para serem executados.
A Figura 5 demonstra os componentes que formam o kit.
Figura 5. Kit Alpha Maker
Fonte: PETE (2016).
32
Já o Kit Alpha Mecatrônica é mais versátil e de fácil utilização, pois possui estruturas
flexíveis, permitindo a utilização de materiais alternativos, além disto, conta com diversos sensores
e atuadores, possibilitando com que os alunos estimulem a criatividade e a montagem de uma
grande diversidade de trabalhos. O kit é composto por peças e placas de alumínio, rodas plásticas
com pneus de borracha, motores, baterias e diversos sensores, como de luz, temperatura, ruído, cor
e distância, dentre outros componentes (PETE, 2016). Os componentes podem ser adquiridos
separadamente, conforme a necessidade dos projetos.
A Figura 6 demonstra o Kit Alpha Mecatrônica.
Figura 6. Kit Alpha Mecatrônica
Fonte: PETE (2016).
2.5.5 Kit Atto Educacional
O kit Atto Educacional é uma solução desenvolvida pela empresa Dual System e pode ser
utilizado da pré-escola até o ensino médio. A empresa comercializa dois modelos de kits, o Kit
Robótica KRT-13 e o Kit Robótica Mais Educação KRT-30.
O Kit Robótica KRT-13 é formado por um conjunto de componentes, como motores, leds,
sensores de luz, sensor de temperatura, sensor magnético, dentre outros, como demonstra a Figura
7. Para utilização é necessário adquirir as peças estruturais, que são comercializadas também pela
33
própria empresa. Esse kit estrutural é formado por mais de 6000 peças plásticas de encaixe fácil e é
capaz de atender uma turma. Com a utilização de ambos é possível realizar atividades de
matemática, ciências, educação tecnológica e robótica (ATTO EDUCACIONAL, 2016).
Figura 7. Kit Robótica KTR-13
Fonte: ATTO EDUCAIONAL (2016).
Já o Kit Robótica Mais Educação KRT-30 foi projetado para atender a demanda de oficinas
de robótica educacional do Programa Mais Educação. Ele é composto pelo Kit Robótica KRT-13 e
mais 500 peças plásticas de encaixe fácil, como demonstra a Figura 8 (ATTO EDUCACIONAL,
2016).
Figura 8. Kit Robótica KTR-30
Fonte: ATTO EDUCAIONAL (2016).
Ambos os kits comercializados pela empresa podem ser trabalhados com grupos de 3 a 6
alunos, acompanha um livro com 19 atividades e 2 DVD’S com vídeos, os quais possibilitam a
34
autoinstrução. Além disso, o software de desenvolvimento é compatível com a ideologia de
software livre, permitindo a utilização de outros softwares encontrados na internet e podem ser
utilizados com os kits (ATTO EDUCACIONAL, 2016).
2.5.6 Análise comparativa entre os kits educacionais
A Tabela 1 apresenta um comparativo entre os kits educacionais apresentados nas seções
anteriores, sendo que nela pode-se observar criteriosamente suas particularidades.
Tabela 1. Comparativo entre os kits robóticos educaionais
Kit Mindstorms
EV3
Modelix
Robotics
Robô UNO Alpha Maker KRT-30 Atto
Educacional
Arquitetura Fechada Fechada Fechada Fechada Não
especificado
Ambiente
desenvolvimento
Mindstorms
EV3 Software
Modelix
System
Studio UNO LEGAL
Maker
Compatível
com softwares
livre
Público A partir de 10
anos
A partir de
8 anos
A partir de 8
anos
Não
especificado
Todas idades
Sensores Sim Sim Vendido
separadamente
Vendido
separadamente
Sim
Utilização
sucata
Não Sim Não Sim Não
Manual Sim Sim Sim Não Sim
Valor (R$) 2.799,99 1.199,90 Não
informado
749,00 Não informado
2.6 ARDUINO
Arduino é uma plataforma de computação de fonte aberta, ou seja, é possível ter acesso ao
seu código fonte, com base em uma placa simples de entrada/saída e pode ser utilizada para a
construção de objetos interativos independentes ou ser conectado a softwares computacionais
(BANZI, 2011). De forma prática, os microcontroladores da plataforma Arduino podem ser
35
programados a fim de operar entradas e saídas entre os dispositivos e os componentes externos
pelos quais estão conectados a si (MCROBERTS, 2011).
O hardware possui um plugue USB, na grande maioria das versões, para conectá-lo a um
computador, de modo a realizar o upload do código fonte, por exemplo, e possui inúmeras portas
nas quais podem ser conectados eletrônicos externos, como motores, relés, sensores, entre outros;
pode ser alimentado através da conexão USB do computador ou a partir de uma bateria de 9 volts
(MONK, 2010).
Seu surgimento ocorreu em 2005 no Interaction Design Institute, na cidade de Ivrea, Itália,
devido à procura do professor Massimo Banzi por uma solução de baixo custo e de fácil operação
para que alunos de arte e design utilizassem em seus projetos. Seu nome surgiu em referência a um
bar local que era frequentado pelos professores e alunos da instituição. A primeira tiragem de
produção foi de duzentas placas, que foram comercializadas em forma de um kit, a partir daí sua
popularidade cresceu rapidamente, seu projeto original foi aperfeiçoado e aberta a venda ao público
mundial (EVANS, 2013).
O Arduino destaca-se em relação às outras plataformas presentes no mercado devido a
alguns fatores (BANZI, 2011):
Ela funciona em ambiente multiplataforma (Windows, Linux e Mac OS);
Sua IDE de desenvolvimento tem por base a programação proccessing, que por sua
vez, é um ambiente de fácil desenvolvimento e pode ser utilizado por pessoas não
ligadas diretamente à área de computação;
Possui uma interface USB ao invés de COM, que computadores modernos não a
possuem;
Tanto seu hardware como software são livres, permitindo que seja possível realizar
download do diagrama de circuito, podendo criar a própria placa Arduino, sem
precisar pagar nada aos criadores;
Há uma grande comunidade de usuários, permitindo trocar informações;
36
O projeto do Arduino foi desenvolvido em um ambiente educacional, permitindo que
seja de fácil manuseio e operação por iniciantes.
2.6.1 IDE
O Arduino possui seu próprio ambiente de desenvolvimento de software, é gratuito, sem a
necessidade de procedimentos de registro e os requisitos de hardware para seu funcionamento são
baixíssimos, independente da plataforma que se utilizará, funcionando de forma igual a ambiente
Windows, Linux e Macintosh. Sua IDE pode ser encontrada para download no site
<www.arduino.cc>, onde possui tutoriais e uma grande comunidade de usuários (EVANS, 2011).
Através da IDE é possível criar sketchs para o hardware através uma linguagem simples, que
foi modelada através da linguagem Processing (BANZI, 2011). O termo sketchs vem da linguagem
Processing, sendo está utilizada para o ensino a estudantes de cursos de design e artes; pode-se
considerar o sketch como um programa de software (EVANS, 2013).
A IDE do Arduino disponibiliza inúmeros exemplos de programas, divididos de forma
categorizada, que demonstram como realizar a comunicação entre a placa e os dispositivos a ela
conectados, tais como LEDs, LCDs (EVANS, 2011).
A Figura 9 demonstra a interface da IDE, sendo possível observar que é dividida em três
partes: o menu de opções no topo, a área de codificação dos sketchs e a janela de mensagem na
base.
37
Figura 9. IDE do Arduino
A IDE possui ainda a opção Monitor Serial, que é uma ferramenta muito útil, principalmente
quando se deseja realizar a depuração do código. Através dessa opção é possível exibir os dados
enviados do hardware à porta serial em que está conectado, sendo possível também enviar dados
para o hardware através do monitor serial (MCROBERTS, 2011).
A Figura 10 demonstra um exemplo de exibição de dados da porta serial, onde mostra a
temperatura do ambiente e nota-se que no topo há um campo para escrever, acompanhado do botão
Enviar, através dessa opção, pode-se enviar dados ao Arduino.
38
Figura 10. Recurso Monitor Serial da IDE
2.6.2 Modelos de Arduino
A plataforma Arduino possui uma série de modelos, os quais incluem placas, módulos, que
são uma forma menor das placas clássicas; Shields, que são elementos que podem ser conectados a
uma placa para possibilitar mais recurso; e os kits, que são comercializados tanto pelo site do
Arduino como por empresas que montam os próprios kits (ARDUINO, 2016).
A Figura 11 mostra a gama de placas Arduino comercializadas hoje. Esta relação não
apresenta os modelos fora de linha, que ainda podem ser encontrados no mercado.
39
Figura 11. Modelos Arduino
Fonte: ARDUINO (2016).
O modelo mais clássico e comercializado é o Arduino Uno, foi anunciado no dia 25 de
setembro de 2010 seu lançamento, sendo uma boa opção multiuso e uma das melhores para usuários
iniciantes, pois possui uma fonte de alimentação autochaveada e a tensão integrada de 3,3 volts
regulada. A grande diferença desta placa para as anteriores é que ela possui um microcontrolador
programado pela porta USB (EVANS, 2013).
O Arduino Uno possui 14 pinos digitais de entrada e saída, do pino 0 ao 13, como pode ser
observado na Figura 12, podem ser utilizados conforme a necessidade, como por exemplo, ligar um
LED. Ela também possui 6 pinos de entrada analógica, do pino A0 ao A5, que são dedicados a
receber valores analógicos, como por exemplo, um sensor de temperatura; 6 pinos de saída
analógica, o 3, 5, 6, 9, 10 e 11, estes são seis pinos digitais que podem ser reprogramados para
exercer esta função (BANZI, 2011). Além disto, seis pinos digitais, o 3, 5, 6, 9, 10 e 11, podem ser
programados para fornecer uma saída de modulação por largura de pulso, ou PWM (EVANS,
2013).
40
Figura 12. Arduino Uno
2.6.3 Kits baseados em Arduino
Diversas empresas e lojas on-line comercializam kits de robótica baseados na plataforma
Arduino, constituídos por um kit chassi para robô móvel ou braço robótico permitindo, deste modo,
que seja possível a construção de um kit pelo próprio usuário, adquirindo os componentes
necessários.
As lojas on-line RoboCore, FilipeFlop e UsinaInfo são exemplos de venda desses materiais,
algumas delas desenvolveram produtos específicos para venda, disponibilizando um produto
diferenciado dos encontrados no mercado. A Figura 13 demonstra alguns desses kits robóticos
disponibilizados.
Figura 13. Kits Arduino e componentes robóticos
41
2.6.4 Sensores e atuadores
Os sensores e atuadores são componentes eletrônicos que permitem que algo possa interagir
com o ambiente externo onde ele encontra-se, dado que o microcontrolador é um pequeno
computador, sendo capaz de processar sinais elétricos, os quais podem ser fornecidos através de
sensores, como por exemplo, de luz ou temperatura, através de um sinal que é compreendido por ele
(BANZI, 2010).
Os sensores podem ser definidos como um transdutor que pode alterar sua característica
física interna devido ao fator externo em que está inserido. Também podem ser utilizados no
controle de processos discretos, através da medição de variáveis lógicas ou booleanas, ou no
controle de processos contínuos, em que, na maioria das vezes, são medidos valores analógicos.
Eles podem ser utilizados em diferentes áreas, como a automação industrial, automação residencial,
automação de escritório e automação veicular (ROSÁRIO, 2005). Na robótica, os sensores são
considerados como órgãos sensoriais dos robôs e servem para informar ao controlador o estado das
grandezas monitoradas (NIKU, 2014).
Deve-se considerar uma série de características diferentes para a escolha do sensor
apropriado à necessidade exposta, como o desempenho dele, seu custo, a facilidade de aplicação e a
aplicabilidade e, em determinadas situações, podem possuir diferentes tipos de sensores para a
mesma finalidade desejada (NIKU, 2014).
Pode-se encontrar uma grande gama de sensores para diversos fins, integrados com o
Arduino, sendo comercializados por lojas virtuais ou empresas. A Figura 14 demonstra alguns
desses sensores comercializados e alguns acompanham os kits, outros são vendidos avulsos.
42
Figura 14. Sensores para Arduino
Com base nos dados fornecidos e captados dos sensores, o microcontrolador terá as
informações necessárias para que possa decidir como deve reagir. Esta reação é realizada pelos
atuadores (BANZI, 2011). Na robótica, os atuadores são considerados como os músculos dos robôs,
e servem para mover ou girar os elos para que se altere a configuração do robô, além disso, eles
devem possuir uma potência capaz de acelerar e desacelerar os elos e também para transportar as
cargas necessárias (NIKU, 2014).
Existem inúmeros tipos de atuadores disponíveis no mercado, os mais comuns de encontrar
são os motores de elétricos, como o servomotor, motor de passo e motor elétrico com acionamento
direto, atuadores hidráulicos e atuadores pneumáticos (NIKU, 2014). Os atuadores elétricos são os
mais comuns na utilização com Arduino, devido a seu valor e baixa complexidade de operação. A
Figura 15 demonstra alguns dos atuadores elétricos disponibilizados nas lojas virtuais ou empresas
do ramo.
43
Figura 15. Atuadores para Arduino
2.7 CENÁRIO DE ENSINO DE CONCEITOS DE PROGRAMAÇÃO -
SENAI/SC
O curso de Aprendizagem Industrial em Informática é ofertado em diversas unidades do
SENAI/SC. Na unidade de Chapecó, desde o início dos anos 2000, devido ao grande número de
empresas que possuem um alto nível de tecnologia empregada em seus processos fabris, percebeu-
se esta necessidade. A matriz curricular atual, que pode ser analisada no Anexo A, é composta por
17 disciplinas, em um total de 800 horas, e é voltada ao público de 14 até 24 anos.
Percebe-se, pela coordenação de curso e professores da unidade do SENAI/SC Chapecó, que
o curso de Aprendizagem Industrial em Informática é o mais escolhido por alunos que nunca
realizaram antes algum curso na instituição. Outro fato que se percebe é a idade dos alunos, que vai
de 14 até 18 anos e, a grande maioria deles, frequenta ensino médio em escolas públicas. Alguns
alunos são bolsistas ou cotistas nas indústrias da cidade e exercem funções administrativas nelas.
De acordo com a ementa apresentada no Anexo B, a disciplina de Conceitos de
Programação possui uma carga horária de 60 horas e tem como competência “Desenvolver
programas de computador, utilizando linguagens de programação, ferramentas de desenvolvimento
e testes funcionais”.
Os conhecimentos abordados na disciplina são os seguintes: “Linguagem de programação,
Metodologia de testes, programação estruturada, estrutura de arquivos, Conceitos de Orientação a
44
Objetos”. Através destes conhecimentos os alunos desenvolverão as seguintes habilidades:
“Desenvolver aplicações para manipulação de arquivos; Realizar testes funcionais; Utilizar
linguagem de programação; Utilizar ferramentas para criação de programas”.
Para trabalhar os conhecimentos apresentados é adotada a linguagem de programação C,
juntamente com a IDE Dev C++. Todas as aulas ocorrem em laboratório de informática, sendo
equipado com projetor, para uso do professor, e disponibilizado um computador por aluno. As
atividades propostas pelos professores são, em sua grande maioria, de problemas de cunho
comerciais que necessitam a compreensão da regra de negócio, lógica ou matemática para,
posteriormente, desenvolver-se o algoritmo de solução.
As dificuldades enfrentadas pelos alunos durante a realização da disciplina são várias, mas
as que mais se sobressaem é durante a escolha e aplicação dos comandos para resolução do
problema proposto e no fluxo de funcionamento dos algoritmos desenvolvidos. Outro ponto que se
observa é a dificuldade de compreensão dos alunos durante a explicação de uma nova estrutura, seja
ela de controle ou de repetição, levando o professor a trabalhar por mais de uma aula a mesma
estrutura para que se obtenha a compreensão da maioria ou de toda a classe.
Diante desses fatos, nota-se certa desmotivação durante a realização das atividades e no
decorrer da disciplina na classe. Os alunos cotistas geralmente estão alocados em setores da
indústria em que não se emprega o uso de programação, causando questionamentos, por parte deles,
ao professor, do objetivo de estudar esses conhecimentos.
45
3 TRABALHOS RELACIONADOS
Neste capítulo será apresentando um estudo sobre os trabalhos relacionados com o tema de
pesquisa desta dissertação. Inicialmente será abordado sobre o protocolo de busca utilizado e após,
será realizada uma síntese dos trabalhos correlatos, por fim, as considerações deste capítulo.
3.1 PROTOCOLO DE BUSCA
Para localizar os trabalhos relacionados ao tema foi realizado um mapeamento sistemático
com base no protocolo de busca, sendo selecionados os trabalhos que tratam o uso da robótica
educacional no ensino de programação.
Para realizar o mapeamento sistemático dos trabalhos foi elaborado um protocolo de busca,
com as palavras chaves do tema de pesquisa, sendo necessária a realização de diversos testes até se
obter um resultado considerado satisfatório e que listasse os trabalhos relacionados ao termo de
pesquisa.
O protocolo de busca utilizou os seguintes termos: ((robotics OR “educative robotics”)
AND (programming OR algorithm) AND (education OR learning OR teaching)). Além dos
termos, foi restringida a data de publicação, sendo consideradas válidas as datas de Janeiro de 2010
até Maio de 2016.
As pesquisas foram realizadas em cinco bases de dados online, sendo elas: a IEEE Xplore
Digital Library, ACM Digital Library, Springer Science, ScienceDirect e o Portal de Periódicos da
CAPES/MEC. A escolha por essas bases de dados ocorreu em virtude delas concentrarem os
principias periódicos e anais de conferências relacionadas ao tema de pesquisa desta dissertação.
Em cada base fez-se necessária a adaptação do protocolo de busca, utilizando os filtros disponíveis,
a fim de se refinar a área de pesquisa. O protocolo de busca encontra-se no apêndice B e possui os
termos utilizados em cada base de dados listada acima.
Para a seleção dos trabalhos foram utilizados os seguintes critérios de inclusão:
Analisar se o título ou palavras-chaves apresentam algum dos termos de busca;
Publicações a partir de 2010 até 2016;
46
Analisar se o resumo apresenta uma visão geral do trabalho com contextualização do
problema, a metodologia utilizada e os resultados obtidos;
Publicações que informam uso de robótica para o ensino de programação.
E como critérios de exclusão foram utilizados os seguintes:
Publicações que informam uso de robótica para ensino, mas sem relação com a
programação;
Resumo em desacordo com o título;
Não apresentar proposta pedagógica ou temas ligados ao ensino-aprendizagem;
Não ter aplicação prática entre a robótica educacional e a programação;
Não estar disponível para acesso ou download.
A Tabela 2 apresenta o número de trabalhos encontrados em cada base de dados pesquisada,
bem como os trabalhos selecionados e eliminados, ao fim, o número total de trabalhos analisados.
Tabela 2. Números sobre a busca de trabalhos relacionados
Base de dados Trabalhos
encontrados
Trabalhos eliminados Trabalhos analisados
IEEE 122 113 9
ACM 191 179 12
Springer 287 283 4
ScienceDirect 257 253 4
CAPES 149 145 4
Total 1006 973 33
Após a leitura e análise dos trabalhos selecionados, foi realizada a extração dos seguintes
dados:
Título, Autores e ano: indica as referências do trabalho;
Nível de estudo: indica qual o nível de estudo dos participantes/amostra do trabalho;
Principais objetivos: indica qual o propósito do trabalho e o que ele deseja alcançar;
Tecnologia utilizada: indica qual foi a tecnologia robótica, podendo ser ela física ou virtual,
empregada no trabalho;
47
Linguagem de programação: indica qual a linguagem de programação tinha como objetivo
se ensinar;
Instrumento de avaliação: indica quais foram os instrumentos utilizados para avaliar a
amostra do trabalho;
Amostra: indica o número de participantes na aplicação do trabalho;
Resultados: indicam quais foram os principais ganhos com a realização do trabalho.
Os trabalhos analisados durante a pesquisa, utilizando os itens de extração apresentados,
bem como nas bases apresentadas da Tabela 2, encontram-se no Apêndice C deste trabalho. A
seguir serão analisados os principais resultados da pesquisa realizada.
3.2 SÍNTESE DOS TRABALHOS RELACIONADOS
Na análise dos trabalhos pode-se perceber que muitos deles não têm como objetivo direto o
ensino de uma determinada linguagem de programação através da robótica e sim, ensinar ou
aprimorar, de modo geral, o ensino de programação a alunos de diversos níveis de estudo. De
acordo com a análise, apenas quatro trabalhos tinham como intuito o ensino de uma determinada
linguagem de programação, sendo dois da linguagem Java, um da linguagem C e um relacionado
com a programação no ambiente MATLAB.
A pesquisa revela que em cerca de 33% dos trabalhos analisados (Figura 16), o ensino de
programação aliado à robótica é aplicado em nível de graduação, seguido de 24% do ensino médio,
onde muitas escolas estão adotando essa estratégia para melhorar o processo de ensino-
aprendizagem e também para incentivar o ingresso de alunos aos cursos de tecnologia e
engenharias. O ensino também se estende ao nível mais baixo, como o ensino fundamental, pré-
escolar e jardim da infância, que juntos chegam a 38% dos trabalhos analisados. E por fim, 5% se
aplicam ao nível de pós-graduação.
48
Figura 16. Nível de ensino dos participantes nos trabalhos analisados
A Figura 17 demonstra as tecnologias robóticas utilizadas nos trabalhos analisados. Pode-se
observar a prevalência do uso de LEGO Mindstorms, sendo utilizado em 16 trabalhos; o simulador
virtual vem na sequência, sendo utilizado em três trabalhos. Através da análise pode-se observar o
emprego de diversas tecnologias para o ensino de programação, obtendo-se assim, uma grande
variedade.
Figura 17. Tecnologias robóticas empregadas nos trabalhos analisados
Como se pode observar na Figura 18, o questionário foi o instrumento mais utilizado para
coleta de dados dos trabalhos. Em seguida destaca-se o uso de pré-teste e pós-teste e a observação,
49
com valores próximos ao uso do questionário. A análise de conteúdo e a entrevista também foram
utilizadas por vários trabalhos, sendo a análise de conteúdo utilizada principalmente para avaliar os
algoritmos desenvolvidos pelos participantes.
Figura 18. Instrumentos de avaliação utilizados nos trabalhos analisados
Na maioria dos trabalhos analisados, os autores fizeram o uso de mais de um instrumento de
coleta de dados, sendo que 61% utilizaram mais que dois instrumentos, e 39% utilizaram apenas
um. A Figura 19 ilustra esse resultado.
Figura 19. Quant. de instrumentos de avaliação utilizados nos trabalhos analisados
50
3.3 CONSIDERAÇÕES
Este capítulo apresentou o protocolo de busca utilizado para a realização da pesquisa nas
bases de dados online, bem como os critérios de aceitação e exclusão definidos para a escolha dos
trabalhos a serem analisados. Foram analisados 33 trabalhos que têm como tema o ensino de
programação com o uso da robótica, tendo uma aplicação pedagógica, com resultados práticos.
Após a análise de cada trabalho, foi realizada a extração dos dados e a avaliação do mesmo,
conforme consta no Apêndice B.
Com base na análise realizada, pode-se perceber que o ensino de programação com
utilização da robótica está sendo empregada em diversos níveis de estudo e, em cada deles, tem-se
um objetivo em comum, porém baseados em métodos e ferramentas diferentes, a fim de
proporcionar um melhor ambiente de ensino. Este trabalho foi direcionado para alunos do Ensino
Médio, que representa 24% do público-alvo dos trabalhos pesquisados. Em 49% dos trabalhos
analisados empregou-se a tecnologia LEGO Mindstorms, a qual permite um bom desempenho no
ensino de programação, utilizando diversas ferramentas para a programação do mesmo, não ficando
limitado apenas ao ambiente disponibilizado pelo fabricante.
Neste trabalho optou-se por construir um robô móvel, didático, utilizando a plataforma
Arduino, o qual corresponde à tecnologia empregada por 6% dos trabalhos pesquisados. Embora o
massivo uso de LEGO, o robô construído possui um custo acessível de R$ 268,59 (duzentos e
sessenta e oito reais e cinquenta e nove centavos), sendo flexível tanto em sua estrutura, podendo
utilizar materiais alternativos para expansões, quanto em sua programação, devido a se assemelhar à
linguagem de programação adotada na disciplina, a linguagem C.
Os diferentes métodos de avaliação utilizados pelos trabalhos analisados demonstram o
esforço dos autores pela busca da melhor extração de dados sobre os experimentos aplicados, onde
o questionário (24 %), pré-teste e pós-teste (22%) e observação (22%) lideram os instrumentos de
avaliação utilizados. Através deles pode-se obter um ganho no ensino de programação com o uso da
robótica, promovendo a motivação dos estudantes.
Empregaram-se, nesta pesquisa, o teste de avaliação (2%), análise de conteúdo (17%) e o
questionário (23%), como métodos de avaliação, sendo utilizado um grupo de controle e um grupo
experimental. Essa quantidade de instrumentos de avaliação utilizados corresponde a 42% dos
trabalhos analisados Além disto, o trabalho emprega procedimentos quantitativos para a análise do
51
desempenho dos alunos. Vale ressaltar que o objeto de estudo e as atividades propostas por este
trabalho são inéditas a nível estadual da entidade FIESC/SENAI.
Por fim, não foi possível a análise de alguns dos trabalhos selecionados pelo mapeamento
sistemático, decorrente do fato de não se obter o mesmo na base de pesquisa, ou então,
apresentarem restrição ao seu acesso ou download. A seguir será apresentado o desenvolvimento
das atividades deste tema de pesquisa.
52
4 DESENVOLVIMENTO
Os experimentos do tema de pesquisa deste trabalho foram aplicados a duas turmas do curso
de Aprendizagem Industrial em Informática, do SENAI/SC, unidade Chapecó. Ambas as turmas
iniciaram em março de 2016, porém, uma ocorreu no turno matutino, outra no vespertino, e sua
matriz curricular é dividida em três módulos. O primeiro é formado pelas disciplinas básicas para o
andamento do curso, geralmente ofertadas ao início do curso; o segundo, pelas específicas do
segmento tecnológico e por fim, as específicas da ocupação, onde são focadas as competências do
curso, como pode se observar no Anexo A.
A realização dos experimentos ocorreu na disciplina Conceitos de Programação, sendo
escolhida a turma do turno matutino como grupo experimental e a turma vespertina como grupo de
controle. Participaram da amostra 31 alunos, tanto do grupo experimental como do grupo de
controle. Os grupos de controle e experimental tiveram os mesmos métodos de avaliação, sendo que
ambas seguiram o mesmo plano de ensino.
Referente as características do grupo de controle e o grupo experimental, ambos possuem
alunos entre 14 à 17 anos, sendo eles alunos regulares do ensino fundamental e médio de escolas
públicas (municipais e estaduais). Grande parte destes alunos, que frequentam o ensino médio, são
menores aprendizes das indústrias da cidade de Chapecó e região, onde em um turno do dia,
matutino ou vespertino, eles trabalham e no contra turno eles realizam o curso de Aprendizagem
Industrial no SENAI. Sendo assim, lhe resta apenas o período noturno para frequentar o ensino
regular.
Durante as aulas, de Conceitos de Programação, do grupo de controle empregou-se a
linguagem de programação C, sendo utilizando a IDE DevC++. Os conhecimentos foram
transmitidos utilizando o quadro branco, onde ao final de cada estrutura apresentada era repassado
uma lista de exercícios para resolução. Uma destas listas de exercícios é apresentada no Anexo E,
sendo que nela pode-se observar exercícios lógicos, onde em alguns aplica-se funções matemáticas
para sua resolução. Durante as aulas pode-se perceber uma desmotivação dos alunos, sendo que em
alguns momentos, gerou-se o questionamento do conteúdo estudado.
Nas próximas seções apresenta-se a estrutura do robô móvel utilizado, descrevem os
procedimentos utilizados para a realização dos experimentos, bem como as atividades e os
53
instrumentos de avaliação. Também é apresentado o cronograma e o descritivo de cada intervenção
realizada no grupo experimental.
4.1 ESTRUTURA ROBÔ
O robô móvel utilizado nas explicações dos conceitos de programação durante as
intervenções e na realização das etapas do desafio, foi o mesmo. O robô utiliza como controlador o
processador ATMEGA 328, da placa Arduino Uno, como se pode observar na Figura 20. Além
disto, sua estrutura é em MDF, de três milímetros e possui duas bases. Sendo que na base superior
fica afixada a placa Arduino Uno, uma protorboard com 170 pontos, um LCD 16x2, um buzzer e o
sensor ultrassônico em uma base de acrílico. Já na parte inferior, foi situada uma ponte H e os
motores DC, sendo que cada um possui uma roda acoplada.
Figura 20. Robô utilizado
Cabe salientar que a estrutura física do robô foi inspirada na remodelagem da estrutura do
robô do projeto de cooperação internacional CAPES-MES 069/11. Este robô possuía uma base
retangular que foi modificada para uma base redonda, conforme ilustra a Figura 21. O principal
problema dessa alternativa é o custo, que oscila em torno de 150 Euros.
54
Figura 21. Primeiro modelo do robô móvel
Para interligar os componentes ao controlador foram usados uma protoboard e jumpers,
sendo o mesmo material que os alunos tiveram contato e utilizaram durante as aulas, permitindo,
caso houvesse algum problema, uma mudança rápida de uma porta GPIO (General Purpose Input
Output), ou de componente. A Figura 22 apresenta o esquema elétrico com todos os componentes
empregados e como eles estão interligados ao ATMEGA328. Este mesmo esquema foi utilizado
para orientar os alunos na construção de seus robôs. A alimentação do Arduino Uno é realizada
através de uma bateria de 9V, sendo que a ponte H está interligada na saída de 5V do Arduino Uno,
permitindo assim que ambos se alimentem da mesma fonte.
55
Figura 22. Esquema elétrico robô
A Tabela 3 ilustra o valor de todos os componentes utilizados na montagem do robô. A
tomada de preço foi realizada no e-commerce da empresa Usinainfo (www.usinainfo.com.br), no
mês de junho de 2016.
56
Tabela 3. Componente robô e valores
Componente Quantidade Valor
Base MDF 3mm com dois motores DC e rodas 1 R$ 113,90
Ponte H L298N 1 R$ 26,50
Protoboard 170 pontos 1 R$ 13,90
Buzzer 5V 1 R$ 2,99
Sensor ultrassônico HC-SR04 1 R$ 16,95
Suporte acrílico p/ sensor ultrassônico 1 R$ 12,75
LCD 16x2 1 R$ 22,90
Conector de bateria 9v p/ P4 1 R$ 5,90
Jumpers pct 20 unidades 1 R$ 13,90
Arduino Uno 1 R$ 38,90
Total R$ 268,59
4.2 INTERVENÇÕES E ATIVIDADES
As intervenções, como mencionado, ocorreram na disciplina de Conceitos de Programação,
devido aos professores desta disciplina terem identificado a falta de compreensão dos alunos diante
da utilização de linguagem de programação C e, muitas vezes, os alunos não conseguem associar a
teoria com suas atividades corriqueiras. Outro ponto é o desenvolvimento puramente virtual, sendo
que muitas vezes os alunos não conseguem desenvolver as atividades pela falta de compreensão.
De acordo com o conteúdo programático apresentando no Anexo B, a disciplina de
Conceitos de Programação tem como competência “Desenvolver programas de computador,
utilizando linguagens de programação, ferramentas de desenvolvimento e testes funcionais”. Desta
forma, acreditava-se que a utilização da robótica, apoiada na plataforma Arduino, poderia facilitar a
compreensão dos alunos diante dos conceitos básicos de programação, podendo assim,
relacionarem com atividades práticas e visuais. Uma característica importante considerada foi a
57
similitude entre a linguagem adotada na disciplina, que é a linguagem C, e a linguagem do Arduino,
suas estruturas possuem até a mesma nomenclatura.
Com base nos aspectos citados acima, as intervenções foram divididas em cinco momentos,
tendo um total de 20 horas, sendo abordado o conceito de entradas, saídas e processamento de
dados, estruturas de condições e de repetições. Todas as intervenções foram focadas na realização
de atividades práticas, apresentado aos alunos um desafio, com cinco etapas, onde a cada etapa
acrescentava-se algum componente e função ao robô móvel, controlado pela plataforma Arduino,
conforme apresentado no Apêndice I.
Em todas as intervenções os alunos foram imersos no universo da robótica, com a
demonstração do robô móvel, utilizado durante as aulas para as explicações, e a montagem e
programação dos seus próprios robôs. Para a realização das atividades fez-se necessária a criação de
cinco grupos de cinco integrantes e um grupo de seis integrantes, devido ao fato de possuir seis
robôs móveis.
A primeira intervenção durou quatro horas e nela foram explicados os conceitos de entrada,
processamento e saída de dados e aplicação de linearização de expressões com uma relação direta
com o robô, como apresentado no plano de aula, no Apêndice D. Após as explicações, os alunos
foram guiados na realização da primeira atividade do desafio, conforme apresentado no Apêndice J,
colocando em uso os ensinamentos aprendidos. Esta atividade consistiu na montagem da base do
robô, após, a obtenção da distância dos objetos à frente dele, através da inserção de um sensor
ultrassônico e, posteriormente, foi realizado o cálculo da distância em centímetros para mostrá-la no
display LCD inserido no robô.
Já na segunda intervenção apresentou-se aos alunos a estrutura de condição “SE” e os
operadores lógicos, e do mesmo modo da primeira intervenção, foi utilizado o robô móvel na
explicação para ajudar a compreensão, como apresentado no plano de aula do Apêndice E.
Posteriormente, os alunos foram orientados na realização da segunda etapa do desafio, onde são
emitidos bips contínuos e espaçados, através de um buzzer, caso algum objeto estivesse entre uma
distância entre 30 e 50 centímetros da base, e um bip contínuo caso estivesse abaixo de 30
centímetros, conforme Apêndice K.
58
Na terceira intervenção foi apresentada aos alunos a estrutura de condição
“ESCOLHA...CASO” e durante a explicação fez-se o uso do robô para ajudar na compreensão do
comando, como apresentado no plano de aula do Apêndice F. Após, os alunos foram orientados na
realização da terceira etapa do desafio, conforme Apêndice L. A mesma consistiu na permissão de
escolha da unidade de medida para demonstrar a distância do sensor ultrassônico em relação a um
objeto à frente da base do robô, podendo se escolher entre milímetros, centímetros ou metros.
Na quarta intervenção foi apresentada a estrutura de repetição “ENQUANTO...FACA” e
“REPITA...ATE” e, do mesmo modo das demais intervenções, também fez-se o uso do robô, a fim
de facilitar a compreensão da execução do comando, como apresentado no Apêndice G. Após a
explicação, os alunos foram orientados na realização da quarta etapa do desafio, conforme
apresentado no Apêndice M, onde o robô deveria locomover-se de forma autônoma e, caso
encontrasse algum obstáculo a menos de 20 centímetros da sua base, deveria desviar-se do mesmo e
seguir o seu curso.
Na quinta e última intervenção, foi apresentado aos alunos a estrutura de condição
“PARA...FACA” , durante a explicação foi utilizado o robô para demonstração do funcionamento
do comando, como apresentado no apêndice H. Após as explicações, os alunos foram orientados em
realizar a última etapa do desafio, conforme apresentado no apêndice N, bem como finalizaram o
projeto para ser avaliado. Essa etapa consistiu na implantação de uma mensagem de inicialização
para ser mostrada no display com um contador regressivo.
Ao final de cada etapa, o grupo e o professor testaram a solução elaborada, permitindo assim
que os alunos tirassem suas possíveis dúvidas.
4.3 INSTRUMENTOS DE AVALIAÇÃO
Para avaliar o desempenho da amostra selecionada foram usados dois instrumentos de
avaliação: teste de avaliação e análise de conteúdo. O teste de avaliação foi utilizado tanto no grupo
de controle quanto no experimental e foi aplicado no mesmo período. Todas as avaliações foram
elaboradas juntamente com os professores da disciplina e a coordenação de curso.
Para melhor avaliar o desempenho das amostras, optou-se por dividir o teste de avaliação em
dois momentos. No primeiro momento avaliou-se o conceito de entrada, processamento e saída de
59
dados, linearização de expressões e estrutura de condição. Esta avaliação possui sete questões de
múltipla escolha, uma de verdadeiro ou falso e uma questão de completar, conforme apresentado no
Apêndice O. Já no segundo momento, avaliou-se a estrutura de repetição, esta avaliação possui
cinco questões de múltipla escolha, uma questão de verdadeiro ou falso e três dissertativas,
conforme apresentado no Apêndice P. Em ambos testes de avaliação definiu-se um peso a cada
questão, tal qual, atribuído conforme seu nível de dificuldade e encontra-se ao início de cada
enunciado.
Necessitou-se realizar adaptações no primeiro teste de avaliação para o grupo de controle,
em relação ao do grupo experimental, devido à linguagem de programação empregada em cada
amostra. A avaliação desenvolvida para o grupo experimental foi formada por comandos da
linguagem de programação empregada pelo Arduino (Wiring). E a avaliação aplicada no grupo de
controle foi baseada na linguagem de programação C, conforme apresentado no Apêndice Q.
O instrumento de análise de conteúdo foi utilizado para avaliar o desafio desenvolvido em
etapas pelos alunos. Ele foi dividido em duas categorias: código fonte, que visou analisar o
conteúdo desenvolvido pelo grupo, e a execução das etapas do desafio, que visou analisar o
funcionamento do robô com os algoritmos desenvolvidos. Cada critério, de ambas as categorias,
possui um peso, sendo eles definidos com base em sua importância, onde os de maiores valores são
do maior relevância e os de menores valores são os complementares, conforme apresentado no
Apêndice R.
Além disto, foi aplicado ao final da última intervenção, um questionário, apresentado no
Apêndice S, utilizando a escala de Likert (LIKERT, 1932), para os alunos exporem sua percepção e
a satisfação diante das atividades realizadas em todas as intervenções. Este formulário foi composto
por dez questões, sendo que nove delas utilizaram a escala de Likert, com preenchimento opcional
de alguma observação ou justificativa, uma de resposta aberta e opcional para os alunos exporem
um comentário extra, caso desejassem.
4.4 CRONOGRAMA
Visando respeitar o cronograma escolar do curso, o Quadro 1 ilustra o cronograma da
realização das intervenções do presente trabalho. Este cronograma sofreu algumas alterações em
60
virtude de algumas mudanças nas atividades propostas e a disponibilidade do grupo experimental
para a realização das atividades.
Quadro 1. Cronograma de realização das intervenções
Data Atividade Ambiente
24/08/2016 Intervenção 1 Laboratório de Informática – Lab. 504
31/08/2016 Intervenção 2 Laboratório de Informática – Lab. 504
05/09/2016 Intervenção 3 Laboratório de Informática – Lab. 504
14/09/2016 Intervenção 4 Laboratório de Informática – Lab. 505
16/09/2016 Intervenção 5 Laboratório de Informática – Lab. 505
4.4.1 Descrição das intervenções
Esta seção apresenta a descrição das intervenções realizadas, abordando as diversas
situações ocorridas durante as mesmas. Elas expressam a interação professor-aluno e aluno-
professor, os temas estudados e as questões levantadas pelos discentes durante a realização das
etapas do desafio.
Intervenção 1 – 24/08/2016:
Deu-se início à primeira intervenção com o questionamento por parte dos alunos se seria
nesta data que aconteceria uma atividade diferenciada. Esta já havia sido informada a eles pela
coordenação de curso. Foi dito que iniciaria naquele dia mesmo e informados que haveria mais
quatro intervenções. Após isso, foi apresentado o robô, com a explicação dos componentes que o
compõem e uma demonstração de seu funcionamento. Os alunos foram convidados a escolher um
nome ao robô, porém, não demonstraram interesse, sendo acordado que seria chamado
simplesmente de robô quando mencionado.
Os alunos foram recepcionados em sala de aula e encaminhados ao laboratório de
informática, após as explicações, foram orientados a se organizarem e ligarem os computadores,
neste local, o estagiário Guilherme os recepcionava.
Quando todos já estavam no laboratório de informática, explicou-se sobre a IDE do
Arduino, foram demonstradas as configurações básicas para realizar a compilação e carregamento
do código fonte à placa. Fizeram algumas perguntas em relação às características da IDE, e logo
assimilaram a mesma com a ferramenta VisualG, que tiveram contato na disciplina anterior.
Após está etapa da ambientação com a ferramenta de desenvolvimento, foi explicado, com
auxílio do robô, os conceitos de entrada, processamento e saída de dados, aplicando linearização de
61
expressões. Durante a explicação com o robô, os discentes ficaram atentos ao funcionamento, pois
se demonstrou a relação com o conteúdo abordado.
Após toda a explicação, foi dado início aos trabalhos, sendo realizada a divisão dos grupos e
explicada a primeira atividade prevista, que seria a montagem da estrutura do robô e a inserção dos
componentes necessários para realização desta primeira etapa. Os componentes utilizados para
montagem do robô foram: o Arduino Uno, protoboard, LCD 16x2 e sensor ultrassônico e jumpers
para a interligação dessas componentes.
Neste primeiro contato, pôde-se perceber a dificuldade dos alunos no manuseio dos jumpers
e protoboard, embora foi disponibilizado, de forma impressa, o esquema elétrico para a montagem
da atividade. Aos poucos eles foram se familiarizando, sendo que sempre quando tiveram alguma
dúvida, chamaram o professor ou o estagiário para lhes auxiliar.
Nesta primeira atividade, observou-se que alguns alunos tinham mais habilidades na hora da
programação, outros possuíam uma dificuldade maior na hora de relacionar a lógica dos comandos
a serem utilizados, sendo estes acompanhados mais de perto pelo professor, assim, permitiu-se o
bom andamento da atividade, não sendo necessária a correção da mesma, pelo fato de todos terem
desempenhado ela com sucesso.
Todos os grupos conseguiram finalizar a primeira etapa com êxito. Assim que cada grupo
finalizava a atividade, foram orientandos a organizar o ambiente de trabalho e guardar todos os
materiais junto ao kit fornecido.
Intervenção 2 – 31/08/2016:
A segunda intervenção iniciou-se no laboratório de informática, com uma revisão sobre o
conteúdo abordado na intervenção anterior. Neste momento os alunos interagiram com dúvidas
sanadas no momento. Após esta etapa, deu-se início às explicações do conteúdo previsto, sendo
explicada a estrutura de condição IF/ELSE, relacionando-a com assuntos rotineiros dos alunos.
Neste momento utilizou-se o robô para explicar a tomada de decisão em função de determinada
condição e como deveria agir a cada uma delas. As dúvidas logo começaram a surgir, sendo elas
debatidas com a turma para a compreensão de todos. Após está demonstração, houve a abordagem
sobre os operadores lógicos AND e OR, aplicados os código no robô e demonstrado seu
funcionamento.
Durante está explicação, os discentes mostraram-se motivados para logo iniciar a atividade
prática com o robô que estavam construindo. Ao finalizar e sanar as dúvidas, orientou-se a
62
formação dos grupos, já definidos, e a preparação do ambiente de trabalho, entregando os kits e os
robôs. Explicou-se então qual seria o problema da etapa que deveria ser resolvido por eles, o qual
mesmo consistia na inserção de um buzzer para emitir avisos sonoros conforme a distância da base
do robô em relação aos objetos a sua frente.
Durante está atividade, observou-se um melhor manuseio dos componentes por partes dos
alunos, alguns grupos possuíam algumas dúvidas em relação ao esquema elétrico de ligação do
buzzer, mas logo foram sanadas pelo professor.
Ao final da intervenção percebeu-se que alguns grupos ainda não tinham finalizado a
atividade, sendo combinado com eles que teriam um tempo na próxima intervenção para acabar.
Desta forma, foram orientados na organização do ambiente de trabalho e em guardar os materiais
utilizados.
Intervenção 3 – 05/09/2016
Deu-se início à terceira sessão com uma revisão sobre os conteúdos trabalhados na
intervenção anterior. Como alguns grupos não tinham finalizado a etapa da intervenção anterior,
orientou-se para se organizarem e foi entregue o material para finalização da etapa. Os grupos que
já haviam finalizado a atividade realizaram os ajustes necessários nos códigos e na organização dos
jumpers fixados no robô. Após todos finalizarem a atividade, solicitou-se se organizarem para
ouvirem a explicação do conteúdo programático. Nesta intervenção realizou-se o estudo da
estrutura de condição CASE, sendo que durante a explicação fez-se o uso do robô móvel para
demonstrar o funcionamento da estrutura. Os alunos, atentamente observaram o funcionamento dele
e logo surgiram as primeiras dúvidas, sendo sanadas no momento.
Observou-se que os alunos logo compreenderam o funcionamento da estrutura, permitindo
assim a orientação para realização da atividade proposta. Solicitou-se que retornassem à
organização dos grupos, repassando assim as instruções necessárias para compreenderem e
realizarem a atividade. Nesta não se fez a inserção de novos componentes, sendo o trabalho sobre os
quais já haviam sido inseridos nas intervenções anteriores. A mesma consistiu na opção de escolha
da unidade de medida que seria demonstrada no LCD 16x2, sobre a distância que a base do robô
estaria de um objeto.
63
Apenas um grupo sentiu dificuldade na aplicação das conversões de medidas, mas foram
explicadas e demonstradas no quadro branco. Os demais grupos conseguiram aplicar com facilidade
esta conversão. Observou-se durante a realização da atividade um melhor engajamento dos alunos
do grupo, pois estavam mais ativos e interessados na solução do problema proposto. O professor
movimentou-se durante a realização desta atividade, acompanhando e sanando as dúvidas dos
grupos.
Todos os grupos finalizaram a atividade com sucesso e, ao final da intervenção, foram
orientados na organização do ambiente de trabalho e em guardar os materiais utilizados.
Intervenção 4 – 14/09/2016
A quarta intervenção iniciou-se com revisão do conteúdo abordado na intervenção anterior.
Durante a realização da mesma, percebeu-se a necessidade de revisar o conteúdo da terceira
intervenção, devido ao fato do grande intervalo que se teve entre esta intervenção em relação às
anteriores. Realizado isto, sanaram-se as dúvidas dos alunos e deu-se início à explicação do
conteúdo programático. Nesta abordou-se o estudo de estrutura de repetição While e Do...While,
sendo utilizado o robô móvel para demonstração do funcionamento de cada estrutura, permitindo
que os alunos as diferenciassem uma da outra.
Neste momento, eles logo relacionaram as estruturas com a estrutura “Void Loop()” do
Arduino, permitindo assim que gerasse uma discussão sobre a utilização de cada uma. Após sanar
todas as dúvida em relação ao tema de estudo, solicitou-se que se organizassem com seus grupos e o
ambiente de trabalho. Após tudo organizando, orientou-se a realização da atividade proposta. Esta
foi a quarta etapa do desafio, a qual consistiu na movimentação do robô para frente e caso
encontrasse algum obstáculo, desviasse e continuasse seu percurso. Durante a realização da
atividade observou-se a vontade dos alunos em fazerem seus robôs se movimentar, sendo que aos
primeiros testes de cada grupo, os outros paravam o que estão realizando para observar o robô dos
colegas se movimentarem. O professor se movimentou durante a realização, permitindo assim
ajudar e sanar as dúvidas dos grupos. Todos finalizaram a atividade com êxito, permitindo que ao
final da intervenção colocassem todos os robôs andar na sala para certificar-se do exato
funcionamento.
64
Intervenção 5 – 16/09/2016
Iniciou-se a quinta intervenção avisando aos alunos que este seria o último momento e que
deviam finalizar seu robô para ser avaliado. Após dado o recado, realizou-se uma revisão sobre o
conteúdo estudado na intervenção anterior, já relacionando com o tema de estudo desta intervenção.
Ao iniciar a explicação do conteúdo programático, mostrou-se o robô móvel funcionando com a
estrutura de repetição While e após, com a estrutura For. De imediato os alunos observaram a
diferença, sendo que a partir daí surgiram as primeiras dúvidas e questionamentos, sendo estes
sanados pelo professor. Após finalizar a explicação os alunos foram orientados na organização de
seus grupos e ambiente de trabalho. Foram repassadas as orientações para realização da última
etapa do desafio, que consistiu na implementação de uma tela de inicialização utilizando a estrutura
de repetição For. Observou-se a facilidade de aplicação da estrutura For pelos alunos, sendo
comentando por eles que esta era mais fácil de aplicar. Todos os grupos conseguiram finalizar a
atividade, sendo que ao término de cada um, era solicitado que apresentassem ao professor para ser
avaliado. Ao final, agradeceu-se a dedicação dos alunos nas intervenções, parabenizando-os pelos
ótimos trabalhos realizados.
4.5 CONSIDERAÇÕES
Este capítulo apresentou como foram realizadas as intervenções junto à turma de
Aprendizagem Industrial em Informática, do SENAI/SC, unidade Chapecó, bem como a descrição,
a explicação e a observação das atividades realizadas em cada intervenção.
Além disto, demonstrou os métodos de avaliação utilizados, sendo empregados dois testes
de avaliação para aferir o conhecimento individual de cada integrante da amostra, e uma análise de
conteúdo, sendo derivado do trabalho desenvolvido em equipe na montagem e programação do robô
móvel. Ao finalizar, os alunos foram guiados a responder um formulário, a fim de analisar o índice
de satisfação dos mesmos.
Também se apresentou a estrutura robô utilizado, bem como os componentes que lhe
compõem, o qual foi utilizado tanto nas explicações dos conceitos de programação quanto no
desenvolvimento do desafio proposto. Além disto, apresentou-se cronograma com as datas de
realização das intervenções, tendo um relato do autor deste trabalho de como se procedeu e se
observaram as atividades realizadas.
65
5 RESULTADOS
Esta seção apresenta os resultados do trabalho, baseados no uso de métodos estatísticos.
5.1 ANÁLISE DE EQUIVALÊNCIA DO GRUPO DE CONTROLE E
EXPERIMENTAL
Para analisar a equivalência entre o grupo de controle e o experimental, foram selecionadas
duas disciplinas do curso identificadas como pré-requisito para o bom andamento da disciplina de
Conceitos de Programação, alvo das intervenções desta pesquisa; são elas, Introdução à Linguagem
de Programação, a qual consta no Anexo C sua ementa e Fundamentos de Matemática, tendo a
ementa no Anexo D.
Ambas as disciplinas geralmente ocorrem no início do curso e tiveram o mesmo professor
tanto no grupo controle como no experimental. Vale ressaltar que pelo curso ser um módulo único,
não existem pré-requisitos estabelecidos entre as disciplinas, mas sim, um alinhamento da
coordenação para que elas ocorram em uma ordem lógica.
Antes de realizar análise de equivalência aplicou-se o teste Shapiro-Wilk, a fim de testar-se
a normalidade das amostras. Este é um teste de aderência, onde é possível verificar-se a
normalidade da amostra desejada (RODRIGUES e IEMMA, 2005). Ele permite analisar a
distribuição da amostra, assim identificando se ela é significativamente diferente de uma
distribuição normal (p < 0,05) (FIELD, 2009). Este teste foi aplicado tanto no grupo de controle
como experimental das disciplinas mencionadas acima.
A Tabela 4 apresenta os resultados da aplicação do teste de Shapiro-Wilk com o grupo de
controle e experimental nas disciplinas de Introdução à Linguagem de Programação e Fundamentos
de Matemática. Pode-se observar que ambas as disciplinas e grupos possuem uma distribuição
normal. Este teste foi realizado através do software Action (ESTATCAMP, 2016) com um nível de
confiança de 95%.
66
Tabela 4. Teste de Shapiro-Wilk com grupo de controle e experimental
Dados do processo
Grupo de Controle Grupo Experimental
Int. Linguagem de
Programação
Fund.
Matemática
Int. Linguagem
de Programação
Fund.
Matemática
Estatística: Shapiro-Wilk 0,9511 0,9323 0,9312 0,9378
P-valor 0,1677 0,0507 0,0574 0,0721
Como todas as amostras aferidas com o teste de Shapiro-Wilk demonstraram ser de
distribuição normal (p > 0,05), empregou-se o teste t-Student independente, para analisar a
significância estatísticas entre os grupos. O teste t-Student é um teste paramétrico baseado na
distribuição normal e divide-se em dois tipos de teste: com amostras independentes, aplicado
quando existem duas condições experimentais e diferentes participantes, e com amostras
dependentes, utilizado quando existem duas condições com os mesmos participantes (FIELD,
2009). Para a realização de um teste bilateral, com teste t-Student, é necessário definir as hipóteses
estatísticas, sendo H0: µ1 = µ2 a hipótese nula e H1: µ1 ≠ µ2 a hipótese alternativa (CALDEIRA,
2008). Desta forma, definiu-se com os grupos de controle e experimental, na disciplina de
Fundamentos de Matemática, as seguintes hipóteses:
H0: As médias da disciplina de Fundamentos de Matemática do grupo de controle e
experimental são iguais;
H1: As médias da disciplina de Fundamentos de Matemática do grupo de controle e
experimental são diferentes;
A Tabela 5 demonstra o resultado do teste, efetuado com o software Microsft Office Excel
2013. Nele pode-se observar que o teste t-Student não apresentou significância estatística (tteste =
-1,5727; tcrítico = 2,0003). Deste modo, não se rejeita a hipótese nula (H0), em que as médias são
iguais, a um nível de significância de 95%.
Tabela 5. Resultado teste t-Student da disciplina de Fundamentos de Matemática
Informações Grupo de Controle Grupo Experimental
Média 8,15 a 8,5 a
Variância 0,57 0,92
Observações 31 31
Graus de liberdade 60
t - 1,5727
p-valor 0,1210
t crítico 2,0003
67
* médias seguidas por letras iguais nas linhas não diferem estatisticamente ao nível de significância
de 95% pelo teste t-Student
Do mesmo modo, definiram-se duas hipóteses para análise, com teste t-Student, da
disciplina de Introdução à Linguagem de Programação, que são:
H0: As médias da disciplina de Introdução à Linguagem de Programação do grupo de
controle e experimental são iguais;
H1: As médias da disciplina de Introdução à Linguagem de Programação do grupo de
controle e experimental são diferentes;
A Tabela 6 demonstra o resultado do teste, efetuado com o software Microsft Office Excel
2013. Pode-se observar que o teste t-Student não apresentou significância estatística (tteste = 0,7671;
tcrítico = 2,0002). Deste modo, não se rejeita a hipótese nula (H0), em que as médias são iguais, a um
nível de significância de 95%.
Tabela 6. Resultado teste t-Student da disciplina de Introdução a Linguagem de Programação
Informações Grupo de Controle Grupo Experimental
Média 7,54 a 7,7 a
Variância 0,70 1,93
Observações 31 31
Graus de liberdade 60
T 0,7671
p-valor 0,4459
T crítico 2,0002
* médias seguidas por letras iguais nas linhas não diferem estatisticamente ao nível de significância
de 95% pelo teste t-Student.
Estes resultados, obtidos através dos métodos estatísticos empregados, demonstraram que as
turmas de controle e experimental são equivalentes.
5.2 DADOS OBTIDOS DOS MÉTODOS DE AVALIAÇÃO
Como já mencionado anteriormente, para avaliar o desempenho das amostras foram
utilizados dois métodos de avaliação, o teste de avaliação e a análise de conteúdo. Ambos foram
realizados com o grupo experimental e de controle, e 31 alunos participaram em cada grupo.
68
A Tabela 7 apresenta as respectivas notas obtidas em cada avaliação realizada com o grupo
de controle, além disto, a média de cada aluno e a média e o desvio padrão do grupo em cada
avaliação.
Tabela 7. Valores obtidos nas avaliações do grupo de controle
Aluno Teste de Avalição 1 Teste de avaliação 2 Análise de conteúdo Média
1 8 8 7,8 7,93
2 7,5 9 9 8,50
3 7,5 9 8 8,17
4 4 0 0 1,33
5 8,5 8 9 8,50
6 7,5 7,5 8 7,67
7 4 7 7,5 6,17
8 10 10 7 9,00
9 10 10 9 9,67
10 7,5 9 9 8,50
11 8 7 8 7,67
12 8,5 10 9 9,17
13 6 9,5 8,5 8,00
14 8 10 9 9,00
15 8 9,5 9 8,83
16 8 9,5 9,5 9,00
17 0 7 7 4,67
18 8 7 7 7,33
19 7,5 9 8,5 8,33
20 8 7 7,5 7,50
21 8 7 7,5 7,50
22 6 9 7 7,33
23 8,5 10 9,5 9,33
24 10 10 7,5 9,17
25 0 6 0 2,00
26 10 10 9,6 9,87
27 7,5 9,5 8,5 8,50
28 8 9,5 7,5 8,33
29 9,5 10 10 9,83
30 9,5 10 10 9,83
31 8,5 10 9,5 9,33
Média 7,42 8,52 7,87 7,93
Desvio Padrão 2,45 2,02 2,29 2,01
A Tabela 8 apresenta as respectivas notas obtidas em cada avaliação realizada com o grupo
experimental, além disto, a média de cada aluno e a média e o desvio padrão do grupo em cada
avaliação.
69
Tabela 8. Valores obtidos nas avaliações do grupo experimental
Aluno Teste de Avalição 1 Teste de avaliação 2 Análise de conteúdo Média
1 10 10 9,9 9,97
2 10 10 10 10
3 9,5 9 10 9,50
4 10 10 10 10
5 9,5 8 10 9,17
6 10 8 10 9,33
7 9 10 10 9,67
8 10 10 10 10
9 10 10 10 10
10 9 10 7,4 8,80
11 8,5 10 9 9,17
12 7,5 7,5 9 8,00
13 9 10 10 9,67
14 9 9 9 9,00
15 9 10 10 9,67
16 9 8 10 9,00
17 10 9 9,9 9,63
18 10 10 10 10
19 8,5 10 7,4 8,63
20 8,5 10 7,4 8,63
21 10 10 10 10
22 9 10 7,4 8,80
23 6,5 6 9,9 7,47
24 6,5 6 9,9 7,47
25 8 10 9,9 9,30
26 8 10 9,9 9,30
27 10 9 10 9,67
28 6,5 8 10 8,17
29 8 10 10 9,33
30 9 10 9 9,33
31 8 10 7,4 8,47
Média 8,89 9,27 9,43 9,20
Desvio Padrão 1,09 1,18 0,96 0,72
A Figura 23 apresenta as médias obtidas em cada avaliação aplicada no grupo de controle e
experimental. Pode-se observar um progresso em todas as avaliações do grupo de experimental, que
foi submetido às atividades propostas deste trabalho em relação ao grupo de controle, ao qual foi
aplicado o método tradicional. Além disto, apresenta a média final obtida em cada grupo, onde
pode-se observar uma diferença de 26% em relação do grupo experimental ao de grupo de controle.
70
Figura 23. Comparativo entre grupo de controle e experimental
5.3 RESULTADOS DO GRUPO DE CONTROLE E EXPERIMENTAL
Aplicou-se o teste de Shapiro-Wilk sobre as médias obtidas na disciplina de Conceitos de
Programação, tanto do grupo de controle quanto no experimental. A Tabela 9 apresenta os
resultados desse teste, sendo que pode-se observar que ambos os grupos não possuem uma
distribuição normal. Este teste foi realizado através do software Action (ESTATCAMP, 2016) com
um nível de confiança de 95%.
Tabela 9. Teste de normalidade grupo de controle e experimental
Dados do Processo Grupo de Controle Grupo Experimental
Estatística: Shapiro-Wilk 0,7447 0,8966
P-valor 1.4e-06 0,0006
Devido ao fato das amostras não pertencerem a uma distribuição normal, descartou-se a
utilização de testes paramétricos para analisar a significância estatística entre os grupos. Para
realização desta análise utilizou-se o teste não paramétrico de Mann-Whitney. Este também é
conhecido como Wilconxon-MannWhitney e visa testar a diferença entre duas condições, com
diferentes participantes em cada uma delas. Além disto, este teste não paramétrico é equivalente ao
teste paramétrico t-student para amostras independentes (FIELD, 2009).
71
Segundo Field (2009), deve-se definir a hipótese nula (H0) e alternativa (H1) do teste de
Mann-Whitney, sendo definidas as seguintes hipóteses:
H0: As médias, apresentadas na Tabelas 7 e 8, do grupo de controle e experimental, são
iguais;
H1: As médias, apresentas na Tabelas 7 e 8, do grupo de controle e experimental, não são
iguais.
A Tabela 10 demonstra o resultado do teste efetuado com o software Action
(ESTATCAMP, 2016), nela observar-se que o teste Mann-Whitney detectou uma diferença
significativa entre as duas amostras (W= 234; P-valor = 5,00E-04). Deste modo, rejeita-se a
hipótese nula (H0), assim aceitando a hipótese alternativa (H1), podendo afirmar que as amostras
possuem médias diferentes, a um nível de significância de 95%.
Tabela 10. Resultado teste Mann-Whitney com dados coletados
Informações Resultados
Estatística 234
P-valor 5,00E-04
Limite Inferior -1,3333
Mediana -0,8333
Limite Superior -0,3333
O resultado demonstra que as duas turmas não possuem médias iguais, do ponto de vista
estatístico, sendo assim, pode-se concluir que através das notas obtidas elas não são equivalentes.
5.4 RESULTADOS QUESTIONÁRIO
Para análise do questionário, aplicado apenas ao grupo experimental no final das
intervenções, empregou-se o uso do cálculo do Ranking Médio (RM) proposto por Oliveira (2005).
Participaram desta pesquisa 29 alunos e com base nas respostas do formulário, utilizou-se o valor
respectivo da escala de Likert, bem como, a frequência atribuída de cada resposta a cada item, para
calcular a média ponderada de cada pergunta. Desta maneira, obtiveram-se os valores do Ranking
Médio da seguinte forma:
72
A Tabela 11 apresenta as porcentagens médias obtidas em cada item de cada questão. Nela
observar-se que em nenhuma das questões obteve-se o valor mais baixo dentre as opções de Likert,
ou seja, o valor um.
Tabela 11. Resultado em % de cada pergunta
Questão 1 2 3 4 5
1. Facilidade no desenvolvimento dos
desafios propostos.
0,00 % 6,90% 17,24% 44,83% 31,03%
2. Qualidade do material utilizado na
montagem do robô.
0,00 % 0,00 % 6,90 % 41,38 % 51,72 %
3. O projeto contribuiu para compreender
estrutura de condição (IF e Switch).
0,00 % 0,00 % 6,90 % 34,48 % 58,62 %
4. O projeto contribuiu para compreender
estrutura de repetição (While
Do..While e For).
0,00 % 0,00 % 10,34 % 48,28 % 41,38 %
5. O projeto contribuiu para compreender
do conceito de entrada/processamento e
saída.
0,00 % 0,00 % 3,45 % 31,03 % 65,52 %
6. As aulas contribuíram para o seu
interesse em programação.
0,00 % 3,45 % 6,90 % 44,83 % 44,83 %
7. Número de horas destinadas para o
projeto.
0,00 % 3,45 % 24,14 % 20,69 % 51,72 %
8. Qualidade do material
preparado/apresentado para realização
das tarefas.
0,00 % 0,00 % 13,79 % 27,59 % 58,62 %
9. Grau de satisfação com as atividades
realizadas pelo projeto.
0,00 % 0,00 % 3,45 % 27,59 % 68,97 %
A Figura 24 ilustra os resultados obtidos, aplicando o Ranking Médio para cada questão.
Nela observar-se que a Questão 1, a qual visa analisar o grau de facilidade no desenvolvimento dos
desafios propostos, obteve a pontuação 4, que por sinal foi a menor entre todas. Isto evidencia que
ainda deve ser realizado um trabalho de base, mais abrangente.
As questões 3, 4 e 5 visaram analisar o nível de compreensão dos alunos sobre os temas de
estudo. Nelas observar-se que a menor pontuação obtida foi na Questão 4 (4,31), relacionada ao
tema de estruturas de repetição. Já a maior pontuação ficou com a Questão 5 (4,62), sendo que esta
média ficou em segundo lugar dentre todas. Além disto, a Questão 5 revela que o tema de entrada,
73
processamento e saída e dados foi o mais compreendido, na percepção dos estudantes, seguido de
estruturas de condições e, por fim, as estruturas de repetições.
A Questão 6 que visou analisar o interesse dos participantes pela programação, após as
intervenções, obteve a pontuação 4,31. Já a Questão 7, que obteve a pontuação 4,21, mostra que
nem todos os alunos estavam de acordo com o número de horas destinadas ao projeto, isto leva a
crer que eles gostariam de mais horas de atividades na linha proposta.
E por fim, a Questão 9, que visa analisar o grau de satisfação do projeto, obteve o maior
valor entre todas, que foi 4,66, isto revela que os alunos participantes gostaram das intervenções
realizadas, sendo este um fator importante para o projeto.
Figura 24. Resultado formulário
Como a questão 10 é de resposta aberta e opcional apresenta-se as seguintes respostas
obtidas, transcrevidas da forma original em que se encontra no formulário:
“Aulas excelentes!”;
“Aula bem explicada e formulada”;
“Top”;
“As aulas foram muito legais”;
“As aulas foram muito boas e contribuíram muito para o aprendizado”;
74
“Matéria no começo difícil mas no final super fácil e prático de se aprender”.
5.5 CONSIDERAÇÕES
Este capítulo apresentou os dados obtidos através dos métodos de avaliação adotados, os
procedimentos estáticos empregados para análise destes dados e respectivos resultados obtidos.
Inicialmente analisou-se a equivalência entre o grupo de controle e experimental através das
médias obtidas pelos participantes nas disciplinas de Fundamentos de Matemática e Introdução à
Linguagem de Programação. Esta análise fez-se necessária pelo fato da formação não aleatória
destes grupos utilizados na inferência das intervenções e coleta de dados. A análise realizada
através do teste t-Student revelou que ambos os grupos eram equivalentes em ambas as disciplinas.
Após está etapa inicial, de análise de equivalência, analisou-se os resultados estatísticos
obtidos na disciplina de Conceitos de Programação através do teste de Mann-Whitney, o qual
revelou que os grupos de controle e experimental não eram iguais. Isto leva a concluir que as
intervenções geraram uma diferença estatisticamente significante no grupo experimental, sendo que
através das médias de cada grupo em cada avaliação apresentou sempre a superioridade do grupo
experimental em relação ao grupo de controle.
E por fim, apresentaram-se os resultados do questionário de satisfação, aplicado ao final das
intervenções. Este tinha como objetivo permitir aos alunos exporem suas percepções diante das
atividades realizadas em todas as intervenções, e seu nível de satisfação em participar deste projeto.
Observou-se que nenhuma das questões obteve o valor mais baixo dentre as opções da escala de
Likert, ou seja, o valor um. Também, todas as questões obtiveram média de pontuação acima de 4, e
a Questão 9, que visa analisar o grau de satisfação do projeto, obteve o maior valor entre todas, que
foi 4,66.
75
6 CONCLUSÃO
O tema de estudo deste trabalho teve como objetivo geral utilizar a robótica educacional,
apoiada na plataforma Arduino, para o ensino de conceitos de programação no curso de
Aprendizagem Industrial em Informática, a fim de avaliar a melhoria no desempenho acadêmico na
disciplina Conceitos de Programação.
Para se alcançar este objetivo realizou-se, inicialmente, uma pesquisa e análise dos trabalhos
relacionados a este tema de pesquisa, permitindo assim, analisar as tecnologias e métodos de
avaliações empregados. Após isto, aprofundou-se o estudo sobre a tecnologia escolhida, neste caso
a plataforma Arduino, através de um estudo teórico e prático necessário para o desenvolvimento e
aplicação das atividades deste trabalho.
Após estas fases, iniciaram-se as intervenções com o grupo experimental, expondo os alunos
ao estudo de conceitos de programação através da robótica educacional. Durante as intervenções foi
necessário aplicar os métodos de avaliação escolhidos, permitindo a mensuração do nível de
aprendizado do grupo experimental e também do grupo de controle.
Este trabalho foi norteado através da seguinte hipótese:
O ensino-aprendizagem da disciplina de Conceitos de Programação pode contribuir
na melhoria do desempenho acadêmico dos alunos, se relacionado com a robótica,
deste modo aplicando os conceitos de programação para a construção e manipulação
de um protótipo de robô móvel.
Através dos métodos de avaliação aplicados com os grupos de controle e experimental,
foram encontradas evidências estatísticas significativas que a utilização da robótica educacional,
apoiada da plataforma Arduino produziu uma melhoria no desempenho acadêmico dos alunos
expostos a este método. Além disto, percebeu-se que em todas as avaliações o grupo experimental
se sobressaiu melhor no quesito média em relação ao grupo de controle. Isso provado também na
média final de ambos os grupos, onde se obteve uma diferença de 26%.
O questionário, aplicado ao final das intervenções, demonstrou que para os alunos
participantes destas atividades, colaborou para o entendimento e melhoria do ensino de conceitos de
76
programação. Isto pôde ser percebido também durante a realização das intervenções, onde os alunos
estavam engajados na solução dos desafios propostos, tendo assim, um maior facilidade na
compreensão da solução problema. Os alunos também julgaram que o material didático utilizado
para o projeto foi de boa qualidade, e outro ponto que chamou atenção, foi a pontuação da questão
relacionada à carga horária do projeto, pois obteve uma pontuação baixa de alguns alunos, levando
a crer que eles gostariam de mais intervenções com atividades do projeto.
Com base nos resultados apresentados no capítulo anterior, é possível responder a pergunta
de pesquisa inicialmente levantada: “A utilização da robótica educacional, apoiada na plataforma
Arduino, permite gerar uma melhoria no desempenho acadêmico na disciplina de Conceitos de
Programação do curso de Aprendizagem Industrial em Informática?”
A utilização da robótica educacional, apoiada na plataforma Arduino, produziu uma
melhora significativa no desempenho acadêmico dos alunos expostos a estas
atividades, nas intervenções realizadas na disciplina de Conceitos de Programação.
Ou seja, o grupo experimental progrediu mais em relação ao grupo de controle, onde
se aplicou o método tradicional empregado na instituição.
Entende-se que todos os objetivos específicos definidos para este trabalho foram alcançados,
sendo apresentado o cumprimento de cada um deles a seguir:
Verificar as metodologias de ensino propostas para ensino de programação através da
robótica educacional, por meio de levantamento bibliográfico da área de pesquisa:
este objetivo foi atendido através da realização de um mapeamento sistemático de
trabalhos relacionados ao tema de ensino de conceitos de programação através da
utilização da robótica educacional, conforme apresentado no capítulo 3. Com base
neste levantamento, definiram-se quais métodos de avaliação poderiam ser
empregados nesta pesquisa, a tecnologia de interface para o ensino e a aplicação com
um grupo de controle e experimental.
Propor intervenções na metodologia de ensino de conceitos de programação: este
objetivo foi atendido através da elaboração dos planos de aula para cada intervenção,
bem como, o planejamento de execução destas atividades durante a disciplina de
Conceitos de Programação, conteúdo este apresentado no Capítulo 4.
77
Realizar as intervenções propostas utilizando robótica educacional: este objetivo foi
atendido através da execução do cronograma planejado de execução das
intervenções, seguindo os planos de aula definidos e apresentados no Capítulo 4.
Avaliar a metodologia proposta, com alunos do curso de Aprendizagem Industrial
em Informática da Unidade do SENAI/SC Chapecó: este objetivo foi atendido
através da aplicação dos métodos de avaliação estabelecidos, apresentados no
Capítulo 4, e estes serviram de base para a coleta dos dados. Após esta fase, deu-se
início à avaliação estatística dos resultados obtidos, sendo apresentada no Capítulo 5.
6.1 CONTRIBUIÇÕES
Uma das principais contribuições deste trabalho foi a aplicação prática, através da robótica
educacional, para ensino de programação. Além disto, a realização de uma avaliação empírica e
rigorosa demonstrou os benefícios da utilização da robótica educacional na transmissão dos
conhecimentos de conceitos de programação.
Conforme demonstrado na análise de trabalhos relacionados, quase metade deles empregou
o uso de LEGO Mindstorms. Nesse sentido, este trabalho propôs a montagem e utilização de um kit
de robótica educacional alternativo, utilizando uma plataforma de hardware e software livre e que
possui um bom custo benefício, abaixo de R$ 270,00.
Este estudo pode ser considerado de caráter exclusivo, no que se refere FIESC/SENAI,
devido ao fato de nunca antes ter sido realizado algo do gênero, até mesmo em outras modalidades
dos cursos oferecidos. Diante disto, foram disponibilizados os planos de aulas, descritivos das
atividades, códigos fonte e formulários de avaliação, permitindo que demais professores possam
empregar o uso destas atividades em outras modalidades de ensino da instituição.
De alguma forma, a aplicação deste trabalho dentro do ambiente FIESC/SENAI permitiu
melhorar a forma de ensino de conceitos de programação, possibilitando que os alunos se sentissem
mais envolvidos e com uma melhor compreensão de como realizar as atividades propostas. Além do
mais, permitiu a saída dos alunos de um ambiente puramente virtual para algo de seu cotidiano,
onde se percebeu uma maior interação e dedicação por parte deles.
78
Como o trabalho foi pioneiro nesta área de estudo dentro da instituição, demais colegas se
sensibilizaram a esta causa, mostrando interesse em gerar novos estudos com alunos de outras
modalidades de ensino, permitindo que haja uma continuação desta abordagem não apenas na
aprendizagem industrial, mas também nos cursos técnicos e superiores.
Por fim, espera-se que as atividades e métodos de avaliação empregados neste trabalho
possam servir como referência na geração de novos estudos, onde se pretenda melhorar e mensurar
o ensino de programação através da robótica educacional.
6.2 TRABALHOS FUTUROS
Como trabalhos futuros sugere-se a aplicação das atividades deste estudo com novas turmas,
porém com a escolha inversa de turnos, em relação a este estudo, do grupo de controle e
experimental, permitindo assim analisar se os resultados obtidos geram novas descobertas,
verificando se a análise estatística daqueles diferem ou não deste trabalho. Também, podem-se
aplicar novos métodos de avaliação, procurando evidenciar algum tipo de informação não atendida
com este estudo.
Além disto, a realização de um estudo qualitativo deste método seria algo interessante,
possibilitando analisar o nível de motivação e satisfação que as atividades podem proporcionar aos
estudantes. Isto permitiria avaliar, por exemplo, se os alunos despertaram o interesse em áreas
relacionadas ao estudo de programação, tanto na vida acadêmica como profissional.
Outra sugestão seria a aplicação destas atividades a outros níveis de estudo, como por
exemplo, em cursos técnicos. Isso permitiria uma expansão do estudo já realizado, podendo-se
analisar ambas as amostras, concluindo em quais níveis as atividades foram mais eficientes.
79
REFERÊNCIAS
ALMEIDA, Rafael S. Aprendendo Algoritmo com VisuAlg. Rio de Janeiro: Editora Ciência
Moderna Ltda, 2013.
ANDRADE, Maria Margarida de. Introdução à metodologia de trabalho científico: elaboração
de trabalhos na graduação. 10. Ed. São Paulo: Atlas, 2010.
ÁLVAREZ, Ainhoa; LARRAÑAGA, Mikeil. Experiences Incorporating Lego Mindstorms Robots
in the Basic Programming Syllabus: Lessons Learned. Journal of Intelligent & Robotic Systems,
v. 81, n. 1, p. 117-129, fev. 2015.
ARDUINO. Disponível em: <www.arduino.cc>. Acessado em: 28 jun. 2016.
ATTO EDUCAIONAL. Disponível em: <www.attoeducacional.com.br>. Acessado em: 12 set.
2016
BACKES, André. Linguagem C: completa e descomplicada. Rio de Janeiro: Elsevier, 2013.
BANZI, Massimo. Primeiros passos com Arduino. São Paulo, Novatec Editora, 2011.
BARRETO, Valéria B.; L’ERARIO, Alexandre; FABRI, José A.; Teaching Programming for High
School Students Using the LEGO Mindstorms Robot. Iberian Conference on Information
System and Technologies, Aveiro, p. 1-7, jun. 2015.
BEHRENS, Alexander; SCHWANN, Robert; NEUMANN, Bernd; SCHNITZLER, Rainer;
BALLÉ, Johannes; HEROLD, Thomas; TELLE, Aulis, NOLL, Tobias G.; HAMEYER, Kay;
AACH, Til. MATLAB Meets LEGO Mindstorms – A Freshman Introduction Course Into Practical
Engineering. IEEE Transactions on Education, v. 53, n. 2, p. 306-317, mai. 2010.
BOAVENTURA, Edivaldo M. Metodologia da Pesquisa: Monografia, dissertação, tese. 1 Ed.
São Paulo: Atlas, 2011.
BURBAITE, Renata; STUIKYS, Vytautas; DAMASEVICIUS, Robestas. Educational Robots as
Collaborative Learning Objects for Teaching Computer Science. IEEE Conference on System
Science and Engineering, Budapest, p. 211-216, jul. 2013.
CACI, Barbara; CHIAZZESE, Giuseppe; D’AMICO, Antonella. Robotic and virtual world
programming labs to stimulate reasoning and visual-spatial abilities. Procedia - Social and
Behavioral Sciences, v. 93, p. 1493-1497, out. 2013.
CANDELAS, Francisco; GARCIA, Giggs J.; PUENTE, Santiago; POMARES, J.; JARA, Carlos.
A.; PÉREZ, J.;MIRA, Damian; TORRES, Fernando. Experiences on using Arduino for laboratory
experiments of Automatic Control and Robotics. IFAC-PapersOnLine, v. 48, n. 29, p. 105-110,
dez. 2015.
80
CARBONI, Irenice F. Lógica de Programação. São Paulo: Pioneira Thomson Learning, 2003.
CARPERSEN, Michael E.; KOLLING, Michael. STREAM: A First Programming Process. ACM
Transactions on Computing Education. v. 9, n. 1, artigo 4, mar. 2009.
CHAVES, José Osvaldo; CASTRO Angélica; ROMMEL, Lima; LIMA, Marcos Vinicius;
FERREIRA, Karl; Mojo: Uma ferramenta para auxiliar professor em disciplinas de programação.
In: CONGRESSO BRASILEIRO DE ENSINO SUPERIOR A DISTÂNCIA, 5 ed., 2013, Belém.
Anais do X Congresso Brasileiro de Ensino Superior a Distância. Porto Alegre: Associação
Universidade em Rede. 2013.
CORMEN, Thomas H. et. al. Algoritmos: Teoria e prática. Rio de Janeiro: Campus, 2002.
COSTA, Carlos J.; APARICIO, Manuela; CORDEIRO, Carlos. A solution to support student
learning of programming. Workshop on Open Source and Design of Communication, New
York, p.25-29, jun. 2012.
D’ABREU, João V. V.; RAMOS, Josué J. G.; MIRISOLA, Luiz G. B.; BERNARDI, Núbia.
Robótica Educativa/Pedagógica na era digital. In: CONGRESSO INTERNACIONAL TIC E
EDUCAÇÃO, 2, 2012. II Congresso Internacional TIC e Educação, Instituto de Educação da
Universidade de Lisboa, 2012, p. 2449-2465.
DEITEL, Paul J. C: Como programar. São Paulo, 2011.
DOWNEY, Allen. Think python: How to Think Like a Computer Scientist. Sebastopol, CA: 2012.
ESTATCAMP. Disponível em: <www.estatcamp.com.br>. Acessado em: 26 out. 2016.
EVANS, Martin et. al. Arduino em ação. São Paulo: Novatec Editora, 2013.
FIELD, Andy R. Descobrindo a estatística usando o SPSS. Porto Alegre: Artmed, 2009.
FIORI, Rosaine; ESPERANDIM, Rauany J.;SILVA, Flávio A.; VARELA, PauloJ.; LEITE, Maici
D.; REINALDO, Francisco A. F. Uma experiência prática da inserção de robótica e seus benefícios
como ferramenta educativa em escolas públicas. In: SIMPOSIO BRASILEIRO DE
INFORMÁTICA NA EDUCAÇÃO, 25, 2014, Dourados. Anais 25° Simpósio Brasileiro de
Informática na Educação. Porto Alegre: SBC, 2014, p. 1223-1232.
FORBELLONE, André L. V.;EBERSPÄCHER, Henri. F. Lógica de programação: a construção
de algoritmos e estrutura de dados. 3 ed. São Paulo: Prentice Hall, 2005.
GOMES, Anabela. Learning to program – difficulties and solutions. International Conference on
Engineering Education. Coimbra, set. 2007.
GORDON, Michal; ACKERMANN, Edith; BREAZEAL, Cynthia. Social Robot Toolkit: Tangible
Programming for Young Children. ACM/IEEE International Conference on Human-Robot
Interaction Extended Abstracts, New York, p. 67-68, mar. 2015.
81
GORDON, Michal; RIVERA, Eileen; ACKERMANN, Edith; BREAZEAL, Cynthia. Designing a
relational social robot toolkit for preschool children to explore computational concepts.
International Conference on Interaction Design and Children, New York, 355-358, jun. 2015.
KAY, Jennifer S.; MOSS, Janet G.; ENGELMAN, Shelly; MCKLIN, Tom. Sneaking In Through
The Back Door: Introducing K-12 Teachers to Robot Programming. ACM Technical symposium
on Computer science education, New York, p. 499-504, mar. 2014.
KAZAKOFF, Elizabeth R.; SULLIVAN, Amanda; BERS, Marina U.; The Effect of a Classroom-
Based Intensive Robotics and Programming Workshop on Sequencing Ability in Early Childhood.
Early Childhood Education Journal, v. 41, n. 4, p. 245-255, jul. 2012.
LEGO. Disponível em: <www.lego.com>. Acessado em: 29 jun. 2016.
LEITE, Francisco Tarciso. Metodologia Científica: métodos e técnicas de pesquisa:
monografias, dissertações, teses e livros. Aparecida: Idéias & Letras, 2008.
LIKERT, Rensis. A technique for the measurement of attitudes. New York: The Science Press,
1932.
LIU, Allison; NEWSOM, Jeff; SCHUNN, Chris; SHOOP, Robin. Students Learn Programming
Faster through Robotic Simulation. Tech Directions, v. 72, n. 8, p. 16-19, mar. 2013.
LOPES, Anita; GARCIA, Guto. Introdução a programação: 500 algoritmos resolvidos. Rio de
Janeiro: Campus, 2002.
MAISONNETTE, Rogers. A utilização dos recursos informatizados a partir de uma relação
inventiva com a máquina: a robótica educativa. Disponível em
<http://www.proinfo.gov.br/upload/biblioteca.cgd/192.pdf>. Acesso em 19 jun. 2015.
MAJGAARD, Gunver; BERTEL, Lykke B. Initial Phases of Design-based Research into the
Educational Potentials of NAO-Robots. ACM/IEEE International conference on Human-robot
interaction, New York, p. 238-239, 2014.
MANZANO, José A. N. G.;OLIVEIRA, Jayr F. Algoritmos: Lógica para Desenvolvimento de
Programação de Computadores. 27 ed. São Paulo: Érica, 2014.
MAJOR, Louis; KYRIACOU, Theocharis; BRERETON, Pearl. Experiences of prospective high
school teachers using a programming teaching tool. Koli Calling International Conference on
Computing Education Research, New York, p.126-131, nov. 2011.
MARJI, Majed. Aprenda a programar com Scratch. São Paulo: Novatec Editora Ltda, 2014.
MARTINEZ, Cecilia; GOMEZ, Marcos J.; BENOTTI, Luciana. A Comparison of Preschool and
Elementary School Children Learning Computer Science Concepts through a Multilanguage Robot
Programming Platform. ACM Conference on Innovation and Technology in Computer Science
Education, New York, p. 159-164, jun. 2015.
MATARIC, Maja J. Introdução à Robótica. São Paulo: Editora Unescp/Blucher, 2014.
82
MCGILL, Monica M. Learning to Program with Personal Robots: Influences on Student
Motivation. ACM Transactions on Computing Education, New York, v. 12, n. 1, 4:1-4:32,mar.
2012.
MCROBERTS, Michael. Arduino Básico. São Paulo: Editora Novatec, 2011.
MEDINA, Marco; FERTIG, Cristina. Algoritmos e programação: teoria e prática. 2 ed. São
Paulo: Novatec Editora, 2006.
MENEZES, Ebenezer Takuno de; SANTOS, Thais Helena dos. Verbete robótica educacional.
Dicionário Interativo da Educação Brasileira - Educabrasil. São Paulo: Midiamix, 2015. Disponível
em: <http://www.educabrasil.com.br/robotica-educacional/>. Acesso em: 25 de jun. 2016.
MERKOURIS, Alexandros; CHORIANOPOULOS, Konstantionos. Introducing Computer
Programming to Children through Robotic and Wearable Devices. Workshop in Primary and
Secondary Computing Education, New York, p. 69-72, nov. 2015.
MIKROPOULOS, Tassos A.; BELLOU, Ioanna. Educational Robotics as Mindtools. Themes in
Science and Technology Education, v. 6, n. 1, p. 5-14, 2016.
MIRANDA, Leonardo. C.; SAMPAIO, Fábio F.; BORGES, José A. S. RoboFácil: Especificações e
Implementação de um Kit de Robótica para a Realidade Educacional Brasileira. Revista Brasileira
de Informática na Educação, v. 18, n. 3, p. 47-58, 2010
MODELIX. Disponível em: <www.modelix.cc>. Acessado em: 29 jun. 2016.
MONK, Simon. 30 Arduino Projects for the Evil Genius. McGraw-Hill, 2010.
NIKU, Saeed B. Introdução à Robótica: análise, controle, aplicações. Rio de Janeira: LTC, 2014.
OBR. Disponível em: <www.obr.org.br>. Acessado em: 27 jun. 2016.
OLIVEIRA, Luciel Henrique. Exemplo de cáclulo de Ranking Médio para Likert. PPGA
CNEC/FACECA: Varginha, 2005.
PANADERO, Carmen F.; ROMÁN, Julio V.; KLOSS, Carlos D.; Impact of Learning Experiences
Using LEGO Mindstorms in Enginnering Courses. IEEE EDUCON Education Engineering,
Madrid, p. 503-512, abr. 2010.
PASZTOR, Attila; PAP SZIGETI, Robert; TOROK, Erika L. Effects of Using Model Robots in the
Education of Programming. Informatics in Education, v. 9, p. 133-140, 2010.
PETE. Disponível em: <www.pete.com.br>. Acessado em: 29 jun. 2016.
PIO, José L. S.; CASTRO, Thais H. C.; CASTRO, Alberto N. A robótica móvel como instrumento
de apoia à aprendizagem de computação. SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA
EDUCAÇÃO, 16, 2006, Brasília. Anais do XVI Simpósio Brasileiro de Informática na
Educação. Porto Alegre: SBC, 2006. p. 497-506.
83
RAMLI, Rizauddin; YUNUS, Melor; ISHAK, Noriah M.; Robotic teaching for Malaysian gifted
enrichment program. Procedia - Social and Behavioral Sciences, v. 15, p. 2528-2532, jun. 2011.
RAO, Ankith. The Application of LeJOS, Lego Mindstorms Robotics, in an LMS Environment to
Teach Children Java Programming and Technology at an Early Age. IEEE Integrated STEM
Conference, p. 121-122, mar. 2015.
RODRIGUES, Maria I.; IEMMA, Antonio F. Planejamento de experimentos e otimização de
processos: uma estratégia sequencial de planejamentos. Campinas: Casa do Pão Editora, 2005.
ROSARIO, João M. Robótica Industrial I. São Paulo: Baraúna, 2010.
ROSARIO, João M. Princípios de mecatrônica. São Paulo: Prentice Hall, 2005.
ROTHE, Irene. Starter-Project for First Semester Students to Survey Their Engineering Studies.
IEEE Global Engineering Education Conference, p. 1-4, mar. 2015.
SAAD, Ashraf; KROUTIL, Ryan M. Hands-on Learning of Programming Concepts Using Robotics
for Middle and High School Students. Annual Shoutheast Regional Conference, New York, p.
361-362, mar. 2012.
SAICO, Pasqueline D. et al. Ensino de Programação no Ensino Médio: Uma Abordagem Orientada
ao Design com linguagem Scratch. Revista Brasileira de Informática na Educação. v. 21, n. 2,
p. 93-103, jun. 2013.
SALCEDO, Sebastian L.; IDROBO, Ana M. New Tools and Methodologies for Programming
Languages Learning using the Scribbler Robot and Alice. Frontiers in Education Conference,
Rapid City, p. F4G1-F4G6, out. 2011.
SANTOMAURO, Beatriz. Robótica sem usar o computador. Revista Nova Escola. v. 217, n. 1,
out, 2008.
SEBESTA, Robert W. Conceitos de Linguagem de Programação. 5 ed. Porto Alegre: Artmed
Editora S.A., 2006.
SESI. Disponível em: < www.portaldaindustria.com.br/sesi/canal/torneio-robotica-sesi>. Acessado
em: 27 jun. 2016.
SICILIANO, Bruno et. al. Robotics: Modelling, Planning e Control. Editora Springer, 2009.
SOUSA, Armando; MOREIRA, Bruno; LOPES, Filipe; COSTA, Hugo. Attractive demonstrations
with wire programming robot “REDi”. Iberian Conference on Information Systems and
Technologies, Aveiro, p. 1-6, jun. 2015.
SULLIVAN, Amanda; BERS, Marina U. Gender differences in kindergarteners’ robotics and
programming achievement. International Journal of Technology and Design Education, v. 23,
n. 3, p. 691-702, mai. 2012.
84
SULLIVAN, Amanda; BERS, Marina U. Robotics in the early childhood classroom: learning
outcomes from an 8-week robotics curriculum in pre-kindergarten through second grade.
International Journal of Technology and Design Education, v. 26, n. 1, p. 3-20, fev. 2016.
SULLIVAN, Amanda; BERS, Marina U. The Wheels on the Bot Go Round and Round: Robotics
Curriculum in Pre-Kindergarten. Journal of Information Technology Education, v. 12, p. 203-
219, 2013.
TOCHACEK, Daniel; LAPES, Jakub; FUGLÍK, Viktor. Developing Technological Knowledge and
Programming Skills of Secondary Schools Students through the Educational Robotics Projects.
Procedia - Social and Behavioral Sciences, v. 217, p. 377-381, fev. 2016.
TSANG, Ethan; GAVAN, Collette; ANDERSON, Mark. The practical application of LEGO
MINDSTORMS robotics kits: does it enhance undergraduate computing students' engagement in
learning the Java programming language?. Annual Conference on Information technology
education, New York, p. 121-126, out. 2014.
UNO ROBÓTICA. Disponível em: <www.unorobotica.com.br>. Acessado em: 29 jun. 2016.
VILARIM, Gilvan O. Algoritmos: Programação para Iniciantes. Rio de Janeiro: Editora Ciência
Moderna Ltda, 2004.
VONA, Marsette. Teaching Robotics Software With the Open Hardware Mobile Manipulator.
IEEE TRANSACTIONS ON EDUCATION, v. 56, n.1, p. 42-47, jan. 2013.
WANG, Danli; ZHANG, Lan; XU, Chao; HU, Haichen; QI, Yunfeng. A Tangible Embedded
Programming System to Convey Event-Handling Concept. International Conference on
Tangible, Embedded, and Embodied Interaction, New York, p. 133-140, fev. 2016.
85
APÊNDICE A – FUNDAMENTAÇÃO TEÓRICA DE
ESTRUTURA DE PROGRAMAÇÃO
Cada linguagem de programação possui sua própria sintaxe, mas todas possuem algumas
instruções básicas comuns, sendo primeiramente a entrada, que pode ser obtida através de um
teclado; a saída, que pode ser a exibição de dados na tela; a matemática, que pode ser a execução de
uma operação de adição; a expressão condicional, que pode verificar certas opções e realizar
alguma operação e, por fim, laços de repetição, que executarão algum bloco de instruções por
determinadas vezes (DOWNEY, 2012).
Os programas desenvolvidos devem, de alguma forma, possibilitar a entrada de dados, que
podem ficar armazenados em memória principal ou em memória secundária para uso futuro.
Posteriormente, devem produzir a ação de processamento, que pode ser tanto lógico como
matemático, onde transformará os dados de entrada ou dados previamente armazenados em alguma
fonte de informação. E por fim, deve possibilitar a saída de dados que tenham sido processados ou
até mesmo armazenados, que podem ser utilizados como fonte de informação, por exemplo, para a
tomada de decisões (MANZANO e OLIVEIRA, 2014).
A.1. ENTRADA DE DADOS
A entrada de dados ocorre de várias formas no algoritmo, a mais comum é a digitação de
dados pelo teclado, em que os mesmos serão alocados na memória do computador (CARBONI,
2003). O Quadro 2 demonstra a entrada de dados no português estruturado, que é formado pelo
comando “leia” e na linguagem de programação C, formado pelo comando “scanf”, sendo que cada
instrução contém uma string de controle de formato que dirá o formato do dado que será informado,
e possui os outros argumentos, que são os ponteiros para as variáveis em que serão armazenadas
(DEITEL, 2011).
Português estruturado
Sintaxe:
Leia(Variável1, variável2, variávelN)
Execução da instrução:
Leia(nota1, nota2)
86
Linguagem de programação C
Sintaxe:
Scanf(String-de-controle-formato, outros-
argumentos)
Execução da instrução:
Scanf(“%f%f”, ¬a1,¬a2);
Quadro 2. Entrada de Dados
A.2. PROCESSAMENTO DE DADOS
O processamento de dados acontece toda vez em que se efetua a atribuição de um valor a
uma variável ou se efetuada uma determinada operação matemática (CARBONI, 2003); pode ser
além de uma única operação, um grupo de operações que será o resultado de uma operação lógica
ou matemática (MANZANO; OLIVEIRA, 2014). O Quadro 3 demonstra o processamento em
português estruturado que, da mesma maneira que a linguagem de programação C, atribui o valor
do resultado de uma operação matemática, alterando apenas o formato da operação de atribuição.
Português estruturado
Sintaxe:
Variável valor
ou
Variável operação
Execução da instrução:
media 9,0
ou
media (nota1 + nota2)/2
Linguagem de programação C
Sintaxe:
Variável = valor
ou
Variável = operação
Execução da instrução:
media = 9,0;
ou
media = (nota1 + nota2)/2;
Quadro 3. Processamento de dados
87
A.3. SAÍDA DE DADOS
A saída de dados é responsável por demonstrar um resultado. Este é gerado por um
processamento ou uma mensagem de orientação para utilização do algoritmo desenvolvido (LOPES
e GARCIA, 2002). O Quadro 4 demonstra a saída de dados em português estruturado, representado
pelo comando “escreva”, e em linguagem de programação C, representado pelo comando “printf”,
que possui uma string de controle de forma, a qual descreve o formato de saída, e os outros
argumentos que são ponteiros para as variáveis que serão mostradas na tela do usuário (DEITEL,
2011).
Português estruturado
Sintaxe:
Escreva(Variável1, variável2, variável)
Execução da instrução:
Escreva(“Digite a nota 1 e a nota
2:”)
Execução da instrução com saída de resultado:
Escreva(“A media é: “, media)
Linguagem de programação C
Sintaxe:
printf (string-de-controle-formato, outros-
argumentos)
Execução da instrução:
Printf(“Digite a nota 1 e a nota 2”);
Execução da instrução com saída de resultado:
Printf(“A media é:%f”, media);
Quadro 4. Saída de dados
A.4. OPERADORES RELACIONAIS E LÓGICOS
Os operadores relacionais realizam uma comparação entre dois valores ou duas expressões
que têm como intuito verificar a magnitude, ou seja, qual é o maior ou menor, ou uma igualdade
entre eles, e como resultado, esse tipo de operador pode retornar o valor 1 (um), que significa que a
88
expressão relacional foi considerada verdadeira ou 0 (zero) que significa que a expressão relacional
foi considerada falsa (BACKES, 2013).
Estes operadores podem ser utilizados para construção de expressões lógicas do tipo
condicional, múltipla escolha, entre outras possíveis, e têm como objetivo verificar a relação entre
dois valores do mesmo tipo (ALMEIDA, 2013). A Tabela 12 demonstra os operadores relacionais
para utilização em português estruturado e linguagem de programação C.
Tabela 12. Operadores Relacionais
Operadores Relacionais Português estruturado Linguagem C
Igual = ==
Maior > >
Maior ou igual >= >=
Menor < <
Menor ou igual <= <=
Diferente <> !=
Os operadores lógicos permitem que seja possível estender o uso dos operadores relacionais,
fazendo com que possa se estabelecer composições lógicas mais sofisticadas (VILARIM, 2004). Os
valores lógicos são originários da lógica de Boole, sendo esta lógica composta por apenas dois
valores, que podem ser representados por 1 e 0, ou, Verdadeiro e Falso. Uma operação lógica
sempre operará com valores lógicos e com base neles resultará em um valor lógico (MEDINA;
FERTIG, 2006). A Tabela 13 demonstra um conjunto de operadores lógicos junto, seu respectivo
significado e como é sua sintaxe em português estruturado e linguagem de programação C.
89
Tabela 13. Operadores Lógicos
Operadores Lógicos Significado Português
estruturado
Linguagem C
Multiplicação Lógica
ou Conjunção
O resultado vai ser verdadeiro se
ambas as partes forem verdadeiras
E &&
Adição Lógica ou
Disjunção
O resultado vai ser verdadeiro se pelo
uma das partes for verdadeira
OU ||
Não lógico O resultado é a inversão do valor
lógico
NÃO !
A.5. ESTRUTURA DE CONDIÇÃO
No desenvolvimento de algoritmos pode ser necessário executar determinado procedimento
com base em uma, ou até mesmo uma série, de condições, sendo que a cada condição deve ser
realizado um determinado procedimento. Para estes casos, é necessário, na implementação do
algoritmo, o uso de comandos de condição ou de decisão que permitem que diferentes instruções
sejam executadas de acordo com a entrada de dados do algoritmo (MEDINA e FERTIG, 2006).
A estrutura de condição caracteriza-se pela execução de um bloco de instruções com base na
veracidade de uma condição, sendo que esta deve ser representada por expressões que utilizam
operadores relacionais ou lógicos; as estruturas de condições podem ser subdivididas em três
maneiras: a condicional simples, a condicional composta e a condicional múltipla (ALMEIDA,
2013).
A.5.1. Estrutura condicional simples
A estrutura de condicional simples oferece a capacidade de especificar se um bloco de
instruções será executado ou não, com base no resultado de uma condição de teste, sendo necessário
que está condição atenda à situação de verdadeira para que seja executado o bloco de instruções que
possui dentro da estrutura condicional simples (MARJI, 2014). Ela é representada pelo comando SE
90
no português estruturado e pelo comando IF na linguagem de programação C, como pode ser
observada sua sintaxe e aplicação no Quadro 5, que demonstra um exemplo de condição para
verificar se a média é maior ou superior a sete, caso seja verdadeiro, será apresentada a mensagem
“Aluno Aprovado”.
Português estruturado
Sintaxe:
Se <condição> entao
<bloco de comandos>
fimse
Execução da instrução:
Se media >= 7 entao
escreval(“Aluno aprovado”)
fimse
Linguagem de programação C
Sintaxe:
If (<condição>){
<bloco de comandos>
}
Execução da instrução:
If(media >= 7 ){
printf(“Aluno aprovado”);
}
Quadro 5. Estrutura condicional simples
A.5.2. Estrutura de condicional composta
A estrutura condicional composta determinará qual bloco de instruções será executado com
base na condição, se a condição for verdadeira, executará um determinado bloco, caso ela seja falsa,
executará outro determinado bloco, deste modo, a condição composta sempre executará algum
bloco de instruções, pelo fato de contemplar as duas possibilidades no momento de verificar a
condição (ALMEIDA, 2013).
No Quadro 6, pode se observar que a estrutura condicional composta no português
estruturado é representado através do SE...SENAO e na linguagem de programação C é
representado através do IF...ELSE, sendo demonstrado um exemplo o qual verifica se a média é
igual ou superior a sete, caso seja verdadeiro será apresentada a mensagem “Aluno Aprovado”, caso
contrário, apresentará “Aluno Reprovado”.
91
Português estruturado
Sintaxe:
Se <condição> entao
<bloco de comandos>
senao
<bloco de comandos>
fimse
Execução da instrução:
Se media >= 7 entao
escreval(“Aluno aprovado”)
senao
escreval(“Aluno reprovado”)
fimse
Linguagem de programação C
Sintaxe:
If (<condicao>){
<bloco de comandos>
}else{
<blocos de comandos>
}
Execução da instrução:
If (media>=7){
printf(“Aluno aprovado”);
}else{
printf(“Aluno reprovado”);
}
Quadro 6. Estrutura condicional composta
Em alguns algoritmos pode ser necessária a utilização de estrutura condicional composta
encadeada ou aninhada, pelo simples fato de se realizar um teste interno a outro, geralmente a partir
de uma combinação de decisões (VILARIM, 2004). Não se possui um limite de quantos testes
condicionais podem estar integrados dentro do outro, isto pode ser relativo com base no problema
que se pretende resolver, mas quanto maior seja o número de encadeamento, maior será o tempo de
execução do algoritmo (ALMEIDA, 2013).
O Quadro 7 demonstra a aplicação da estrutura condicional composta encadeada. Pode-se
observar em sua aplicação em português estruturado e linguagem de programação C que uma
condição está dentro da outra.
92
Português estruturado
Execução da instrução:
Se media < 5 entao
escreval(“Aluno reprovado”)
senao
se media < 7 entao
escreval(“Aluno em exame”)
senao
se media >=7 entao
escreval (“Aluno aprovado”)
fimse
fimse
fimse
Linguagem de programação C
Execução da instrução:
If (media < 5){
printf(“Aluno reprovado”)
}else{
if (media < 7){
printf(“Aluno em exame”)
}else{
if (media >=7){
printf (“Aluno aprovado”)
}
}
}
Quadro 7. Estrutura condicional composta encadeada
A.5.3. Estrutura condicional múltipla
A estrutura condicional múltipla verifica a igualdade do valor a ser testado com as opções
disponíveis, caso atenda o critério de alguma das opções, ele executará o bloco de comandos
corresponde à opção (ALMEIDA, 2013). Esta estrutura pode ser vista como uma especialização da
estrutura condicional composta encadeada, e seu objetivo é facilitar o uso em situações de vários
testes para a escolha de uma alternativa, tornando o código mais limpo e claro (MEDINA e
FERTIG).
93
O Quadro 8 demonstra a estrutura condicional multiplica em português estruturado, que é
representado pelo comando Caso e na linguagem de programação C, que é representado pelo
comando Switch. O exemplo demonstra que, caso seja informada alguma opção de um a três, se
executará o comando respectivo, caso contrário, mostrará a mensagem “Inválido”.
Português estruturado
Sintaxe:
Caso <valor a ser testado> seja
<valor1> : <bloco de comandos 1 >
<valor2> : <bloco de comandos 2 >
<valorN>: <bloco de comandos N>
senao <bloco de comandos X>
fimcaso
Execução da instrução:
Caso mes seja
1 : escreva(“Janeiro”)
2 : escreva(“Fevereiro”)
3 : escreva(“Março”)
senao escreva(“Inválido”)
fimcaso
Linguagem de programação C
Sintaxe:
Switch <valor a ser testado> {
case <valor1> : {<bloco de comandos 1 >;
break;}
case <valor2> : {<bloco de comandos 2 >;
break;
case <valorN>: {<bloco de comandos N>;
break;}
default:{ <bloco de comandos X>;}
}
Execução da instrução:
Switch mes {
case 1 : { printf(“Janeiro”);
break;}
case 2 : { printf(“Fevereiro”);
break;
case 3: { printf(“Março”);
break;}
default:{ printf(“Inválido”);}
}
Quadro 8. Estrutura condicional múltipla
94
A.6. ESTRUTURA DE REPETIÇÃO
Na resolução de alguns algoritmos é necessário que um bloco de comandos seja executado
por mais de uma determina vez, geralmente com base em alguma condição e, nestes casos, é
necessária a utilização de uma estrutura de repetição que permitirá executar um bloco de comandos
quantas vezes se fizerem necessários (BACKES, 2013). As estruturas de repetição, também são
conhecidas por laços ou loops, que por sua vez, são comandos de programação que definem ao
computador quantas vezes ele deve repetir uma determinada instrução (MARJI, 2014).
As estruturas de repetição possuem algo em comum, a condição de controle, através dela se
determina a expressão lógica ou booleana de controle do laço; é testada em cada ciclo para
determinar se a repetição prosseguirá ou irá parar, e as estruturas de repetição podem ser
classificadas em dois tipos, a condicional e a contada (ALMEIDA, 2013).
A.6.1. Estrutura de repetição condicional
Na estrutura de repetição condicional, o bloco de comandos será repetido até que se satisfaça
a condição de repetição determinada, geralmente é utilizada quando não se sabe o número de vezes
que será repetido. A sua condição pode ser testada no início, através do comando Enquanto, do
português estruturado, o While, da linguagem de programação C, ou no final, através do comando
Repita, do português estruturado ou Do...While, da linguagem de programação C (ALMEIDA,
2013).
A estrutura do comando Enquanto ou While se caracteriza por verificação de condição antes
de se iniciar o laço de repetição, e se a condição de verificação for verdadeira, será executado o
bloco de comandos dentro do laço até que a condição de verificação seja falsa, que saíra do laço de
repetição e passará a executar a próxima linha do algoritmo (MEDINA; FERTIG, 2006).
O Quadro 9 demonstra a sintaxe e a execução do comando Enquanto, em português
estruturado, que na linguagem de programação C, é representado pelo comando While, ambos
possuem após o comando, a condição de verificação do laço.
95
Português estruturado
Sintaxe:
Enquanto <expressão lógica> faca
<bloco de comandos>
fimenquanto
Execução da instrução:
Enquanto contador <=10 faca
escreva(“Contador = ”, contador)
contador contador + 1
fimenquanto
Linguagem de programação C
Sintaxe:
While (<expressão lógica>) {
<bloco de comandos>;
}
Execução da instrução:
While (contador <= 10) {
printf(“Contador = %i”, contador);
contador++;
}
Quadro 9. Estrutura de repetição condicional While
A estrutura do comando Repita ou Do...While é semelhante ao comando While, porém, a
sua principal diferença está na avaliação da condição do laço, sendo que no While, primeiramente,
avalia-se, condição para executar o laço de repetição. Já no Do...While, executa-se ao menos uma
vez o bloco de comandos que está dentro do laço para, posteriormente, verificar a condição, caso
esta condição seja verdadeira, o fluxo do laço será novamente repetido, sendo realizado isto até que
a condição seja falsa (BACKES, 2013).
O Quadro 10 demonstra a aplicação desta estrutura em português estruturado, que é
composta pelo comando Repita Ate e em linguagem de programação C, que é representado pelo
comando Do...While. Pode-se observar que em ambos os casos, a verificação da condição se realiza
no final do laço.
96
Português estruturado
Sintaxe:
Repita
<bloco de comandos>
ate <expressão lógica>
Execução da instrução:
Repita
escreval(“Contador =”, contador)
contador contador + 1
ate contador = 10
Linguagem de programação C
Sintaxe:
Do
<bloco de comandos>;
while(<expressão lógica>);
Execução da instrução:
Do
printf(“Contador = %i”,contador);
contador++;
while(contador = 10);
Quadro 10. Estrutura de repetição condicional Do...While
A.6.2. Estrutura de repetição contada
Na estrutura de repetição contada, o bloco de comandos é repetido por um determinado
número de vezes, geralmente utilizada quando se sabe previamente o número de vezes que precisa
executar um determinado bloco de comandos. Sua estrutura necessita de uma variável para ficar
responsável pelo controle do laço, sendo assim, saber quantas iterações já foram realizas e quantas
ainda faltam, e sua estrutura é representada pelo comando Para, no português estruturado e o
comando For, na linguagem de programação C (ALMEIDA, 2013).
O Quadro 11 apresenta a sintaxe e a execução desta estrutura em português estruturado,
pode-se observar o comando Para, que irá de um valor inicial até um valor final, e linguagem de
programação C, que inicializa com um valor e vai incrementando o mesmo a cada iteração e ao
alcançar o valor verdadeiro na condição, sairá do laço.
97
Português estruturado
Sintaxe:
Para <variável> de <valor inicial> ate <valor
limite> faca
<bloco de comandos>
fimpara
Execução da instrução:
Para i de 1 ate 10 faca
escreva(“Valor de i = ”,i)
fimpara
Linguagem de programação C
Sintaxe:
For(<inicio>;<condição>;<incremento>){
<bloco de comandos>;
}
Execução da instrução:
For(i=1;i<=10;i++){
printf(“Valor de i = %i”,i);
}
Quadro 11. Estrutura de repetição contada
98
APÊNDICE B – PROTOCOLO DE BUSCA
B.1. OBJETIVO DO ESTUDO
Executar um levantamento bibliográfico sistemático cujo objetivo é identificar, analisar e
avaliar trabalhos que apresentam aplicações de robótica para o ensino de programação.
B.2. PROCESSO DE BUSCA
Busca de artigos disponíveis em base de dados, relacionados abaixo, através de termos de
buscas.
B.3. ESTRATÉGIA DE BUSCA
São apresentadas a seguir as palavras-chaves utilizadas nos termos de busca, bem como cada
termo utilizado nas diferentes bases de pesquisas.
B.3.1. Fontes de pesquisa
IEEE: http://ieeexplore.ieee.org
Springer: http://link.springer.com/
ACM: http://portal.acm.org
ScienceDirect: http://www.sciencedirect.com/
CAPES: http://www.periodicos.capes.gov.br
B.3.2. Palavres chaves
Education, learning, teaching, educative robotics, robotics, programming, algorithm.
B.3.3. Termos de busca
A seguir é apresentando o termo de busca utilizado nas cinco bases já citadas, vale ressaltar
que algumas bases, se fez necessário aplicação de filtros disponíveis, afim de refinar ainda mais a
busca.
B.3.3.1. IEEE
((robotics OR educative robotics) AND (programming OR algorithm) AND (education OR
learning OR teaching ))
B.3.3.2. ACM
recordAbstract:((robotics "educative robotics" ) AND (programming algorithm) AND
(education learning teaching))
99
B.3.3.3. Springer
programming AND robotics AND (education OR learning OR teaching)
B.3.3.4. ScienceDirect
TITLE-ABSTR-KEY((robotics OR educative robotics) AND (programming OR algorithm))
and TITLE-ABSTR-KEY( (education OR learning OR teaching ))
B.3.3.5. CAPES
(robotics OR educative robotics) AND (programming OR algorithm) AND (education OR
learning OR teaching)
B.4. CRITÉRIOS DE ACEITAÇÃO
Para a seleção dos trabalhos foi utilizando os seguintes critérios de inclusão:
Analisar se o título ou palavras-chaves apresentam algum dos termos de busca;
Publicações a partir de 2010 até 2016;
Analisar se o resumo apresenta uma visão geral do trabalho com contextualização do
problema, a metodologia utilizada e os resultados obtidos;
Publicações que informam uso de robótica para o ensino de programação.
B.5. CRITÉRIOS DE EXCLUSÃO
Os critérios de exclusão foram utilizados os seguintes:
Publicações que informam uso de robótica para ensino, mas sem relação à programação;
Resumo em desacordo com o título;
Não apresentar proposta pedagógica ou temas ligados ao ensino-aprendizagem;
Não ter aplicação prática entre robótica educacional e programação;
Não estar disponível para acesso ou download.
B.6. EXTRAÇÃO DE DADOS
Para cada trabalho selecionado foi realizado a extração dos seguintes dados:
Título;
100
Autores e Ano;
Nível de estudo;
Principais objetivos;
Tecnologia utilizada;
Linguagem de programação;
Instrumento de avaliação;
Amostra;
Resultados.
101
APÊNDICE C – TRABALHOS RELACIONADOS
Relação dos trabalhos selecionados e analisados, com a extração de dados realizada.
Título Autores/Ano Nível de
estudo
Principais Objetivos Tecnologia
utilizada
Ling.
Programação
Instrumento
avaliação
Amostra Resultados
Educational
Robots as
Collaborative
Learning
Objects for
Teaching
Computer
Science
BURBAITE,
Renata;
STUIKYS,
Vytautas;
DAMASEVIC
IUS, Robertas,
2013.
Ensino
médio
Prover uma estrutura
de objetos de
aprendizagem com uso
da robótica para
demonstrar o ensino de
algoritmos e
programação
LEGO
Mindstorms
NTX
- Observação e
analise de
conteúdo.
- Os alunos obtiveram a
compreensão dos
tópicos relacionados ao
curso de ciência da
computação, bem como
um maior engajamento e
participação em trabalho
em equipe.
Impact of
Learning
Experiences
Using LEGO
Mindstorms in
Engineering
Courses
PANADERO,
Carmen
F.;ROMÁN,
Julio
V.;KLOOS,
Carlos D.,
2010.
Graduação Estimular a motivação
dos alunos sobre o
aprendizado de
programação nas
etapas inicias do curso.
LEGO
Mindstorms
NTX
- Questionário e
observação.
98 Aumento da motivação
dos alunos, e maior
interesse pela
programação.
Teaching
Programming
for High
School
Students Using
the Lego
Mindstorms
Robot
BARRETO,
Valéria B.;
L’ERARIO,
Alexandre;FA
BRI, José A.,
2015
Ensino
médio
Propor a inserção de
alunos em ambientes
lúdicos que
possibilitem a
aprendizagem de lógica
de programação para
promover o ensino de
algoritmos e estrutura
de dados.
LEGO
Mindstorms
NTX
- Observação e
analise de
conteúdo.
4 Possibilitou a inserção
dos alunos ao ambiente
de programação e
promoveu novos
conhecimentos,
desenvolvendo a lógica
computacional.
MATLAB
Meets LEGO
Mindstorms - A
Freshman
Introduction
Course Into
Practical
Engineering
BEHRENS,
Alexander et.
al., 2010.
Graduação Aplicar métodos
matemáticos na prática
e a criação de
algoritmos de
aplicações do mundo
real ou simulação,
utilizando MATLAB.
LEGO
Mindstorms
NTX
MATLAB Analise de
conteúdo,
observação e
questionário.
309 Aumento na motivação
dos alunos,
desenvolvimento do
trabalho em equipe e
gestão de atribuições,
bem como aumento das
habilidades em
MATLAB.
102
New Tools and
Methodologies
for
Programming
Languages
Learning using
the Scribbler
Robot and
Alice
SALCEDO,Se
bastian L.;
IDROBO, Ana
M., 2011.
Graduação Estimular e motivar o
ensino de programação
para os cursos de
engenharia, através de
métodos atraentes aos
alunos.
Scribbler - Entrevista e
questionário.
- As tecnologias
empregadas foram bem
recebidas pelos alunos,
aumentando o interesse
deles pelo estudo de
programação.
Attractive
Demonstrations
with Wire
Programming
Robot “REDi”
SOUSA,
Armando et.
al., 2015.
Ensino
médio
Propor um robô que
pode ser usado para
apresentar aos alunos
os componentes
robóticos, bem como
apresentar para a
criação de algoritmo
mesmo sem qualquer
experiência em
programação
REDI - Observação e
questionário.
- Os alunos facilmente
compreenderam os
conceitos de
programação e de
robótica, sendo o
ensinamento divertido
por parte deles.
The
Application of
LeJOS, Lego
Mindstorms
Robotics, in an
LMS
Environment to
Teach Children
Java
Programming
and
Technology at
an Early Age
RAO, Ankith,
2015
Ensino
médio
Criar um método mais
eficaz e atraente para o
ensino-aprendizagem
de programação Java e
conceitos de robótica.
Lejos e
LEGO
Mindstorms
Java Pré e pós teste - Obteve uma taxa de
satisfação de 90% dos
alunos, e um aumento
no interesse a cursos de
programação e robótica.
Também obteve uma
melhor compreensão,
por parte dos alunos, a
programação Java e
robótica.
Starter-Project
for First
Semester
Students to
Survey Their
Engineering
Studies
ROTHE, Irene,
2015
Graduação Permitir fácil acesso
aos alunos de
engenharia à
programação,
algoritmos, tecnologia
de sensores e robótica,
além de fortalecer
princípios
matemáticos.
LEGO
Mindstorms
NXT
- Análise de
material e auto
avaliação.
36 Os alunos relataram que
suas habilidades em
programação
aumentaram, e elevaram
seus níveis de
compreensão e
criatividade,
aumentando a
motivação.
103
Teaching
Robotics
Software With
the Open
Hardware
Mobile
Manipulator
VONA,
Marsette;
SHEKAR,
N.H., 2013.
Graduação e
pós-
graduação
Propor uma nova
plataforma de software
e hardware livre
(OSHW) para ensinar
algoritmos e
fundamentos de
robótica para
estudantes com boa
base em ciência da
computação.
OHMM C Análise de
material e
feedback.
24 Motivou e apoiou o
ensino de robótica e
algoritmos a alunos de
com diversas formações.
Os alunos relataram que
o curso ajudou a
desenvolver habilidades
que poderiam aumentar
suas oportunidades de
emprego, e alguns
relataram que os
motivou o estudo de
pós-graduação na área
de robótica.
Sneaking In
Through The
Back Door:
Introducing K-
12 Teachers to
Robot
Programming
KAY, Jennifer
S. et. al., 2014.
Professores
ensino
fundamental
Ensinar programação a
professores de ensino
básico, sem experiência
prévia no mesmo,
utilizando LEGO a fim
de introduzir conceitos
de ciência da
computação dentro de
suas unidades
curriculares.
LEGO
Mindstorms
NXT
- Pré e pós teste 44 Participantes relataram
que se perceberam
competentes ou
qualificados em
programação, e
obtiveram confiança
para ensinar o mesmo.
Além disto, eles
indicaram que
obtiveram habilidades
necessárias para ensinar
STEM.
Hands-on
Learning of
Programming
Concepts Using
Robotics for
Middle and
High School
Students
SAAD,
Ashraf;
KROUTIL,
Ryan M.,
2012.
Ensino
médio e
fundamental
Ensinar conceitos de
programação e
matemática a alunos do
ensino médio e
fundamental utilizando
robótica, para
incentivar a área de
ciência da computação.
RidgeSoft
IntelliBrain
Bot
- Questionário 36 Obteve-se aumento
significativo nos níveis
de confiança, motivação
e intenção dos alunos de
seguir na área de ciência
da computação.
Learning to
Program with
Personal
Robots:
Influences on
Student
Motivation
MCGILL,
Monica M.,
2012.
Graduação Aplicar o uso de
robótica para motivar
os alunos de cursos que
possuem disciplinas de
programação, mas não
são relacionados
ciência da computação,
Scribbler - Pré o pós teste
35 Os resultados indicam
que a utilização da
robótica teve uma
influência positiva sobre
as atitudes dos
participantes no sentido
de aprender a programar
104
a aprender programar.
em um curso não
relacionado à área de
ciência da computação,
mas pouco ou nenhum
efeito sobre a
relevância, confiança,
ou satisfação dos
mesmos.
Initial Phases
of Design-
based Research
into the
Educational
Potentials of
NAO-Robots
MAJGAARD,
Gunver;
BERTEL,
Lykke B.,
2014.
Ensino
Fundamental
e Médio
Utilizar robô
humanoide, NAO, para
ensinar programação a
alunos de ensino
fundamental e médio.
NAO - Observação,
análise de
material e
entrevista.
34 Aplicação ensino
fundamental:
As maiorias dos alunos
compreenderam o
conceito de
programação, sendo
apenas dois alunos não
compreenderam.
Aplicação ensino médio:
Eles relaram que a
programação do robô
NÃO é fácil do que a
programação de LEGO
Mindstorms, e acharam
muito motivador.
Social Robot
Toolkit:
Tangible
Programming
for Young
Children
GORDON,
Michal;
ACKERMAN
N, Edith;
BREAZEAL,
Cynthia, 2015.
Pré-escolar Propor uma abordagem
apropriada de
programação tangível,
através da robótica,
para crianças pequenas
com adesivos
reutilizáveis para
representar regras para
o robô executar,
focando na interação
social.
Social
Robot
Toolkit
- Observação,
questionário oral
antes, durante e
após a
intervenção.
8 As crianças aprenderam
com facilidade sobre
lógica de programação e
as regras entre ela e o
robô, sendo que elas
foram altamente
engajadas e expressaram
entusiasmo e emoção
em "ensinar" o robô
fazer coisas novas.
Designing a
Relational
Social Robot
Toolkit for
Preschool
Children to
Explore
GORDON,
Michal et. al.,
2015.
Pré-escolar Introdução de um
ambiente tangível,
através da robótica,
para ensino de
programação e
pensamento
computacional com
Social
Robot
Toolkit
- Pré e pós teste 20 Todas as crianças
disseram que gostaram
do robô e relataram com
entusiasmo que elas
gostariam de programar
o robô novamente com
um amigo. As crianças
105
Computational
Concepts
interação social com
avaliação preliminar de
22 crianças de pré-
escolar.
foram capazes de captar
os conceitos de regras
para se comunicar com
o robô provocando ter
uma interação
envolvente, lúdica e
divertida.
A Tangible
Embedded
Programming
System to
Convey Event-
Handling
Concept
WANG, Danli
et. al., 2016.
Ensino
fundamental
Projetar e propor um
ambiente de
programação tangível,
utilizando a robótica,
para que crianças de
ensino fundamental
aprendam conceitos de
programação.
TanProRob
ot 2.0
- Questionário e
observação
11 Todas as crianças
disseram que gostaram
muito das atividades, e a
maioria delas relatou
que achou fáceis as
atividades de
programação.
Descobriu-se que
TanProRobot 2.0 é um
interessante ambiente de
programação para
crianças, e é fácil de
aprender e de se usar
The Practical
Application of
LEGO
MINDSTORM
S Robotics
Kits: Does it
Enhance
Undergraduate
Computing
Students’
Engagement in
Learning the
Java
Programming
Language?
TSANG,
Ethan;
GAVAN,
Collete;
ANDERSON,
Mark, 2014
Graduação Compreender os efeitos
da aplicação de
robótica, com LEGO
Mindstorms, em
relação ao ensino da
linguagem de
programação Java.
LEGO
Mindstorms
Java Questionários,
entrevistas e
observações
50 As descobertas do
estudo apresentam que a
aplicação de robótica
com Lego Mindstroms
envolveu de forma
positiva os alunos do
ensino superior a
aprender a linguagem de
programação Java.
Introducing
Computer
Programming
to Children
through
Robotic and
MERKOURIS,
Alexandros;
CHORIANOP
OULOS,
Konstantinos,
2015.
Ensino
fundamental
Avaliar
experimentalmente os
benefícios
comparativos entre
computação vestível e
robótica para o ensino
Lego
Mindstorms,
Arduino
LilyPad e
Scratch
- Questionário e pré
e pós-teste.
36 Descobriu-se que os
alunos expressam mais
emoções positivas
durante a programação
com a robótica e não
com a desktop, sendo
106
Wearable
Devices
de programação. que a computação
vestível não afetou o
desempenho, além disto,
eles obtiveram um
aprendizado maior em
programação com a
robótica.
A Comparison
of Preschool
and Elementary
School
Children
Learning
Computer
Science
Concepts
through a
Multilanguage
Robot
Programming
Platform
MARTÍNEZ,
Cecilia;
GÓMEZ,
Marcos J.;
BENOTTI,
Luciana, 2015.
Pré-escolar e
ensino
fundamental
Analisar com
diferentes grupos de
idades de crianças o
ensino de conceitos de
programação, através
de uma plataforma
robótica de
programação que
permite os alunos a
descobrirem novos
conceitos programação
por conta própria.
UNC++Dui
no
- Observação e
analise de
material.
190 Através das
intervenções escolares
percebeu-se que todas as
crianças,
independentemente da
sua faixa etária, poderia
intuitivamente aprender
conceitos de
programação, e aplicar
essas noções de
programação no robô.
Porém, as crianças mais
velhas conseguiram
combinar estes
conceitos para criar
novos programas.
A Solution to
Support
Student
Learning of
Programming
COSTA,
Carlos J.;
APARICIO,
Manuela;
CORDEIRO,
Carlos, 2012
Graduação Propor um novo
simulador robótico
para ajudar o ensino de
a programação.
Dragon-
robot(Simul
ador)
- Questionário 78 Os alunos relataram que
o simulador possui um
bom suporte o
desenvolvimento dos
exercícios, sendo que o
simulador se mostrou
mais positivo em relação
aos estudados.
Experiences of
Prospective
High School
Teachers Using
a Programming
Teaching Tool
MAJOR,
Louis;
KYRIACOU,
Theocharis;
BRERETON,
Pearl, 2011.
Graduação Determinar a eficácia e
potencial de um
simulador robótico
para ensino de
programação e
identificar as
percepções a respeito à
programação dos
participantes.
Simulador - Pré e pós teste 23 O simulador melhorou a
confiança dos
participantes em relação
ao ensino de
programação, e
relataram que o
simulador oferece um
valioso método de
ensinar conceitos
básicos de programação.
107
Robotics in the
early childhood
classroom:
learning
outcomes from
an 8-week
robotics
curriculum in
pre-
kindergarten
through second
grade
SULLIVAN,
Amanda;
BERS, Marina
U., 2016.
Pré-escolar e
Ensino
Fundamental
Descrever como se
pode ensinar robótica e
programação em sala
de aula para ensinar
alunos do pré-escolar
até o ensino
fundamental, através
do kit robótico KIWI.
KIWI - Análise de
conteúdo.
60 As crianças, na média,
foram altamente bem
sucedidas em dominar
programação básica e os
conceitos de robótica,
porém em soluções que
necessitavam um maior
número de instruções os
alunos do pré-escolar
tiveram mais
dificuldades.
The Effect of a
Classroom-
Based Intensive
Robotics and
Programming
Workshop on
Sequencing
Ability in Early
Childhood
KAZAKOFF,
Elizabeth R.;
SULLIVAN,
Amanda;
BERS, Marina
U., 2012.
Jardim de
infância e
pré-escola
Prover um aumento na
capacidade de
sequenciamento de
crianças do jardim de
infância e pré-escola,
através do ensino de
programação e
robótica.
LEGO
Education
WeDoTM
Robotics
Constructio
n Sets
- Pré e pós teste 27 Obteve-se um impacto
significativo e positivo
sobre as pontuações da
capacidade de
sequenciamento dos
participantes, algo
fundamental na área de
programação e isto em
apenas uma semana.
Gender
differences in
kindergarteners
’ robotics and
programming
achievement
SULLIVAN,
Amanda;
BERS, Marina
U., 2012.
Jardim de
infância
Determinar se meninos
e meninas obteve
sucesso no ensino de
programação e
robótica, comparando
os resultados dos
sexos.
LEGO
Mindstorms
RCX
- Teste de
avaliação,
observação,
entrevistas e
análise de
material.
53 Meninas e meninos
obtiveram sucesso e
gratificante experiência
ao serem expostas a
robótica e programação.
Além disto, observou-se
que as meninas realizam
igualmente aos meninos,
sendo em apenas
algumas áreas não
obtiveram a mesma
equivalência.
Experiences
Incorporating
Lego
Mindstorms
Robots in the
Basic
Programming
Syllabus:
ALVAREZ,
Ainhoa;
LARRANAG
A,
Mikel, 2015.
Graduação Introduzir
Lego Mindstorms para
apoiar o ensino de
programação, a fim de
proporcionar uma
educação mais eficaz e
eficiente.
LEGO
Mindstorms
- Pré e pós-teste,
questionário e
entrevista
19 Obteve-se um aumento
no interesse e motivação
dos alunos, além disto, a
experiência mostrou que
os alunos perceberam
que a robótica os ajudou
a compreender melhor
conceitos de
108
Lessons
Learned
programação e do curso.
E a taxa de evasão
reduziu de 60% para
40%.
Robotic and
virtual world
programming
labs to
stimulate
reasoning and
visual-spatial
abilities
CACI,
Barbara;
CHIAZZESE,
Giuseppe;
D’AMICO,
Antonella,
2013.
Ensino
médio
Estabelecer se as
robóticas educacionais,
baseadas em LEGO, e
ambientes virtuais são
eficazes para o
desenvolvimento de
habilidades cognitivas
e acadêmicas, como
programação.
LEGO
Mindstorms
- Pré e pós-teste e
questionário.
59 Os dados confirmam a
importância do uso da
robótica educacional e
ambientes virtuais para
incentivar o
desenvolvimento de
habilidades cognitiva e
acadêmicas. E através
de ambientes de
aprendizagem baseada
na resolução de
problemas, como a
programação do robô,
exercem o raciocínio
lógico ativamente.
Developing
technological
knowledge and
programming
skills of
secondary
schools
students
through the
educational
robotics
projects
TOCHACEK
A,
Daniel;
LAPES,
Jakub;
FUGLÍKA,
Viktor, 2016.
Alunos
ensino
médio,
professores e
educadores.
Identificar o potencial e
os aspectos da
educação com robótica
educacional em escolas
de ensino médio, a fim
de desenvolver
conhecimentos
tecnológicos e
competências dos
alunos em
programação e também
a formação de
professores para
orientá-los na prática
da educação.
LEGO
Mindstorms
NXT
- Observação e
entrevista
99 A robótica educacional
se mostrou uma
importante ferramenta
pedagógica que pode ser
usada na relação teoria e
prática, desenvolvendo
os conhecimentos e
habilidades de
programação em alunos
de ensino médio. Os
resultados indicam que o
uso de robótica
educacional aumenta a
qualidade do processo
educativo.
Experiences on
using Arduino
for laboratory
experiments of
Automatic
Control and
Robotics
CANDELAS,
Francisco et.
al., 2015.
Graduação e
mestrado.
Proporcionar o ensino
de programação
orientado objeto e de
hardware de forma
atraente, fácil e de
baixo custo.
GoShield-
GR,
Robonova e
Arduino
- Questionário - Os alunos rapidamente
aprenderam com
Arduino, adquirindo
novas habilidades,
sendo que alunos
obtiveram conhecimento
em programação e
109
conceitos de hardware,
através do
desenvolvimento e a
programação de robôs e
máquina com as
especificações
repassadas.
Robotic
teaching for
Malaysian
gifted
enrichment
program
RAMLI,
Rizauddin;
YUNUSB,
Melor;
ISHAK,
Noriah M.,
2011.
- Desenvolver o
interesse em um novo
estilo de aprendizagem
robótica e
programação, tendo em
conta a variação de
aprendizagem
individual.
LEGO NXT
Mindstorms
- Pré e pós-teste 48 Através do uso de
LEGO Mindstorms
NXT, como meio de
ensino, permitiu um
ambiente ativo de
aprendizagem,
habilidades de
comunicação
interpessoal e
habilidades de
programação entre os
alunos.
Students Learn
Programming
Faster Through
Robotic
Simulation
LIU, Alisson
et. al., 2013.
Ensino
médio
Analisar o desempenho
de ensino de
programação utilizando
a robótica física e
virtual.
VEX e
Robot
Virtual
Worlds
- Pré e pós-teste 26 Tanto a turma que
utilizou a robótica física
como a virtual
obtiveram desempenhos
equivalentes. Porém o
trabalho com os robôs
virtuais permitiu que os
alunos aprendessem de
forma mais eficiente,
concentrando-se apenas
na programação, ao
contraio dos alunos da
turma de robótica física
que tinham problemas
de comunicação entre o
robô e o computador e
mecânicos.
The Wheels on
the Bot go
Round and
Round:
Robotics
KAZAKOFF,
Elizabeth R.;
SULLIVAN,
Amanda;
BERS, Marina
Pré escola Descrever a
possibilidade de aplicar
um curso de robótica
na pré-escola,
analisando os
LEGO
WeDo
- Observação,
entrevista e pré e
pós teste
37 O estudo demonstrou
que crianças da pré-
escola são capazes de
aprender a programar
um robô com as
110
Curriculum in
Pre-
Kindergarten
U., 2013. resultados de
aprendizagem dos
alunos, e os
pensamentos dos
professores.
ferramentas adequadas,
além disto, o estudo
fornece evidências
preliminares de que
ensinar as crianças
através de programação
de computadores e
robótica, utilizando
ferramentas adequadas,
pode ser uma ferramenta
poderosa para a
educação das crianças
em vários domínios.
Effects of
Using Model
Robots in the
Education of
Programming
PASZTOR,
Attila; PAP
SZIGETI,
Robert;
TOROK, Erika
L., 2010
Graduação Introduzir o uso de
robótica para ensino de
programação, para que
os alunos possam
estudar as bases da
programação, na
prática, com o uso de
dispositivos reais.
LEGO
Mindstorms
NXT
- Pré e pós teste e
questionário
73 O novo método
utilizando a robótica
pode contribuir ao
desenvolvimento da
aprendizagem,
especialmente os
conceitos de
programação. Além
disto, ela reforçou e
ampliou a motivação
dos alunos,
conquistando uma maior
confiança na sua
programação.
Educational
Robotics as
Mindtools
MIKROPOUL
OS, Tassos A.,
BELLOU,
Joanna, 2013
- Investigar os resultados
do ensino de
programação utilizando
a robótica educacional,
para alunos de 15 anos,
com LEGO.
LEGO - Analise de
material
7 Todos os alunos deram
as corretas soluções para
todos os problemas,
sendo assim, mostra que
a robótica educacional é
uma ferramenta
poderosa que pode ser
usada para o ensino
aprendizagem de
programação.
111
APÊNDICE D – PLANO DE AULA PRIMEIRA INTERVENÇÃO
Identificação
Data/Intervenção: Intervenção 1 – Entrada, processamento e saída de dados e linearização de expressões.
Curso: Aprendizagem Industrial em Informática
Unidade
Curricular: Conceitos de programação
Turma: AI INFO M1 Carga horária: 4 Hrs Ano/Semestre: 2016/2
Informações do plano de aula
Descrição
Nesta primeira sessão será apresentado aos alunos, da turma em Aprendizagem em Informática Industrial, o robô móvel que
será utilizado para demonstrar os conceitos de robótica das atividades, bem como, os elementos utilizados para a construção
dele. Posteriormente, a fim de envolvê-los neste cenário, os alunos iram “batizar” o robô com o nome que acharem mais
adequados e democraticamente. Após está etapa, os alunos irão observar o robô móvel em funcionamento, com objetivo de
despertar o interesse deles pelos objetos de ensino. Em seguida, será apresentado, pelo professor, aos alunos a IDE de
desenvolvimento do Arduino, e os comandos essências para desenvolvimento dos desafios, desenvolvendo um exemplo. Em
seguida, o professor irá realizar uma breve explicação do conceito de entrada, processamento e saída de dados e também
sobre a aplicação de linearização de expressões, utilizando o robô móvel. Nesta explicação o robô móvel irá demonstrar a
distância em que um objeto se encontra de sua base, sendo utilizado um sensor ultrassônico para captar a distância e um
display LCD 16x2 para demonstrar a distância em centímetros e metros, além da base do robô móvel. Na sequência os
alunos serão guiados para resolverem o desafio proposto.
Objetivo Geral
Reconhecer os aspectos básicos de robótica e a IDE de desenvolvimento do Arduino, e prover o ensino do conceito prático
de entrada, processamento e saída de dados, bem como a aplicação de linearização de expressões.
Conteúdo
Linguagem de programação;
Programação estrutura;
Entrada, processamento e saída de dados;
Linearização de expressões;
Cronograma da aula
112
Cronograma da aula
Apresentação do robô móvel
Tempo estimado: 20 min.
Estratégia: Aula expositiva e dialogada com utilização do robô móvel.
Avaliação: Respostas as perguntas de forma oral.
Eleição do nome ao robô móvel
Tempo estimado: 10 min.
Estratégia: Eleição democrática do nome ao robô móvel
Avaliação: Dúvidas proferidas e trabalho em equipe.
Demonstração do funcionamento do robô móvel
Tempo estimado: 25 min.
Estratégia: Aula expositiva e dialogada com demonstração do robô móvel
Avaliação: Respostas às perguntas de forma oral.
Explicação sobre o funcionamento da IDE do Arduino
Tempo estimado: 30 min.
Estratégia: Aula expositiva e dialogada com explicação da IDE do Arduino
Avaliação: Dependente dos desafios
Construção e explicação de uma aplicação de entrada, processamento e saída, com linearização de expressão.
Tempo estimado: 35 min.
Estratégia: Aula expositiva e dialogada com utilização do robô móvel e o braço robótico
Avaliação: Dependente dos desafios
Realização do missão 1 do desafio.
Tempo estimado: 120 min.
Estratégia: Disponibilização do enunciado do desafio e correção pelo professor.
Avaliação: Desenvolvimento dos programas, trabalho em equipe, organização e zelo na utilização dos
equipamentos, dúvidas proferidas.
Bibliografia
EVANS, Martin; NOBLE, Joshua; HOCHENBAUM, Jordan. Arduino em ação. São Paulo (SP): Novatec, c2013. 424 p.
BANZI, Massimo. Primeiros passos com o arduino. São Paulo (SP): Novatec, c2011. 151 p.
FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. Lógica de programação: a construção de algorítmos
e estrutura de dados. 3. ed. São Paulo (SP): Pearson Prentice Hall, c2005. xii, 218 p.
113
APÊNDICE E – PLANO DE AULA SEGUNDA INTERVENÇÃO
Identificação
Data/Intervenção: Intervenção 2 – Estrutura de condição IF e operadores lógicos
Curso: Aprendizagem Industrial em Informática
Unidade
Curricular: Conceitos de programação
Turma: AI INFO M1 Carga horária: 4 Hrs Ano/Semestre: 2016/2
Informações do plano de aula
Descrição
Na segunda sessão será iniciado o encontro com uma breve revisão dos conteúdos abordados na sessão um. Após esta etapa,
o professor irá realizar a explicação sobre estrutura de condição, sendo abordado nesta sessão apenas o comando IF/ELSE,
utilizando o robô móvel. Nesta explicação o robô móvel irá emitir um aviso sonoro, quando identificar um obstáculo à sua
frente a menos de 30 centímetros, sendo utilizando um buzzer, para emitir o aviso sonoro, e um sensor ultrassônico para
captar a distância dos obstáculos, além da base do robô móvel. Após esta explicação, será explicado sobre os operadores
lógicos AND e OR, e como aplicar eles em uma estrutura de condição IF. Nesta explicação o robô móvel irá ter duas
condições, a primeira é se o obstáculo estiver entre 30cm até 50cm ele irá emitir bips contínuos e espaçado, e a outra
condição é se o obstáculo estiver abaixo de 30cm ele irá emitir um aviso sonoro agudo e continuo. Na sequência os alunos
serão guiados para resolverem o desafio proposto.
Objetivo Geral
Reconhecer os aspectos básicos de robótica e prover o ensino do conceito prático de estrutura de condição, neste caso o
comando IF, operadores lógicos AND e OR, além da entrada, processamento e saída de dados.
Conteúdo
Linguagem de programação;
Programação estrutura;
Estrutura de condição;
Operadores lógicos;
Entrada, processamento e saída de dados;
Cronograma da aula
114
Revisão sobre os conteúdos abordados na sessão 1
Tempo estimado: 15 min.
Estratégia: Aula expositiva e dialogada com utilização do robô móvel.
Avaliação: Respostas às perguntas de forma oral.
Explicação sobre estrutura de condição IF/ELSE e operadores lógicos AND/OR.
Tempo estimado: 45 min.
Estratégia: Aula expositiva e dialogada com utilização do robô móvel.
Avaliação: Dependente dos desafios
Realização missão 2 do desafio.
Tempo estimado: 180 min.
Estratégia: Disponibilização do enunciado do desafio e correção pelo professor.
Avaliação: Desenvolvimento dos programas, trabalho em equipe, organização e zelo na utilização dos
equipamentos, dúvidas proferidas.
Bibliografia
EVANS, Martin; NOBLE, Joshua; HOCHENBAUM, Jordan. Arduino em ação. São Paulo (SP): Novatec, c2013. 424 p.
BANZI, Massimo. Primeiros passos com o arduino. São Paulo (SP): Novatec, c2011. 151 p.
FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. Lógica de programação: a construção de algorítmos
e estrutura de dados. 3. ed. São Paulo (SP): Pearson Prentice Hall, c2005. xii, 218 p.
115
APÊNDICE F – PLANO DE ENSINO TERCEIRA
INTERVENÇÃO
Identificação
Data/Intervenção: Intervenção 3 – Estrutura de condição Case
Curso: Aprendizagem Industrial em Informática
Unidade
Curricular: Conceitos de programação
Turma: AI INFO M1 Carga horária: 4 Hrs Ano/Semestre: 2016/2
Informações do plano de aula
Descrição
Na terceira sessão será iniciado o encontro com uma breve revisão dos conteúdos abordados na sessão dois. Após esta etapa,
o professor irá realizar uma explicação sobre estrutura de condição, sendo abordado neste encontro o comando CASE,
utilizando o robô móvel. Nesta explicação o robô móvel será controlado por comandos enviados através da comunicação
serial, sendo que ele irá possuir quatro comandos, como demonstrado na tabela abaixo.
Comando Ação
FRENTE Este comando irá deslocar o robô móvel ao movimento a frente por 3
segundos, após este tempo ele irá parar e aguardar outro comando.
RE Este comando irá deslocar o robô móvel ao movimento de ré por 3 segundos,
após este tempo ele irá parar e aguardar outro comando.
VIRAR Este comando irá virar o robô móvel em um sentido de 180° a direita, após
este tempo ele irá parar e aguardar outro comando.
ZIGZAG Este comando irá deslocar o robô móvel a frente com um movimento de
zigue-zague por 3 segundos, após este tempo ele irá parar e aguardar outro
comando.
Na sequência os alunos serão guiados para resolverem o desafio proposto.
Objetivo Geral
Reconhecer os aspectos básicos de robótica e prover o ensino do conceito prático de estrutura de condição, neste caso o
comando CASE, além da entrada, processamento e saída de dados.
Conteúdo
Linguagem de programação;
Programação estrutura;
Estrutura de condição;
Entrada, processamento e saída de dados;
116
Cronograma da aula
Revisão sobre os conteúdos abordados na sessão 2
Tempo estimado: 15 min.
Estratégia: Aula expositiva e dialogada com utilização do robô móvel.
Avaliação: Respostas às perguntas de forma oral.
Explicação sobre estrutura de condição CASE.
Tempo estimado: 45 min.
Estratégia: Aula expositiva e dialogada com utilização do robô móvel.
Avaliação: Dependente dos desafios
Realização missão 3 do desafio.
Tempo estimado: 180 min.
Estratégia: Disponibilização do enunciado do desafio e correção pelo professor.
Avaliação: Desenvolvimento dos programas, trabalho em equipe, organização e zelo na utilização dos
equipamentos, dúvidas proferidas.
Bibliografia
EVANS, Martin; NOBLE, Joshua; HOCHENBAUM, Jordan. Arduino em ação. São Paulo (SP): Novatec, c2013. 424 p.
BANZI, Massimo. Primeiros passos com o arduino. São Paulo (SP): Novatec, c2011. 151 p.
FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. Lógica de programação: a construção de algorítmos
e estrutura de dados. 3. ed. São Paulo (SP): Pearson Prentice Hall, c2005. xii, 218 p.
117
APÊNDICE G – PLANO DE ENSINO QUARTA INTERVENÇÃO
Identificação
Data/Intervenção: Intervenção 4 – Estrutura de repetição While e Do...While
Curso: Aprendizagem Industrial em Informática
Unidade
Curricular: Conceitos de programação
Turma: AI INFO M1 Carga horária: 4 Hrs Ano/Semestre: 2016/2
Informações do plano de aula
Descrição
Na quarta sessão será iniciado o encontro com uma breve revisão dos conteúdos abordados na terceira sessão. Após esta
etapa, o professor irá realizar uma explicação sobre estrutura de repetição, sendo abordados neste encontro os comandos
While e Do While, utilizando o robô móvel. Nesta explicação o robô móvel apenas andará enquanto a distância entre a base
do robô e algum objeto estiver acima de 30 cm, sendo a distância captada através do sensor ultrassônico acoplado a base do
robô. Na sequência os alunos serão guiados para resolverem o desafio proposto.
Objetivo Geral
Reconhecer os aspectos básicos de robótica e prover o ensino do conceito prático de estrutura de repetição, neste caso os
comandos While e Do While, além da entrada, processamento e saída de dados.
Conteúdo
Linguagem de programação;
Programação estrutura;
Estrutura de repetição;
Entrada, processamento e saída de dados;
Cronograma da aula
118
Revisão sobre os conteúdos abordados na sessão 3
Tempo estimado: 20 min.
Estratégia: Aula expositiva e dialogada com utilização do robô móvel.
Avaliação: Respostas às perguntas de forma oral.
Explicação sobre estrutura de condição While e Do While.
Tempo estimado: 60 min.
Estratégia: Aula expositiva e dialogada com utilização do robô móvel.
Avaliação: Dependente dos desafios
Realização missão 4 do desafio.
Tempo estimado: 160 min.
Estratégia: Disponibilização do enunciado do desafio e correção pelo professor.
Avaliação: Desenvolvimento dos programas, trabalho em equipe, organização e zelo na utilização dos
equipamentos, dúvidas proferidas.
Bibliografia
EVANS, Martin; NOBLE, Joshua; HOCHENBAUM, Jordan. Arduino em ação. São Paulo (SP): Novatec, c2013. 424 p.
BANZI, Massimo. Primeiros passos com o arduino. São Paulo (SP): Novatec, c2011. 151 p.
FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. Lógica de programação: a construção de algorítmos
e estrutura de dados. 3. ed. São Paulo (SP): Pearson Prentice Hall, c2005. xii, 218 p.
119
APÊNDICE H – PLANO DE ENSINO QUINTA INTERVEÇÃO
Identificação
Data/Intervenção: Intervenção 5 – Estrutura de repetição FOR
Curso: Aprendizagem Industrial em Informática
Unidade
Curricular: Conceitos de programação
Turma: AI INFO M1 Carga horária: 4 Hrs Ano/Semestre: 2016/2
Informações do plano de aula
Descrição
Na quinta e última sessão será iniciado o encontro com uma breve revisão dos conteúdos abordados na quarta sessão. Após
esta etapa, o professor irá realizar uma explicação sobre estrutura de repetição, sendo abordado neste encontro o comando
FOR, utilizando o robô móvel. Nesta explicação o robô móvel andará para frente em um ciclo de 5 vezes, sendo após isto
irá repetir outro ciclo de 5 vezes porém repetindo outros movimentos. Na sequência os alunos serão guiados para resolverem
o desafio proposto.
Objetivo Geral
Reconhecer os aspectos básicos de robótica e prover o ensino do conceito prático de estrutura de repetição, neste caso os
comando FOR, além da entrada, processamento e saída de dados.
Conteúdo
Linguagem de programação;
Programação estrutura;
Estrutura de repetição;
Entrada, processamento e saída de dados;
Cronograma da aula
120
Revisão sobre os conteúdos abordados na sessão 4
Tempo estimado: 20 min.
Estratégia: Aula expositiva e dialogada com utilização do robô móvel.
Avaliação: Respostas às perguntas de forma oral.
Explicação sobre estrutura de condição For.
Tempo estimado: 40 min.
Estratégia: Aula expositiva e dialogada com utilização do robô móvel.
Avaliação: Dependente dos desafios
Realização missão 5 do desafio.
Tempo estimado: 180 min.
Estratégia: Disponibilização do enunciado do desafio e correção pelo professor.
Avaliação: Desenvolvimento dos programas, trabalho em equipe, organização e zelo na utilização dos
equipamentos, dúvidas proferidas.
Bibliografia
EVANS, Martin; NOBLE, Joshua; HOCHENBAUM, Jordan. Arduino em ação. São Paulo (SP): Novatec, c2013. 424 p.
BANZI, Massimo. Primeiros passos com o arduino. São Paulo (SP): Novatec, c2011. 151 p.
FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. Lógica de programação: a construção de algorítmos
e estrutura de dados. 3. ed. São Paulo (SP): Pearson Prentice Hall, c2005. xii, 218 p.
123
APÊNDICE J – MISSÃO 1
Você e sua equipe foram escolhidos para o desenvolvimento de uma parte de um grande projeto,
que irá virar um produto inovador no mercado, e que irá auxiliar inúmeras pessoas. Para realizar o
desenvolvimento do RobClean você terá cinco missões, sendo que em cada missão o produto vai se
aperfeiçoando e obtendo novas funções.
Nesta primeira missão, vocês devem realizar a montagem da base do robô e desenvolver um
algoritmo capaz de realizar leitura dos dados fornecidos pelo sensor ultrassônico, sendo ele um
elemento muito importante, pois através dele será capaz de detectar os obstáculos à frente do robô.
O sensor deve estar ligado nas portas A4 e A5 do Arduino. Após realizarem a leitura, devem
linearizar a seguinte expressão:
Esta expressão é a que converte o valor lido do sensor ultrassônico para centímetros. Com isto,
podemos ter noção de quantos centímetros o robô está do objeto a sua frente.
Após obter o valor em centímetros mostre o mesmo no LCD 16x2 da seguinte maneira:
Lembrem sempre de trabalhar em equipe.
124
APÊNDICE K – MISSÃO 2
Agora que você e sua equipe realizaram a primeira missão, vamos inserir novas funções ao robô.
Na primeira missão vocês construíram a base do robô e desenvolveram um algoritmo capaz de
realizar a leitura de um sensor ultrassônico, realizar o cálculo necessário para obter a distância em
centímetros e mostraram no LCD 16x2. Agora vocês precisam inserir uma nova função neste
algoritmo desenvolvido, que é emitir bips contínuos e espaçados, através do buzzer que deve estar
ligado na porta digital 2 do Arduino, quando o sensor identificar caso algum objeto entre uma
distância entre 30 e 50 centímetros da base. Caso o objeto esteja abaixo de 30 centímetros o robô
emitir um bip contínuo.
Percebam que agora o robô deverá tomar alguma decisão com base no valor obtido do sensor, para
isto incremente o algoritmo desenvolvido na missão dois fazendo com que ele continue mostrando a
distância no LCD 16x2 e bip ao encontrar algum obstáculo que esteja abaixo de 30 cm de distância
de sua base.
Lembrem sempre de trabalhar em equipe.
125
APÊNDICE L – MISSÃO 3
Pois bem, o robô RobClean está tomando forma, e está ficando cada vez mais inteligente a
autônomo para realizar as suas tarefas, porém vamos inserir uma nova função afim de melhor
visualizar a distância que o robô está de um objeto.
Na segunda missão vocês aperfeiçoaram o algoritmo, sendo que agora é capaz de bipar ao encontrar
um objeto a menos de 30 cm. Porém, precisamos possibilitar que se escolha em qual unidade de
medida será mostrada a distância que o RobClean está de um objeto no LCD 16x2. Para isto, é
necessário que desenvolvam no algoritmo a possibilidade desta escolha, então vamos adotar o
seguinte padrão:
Opção Unidade
1 Milímetros
2 Centímetros
3 Metros
Com base na tabela acima, incremente o algoritmo de vocês com a leitura de um dado da
comunicação serial, e com base na opção mostrem a distância em que o robô esta do objeto, no
LCD 16x2, utilizando a unidade de medida escolhida.
Sempre quando ligado ao RobClean ele irá aguardar com a opção de medida que deve adotar para
mostrar a distância no LCD 16x2, pois caso contrário não irá mostrar nada.
É necessário que utilize o comando de condição CASE, para desenvolver este algoritmo. Para testa-
lo basta abrir o Monitor Serial da IDE do Arduino e informar a opção que deseja.
Lembrem sempre de trabalhar em equipe.
126
APÊNDICE M – MISSÃO 4
A cada missão que se passa o robô RobClean está mais inteligente e autônomo, e cada vez com
mais funções, porém o RobClean não andou até agora, pois bem, até agora, pois agora vocês terão a
missão de desenvolver está função a ele.
Até a terceira missão você e sua equipe trabalharam para captar a leitura do sensor ultrassônico e
realizar algumas funções sobre ela. Agora não será diferente, precisamos muito deste dado, assim
vamos orientar o RobClean a qual direção ele deve andar.
Vocês devem continuar incremente o algoritmo da missão passada, e agora devem desenvolver um
algoritmo em que o robô seja capaz de andar sozinho, porém apenas se o sensor ultrassônico não
encontrar algum obstáculo com distancia abaixo de 20 centímetros. Caso ele encontre, o robô deve
parar e girar para um dos lados e seguir em frente novamente, caso não tenha algum obstáculo.
Nesta missão é necessário que utilize o comando de condição While ou Do While, para desenvolver
este algoritmo. As demais funções desenvolvidas nas missões passadas devem continuar operantes.
Lembrem sempre de trabalhar em equipe.
.
127
APÊNDICE N – MISSÃO 5
Agora vocês irão para última missão do projeto RobClean, agora o robô já está se movimento,
desviando de obstáculo, mostrando a distância em três unidades de medida no LCD 16x2 e emitindo
aviso sonoro quando está próximo de algum obstáculo. Agora vocês devem desenvolver a
mensagem inicial que irá aparecer no LCD 16x2 ao ligar ele.
Na missão 4, vocês desenvolveram um código capaz de movimentar o robô e desviar dos obstáculos
detectados a sua frente. Agora precisamos desenvolver a função inicial ao ligar o RobClean, esta é
uma exigência solicitada por outro grupo do projeto, pois é necessário que o robô, ao ser ligado,
fique 7 segundos parado, para inicializar todos os componentes.
Sendo assim, você e sua equipe devem incrementar o algoritmo da missão 4, desenvolvendo a
função de inicializar do robô. Ao ser ligado ele deve escrever uma mensagem no LCD 16x2 do
seguinte modo:
Através da imagem pode-se perceber que na linha 1 do LCD 16x2 está escrito a mensagem
“Carregando...” e na linha 2 ele demonstra a mensagem “Aguarde:” e quantos segundos ainda falta
para ele inicializar, sendo que ele começa em 7s e vai decrementando até chegar em 0s e iniciar o
algoritmo principal.
É necessário que utilize o comando de repetição FOR, para desenvolver este algoritmo de
inicialização.
Lembrem sempre de trabalhar em equipe. Ao finalizar a missão chame o professor para verificar e
avaliar.
128
APÊNDICE O – TESTE DE AVALIAÇÃO 1
1. (1,0) Os algoritmos, em sua grande maioria, possuem três fases básicas que acontecem em
uma determinada sequência. Assinale a alternativa que corresponde com esta afirmação.
A) Entrada, processamento e saída
B) If, else e switch
C) Captação, retenção e gravação
D) Le, escreve e apaga
2. (1,5) Identifique as fases do algoritmo abaixo, escrevendo no campo ao lado de cada opção.
const int LM35 = 0;
float temperatura = 0;
int valor_lido = 0;
void setup(){
Serial.begin(9600);
}
void loop(){
valor_lido = analogRead(LM35);
temperatura = ADClido * 0.1075268817204301;
Serial.print(temperatura);
delay(1000);
}
3. (1,0) Assinale a opção que corresponde à linearização da expressão demonstrada abaixo.
A) Imc= (peso/altura)*altura
B) peso= imc*altura/altura
C) Imc = peso/altura*altura
D) Imc = peso/(altura*altura)
4. (0,5) Para se verificar se um número é par ou é ímpar pode se utilizar a estrutura de condição
IF...ELSE
( ) verdadeiro ( )falso
5. (1,0) A condição ELSE é atendida quando:
A) A condição do IF é falso
B) A condição do IF é verdadeiro
C) Finaliza o algoritmo
D) A condição do IF é intermediária
129
6. (1,0) Quando utilizado o operador lógico AND em uma estrutura de condição IF, a condição
será atendida quando:
A) Algumas das condições forem verdadeiras
B) Todas as condições forem falsas
C) Apenas uma afirmação for verdadeira
D) Todas as condições forem verdadeiras
7. (1,0) Quando utilizado o operador lógico OR em uma estrutura de condição IF, a condição
será atendida quando:
A) Todas as condições forem falsas
B) Uma ou todas as condições for verdadeira
C) Existir apenas uma condição
D) Exclusivamente a primeira condição for verdadeira
8. (1,0) O comando de condição SWITCH possui, além do CASE, o DEFAULT em sua
estrutura, que é utilizando quando:
A) Nem um dos casos atende a condição estabelecida no SWITCH
B) Todos os casos atendem a condição estabelecida no SWITCH
C) Alguns dos casos atendem a condição estabelecida no SWITCH
D) O SWITCH está com erro de sintaxe
9. (1,0) O comando de condição SWITCH é melhor empregando em qual situação
A) Quando o valor da expressão de condição possui apenas uma solução
B) Quando o comando IF apresenta erro de sintaxe
C) Quando o valor da expressão de condição possui uma lista de casos possíveis
D) Quando se deseja em criar um algoritmo qualquer
130
APÊNDICE P – TESTE DE AVALIAÇÃO 2
1. (1,0) Através dos comandas DO...WHILE E WHILE permite que seja:
A) Realizado uma condição de teste para verificar se um valor é par ou é impar
B) Repetido todo o bloco de comandos que possui dentro de si até que seja atendida a condição
estabelecida
C) Repetido todo o bloco de comandos que possui dentro de cada comando apenas uma vez
D) Repetido a todo o momento um bloco de comandos sem que seja atendida uma condição
2. (1,0) De qual forma será o modo de saída de uma estrutura de condição DO...WHILE:
A) Quando a avaliação de condição alcançar um valor real
B) Quando a avaliação de condição resultar em verdadeira
C) Quando a avaliação de condição resultar em uma palavra reservada do compilador
D) Quando a avaliação de condição resultar em falso
3. (1,0) Através da estrutura de repetição WHILE repete o bloco de instruções que possui
dentro de si até:
A) Avaliação de condição seja um valor real
B) Avaliação de condição seja verdadeira
C) Avaliação de condição seja falsa
D) Avaliação de condição seja uma palavra reservada do compilador
4. (1,5) Faça uma estrutura de repetição, utilizando o comando WHILE, que tem como
condição de saída x maior que 10.
5. (1,5) Faça uma estrutura de repetição, utilizando o comando WHILE, que tem como
condição de saída x menor que 3.
6. (1,0) Através do comando FOR permite que seja:
A) Repetido através de uma verificação de condição se um valor é verdadeiro ou falso
B) Repetido todo bloco de instruções que possui dentro do comando por um determinado
número de vezes
C) Repetido todo o bloco de comandos que possui dentro do comando apenas e exclusivamente
uma vez
D) Verificado e repetido um valor aleatório gerado pelo sistema a todo o momento no algoritmo
7. (0,5) Através do comando FOR é possível desenvolver um algoritmo que acenda e apague
uma lâmpada 15 vezes seguidas.
( ) Verdadeiro ( ) Falso
131
8. (1,0) A estrutura do comando FOR é formando por três elementos, quais são eles:
A) Variável de controle, Valor inicial e Valor final
B) Valor inicial, valor parcial e valor final
C) Valor inicial, teste de controle e incrementador
D) Variável de liderança, teste de controle e valor inicial
9. (1,5) Faça uma estrutura de repetição, utilizando o comando FOR, que vá de 1 até 20.
132
APÊNDICE Q – TESTE DE AVALIAÇÃO 1 – GRUPO DE
CONTROLE
1. (1,0) Os algoritmos, em sua grande maioria, possuem três fases básicas que acontecem em
uma determinada sequência. Assinale a alternativa que corresponde com esta afirmação.
E) Entrada, processamento e saída
F) If, else e switch
G) Captação, retenção e gravação
H) Le, escreve e apaga
2. (1,5) Identifique as fases do algoritmo abaixo, escrevendo no campo ao lado de cada opção.
#include <stdio.h>
int main(void) {
float nota1, nota2, media = 0;
scanf("%f", ¬a1);
scanf("%f", ¬a2);
media = (nota1+nota2)/2;
printf("%0.2f", media);
}
3. (1,0) Assinale a opção que corresponde à linearização da expressão demonstrada abaixo.
E) Imc= (peso/altura)*altura
F) peso= imc*altura/altura
G) Imc = peso/altura*altura
H) Imc = peso/(altura*altura)
4. (0,5) Para se verificar se um número é par ou é ímpar pode se utilizar a estrutura de condição
IF...ELSE
( ) verdadeiro ( )falso
10. (1,0) A condição ELSE é atendida quando:
E) A condição do IF é falso
F) A condição do IF é verdadeiro
G) Finaliza o algoritmo
H) A condição do IF é intermediária
133
5. (1,0) Quando utilizado o operador lógico AND em uma estrutura de condição IF, a condição
será atendida quando:
E) Algumas das condições forem verdadeiras
F) Todas as condições forem falsas
G) Apenas uma afirmação for verdadeira
H) Todas as condições forem verdadeiras
6. (1,0) Quando utilizado o operador lógico OR em uma estrutura de condição IF, a condição
será atendida quando:
E) Todas as condições forem falsas
F) Uma ou todas as condições for verdadeira
G) Existir apenas uma condição
H) Exclusivamente a primeira condição for verdadeira
7. (1,0) O comando de condição SWITCH possui, além do CASE, o DEFAULT em sua
estrutura, que é utilizando quando:
E) Nem um dos casos atende a condição estabelecida no SWITCH
F) Todos os casos atendem a condição estabelecida no SWITCH
G) Alguns dos casos atendem a condição estabelecida no SWITCH
H) O SWITCH está com erro de sintaxe
8. (1,0) O comando de condição SWITCH é melhor empregando em qual situação
E) Quando o valor da expressão de condição possui apenas uma solução
F) Quando o comando IF apresenta erro de sintaxe
G) Quando o valor da expressão de condição possui uma lista de casos possíveis
H) Quando se deseja em criar um algoritmo qualquer
134
APÊNDICE R – ANÁLISE DE CONTEÚDO
Critério Peso Nota
Código fonte
Identou e organizou o código fonte 0,25
Comentou as instruções no código fonte 0,25
Interpretou de forma correta a lógica das missões 0,75
Utilizou corretamente a estrutura de condição IF/ELSE 0,75
Utilizou corretamente a estrutura de condição CASE 0,75
Utilizou corretamente a estrutura de repetição DO...WHILE ou WHILE 0,75
Utilizou corretamente a estrutura de repetição FOR 0,75
Finalizou e entregou o código fonte sem erros 0,75
Etapas do desafio
Realizou a leitura do sensor ultrassônico corretamente 0,5
Linearizou a expressão para obter a distância do sensor ultrassônico
corretamente
0,5
Realizou a leitura dos dados enviados através da comunicação serial
corretamente
0,5
Demonstrou os dados de distância no LCD 16x2 corretamente 0,5
Movimentou o robô para frente corretamente 0,5
Movimentou o robô para algum dos lados corretamente 0,5
Permitiu o robô desviar um obstáculo à frente o desviando corretamente 0,5
Implementou a tela de inicialização utilizando a variável de controle
corretamente
0,5
135
APÊNDICE S – QUESTIONÁRIO
Assinale com X a opção que melhor descreve cada item a ser avaliado. Sendo que 5 indica a nota
máxima e 1 a mínima.
Item a ser avaliado Mínimo 1 2 3 4 5 Máximo
1. Facilidade no desenvolvimento dos desafios
propostos Nenhuma Muita
Observações/Justificativa (preenchimento opcional):
2. Facilidade no desenvolvimento das missões do
projeto RobClean Nenhuma Muita
Observações/Justificativa (preenchimento opcional):
3. O projeto contribuiu para compreender estrutura
de condição (IF e Switch) Pouco Bastante
Observações/Justificativa (preenchimento opcional):
4. O projeto contribuiu para compreender estrutura
de repetição (While Do..While e For) Pouco Bastante
Observações/Justificativa (preenchimento opcional):
5. O projeto contribuiu para compreender do
conceito de entrada/processamento e saída Pouco Bastante
Observações/Justificativa (preenchimento opcional):
6. As aulas contribuíram para o seu interesse em
programação
Observações/Justificativa (preenchimento opcional):
7. Número de horas destinadas para o projeto Insuficiente Suficiente
Observações/Justificativa (preenchimento opcional):
136
8. Qualidade do material preparado/apresentado
para realizadas das tarefas
Inadequada Adequada
Observações/Justificativa (preenchimento opcional):
9. Grau de satisfação com as atividades realizadas
pelo projeto Pouca Bastante
Observações/Justificativa (preenchimento opcional):
10. Comentários finais
137
ANEXO A – MATRIZ CURRICULAR DO CURSO
Matriz Curricular Carga Horária
Unidades Curriculares Total
Básicas
Fundamentos de comunicação oral e escrita 52
Fundamentos de matemática 52
Saúde e segurança do trabalho 24
Organização e preparação para o trabalho 20
Ética, cidadania e meio ambiente 20
Específicas do
segmento tecnológico
Inglês aplicado à informática 24
Fundamentos de Internet 28
Especificas da
ocupação
Montagem e manutenção de computadores e
periféricos
72
Instalação de sistemas operacionais e aplicativos 60
Introdução a redes locais 56
Edição de textos 40
Planilhas eletrônicas 48
Editores de apresentação 24
Conceitos de banco de dados 60
Conceitos de programação 60
Introdução a linguagem de programação 80
Desenvolvimento de páginas de internet 80
Total 800
138
ANEXO B – PLANO DE ENSINO CONCEITOS DE
PROGRAMAÇÃO
Unidade Curricular Conceitos de programação PR -
Módulo Único Carga
Horária
60 h
Competências
Desenvolver programas de computador, utilizando linguagens de programação, ferramentas de
desenvolvimento e testes funcionais
Conhecimentos
Linguagem de programação, Metodologia de testes, programação estruturada, estrutura de
arquivos, Conceitos de Orientação a Objetos.
Habilidades
Desenvolver aplicações para manipulação de arquivos;
Realizar testes funcionais;
Utilizar linguagem de programação;
Utilizar ferramentas para criação de programas.
Atitudes
Organização e zelo na utilização de equipamentos;
Foco no conteúdo trabalhado;
Acesso a sítios relacionados ao tema trabalhado;
Organização e limpeza dos ambientes coletivos;
Dedicação e empenho nas atividades curriculares e extra-curriculares;
Capacidade de abstração;
Trabalho em equipe;
Apresentação de novas soluções para situações problemas;
Cumprimento de prazos;
Análise crítica das produções.
139
ANEXO C – PLANO DE ENSINO INTRODUÇÃO A
LINGUAGEM DE PROGRAMAÇÃO
Unidade Curricular Introdução a Linguagem de Programação PR -
Módulo Único Carga
Horária
80 h
Competências
Desenvolver algoritmos utilizando técnicas e lógica em ambiente computacional
Conhecimentos
Estruturas de controle e repetição; Estruturas de dados heterogêneas; Estruturas de dados
homogêneas (vetores); Funções, procedimentos; Metodologias de testes (teste de mesa);
Programação estruturada; Pseudocódigo; Tipos de dados;
Variáveis e constantes; Operadores Aritméticos, Relacionais e Lógicos,
Expressões Lógicas e Aritméticas.
Habilidades
Aplicar a Introdução à Programação;
Aplicar linguagens para construção de algoritmos;
Estruturar soluções lógicas;
Elaborar documentação do algoritmo;
Executar testes manuais e automatizados;
Aplicar abstração.
Atitudes
Organização e zelo na utilização de ambiente e equipamentos;
Foco no conteúdo trabalhado;
Dedicação e empenho nas atividades curriculares e extra-curriculares;
Capacidade de abstração;
Trabalho em equipe;
Cumprimento de prazos;
Análise crítica das produções.
140
ANEXO D – PLANO DE ENSINO FUNDAMENTOS DE
MATEMÁTICA
Unidade Curricular Fundamentos de Matemática PR -
Módulo Único Carga
Horária
52 h
Competências
Aplicar ferramentas matemáticas para resolução de problemas inerentes as suas atividades
profissionais.
Conhecimentos
Operações fundamentais (adição, subtração, multiplicação, divisão); Fração (próprias e
impróprias); Potenciação; Radiciação; Números naturais, inteiros, racionais, definição,
representação e leitura; Razão e proporção (relação direta e inversa); Regra de três simples e
composta; Porcentagem (percentual ou taxa); Cálculo de juros; Unidades de medidas (
comprimento, área, tempo, ângulo, massa, volume ); Cálculo de áreas, volume e massa; Álgebra;
Funções matemáticas; Noções de estatística; Trigonometria; Coordenadas cartesianas.
Habilidades
Ler e interpretar dados expressos em manuais, catálogos, gráficos e tabelas;
Transformar unidades de medidas (comprimento, área, tempo, ângulo, massa, volume);
Realizar cálculos de área, tempo, ângulo, volume e massa;
Analisar dados de informações e desenvolver gráficos estatísticos;
Resolver situações-problema que envolve porcentagem e juros;
Utilizar calculadora científica;
Realizar cálculos matemáticos necessários para o dimensionamento de peças e componentes
utilizados na atividade profissional.
Atitudes
Pró-atividade; Demonstrar capacidade de planejamento e organização do próprio trabalho;
Demonstrar capacidade de relacionamento interpessoal mantendo comportamento ético;
Demonstrar capacidade de solucionar problemas;
Trabalhar em equipe;
Organização e limpeza dos ambientes coletivos;
141
ANEXO E – LISTA DE EXERCÍCIOS – GRUPO DE CONTROLE
1. O número 3025 possui a seguinte característica: 30 + 25 = 55 -> 55*55 = 3025. Fazer um
programa para obter todos os números de 4 algarismos com a mesma característica do
número 3025.
2. Fazer um programa para mostrar os 100 primeiros termos da série de Fibonacci.
3. Fazer um programa para mostrar todos os números perfeitos entre 1 e 100.
4. Fazer um programa para receber um número inteiro do usuário e determinar se este número
é primo ou não.
5. Fazer um programa para receber um número do usuário e decompô-lo em fatores primos.
6. Fazer um programa para receber dois números do usuário e calcular o seu MDC utilizando o
método de Euclides. O programa deve continuar pedindo dois números até que 0 e 0 sejam
fornecidos.
7. Fazer um programa para receber dois números inteiros do usuário e mostrar o seu MMC
(mínimo múltiplo comum).
8. Dada a afirmação: “A tem o dobro da idade que B tinha quando A tinha a idade que B tem.
Quando B tiver a idade de A, somarão 81 anos.”. Fazer um programa para calcular as idades
de A e B no método “força bruta”.
9. Fazer um programa para medir os reflexos do usuário. O programa deve:
a. Mostrar a palavra “Saque” após um tempo aleatório
b. Contar o tempo (em qualquer unidade) até que o usuário digite uma tecla e mostrar
esse tempo.
c. Dicas: random() e kbhit().
10. Fazer um programa para mostrar a soma de todos os números 4 do dominó.
11. Fazer um programa no qual o usuário vai entrando sucessivamente com valores positivos.
Quando o usuário entrar com um valor negativo o programa pára de pedir valores e calcula a
média dos valores já fornecidos.