142
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

Modelo de Dissertaçãosiaibib01.univali.br/pdf/Wagner Titon.pdf · Orientador: Alejandro Rafael Garcia Ramirez, Dr. Itajaí (SC), Fevereiro de 2017. FOLHA DE APROVAÇÃO ... LCD

  • 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”, &nota1,&nota2);

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.

121

APÊNDICE I – DESCRITIVO DO DESAFIO - ROBOCLEAN

122

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", &nota1);

scanf("%f", &nota2);

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.