experiˆencias com coding dojo nos cursos de sistemas de...
TRANSCRIPT
MINISTERIO DA EDUCACAOUNIVERSIDADE FEDERAL RURAL DA AMAZONIA
Dener Roberto de Souza Ripardo
Experiencias com Coding Dojo nos Cursos deSistemas de Informacao e Licenciatura em
Computacao da UFRA
Belem-PA2018
Dener Roberto de Souza Ripardo
Experiencias com Coding Dojo nos Cursos de Sistemasde Informacao e Licenciatura em Computacao da UFRA
Trabalho de Conclusao de Curso apresen-tado ao Instituto Ciberespacial (ICIBE) daUniversidade Federal Rural da Amazonia(UFRA), como exigencia parcial para ob-tencao do tıtulo de Licenciado em Com-putacao. Elaborado sob orientacao do Dr.Fabio de Lima Bezerra.
Universidade Federal Rural da Amazonia
Instituto Ciberespacial
Curso de Licenciatura em Computacao
Orientador: Dr. Fabio de Lima Bezerra
Belem-PA2018
Ficha elaborada pela Bibliotecária Nilzete Ferreira Gomes (CRB-2/1231)
Ripardo, Dener Roberto de Souza
Experiências com Coding Dojo nos cursos de sistemas de informação
e licenciatura em computação da UFRA – Belém, 2018.
45 f.
Trabalho de Conclusão de Curso (Graduação em Licenciatura em
Computação) – Universidade Federal Rural da Amazônia, 2018.
Orientador: Fábio de Lima Bezerra.
1. Coding Dojo 2. Programação de computadores 3. Aprendizagem
colaborativa I. Bezerra, Fábio de Lima (orient.) II. Título.
CDD – 371.337
Dener Roberto de Souza Ripardo
Experiencias com Coding Dojo nos Cursos de Sistemasde Informacao e Licenciatura em Computacao da UFRA
Trabalho de Conclusao de Curso apresen-tado ao Instituto Ciberespacial (ICIBE) daUniversidade Federal Rural da Amazonia(UFRA), como exigencia parcial para ob-tencao do tıtulo de Licenciado em Com-putacao. Elaborado sob orientacao do Dr.Fabio de Lima Bezerra.
Dr. Fabio de Lima BezerraOrientador
Ma. Decıola Fernandes de SousaConvidada 1
Ma. Emilce Nascimento PachecoConvidada 2
Belem-PA2018
Dedico este trabalho aos meus pais pelo incondicional amor, apoio eincentivo.
Agradecimentos
Eu, Dener Roberto de Souza Ripardo:
Primeiramente agradeco a Deus, pelas oportunidades concedidas por Ele, e porter me dado forcas para enfrentar e superar as todas as dificuldades no caminho.
Agradeco aos meus pais, Jose Roberto Pinheiro Ripardo & Marinalva de SouzaRipardo, pela educacao, princıpios e valores transmitidos, ao amor incondicional, alem doapoio e incentivo prestados durante toda minha vida.
Aos companheiros de curso e amigos que conquistei, que comigo vivenciaram edividiram todas as experiencias e aprendizados desde o ingresso na universidade ate oatual momento.
Agradeco a todos os funcionarios da Universidade Federal Rural da Amazonia(UFRA), que contribuıram e contribuem para uma Universidade melhor, educando eformando profissionais de excelencia, para o exercıcio de suas funcoes, em especial aequipe da Divisao de Apoio Pedagogico (DAPE), na qual, por um perıodo de dois anosfiz parte e pude aprender e desenvolver os conhecimentos adquiridos durante o curso. Aosprofessores, aos mestres e doutores da UFRA pelo convıvio e contribuicao, alem de todasas experiencias dentro e fora de sala de aula foram de grande relevancia e estımulo para queeu pudesse obter conhecimentos essenciais para profissional licenciado em computacao.
Ao meu professor e orientador, Prof Dr. Fabio de Lima Bezerra, por sempreapresentar uma postura etica e profissional, alem dos ensinamentos e orientacoes, queforam fundamentais durante todo este processo. E ao meu prezado colega de curso,Waldinei Romano Cavalcante de Sousa, que me prestou grande colaboracao na realizacaodeste trabalho.
Este agradecimento se estende a todos aqueles, que direta ou indiretamente deramincentivo e possibilitaram a conclusao de mais uma etapa em minha vida.
“Sua luta nao termina quando sentir cansaco,mas sim quando atingir o sucesso tao merecido.”
ResumoDentre as dificuldades evidenciadas em cursos de computacao no ensino superior, o apren-dizado de uma linguagem de programacao e desenvolvimento das habilidades e com-petencias necessarias ao exercıcio da programacao de computadores, estao entre as maispreocupantes, pois o insucesso nestes aspectos podem traduzir-se em elevados ındicesde repetencia de alunos. Estrategias alternativas de ensino de programacao, mostram-se eficazes em suprimir a problematica apresentada. Diante disto, este trabalho relataa experiencia e os resultados da aplicacao de uma metodologia de carater colaborativo,e voltado para a resolucao de problemas, o Coding Dojo, para alunos ingressantes doscursos de Bacharelado em Sistemas de Informacao e Licenciatura em Computacao, daUniversidade Federal Rural da Amazonia. Para tal, foram realizados oito encontros, quepropiciaram o aprendizados de conceitos da linguagem de programacao Java, o desenvol-vimento conjunto de habilidades, como o pensamento computacional e algoritmo, alemdo constante exercıcio da programacao. Com base nas avaliacoes realizadas pelos partici-pantes, 70% dos alunos mostraram-se satisfeitos com a experiencia. Logo, a metodologiaCoding Dojo se revela como uma possıvel ferramenta no auxilio, aprendizado e incentivoa pratica de programacao de computadores no ensino superior.
Palavras-chaves: Coding Dojo, Programacao de Computadores, Retencao, Aprendiza-gem Colaborativa.
AbstractAmong the difficulties evidenced in computer science courses in higher education, learninga programming language and developing the skills and competences required to exercisecomputer programming are among the most worrisome, the more students fail in theseaspects higher rates of students may evade and remain stagnant in their academic life. Al-ternative programming teaching strategies are effective in suppressing this problem. Dueto this, this work reports the experience and results of a collaborative and problem solvingmethodology application, the Coding Dojo, for freshmen students in courses InformationSystens Bachelor and Computing at the Universidade Federal Rural da Amazonia. Eightmeetings were accomplished, which allowed the learning of Java programming languageconcepts, the skills development in group, such as computational thinking and algorithm,besides the constant programming exercises. Based on the assessments made by the par-ticipants, 70 % of the students were satisfied with the experience. Then, the Coding Dojomethodology reveals itself as a possible tool in assisting, learning and encouraging thepractice of computer programming in higher education.
Keywords: Coding Dojo, Computer Programming, Retention, Collaborative Learning.
Lista de ilustracoes
Figura 1 – Interface Netbeans IDE 8.0.2 . . . . . . . . . . . . . . . . . . . . . . . 26Figura 2 – Coding Dojo Randori - fonte: Marinho, 2016. . . . . . . . . . . . . . . 29Figura 3 – Coding Dojo Kata - fonte: Marinho, 2016. . . . . . . . . . . . . . . . . 30Figura 4 – Coding Dojo Kake - fonte: Marinho, 2016. . . . . . . . . . . . . . . . . 30Figura 5 – Ficha de auto-avaliacao SAM . . . . . . . . . . . . . . . . . . . . . . . 31Figura 6 – Ficha de avaliacao BRM . . . . . . . . . . . . . . . . . . . . . . . . . . 32Figura 7 – Progressao dos votos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Figura 8 – Formulario de Inscricao . . . . . . . . . . . . . . . . . . . . . . . . . . 49Figura 9 – Folder 01 - Operadores Matematicos, Variaveis e Funcoes . . . . . . . . 51Figura 10 – Folder 02 - Exercıcios Operadores Matematicos, Variaveis e Funcoes . . 53Figura 11 – Folder 03 - Estruturas de Selecao, Operadores de Logicos e de Com-
paracao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Figura 12 – Folder 04 - Exercıcios Estruturas de Selecao . . . . . . . . . . . . . . . 57Figura 13 – Folder 05 - Estruturas de Repeticao . . . . . . . . . . . . . . . . . . . . 59Figura 14 – Folder 06 - Exercıcios Operadores de Repeticao . . . . . . . . . . . . . 61
Lista de tabelas
Tabela 1 – Tecnica de Programacao I . . . . . . . . . . . . . . . . . . . . . . . . . 15Tabela 2 – Programacao Orientada a Objetos . . . . . . . . . . . . . . . . . . . . 15Tabela 3 – Sıntese das respostas objetivas do formulario . . . . . . . . . . . . . . . 33Tabela 4 – Programacao dos Encontros . . . . . . . . . . . . . . . . . . . . . . . . 35Tabela 5 – Resultado das auto-avaliacoes dos participantes . . . . . . . . . . . . . 41
Lista de abreviaturas e siglas
UFRA Universidade Federal Rural da Amazonia
PROEN Pro-Reitora de Ensino
DAPE Divisao de Apoio Pedagogico
LC Licenciatura em Computacao
BSI Bacharelado em Sistemas de Informacao
TEC1 Tecnicas de Programacao I
POO Programacao Orientada a Objetos
SAM Self Assessment Manikin (Manequim de auto-avaliacao)
BRM Bom, Ruim e Melhorar
Sumario
1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.1 Apresentacao do Problema . . . . . . . . . . . . . . . . . . . . . . . . 141.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.3 Roteiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 FUNDAMENTACAO TEORICA . . . . . . . . . . . . . . . . . . . . 182.1 Evasao e Retencao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.2 Aprendizagem Colaborativa . . . . . . . . . . . . . . . . . . . . . . . . 202.3 Coding Dojo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 MATERIAIS E METODOS . . . . . . . . . . . . . . . . . . . . . . . 233.1 Formulario de inscricao . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2 Apresentacao do Publico alvo . . . . . . . . . . . . . . . . . . . . . . 243.3 Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3.1 Linguagem de programacao Java . . . . . . . . . . . . . . . . . . . . . . . 243.3.2 IDE NetBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.3 Materiais de apoio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.4 Coding Dojo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.4.1 Coding Dojo Randori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.4.2 Coding Dojo Kata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.4.3 Coding Dojo Kake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.5 Avaliacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.5.1 Auto Avaliacao SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.5.2 Avaliacao dos Instrutores . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.5.3 Avaliacao Geral dos Encontros - Formulario Bom, Ruim e Melhorar . . . . . 32
4 RESULTADOS E DISCUSSOES . . . . . . . . . . . . . . . . . . . . 334.1 Perfil dos participantes . . . . . . . . . . . . . . . . . . . . . . . . . . 334.2 Relato dos Encontros . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2.1 Primeira Sessao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2.2 Segunda Sessao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.2.3 Terceira Sessao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.2.4 Quarta Sessao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2.5 Quinta Sessao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2.6 Sexta Sessao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2.7 Setima Sessao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2.8 Oitava Sessao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.3 Avaliacao do Aluno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.3.1 Resultados SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.3.2 Resultados BRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.4 Observacoes dos Instrutores . . . . . . . . . . . . . . . . . . . . . . . 434.5 Discussoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5 CONCLUSOES E TRABALHOS FUTUROS . . . . . . . . . . . . . 45
REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
APENDICES 48
APENDICE A – FORMULARIO DE INSCRICAO . . . . . . . . . . 49
APENDICE B – MATERIAIS DE APOIO . . . . . . . . . . . . . . 51
13
1 Introducao
A Universidade Federal Rural da Amazonia (UFRA), e amplamente reconhecidapela formacao de profissionais e estudos relacionados as areas de ciencias agrarias, contudo,desde 2009, passou a ofertar dois cursos de cunho tecnologico, o curso de Licenciaturaem Computacao (LC) e o curso de Bacharelado em Sistemas de Informacao (BSI). Assimcomo em outros cursos vinculados as areas da ciencia da omputacao, estes tem em suaprogramacao e estrutura curricular, disciplinas que envolvem o ensino e aprendizado deAlgoritmos e Programacao de computadores.
Para Gomes, Henriques e Mendes (2008), o ensino programacao de computadorestem como intuito, propiciar os alunos desenvolverem as suas capacidades, adquirindo osconhecimentos basicos necessarios para conceber programas capazes de resolver problemasreais simples.
Ng e Bereiter (1991) referem que um aluno ao se deparar com ama aprendizagemde apresenta uma hierarquia de competencias, geralmente inicia pelas de mais baixo nıvelavancando ate as mais exigentes. Os autores concretizam que, no caso da codificacao(uma pequena parte de uma competencia de programacao) implica que os alunos apren-dam a sintaxe basica e gradualmente aprendam a semantica, estrutura e finalmente oestilo. O que sugere que aprender a programar e um processo gradual que exige tempo ematuridade.
Logo, entende-se que a programacao de computadores, demanda dos alunos com-petencias como a autonomia, criatividade, alem de habilidades de interpretacao de pro-blemas, desenvolvimento logico, pensamento computacional e domınio de conceitos ma-tematicos basicos procedentes do ensino medio.
Entretanto, Adan-Coello et al. (2008), destaca que:
“O aprendizado de programacao de computadores e um dos primeirose maiores desafios encontrados pelos estudantes da area de computacaoe informatica. As dificuldades encontradas pelos estudantes refletem-seem elevados ındices de reprovacao nas disciplinas relacionadas com oaprendizado das habilidades de programacao e nas disciplinas que de-pendem diretamente dessas habilidades.”(ADAN-COELLO et al., 2008).
Jenkins (2002) refere varias causas do insucesso generalizado em disciplinas de pro-gramacao, dentre elas, o baixo nıvel de abstracao, a falta de competencias de resolucao deproblemas, a inadequacao dos metodos pedagogicos aos estilos de aprendizagem dos alu-nos, o autor refere-se ainda que as linguagens de programacao possuem sintaxes adequadaspara profissionais mas nao para alunos inexperientes.
Capıtulo 1. Introducao 14
Franz, Silva e Cheiran (2014) por sua vez, enfatizam que devido as estas dificulda-des enfrentadas por estudantes com o aprendizado inicial de programacao, e evidenciadaspor altos percentuais de repetencia e evasao, novas estrategias de ensino e aprendizagemse fazem necessarias para auxiliar o aprendizado e programacao e potencializar nos alunosas habilidades empregadas nesta pratica.
Este trabalho disserta sobre uma experiencia realizada na UFRA, utilizando ummetodo de ensino de programacao de computadores bastante difundido em diversas em-presas e Universidades em todo mundo: Dojos de programacao ou Coding Dojos; essametodologia e baseada na colaboracao entre os participantes para a obtencao e desenvol-vimento de conhecimentos de programacao.
1.1 Apresentacao do ProblemaNas matrizes curriculares dos cursos de BSI e LC, algumas disciplinas iniciais
abordam sobre o ensino e a pratica de da programacao de computadores, tais como: Al-goritmos e Programacao, Programacao Orientada a Objetos, nos curso de LC, e Tecnicasde Programacao I e Tecnicas de Programacao II no curso de BSI. Neste contexto, des-tacamos dois destes componentes curriculares: i) Tecnicas De Programacao I (TEC1) eii) Programacao Orientada a Objetos (POO); por apresentarem elevados ındices de re-tencao, e por considerarmos nos quais os alunos demonstram maior dificuldade. Estasdisciplinas ocorrem em diferentes semestres nestes cursos de graduacao; a disciplina deTEC1, e ofertada no 1o semestre do curso de BSI; ja a disciplina de POO, e aplicada no3o semestre do curso de LC. O breve resumo das ementas dessas disciplinas, demonstramo direcionamento dos conteudos que compreendem conceitos e a pratica de programacaode computadores:
Ementa TEC1:
Algoritmos e Linguagens de Programacao. Conceitos Basicos de Programacao deComputadores. Estruturas de Controle de Selecao. Estruturas de Controle de Repeticao.Modularizacao de Programas.
Ementa POO:
Conceito e estudo do paradigma imperativo procedural e orientado a objetos. ALinguagem Java. Nocoes Basicas sobre Java. Programacao Orientada a objeto em Java.Escopo e visibilidade de variaveis. Metodos e Classes, Heranca e polimorfismo. Trata-mento de excecoes Manipulacao de arquivos. Tecnicas de Desenvolvimento de Programas:Projeto Pratico de Programacao.
Em levantamento realizado junto a Pro-reitoria de Ensino (PROEN) da UFRA,com dados fornecidos pela Divisao de Apoio Pedagogico (DAPE), acerca dos componen-
Capıtulo 1. Introducao 15
tes curriculares TEC1 e POO. Nos quais foram analisados os perıodos letivos de 2015.1,2016.1 e 2017.1, foram levantados os seguintes aspectos: o quantitativo de discentes ma-triculados em cada turma, a quantidade de aprovacoes e reprovacoes, bem como a notamedia apresentada entre os alunos reprovados. A seguinte pesquisa resultou nos dadossintetizados nas Tabela 1 e Tabela 2.
Tabela 1 – Tecnica de Programacao I
Perıodo Numeros deMatrıculas Aprovados Reprovados Medias de
reprovacaoTaxa de
reprovacao2015.1 42 23 19 1,71 45,2%2016.1 41 22 19 2,47 46,4%2017.1 42 13 29 2,15 69%
Tabela 2 – Programacao Orientada a Objetos
Perıodo Numeros deMatrıculas Aprovados Reprovados Medias de
reprovacaoTaxa de
reprovacao2015.1 34 15 19 2,03 55,8%2016,1 37 5 32 1,71 86,4%2017.1 33 13 20 1,0 60,6%
Acerca do componente TEC1, no semestre letivo 2015.1, foram matriculados 42discentes, apos o perıodo de avaliacoes, 23 alunos foram aprovados e 19 reprovados, paraesta turma tem-se o percentual 45,2% de taxa de reprovacao. Neste mesmo perıodo,na disciplina de POO do curso de LC, haviam 34 alunos matriculados, onde 15 foramaprovados e 19 reprovados, estabelecendo um percentual de 55,8% de reprovacoes.
Em 2016.1, TEC1 obteve um total de 41 discentes matriculados, onde houve 22aprovacoes e 19 reprovacoes, resultando em uma taxa de 46,4% de insucesso, enquantoque em POO, dentre os 37 matriculados, apenas 5 obtiveram aprovacao na disciplina, emcontra partida houveram 32 reprovacoes, cujo o ındice abrange 86,4% da turma.
No perıodo de 2017.1, em TEC1, havia 42 alunos matriculados, destes, 13 al-cancaram a media de aprovacao, e 29 nao obtiveram a media, ocasionando uma taxa de69% de reprovacoes, e em POO, 33 graduandos encontravam-se matriculados, 13 atingi-ram a media de aprovacao, por outro lado, 20 discentes foram reprovados, estabelecendoa porcentagem de 60,6% de reprovacoes.
Vale ressaltar que apenas o curso de BSI, possui em sua estrutura curricular o sis-tema de pre-requisitos, ou seja, caso o discente apresente retencao em uma determinadadisciplina, ele ficara impedido de cursar outras disciplinas cuja a base de conhecimentosesta diretamente relacionada com o componente no qual o aluno esta retido. Ja para ocurso de LC nao ha definicao de pre-requisitos para se cursar qualquer disciplina, mesmoque para esta, sejam necessarios a aquisicao de conhecimentos em disciplinas que a ante-cedem. Logo, a reprovacao em um determinado componente curricular, podem resultar
Capıtulo 1. Introducao 16
em varias lacunas de aprendizado no decorrer do curso. Deste modo, consideramos, entreoutros fatores, que tais acontecimentos podem estar relacionados com eventuais episodiosde evasao de alunos em ambos os cursos.
1.2 ObjetivosEste trabalho tem por objetivo geral a aplicacao de encontros destinados a alunos
calouros nos cursos de LC e BSI, utilizando a metodologia Coding Dojo, estimulandoassim, o desenvolvimento de habilidades indispensaveis para a pratica da programacao,introduzindo os conceitos de uma linguagem de programacao JAVA, que alem de serutilizada nos componentes curriculares dos cursos citados, e tambem vastamente utilizadapor profissionais da industria de desenvolvimento de softwares.
Especificamente, a pratica mencionada como objetivos:
• Identificar a bibliografia relacionada.
• Estudar bibliografia identificada e resenhar as mais relevantes.
• Estudar a linguagem de de programacao JAVA e o ambiente de programacao Net-Beans IDE.
• Selecionar e classificar problemas de algoritmos, que envolvem as estruturas desequencia, selecao e repeticao.
• Elaborar materiais de apoio aos encontros, com os conteudos previamente definidos.
• Definir locais para realizacao, materiais necessarios, carga horaria e calendario deencontros.
• Elaborar e divulgar o formulario de inscricao dos participantes.
• Identificar o perfil de participantes.
• Aplicar os encontros utilizando a metodologia Coding Dojo.
• Avaliar a experiencia e tabular os resultados obtidos.
• Relatar os resultados observados.
1.3 RoteiroEste trabalho esta organizado em cinco capıtulos, que compreendem no capıtulo 1,
esta Introducao, que apresenta a problematica e os objetivos do trabalho; No capıtulo 2,
Capıtulo 1. Introducao 17
apresentamos a Fundamentacao Teorica dos temas abordados, com trabalhos relacionadosa Evasao e Retencao, a Aprendizagem Colaborativa e o Coding Dojo. No capıtulo 3apresentamos os Materiais e Metodos utilizados nesta experiencia, como o formulariode inscricao do projeto, o publico alvo, e ferramentas utilizadas, como o linguagem deprogramacao e o ambiente de desenvolvimento, os materiais didaticos, alem do metodode ensino, o Coding Dojo, e os instrumentos de avaliacao; No capıtulo 4, apresentamos osresultados e discussoes obtidos nesta experiencia; E por fim, no capıtulo 5, apresentamosa conclusao e expectativas e possibilidades de trabalhos futuros.
18
2 Fundamentacao Teorica
Este capıtulo apresenta diversos trabalhos, que exploram aspectos relacionados aostemas presentes neste trabalho, visando apresentar a problematica de evasao e retencaoem cursos de nıvel superior nos cursos de informatica, alem de fundamentar acerca daaprendizagem colaborativa, e partindo deste principio, explorar a utilizacao da metodo-logia Coding Dojo de programacao como estrategia de ensino a combater o problemaapresentado.
Na secao 2.1, apresentamos trabalhos relacionados a evasao e retencao; na secao2.2,expomos sobre o tema de aprendizagem colaborativa; por fim, na secao2.3, sao apontadostrabalhos relacionados a pratica de Coding Dojos.
2.1 Evasao e RetencaoVarios aspectos sao responsaveis em provocar ocorrencias de retencao em discipli-
nas e ou evasao de alunos, mas para graduandos da area de informatica, as causas maisnotaveis, estao diretamente relacionadas a aprendizagem e o exercıcio da programacao decomputadores.
Muitos autores utilizam de diferentes definicoes para o termo Retencao no ensinosuperior, que pode estar relacionado com varios fatores como; o tempo de permanenciano curso maior que o prazo maximo de integralizacao; tempo de permanencia no cursomaior que o previsto no currıculo; quando o discente realiza trancamentos em disciplinas;quando ha reprovacoes em disciplinas; entre outros. Dentre estes fatores, destacamos aretencao em virtude de reprovacoes em disciplinas, onde Lautert, Rolim e Loder (2011),definem como a condicao em que o estudante em funcao da nao obtencao do conceitomınimo de aprovacao nas avaliacoes e reprovado.
A Comissao Especial de Estudos sobre Evasao (1996) do Ministerio da Educacao(MEC), define Evasao como a saıda do aluno de seu curso de origem, sem concluı-lo. Eespecifica tres modalidades de evasao, como forma de gerar uma precisao conceitual epossibilitar a comparabilidade dos resultados. Sao elas:
• evasao do curso: desligamento do curso superior em funcao de abandono (nao-matrıcula), transferencia ou reescolha, trancamento e/ou exclusao por norma insti-tucional.
• evasao da instituicao: desligamento da instituicao na qual esta matriculado.
• evasao do sistema: abandono definitivo ou temporario do ensino superior.
Capıtulo 2. Fundamentacao Teorica 19
Para Pereira (2013), a retencao implica em um maior tempo do que o previsto paraa conclusao de um curso, o que compromete a taxa de sucesso do discente, alem ocasionarociosidade de recursos humanos e materiais, e pode provocar a evasao do estudante.
O fenomeno de evasao e retencao em cursos superiores de computacao, como eafirmado em Gomes, Henriques e Mendes (2008), e pode ser causado nao apenas porproblemas na didatica de professores que acreditam que o ensino ensino superior nao ne-cessita de pedagogia, e que e unicamente obrigacao do universitario adaptar-se a rotinae ao ritmos das aulas, porem, prossegue dizendo que o aluno trata disciplinas de pro-gramacao como outras de maior cunho teorico, ou seja, contenta-se com apenas a leiturado conteudo e nao da a pratica de programacao tanta relevancia quanto deveria. E como objetivo de apresentar aos alunos de computacao a importancia da pratica intensiva deprogramacao, e devido ao alto ındice de evasao e retencao em disciplinas de programacao.
Em Gomes e Mendes (2015), realizou-se um estudo no curso de Licenciatura emEngenharia da Computacao da Universidade de Coimbra, onde observaram que a maioriados alunos apresentavam dificuldade em absorver o conteudo nas primeiras disciplinasde programacao, o que os deixava com baixo desempenho nessas disciplinas. Os autoresacreditam que a dificuldade na resolucao de problemas matematicos e a principal res-ponsavel pelo retardo no aprendizado da logica de programacao, e propoe que para casosassim o professor deva criar as condicoes adequadas a aprendizagem de cada estudante,e nao apenas se utilizar do metodo tradicional de ensino. Para tanto, o autor sugereque as seguintes medidas sejam tomadas pelos professores: dar importancia a motivacaodos estudantes no inıcio e ao longo das aulas, introduzir conceitos atraves de exemplosfamiliares ao cotidiano dos estudantes, identificar o grau de dificuldade suportado pelosalunos, e considerar os estilos e preferencias de aprendizagem que podem coexistir naturma. Esta ultima sugestao e semelhante ao que e proposto em Kampff (2009), poremo estudo do autor e aplicado em ambiente virtuais pela implementacao de um algorıtimoque identifique o comportamento de alunos com propensao a evasao e baixo desempenho.E identificadas estas caracterısticas em um aluno, o professor e notificado para que tomeas devidas medidas.
Em Ribas, Bianco e Lahm (2016), e afirmado que cada vez mais estudantes chegamao ensino superior com menos conhecimento em logica matematica, o que em cursos decomputacao pode prejudicar o aprendizado em disciplinas de programacao e a absorcaodo pensamento computacional. Visando evitar o baixo desempenho no curso de Cienciada Computacao da Universidade Federal do Rio Grande do Sul (UFRGS), os autoresutilizaram a ferramenta Scratch, que e uma linguagem totalmente visual e de rapido re-torno ao usuario, aliada a uma metodologia de tres etapas que em ao passar das etapasa interacao com a ferramenta aumentava. Os autores utilizaram a ferramenta Scratchpara estimular o raciocınio logico, e para aprimorar a receptividade dos alunos ao pen-
Capıtulo 2. Fundamentacao Teorica 20
samento computacional. E reforca tecnicas para que o pensamento computacional sejaconstantemente estimulado nos alunos, sao eles: coleta, analise e representacao de dados,abstracao, decomposicao, depuracao, automacao, recursividade, iteracao, paralelizacao esimulacao.
2.2 Aprendizagem ColaborativaDiversos autores constatam o potencial educacional da aprendizagem colabora-
tiva, fato este que traz como consequencia o crescimento da investigacao no campo dacolaboracao relacionada a estes processos. Para (DAMIANI, 2008):
“A aprendizagem colaborativa e a aprendizagem cooperativa tem sidofrequentemente defendidas no meio academico atual, pois se reconhecenessas metodologias o potencial de promover uma aprendizagem maisativa por meio do estımulo: ao pensamento crıtico; ao desenvolvimentode capacidades de interacao, negociacao de informacoes e resolucao deproblemas; ao desenvolvimento da capacidade de autorregulacao do pro-cesso de ensino-aprendizagem. Essas formas de ensinar e aprender,segundo seus defensores, tornam os alunos mais responsaveis por suaaprendizagem, levando-os a assimilar conceitos e a construir conheci-mentos de uma maneira mais autonoma.”
Ainda em Damiani (2008), afirma que os estudos voltados para o trabalho emgrupo adotam, alternadamente ou como sinonimos, os termos cooperacao e colaboracaopara designa-lo. E citando outros autores, completa dizendo que ainda que a cooperacaoseja voltada para mutua execucao de tarefas, suas finalidades nao decorrem de uma nego-ciacao entre o grupo, o que revela uma hierarquia presente nessa forma de acao conjunta.Por outro lado, na colaboracao, todos os membros de um grupo se apoiam e trabalham jun-tos, visando atingir um objetivo que foi negociado considerando de forma igual a opiniaode todos os membros, ou seja, a colaboracao estimula a nao-hierarquizacao, liderancacompartilhada, confianca mutua e co-responsabilidade pela conducao das acoes. (COLL,1994), realiza uma investigacao sobre as resultados desse tipo de pratica entre estudan-tes. o autor aponta ganhos em termos de: i) socializacao, que abrange a aprendizagemde modalidades comunicacionais e de convivencia, adaptacao as normas estabelecidas esuperacao do egocentrismo; ii) aquisicao de aptidoes e habilidades, incluindo melhoras norendimento escolar; e iii) aumento do nıvel de aspiracao escolar.
Silveira (2016) afirma, que a utilizacao da pratica de programacao em pares nodesenvolvimento de sistemas possibilita uma troca de experiencia entre os desenvolvedo-res, propiciando assim um nivelamento entre os colegas, alem de uma padronizar o codigodesenvolvido. Em seu trabalho tambem sao descritas as vantagens de se usar ExtremeProgramming, entre elas: dupla verificacao durante a implementacao visto que o desenvol-vedor esta focado na codificacao e o observador esta atento a possıveis falhas, dessa forma
Capıtulo 2. Fundamentacao Teorica 21
gerando um codigo mais confiavel. Ressalta tambem, que neste tipo de abordagem hao compartilhamento da responsabilidade durante a implementacao, e conclui, afirmandoque neste metodo a dupla fica mais focada na atividade, do que se estivessem separados.
Em Borges et al. (2007), e afirmado que Vygotsky aborda o processo do aprendi-zado, do ponto de vista da interacao entre o indivıduo e o meio, prossegue dizendo que oprincıpio socio-cultural da teoria vygotskyana nos traz um forte embasamento pedagogicopara o trabalho em equipe, em que a importancia da comunicacao, colaboracao e coor-denacao a fim de viabilizar o trabalho em grupo e obter resultados, quando comparadosao trabalho individual, e o elemento de sucesso.
2.3 Coding DojoEm Franz, Silva e Cheiran (2014), ao constatarem a dificuldade de estudantes da
Universidade Federal do Pampa (UNIPAMPA) em disciplinas que envolvem desenvolvi-mento de algoritmos e programacao de computadores, fato evidenciado por altos ındicesde repetencia e evasao nos cursos de informatica da IES, os autores criaram um projetoque propos a execucao de Coding Dojos como ambientes de aprendizagem e incentivo apratica de programacao. A partir da observacao e registro da participacao dos alunos,conclui-se que a oferta de Coding Dojos oferecem contribuicoes significativas, assim como,um ambiente viavel ao aprendizado e exercıcio de programacao.
Em Carmo e Braganholo (2012), os autores investigam a utilizacao de Coding Do-jos como ferramenta para auxiliar o aprendizado de programacao no curso de Ciencia daComputacao da Universidade Federal Fluminense (UFF), mas especificamente no trans-correr de disciplina de Banco de dados. Segundo os autores para utilizar a metodologiaforam necessarias algumas adaptacoes como, elaborar tres padroes de aulas praticas: i)Dojos individuais; ii) Dojos em Grupos e iii) Laboratorio em sala; alem de definir previa-mente o linguagem e a codificacao anterior dos testes a serem utilizados, conduzindo aosparticipantes apenas a resolucao das situacoes problemas apresentadas. Como avaliacaodo trabalho, os alunos respondiam um questionario acerca da pratica desenvolvida, quegerou informacoes positivas assim como uma maior aceitacao sobre a aplicacao de Dojosem um dos padroes estabelecidos, o de Laboratorio em sala.
Em Luz e Neto (2012), relatam suas experiencias com o uso de Coding Dojo, estepor favorecer a aplicacao de tecnicas de desenvolvimento agil como o desenvolvimento diri-gido por testes; programacao em pares e ”baby steps”. A partir da analise de questionariosaplicados, os autores concluem que dojos de programacao, devido a suas caracterısticasfavorecem a participacao, socializacao e a troca de conhecimentos entre os participantes.
Em Delgado, Toledo e Braganholo (2012), os autores realizaram um estudo sobreo uso de Dojos de programacao no ensino superior. Os Autores propoem adaptacoes da
Capıtulo 2. Fundamentacao Teorica 22
desta metodologia a partir da experiencia realizadas a em diferentes disciplinas como,estruturas de dados, inteligencia artificial e computacao grafica, nos cursos de graduacaoda Universidade Federal do Rio de Janeiro (UFRJ) e da Universidade Federal Fluminense(UFF). Os autores concluem que adequacoes quanto a linguagem a ser utilizada, a ordemna troca de pilotos, realizacoes de tetes, comunicacao durante a pratica sao necessariaspara que Coding Dojos possam ser utilizados qualquer componente curricular dos cursosde graduacao em computacao.
23
3 Materiais e Metodos
Neste capıtulo sao apresentado os instrumentos e a metodologia Coding Dojo,alem das metodos de avaliacao aplicados. Na secao 3.1, apresenta o formulario de ins-cricao utilizado, em seguida, na secao 3.2, o publico alvo dos encontros, na secao 3.3,as ferramentas, como o linguagem de programacao Java, o ambiente de desenvolvimentoNetbeans 8.0.2 e os materiais de apoio desenvolvidos. Na secao 3.4, sao demostradas asdiferentes formas de aplicacao da metodologia, e por fim na secao 3.5, os mecanismos deavaliacao empregados.
3.1 Formulario de inscricaoPara convocacao dos participantes foi elaborado um formulario de inscricao utili-
zando a plataforma gratuita do Google Forms. Cujo o link de acesso foi compartilhadocom os representantes dos Centros Academicos de cada curso, que por sua vez os o divul-garam entre as turmas de alunos ingressantes.
Neste formulario os participantes obtinham algumas informacoes sobre o projeto,como seu objetivo, a metodologia utilizada, o perıodo de realizacao, os datas e os horariosdos encontros, alem de informar a carga horaria total do projeto, e a porcentagem defrequencia minıma necessaria para a emissao do certificado de participacao, 75%. Oformulario de inscricao solicitava algumas informacoes, dentre elas, o nome completo;numero de matricula; endereco de e-mail; o curso no qual o participante esta matriculado;neste caso, optando pelos cursos de Licenciatura em Computacao ou Bacharelado emSistemas de Informacao.
Ainda neste formulario os participantes deveriam assinar objetivamente (utilizandosim ou nao) quanto a sua experiencia com algoritmos e linguagens de programacao, asseguintes questoes:
1. Fui apresentado ao conceito de algoritmos no Ensino Fundamental?
2. Fui apresentado ao conceito de algoritmos no Ensino Medio?
3. Ja fiz disciplina de algoritmos ou programacao de computadores no Ensino Superior?
4. Ja ouvi falar ou li o que e um Algoritmo?
5. Ja ouvi falar ou li o que e uma Linguagem de programacao (Ex: Java, Python, C,C++)?
Capıtulo 3. Materiais e Metodos 24
O ultimo item a ser preenchido no formulario, o participante deveria brevementeresponder a seguinte pergunta:
6 - Por que voce esta se inscrevendo neste projeto?
As perguntas foram elaboradas afim de sondar previamente o perfil do grupo departicipantes, assim os instrutores poderiam tracar quais conceitos seriam necessarios darmaior enfase nas explicacoes anteriores a pratica do Dojos. Os resultados obtidos seraoapresentados no Capıtulo 4.
3.2 Apresentacao do Publico alvoComo ja informado, os Cursos de Licenciatura em Computacao(LC) e Bacharelado
em Sistemas de Informacao(BSI), ofertam em suas matrizes curriculares disciplinas queenvolvem programacao, e ambos tambem apresentam historico de alta taxa de evasao eretencao. Diante disto, acredita-se que a solucao para tal, seja promover aos discentes ocontato com uma abordagem pratica de lingugem de programcao Java ainda no primeiroperıodo dos cursos.
Das 25 vagas ofertadas, todas estavam destinadas a discentes calouros dos Cursosde BSI E LC, porem, com a extensao da divulgacao ocorreu de alguns alunos veteranosse inscreveram, nada que impossibilita-se a realizacao sessoes e o objetivo do trabalho.Com o encerramento das vagas obteve-se os resultados quantitativos dos alunos, sendodezoito alunos de BSI e sete de LC. Dentre os alunos de LC, seis eram calouros e apenasum veterano, enquanto que todos os alunos de BSI eram calouros.
3.3 Ferramentas
3.3.1 Linguagem de programacao Java
A linguagem de programacao Java, foi desenvolvida na decada de 90, pela SunMicrosystems, grande empresa norte americana do setor de tecnologia, com o objetivode ser mais simples e eficiente do que suas predecessoras. Inicialmente sua utilizacao eravoltada para a producao de softwares para produtos eletronicos como fornos de micro-ondas, agendas eletronicas, entre outros.
Campione, Walrath e Huml (2001) definem java como uma linguagem computaci-onal completa, adequada para o desenvolvimento de aplicacoes baseadas na rede Internet,redes fechadas ou ainda programas stand-alone, ou seja, programas auto suficientes, quenao necessitam de outras programas para auxilia-los.
Atualmente a linguagem Java e altamente difundida e empregada na comunidadede programacao.
Capıtulo 3. Materiais e Metodos 25
O Java e a base para praticamente todos os tipos de aplicacoes em rede, alemde ser o padrao global para o desenvolvimento e distribuicao de aplicacoes moveis eincorporadas, jogos, conteudo baseado na Web e softwares corporativos. Com mais de 9milhoes de desenvolvedores em todo o mundo, de forma eficiente, o Java permite que vocedesenvolva, implante e use aplicacoes e servicos estimulantes(NETBEANS, 2008)1.
Indrusiak (1996), define Java como uma linguagem simples, de facil aprendizado oumigracao, por possui um reduzido numero de construcoes. A diminuicao das construcoesmais suscetıveis a erros de programacao, tais como ponteiros e gerenciamento de memoriavia codigo de programacao tambem faz com que a programacao em Java seja mais eficiente.Contem um conjunto de bibliotecas que fornecem grande parte da funcionalidade basicada linguagem, incluindo rotinas de acesso a rede e criacao de interface grafica. alem debaseada no paradigma da Orientacao a Objetos - encapsulamento em um bloco de softwaredos dados (variaveis) e metodos de manipulacao desses dados - a linguagem permite amodularizacao das aplicacoes, reuso e manutencao simples do codigo ja implementado.
Sobre a utilizacao da utilizacao desta linguagem DEITEL (2010), ressalta:
“O Java tornou-se a linguagem preferida para implementar aplicativosbaseados na Internet e software para dispositivos que se comunicam poruma rede. Equipamentos de som estereo e outros dispositivos domesticosmuitas vezes sao conectados em rede pela tecnologia Java. Atualmente,existem bilhoes de celulares e dispositivos portateis compatıveis comJava! O Java e a linguagem preferida para atender as necessidades deprogramacao de muitas organizacoes”(DEITEL, 2010).
3.3.2 IDE NetBeans
A Integral Development Environment(IDE), cuja traducao significa Ambiente In-tegral de Desenvolvimento, e um software que possibilita o desenvolvimento de codigosem diversas linguagens de programacao. A IDE Netbens e um ambiente multiplataforma,tem como principal caracterıstica o layout simples e intuitivo com suporte para variaslinguagens de programacao, como Java, XML, C, PHP, C++, Ruby, entre outras.
Esta IDE apresentar uma interface de facil compreensao e manuseio, alem deuma resposta ao usuario em possıveis erros cometidos nas linhas de codigo, inclusiveespecificando onde e qual foi o erro cometido pelo usuario. Esta IDE sugere dicas decomo resolver os problemas, desta maneira, o usuario exercita a linguagem, e com odecorrer do tempo acaba cometendo menos erros em seu codigo.
1 Disponıvel em: 〈http://www.java.com/pt BR/〉
Capıtulo 3. Materiais e Metodos 26
A Figura 1, ilustra uma visao geral das areas que compoem o ambiente da IDENetbeans 8.0.2:
Figura 1 – Interface Netbeans IDE 8.0.2
Na caixa 1 (Figura 1) ficam organizadas as bibliotecas, projetos, pacotes e arquivos.A caixa 2 mostra as abas que contem as classes Java. No caixa 3, onde sao inseridos ocorpo do codificacoes Java, ou seja, os metodos, estruturas, as funcoes e variaveis. Nacaixa 4 e mostrado o resultado da compilacao do codigo fonte, ou seja , saıda de dados.No caixa 5, estao localizados os ıcones de atalhos e as abas de configuracao do Netbeans,como arquivo, editar, exibir, ferramentas, janelas, entre outros.
3.3.3 Materiais de apoio
Para a realizacao das sessoes de Coding Dojo, foram desenvolvidos 6 folders; 3 des-tes continham o detalhamento do conteudo que a ser trabalhado e brevemente ministradopelos instrutores, e outros 3 continham os exercıcios propostos para que os participantesos solucionassem. O objetivo dos folders e proporcionar suporte aos alunos quando estesestiverem em contato com a metodologia do Coding Dojo, considerando que maioria dosparticipantes nunca tiveram contato anterior com uma linguagem de programacao, logo, ofolders serviriam como consulta para que o alunos utilizem quando julgassem necessario.
O primeiro folder do Apendice B, abordou sobre algoritmos e variaveis, explicandoseus conceitos, e explicando os diferentes tipos de variaveis existentes na linguagem Java,tais como byte, short, int, long, double, float, boolean e char, alem de enquadrar as prin-
Capıtulo 3. Materiais e Metodos 27
cipais estruturas da linguagem, como: as funcoes de entrada (Scanner e JOptionPane);funcoes de saıda como (System.out.print); operadores matematicos( adicao, subtracao,multiplicacao e divisao), assim como outras funcoes frequentemente utilizadas, dentre elasa classe Math, que simplifica a utilizacao de operacoes matematicas, como a potenciacao,radiciacao, radianos, seno, cosseno, tangente entre outros. Para demostrar a utilizacaodestas estruturas, o material continha ainda, um exemplo de codigo onde cada estruturaera destacada e referenciada a um texto, que por sua vez descrevia seu funcionamento. Oobjetivo do primeiro folder foi de introduzir aos alunos estas primeiras estruturas para aconstrucao de algorıtimos, e resolucao dos exercıcios propostas na linguagem Java.
O segundo folder do Apendice B, tratou sobre as estruturas de selecao, onde foiapresentado aos participantes os comandos if, else if e else, demostrando sua utilizacao efuncionamento na linguagem. Para melhor compreensao desta estrutura, foi apresentadoos operadores logicos & (E condicional); && (E bicondicional); | ( OU condicional) e ||(OU bicondicional) assim como os operadores de comparacao == (igual); =! (diferente);� (maior); ≺ (menor); ≥ (maior ou igual) e ≤ (menor ou igual), neste material tambemhavia uma tabela de verdade, para explicar as logicas de negacao, disjuncao e conjuncaoutilizados em estruturas de selecao.
O terceiro folder do Apendice B, abordou sobre as estruturas de repeticao, no qualfoi apresentado os comandos while e for, para cada um deles, assim como nos demaisfolders, havia um exemplo que expressava sua utilizacao e seu formato de construcao nalinguagem, indicando sua inicializacao, condicao de repeticao e incremento ou decrementoe instrucao a ser executada.
Para cada um destes 3 folders, foram entregue aos participantes um segundo ma-terial, apresentando as questoes a serem resolvidas durante a pratica do Coding Dojo. OPrimeiro material, contem 18 questoes, e para sua resolucao sao necessarios utilizar es-truturas apresentadas, no primeiro folder de conteudos. Ja o segundo material apresentaoutras 13 questoes que envolvem estruturas de selecao, trabalhados no segundo materialde conteudos. Por fim, o terceiro material, enquadrava mais 18 questoes, que demandamda utilizacao de estruturas de repeticao, explorado no terceiro folder de conteudos.
Capıtulo 3. Materiais e Metodos 28
3.4 Coding DojoNa decada de 70, o psicologo Dr. K. Anders Ericsson apresentou o conceito de
pratica deliberada, segundo Ericsson, Krampe e Tesch-Romer (1993):
“A pratica deliberada constitui-se de um conjunto de atividades e es-trategias de estudo, cuidadosamente planejadas, que tem como objetivoajudar o indivıduo a superar suas fragilidades e melhorar sua perfor-mance; a realizacao de tais atividades requer esforco, nao sendo, por-tanto, inerentemente prazerosa. Porem, os indivıduos se vem motivadosa empreende-las pelo avanco eminente que elas podem proporcionar asua performance.”(ERICSSON; KRAMPE; TESCH-ROMER, 1993).
Hunt e Thomas (1900), em seu livro “The Pragmatic Programmer”, inspirados emoutras areas, como a da musica, onde ha um ensaio antes da apresentacao e publico, osautores sugerem que programadores se encontrassem regulamente para praticar pequenosproblemas fora de seus horarios de trabalho, repetindo o mesmo problema para aprendercom os erros anteriores, exercitando e desenvolvendo suas habilidades em programacao.
Bossavit e Gaillot (2005), em seu livro intitulado “O dojo do codificador - umamaneira diferente de ensinar e aprender programacao”, apresentaram o Coding Dojo,embasados em Ericsson e Thomas, a ideia foi criar um cenario diferente do cotidiano deum projeto, em um ambiente descontraıdo e colaborativo, este ficou conhecido como DojoParis.
Para Delgado, Toledo e Braganholo (2012) o princıpio do termo Dojo esta relacio-nado ao lugar onde se pratica artes marciais ou o lugar de meditacao . A palavra Codingvem do ingles, que em traducao livre significa codificacao, na ciencia da computacao,codificacao esta diretamente relacionada a programacao de computadores. Logo, dojosde programacao ou Coding Dojos, consistem em ambientes favoraveis a pratica de pro-gramacao, e e um metodo de aprendizagem para desenvolvimento de projetos em com-putacao, utilizado em universidades, eventos de computacao, empresas e hackerspaces.
Para Marinho et al. (2016), Coding Dojo e uma metodologia que visa o aper-feicoamento do conhecimento na area de algoritmos e programacao por meio da aprendi-zagem colaborativa, empregando aspectos de desafios e interacao.
Para a realizacao das sessoes, o local necessita de apenas de alguns componentescomo: um computador, com a IDE NetBeans devidamente instalada; um data show, paraque seja possıvel projetar a tela do computador, permitindo a visualizacao pela plateia,pincel e um quadro branco para eventuais anotacoes.
Existem tres variacoes para empregar a pratica de Coding Dojos: A Randori, Katae Kake, estas tornam-se diferentes quanto a forma de organizacao e aplicacao, no entantoconvergem quanto a sua finalidade, o aprendizado e desenvolvimento de habilidades sobreum determinado conceito, neste caso, a programacao de computadores.
Capıtulo 3. Materiais e Metodos 29
3.4.1 Coding Dojo Randori
Em sessoes do tipo Randori, indicada na Figura 2, os participantes revesam-seentre 3 papeis bem definidos: Um piloto, um copiloto, e a plateia. O piloto e o unico quepode manusear o computador, ou seja, apenas ele pode codificar a resolucao do problema,ele tambem e responsavel em narrar as alteracoes que ele realiza no codigo. O copilotopor sua vez, fica responsavel por auxiliar o piloto, ele pode dar instrucoes e sugestoesquanto a resolucao do problema. Para a plateia cabe apenas observar as acoes do pilotoatraves da projecao da tela do computador, sem dar opinioes ou dicas sobre a resolucaodo problema. Apos um determinado tempo, geralmente de 5 a 7 minutos, ha uma trocade posicoes, o piloto passa a ser membro da plateia, o copiloto assume o cargo do piloto,e um membro da plateia encarrega-se de atuar como copiloto, desta forma, podendoexpressar suas observacoes sobre o a resolucao do problema. Nessa dinamica, todas aspessoas constroem juntas uma solucao, alternando a posicao reflexiva da plateia com asposicoes mais ativas dos pilotos e copilotos, construindo a partir do trabalho acumuladodos pilotos anteriores a solucao dos problemas apresentados nas sessoes.
Figura 2 – Coding Dojo Randori - fonte: Marinho, 2016.
3.4.2 Coding Dojo Kata
A palavra Kata vem das artes marciais e e uma pratica visa a repeticao de inumerasvezes um pequeno movimento para aperfeicoa-lo, logo, em sessoes do tipo Kata, represen-tada pela Figura 3, um membro apresenta a resolucao de um problema proposto anteri-ormente, e no decorrer do encontro, esta resolucao e refeita por este membro e os demaisparticipantes, que podem sugerir alteracoes para aperfeicoar a solucao do problema, ouate mesmo resolve-lo utilizando diferentes linguagens de programacao. O objetivo destemodelo nao e a resolucao do problema em si, mas sim a qualidade da solucao apresentadapelos participantes.
Capıtulo 3. Materiais e Metodos 30
Figura 3 – Coding Dojo Kata - fonte: Marinho, 2016.
3.4.3 Coding Dojo Kake
Ja no modelo Kake, como exibe a Figura 4, varias duplas atuam simultaneamentesolucionando diferentes, ou ainda, o mesmo problema, entretanto, elas utilizam de dife-rentes linguagens de programacao. Ao final de um turno, ou seja, da resolucao de umproblema, ha uma troca de posicoes, o piloto de uma dupla, passa a ser copiloto em outraformacao de dupla. Desta forma, todos os envolvidos, participam da resolucao de variadosproblemas alem de praticar diferentes linguagens de programacao.
Figura 4 – Coding Dojo Kake - fonte: Marinho, 2016.
Capıtulo 3. Materiais e Metodos 31
3.5 AvaliacaoA avaliacao deste projeto considerou tres diferentes concepcoes: i) auto-avaliacao
do participante; ii) avaliacao da projeto pelo participante; e iii) avaliacao a partir daobservacoes dos instrutores. Ao final de cada encontro foram coletadas as fichas de auto-avaliacao acerca de seu engajamento, motivacao e autonomia, assim como o registro deobservacoes da oficina pelos instrutores. Ao finalizar todos os encontros, cada alunorespondeu de forma aberta um segundo formulario de avaliacao.
3.5.1 Auto Avaliacao SAM
O SAM (Self Assessment Manikin) e uma tecnica de avaliacao pictorica nao verbalque mede diretamente o prazer, a excitacao e a dominancia associados a reacao afetivade uma pessoa a uma ampla variedade de estımulos.Bradley e Lang (1994).
Para esta auto-avaliacao do sentimento dos participantes, ao final de cada umadas aulas, os alunos responderam uma autoavaliacao, para verificarmos o nıvel de aceita-bilidade do trabalho, a partir de tres dimensoes ligadas a satisfacao, motivacao e controledo participante a cerca daquela sessao.
O questionario se divide em tres partes, representadas por tres linhas com cincofiguras cada. Em cada linha, a figura do centro representa uma resposta neutra, as duasprimeiras figuras representam respostas positivas e as duas ultimas, respostas negativasBradley e Lang (1994).
A Figura 5 ilustra o modelo utilizado de auto-avaliacao SAM.
Figura 5 – Ficha de auto-avaliacao SAM
Capıtulo 3. Materiais e Metodos 32
3.5.2 Avaliacao dos Instrutores
Os instrutores por sua vez, tiveram a responsabilidade de nao deixar a plateiacompletamente inerte, enquanto o Piloto e o Co-piloto trabalhavam no codigo, os ins-trutores questionavam os integrantes da plateia sobre o que achavam sobre o codigo queestava sendo produzido pelo Piloto, se havia algum erro, ou mesmo como fariam se esti-vessem nas funcoes de Piloto ou Co-piloto. Afim de deixar todos os alunos com o mesmoconhecimento preliminar das sessoes, os instrutores auxiliavam tambem os alunos que che-gavam apos a explicacao dos conceitos, a fim de deixar-los a par do assunto apresentado,capacitando-os para participarem das funcoes ativas do Coding Dojo. Apenas em momen-tos excepcionais em que os alunos gastavam muito tempo sem avancar em um exercıcio,a presenca dos instrutores se fez necessaria para explicar e dar um direcionamento paraa solucao do exercıcio em questao.
Ao final de cada encontro registrava-se o ocorrido durante as sessoes, ou seja, oque observaram em cada sessao. Neste caso, o comportamento dos alunos, conteudosexplorados, o numero de atividades propostas, o numero de questoes solucionadas, asprincipais dificuldades apresentadas pelos participantes entre outras observacoes.
3.5.3 Avaliacao Geral dos Encontros - Formulario Bom, Ruim e Melhorar
Na segunda avaliacao realizada pelos participantes, porem desta vez, como o ob-jetivo de avaliar os encontros de forma geral, cada participante respondeu de forma livree subjetiva o formulario Bom, Ruim e Melhorar (BRM), demonstrado na Figura 6.
Figura 6 – Ficha de avaliacao BRM
O primeiro campo o participantes deveria escrever o que considerou bom na ex-periencia. No segundo campo, com espaco de resposta identico ao primeiro, o alunodeveria escrever de forma livre o que julgou como aspectos ruim na experiencia. Noterceiro campo, com o dobro do espaco de resposta dos dois primeiros campos, o partici-pante deveria escrever o que seria necessario para melhorar uma experiencia semelhanteno futuro.
33
4 Resultados e Discussoes
Este capıtulo apresenta os resultados obtidos a partir da aplicacao do formulariode inscricao apresentado no capıtulo 3, na sub-sessao 3.1, com esses dados, foi possıvelestimar o perfil dos alunos que participariam da sessoes e planejar algumas acoes realizadaspelos instrutores.
4.1 Perfil dos participantesPara a realizacao dos encontros foram ofertadas 25 vagas, destinadas aos alunos
calouros dos cursos de Bacharelado em Sistemas de Informacao (BSI) e Licenciaturaem Computacao (LC), onde todas as vagas foram preenchidas, dentre os inscritos paraparticipar das sessoes de Coding Dojo, 18 deles estavam matriculados no curso de BSI, eapenas 7 no curso de LC.
O formulario de inscricao apresentado no capıtulo 3, na secao 3.1, investiga aexperiencia dos alunos com a programacao de computadores e com os conceitos envolvidos.Na Tabela 3 tem-se o percentual das respostas expressas pelos alunos, considerando umtotal de 25 respondentes para cada questionamento apresentado:
Tabela 3 – Sıntese das respostas objetivas do formularioPerguntas Respostas
Sim Nao1 - Fui apresentado ao conceito de Algoritmos no Ensino Fundamental? 0% 100%2 - Fui apresentado ao conceito de Algoritmos no Ensino Medio? 32% 68%3 - Ja fiz disciplina de algoritmos e programacao de computadores no Ensino Superior? 48% 52%4 - Ja ouvi falar ou li o que e um Algoritmo? 100% 0%5 - Ja ouvi falar ou li o que e uma Linguagem de programacao? 92% 8%
Dentre os 25 inscritos, 100% deles apontaram que nao haviam sido apresentadosaos conceitos de algoritmos no ensino fundamental. Apenas 8 indicaram ter tido contatocom este mesmo conceito durante o ensino medio, que resulta em 32% das respostas,e outros 68% (17 alunos) nao trabalharam esse conteudo. 48% dos participantes, ouseja, 12 alunos, assinalaram ja ter cursado disciplinas de algoritmos ou programacaode computadores no ensino superior. Sobre o conhecimento de algoritmos, 100% dosrespondentes indicaram que ja ouviram falar ou lido sobre que e um Algoritmo, dentre eles,92% (23 alunos) ja ouviram falar ou leram sobre o que e uma Linguagem de programacaoe apenas 2 alunos desconheciam sobre esse conceito.
Capıtulo 4. Resultados e Discussoes 34
Para as respostas subjetivas do formulario, que tratam sobre finalidade de estar seinscrevendo neste projeto, destacamos algumas respostas explanadas pelos alunos.
Aluno 1: “Enriquecer o conhecimento na area que estou estudando.”
Aluno 2: “Porque seria uma otima oportunidade de aprendizado e de adquirircada vez mais conhecimento na minha area de graduacao e, alem disso, iria acrescentarpositivamente na minha vida academica”.
Aluno 3: “Para aprender mais sobre programacao, pois e a base do curso de BSI.”
Aluno 4: “Para aprender/aperfeicoar meu aprendizado em programacao. Meu focono curso e me tornar um desenvolvedor de softwares.”
Nestas e em outras respostas registradas pelos participantes, nota-se que os alu-nos ja possuem a percepcao de que programacao e um dos principais eixos trabalhadosnos componentes curriculares de LC e BSI, alem demostrar o interesse em participar doprojeto, e deste modo, desenvolver as competencias e habilidades necessarias a pratica doprogramacao de computadores.
4.2 Relato dos EncontrosDentre os diferentes formas de aplicacao de Coding Dojos apresentadas no Capi-
tulo 3 na Sessao 3.4, para este projeto, foi optado pela utilizacao do Coding Dojo modeloRandori, apresentado na sub-sessao 3.4.1. A preferencia por este modelo, da-se em razaodo perfil do grupo de participantes demostrado em 4.1, que em sua maioria, eram alunosingressantes nos cursos de LC e BSI, logo, nao haviam tido contado anterior com pro-gramacao de computadores ou qualquer pratica com alguma linguagem de programacao.
O modelo Randori, proporciona com que participante enquanto plateia, a obtencaode conhecimentos iniciais atraves de observacoes da codificacao e resolucao de problemaspelos colegas, baseando-se nessas observacoes e no suporte fornecido pelo material deapoio que lhes foram entregue, o participante, como passar dos encontros, estara comapto a atuar nas posicoes mais ativas desse modelo, pilotos e copilotos.
Inicialmente foram planejados 10 encontros para a realizacao das sessoes de CodingDojos conforme mostra a Tabela 4, na qual apresenta as datas, dias e horarios destesencontros, cada um deles com duracao de 2h, totalizando 20h de duracao do projeto.
Capıtulo 4. Resultados e Discussoes 35
Tabela 4 – Programacao dos EncontrosDatas Dias Horarios
24/maio quinta-feira 16:00h-18:00h28/maio segunda-feira 16:00h-18:00h04/junho segunda-feira 16:00h-18:00h07/junho quinta-feira 16:00h-18:00h11/junho segunda-feira 16:00h-18:00h14/junho quinta-feira 16:00h-18:00h18/junho segunda-feira 16:00h-18:00h21/junho quinta-feira 16:00h-18:00h25/junho segunda-feira 16:00h-18:00h28/junho quinta-feira 16:00h-18:00h
Devido a uma paralisacao de servidores da Universidade entre outros ocorridos,as sessoes planejadas para os dias 28/maio e 04/junho, nao foram realizadas, fato esteque causaria uma perda de 4 horas na carga horaria total. Entretanto, em acordo comos participantes, as sessoes dos dias 11/junho, 14/junho, 18/junho e 21/junho, tiveramacrescimento de 1h cada, iniciando as 15h e encerrando as 18h, compensando assim, acarga horaria dos dias cujo as sessoes nao ocorreram.
4.2.1 Primeira Sessao
Data de realizacao: 24/05/2018.
Carga horaria: 2h.
Numero de participantes: 13.
Neste primeiro encontro, foi apresentado aos participantes o projeto, tais como oobjetivo, a metodologia utilizada, a linguagem de programacao Java e o ambiente Netbe-ans, alem do funcionamento do Coding Dojo no modelo Randori.
Como estava previsto, partindo da observacao do perfil do publico alvo, onde variosdos participantes desconheciam alguns dos conceitos fundamentais que seriam desenvolvi-dos, a princıpio houve a necessidade dos instrutores abordarem brevemente alguns destesconceitos, como o de algoritmos, linguagem de programacao, variaveis primitivas, classesjava, bibliotecas java, estruturas de entrada e saıda de dados. Apos este primeiro mo-mento, foi distribuıdo entre os participantes os material de apoio (conteudo e lista deatividades), em seguida, o primeiro problema foi solucionado pelos instrutores, um atu-ando como piloto e o segundo como copiloto, desta forma demonstrando aos participanteso funcionamento da pratica do Coding Dojo. Este primeiro exercıcio foi resolvido de formabem clara, mostrando o passo a passo a criacao de projetos, pacotes, classes e metodos nalinguagem Java, apresentando tambem o ambiente utilizado, neste caso, a IDE Netbeans.
Definimos um tempo de 5 minutos para realizar a troca de posicoes (Piloto, co-piloto e plateia). A primeira lista de atividades, continha 18 exercıcios, que deveriam
Capıtulo 4. Resultados e Discussoes 36
ser solucionar utilizando os conceitos trabalhados. Destes, os quatro primeiros foramsolucionadas pelos participantes com algumas intervencoes dos instrutores.
4.2.2 Segunda Sessao
Data de realizacao: 04/06/2018.
Carga horaria: 2h.
Numero de participantes: 14.
Nesta sessao, varios participantes que nao estavam no primeiro encontro se fizerampresentes, por esse motivo, optou-se novamente em aplicar os conteudo empregado na 1asessao. Os 30 minutos iniciais foram usados para introduzir os conceitos de linguagemde programacao, algoritmos e explicar as variaveis primitivas da linguagem Java. Aposesse momento iniciamos a pratica do Dojo, e por opcao dos participantes, os 4 primeirosexercıcios solucionados na 1a sessao foram refeitos, revisando a resolucao para quem jahavia visto na 1a sessao e facilitando a compreensao para quem estava tendo o primeirocontato com a pratica do Dojo. Mesmo os participantes que estavam em sua primeirasessao (primeiro contato), participaram como pilotos e copilotos na resolucao das questoes.Com o fim desta sessao todos os alunos que permaneceram ate o final das sessoes jaestavam introduzidos a linguagem Java. Em relacao aos exercıcios, nao houve avancoem relacao as questoes propostas no folder de exercıcios, entretanto, resolver as questoesnovamente, serviu como revisao do conteudo, pois na semana anterior nao foi possıvelrealizar as sessoes que estavam planejadas. Observou-se tambem que requer tempo paraque os participantes mentalizem uma forma para solucionar o problema, e que os mesmosestavam apreensivos de errar a linha de codigo, algo que persistiu pelas sessoes seguintes.
4.2.3 Terceira Sessao
Data de realizacao: 11/06/2018.
Carga horaria: 3h.
Numero de participantes: 12.
A terceira sessao, consideramos uma dos mais produtivos ate o momento, foi in-troduzido aos participantes algumas funcoes da Classe Math, para facilitar escrita deformulas utilizadas para a resolucao das questoes. A classe Math foi utilizada para soluci-onar problemas complexos (como radiciacao), para outras foi mais utilizado os operadoresmatematicos. Os participantes resolveram 8 questoes, totalizando 12 exercıcios solucio-nadas, de um total de 18 propostas, as seis questoes restantes foram colocadas para osalunos resolverem em casa como exercıcio. Na proxima sessao se inicia o novo conteudo,estruturas de selecao (if/else), alem de propor novos exercıcios cuja resolucao envolve
Capıtulo 4. Resultados e Discussoes 37
essa estrutura. Observamos que alunos que ainda nao tinham participado como pilotose copilotos, sentiram-se seguros e a vontade para participar da codificacao. No decorrerda pratica do Dojo, foi necessario que turma se deslocasse para outra sala, o que causouuma interrupcao de aproximadamente 15 min, fato este que nao prejudicou o transcorrerda sessao.
4.2.4 Quarta Sessao
Data de realizacao: 14/06/2018.
Carga horaria: 3h.
Numero de participantes: 12.
Nesta sessao, iniciamos com novo conteudo, estruturas de selecao (if/else), foramdistribuıdos os novos materiais de apoio e lista de questoes. Nos minutos iniciais daaula foram explicados como se utiliza essas estruturas na linguagem Java, e explicamosuma tabela exposta no material, a tabela da verdade, que contem as relacoes logicasde negacao, disjuncao e conjuncao. Assim como uma breve explicacao sobre em quaissituacoes utilizar os operadores logicos ‘&’; ‘&&’ ; ”|”e ‘||’.
Os instrutores iniciaram a pratica do dojo solucionando a questao 19 dos exercıciospropostos. Em seguida, os exercıcios foram sendo solucionados pelos alunos presentes,no intervalo de resolucao, entre um questao e outra, foi necessario reforcar a utilizacaocorreta dos operadores. Os participantes do curso BSI, recentemente viram estruturas deselecao na linguagem C, em suas aulas, consideramos que este fato facilitou ainda maisa compreensao do conteudo. A maior dificuldade dos alunos, foi ao condicionar duasvariaveis e uma mesma variavel duas vezes, apos uma breve explicacao dos instrutoresesse problema logo foi resolvido.
4.2.5 Quinta Sessao
Data de realizacao: 18/06/2018.
Carga horaria: 3h.
Numero de participantes: 10.
Nesta sessao, continuamos a resolucao de exercıcios com estruturas de selecao(if/else), foram resolvidas as 5 ultimas questoes desta parte do conteudo, questoes estas,mais complexas que as primeiras. Todas foram resolvidas pelos participantes, e ao final o,como o tempo restante, umas das questoes de maior complexidade, foi refeita, para quetodos os participantes pudessem compreender a logica de sua resolucao. Com o passar dasquestoes os alunos aparentavam estar animados e participativos nos debates acerca da re-solucao das questoes. Alguns participantes nao estavam presentes na sessao anterior, logo,
Capıtulo 4. Resultados e Discussoes 38
estes necessitam de uma atencao maior por parte dos instrutores, ressaltando/reforcandoo comentario realizado pelos pilotos e copilotos durante a resolucao das questoes.
4.2.6 Sexta Sessao
Data de realizacao: 21/06/2018.
Carga horaria: 3h.
Numero de participantes: 11.
Neste encontro iniciamos com a abordagem de novas estruturas da linguagem Java,no caso, as estruturas de repeticao while e for, assim como em todo novo conteudo, ex-plicamos suas formas de escrita na linguagem Java, alem de esclarecer as diferencas entreelas, e em quais situacoes problemas cada uma delas e melhor aplicada. Apos esse pri-meiro momento, os instrutores iniciaram a codificacao dojo, solucionando a 1a questaodo material de questoes referentes a esta aula, em seguida, os participantes prossegui-ram com a resolucao das questoes. Alguns exercıcios envolviam alem das estruturas derepeticao, tambem estruturas de selecao e classes Scanner e Math, pode-se observar quealem de trabalhar os conteudos recentes, os participantes ja tiveram total compreensaoda utilizacao de estruturas trabalhadas anteriormente.
4.2.7 Setima Sessao
Data de realizacao: 21/06/2018.
Carga horaria: 2h.
Numero de participantes: 10.
Nessa sessao, foram continuados a resolucao dos exercıcios de operadores de re-peticao, os alunos ja haviam compreendido o funcionamento das estruturas for e while,assim como sua formato de codificacao, iniciando com a declaracao de uma variavel, se-guida da condicao de permanencia no laco, e finalizando com incremento ou decrementodo valor da variavel inicial. Entretanto, notamos que alguns destes exercıcios seriam me-lhor solucionados utilizando uma estrutura, que por hora nao fora trabalhada, vetoresou arrays em Java. Optamos entao em resolve-las na proxima sessao. e continuamossolucionando outras questoes disponıveis no material.
Capıtulo 4. Resultados e Discussoes 39
4.2.8 Oitava Sessao
Data de realizacao: 21/06/2018.
Carga horaria: 2h.
Numero de participantes: 14.
Nesta ultima sessao, conceituamos um conteudo complementar, que nao estava aprincipio previsto, vetores/arrays list. Logo, o inıcio desta sessao foi utilizado para aabordagem do conceito e utilizacao dessa estrutura. Tendo em vista que esta estrutura eum pouco mais complexa que as anteriores, demandou de um tempo maior para apresenta-la aos alunos, e em seguıda, tres dos exercıcios dos nao solucionados na aula anteriorforam elucidados pelos participantes com ocasionais auxılios dos instrutores. Ao finaldesta sessao, alem do formulario de auto-avaliacao SAM (Self Assessment Manikin), foientregue aos presentes, a avaliacao BRM (Bom, Ruim e Melhorar) no qual foi explicadaaos alunos seus objetivos, assim como ressaltado a importancia do preenchimento emconformidade com as reais perspectivas observadas pelos participantes.
4.3 Avaliacao do AlunoDois formularios foram aplicados aos participantes, para que eles avaliassem dois
diferentes aspectos, um acerca de sentimentos como satisfacao, motivacao e controle, paraeste, utilizou-se o modelo de auto-avaliacao SAM. O segundo formulario de avaliacao, men-surou opinioes dos alunos sobre a totalidade dos encontros, para este utilizamos o modeloBRM, que apurava respostas dos alunos sobre os pontos de vista bom, ruim e melhorar.Ambos os modelos de avaliacao sao apresentados no capıtulo 3, na secao 3.5. Apresenta-mos nas subsecoes 4.3.1 e 4.3.2 a seguir, os resultados obtidos por essas avaliacoes.
4.3.1 Resultados SAM
Na primeira sessao, descrita na subsecao 4.2.1, estavam presentes 13 alunos, dentreeles, apenas 11 optaram com preencher o formulario SAM. Sobre o quesito satisfacao,obtivemos 8 votos positivos, 2 votos neutros e 1 voto negativo. Em motivacao foram 9positivos, 1 neutro e 1 negativo. Para o item controle, foram registrados 2 votos positivos,6 votos neutros e 3 votos negativos. Considerando todos os aspectos, foram registrados19 votos positivos, 9 neutros e 5 negativos.
Para o segundo encontro, descrito na subsecao 4.2.2, estavam presentes 14 alunos, etodos preencheram o formulario. Sobre o quesito satisfacao, obtivemos 13 votos positivos,1 votos neutro e nenhum voto negativo. Em motivacao foram 11 positivos, 2 neutros e 1negativo. Para o item controle, foram registrados 2 votos positivos, 8 votos neutros e 4votos negativos. Totalizando 26 votos positivos, 11 neutros, e 5 negativos.
Capıtulo 4. Resultados e Discussoes 40
Na terceira sessao, relatado na subsecao 4.2.3, 12 alunos estavam presentes, e todosassinalaram a avaliacao. Sobre o quesito satisfacao, obtivemos 9 votos positivos, 2 votosneutros e 1 voto negativo. Em motivacao foram 7 positivos, 2 neutros e 2 negativo. Parao item controle, foram registrados 4 votos positivos, 6 votos neutros e 2 votos negativos.Considerando todos os aspectos, foram registrados 20 votos positivos, 11 neutros e 5negativos.
No quatro encontro, descrito na subsecao 4.2.4, estavam presentes 12 alunos, dentreeles, apenas 10 preencheram o formulario SAM. Sobre o quesito satisfacao, obtivemos 9votos positivos, 1 voto neutro e nenhum voto negativo. Ja em motivacao foram 9 positivos,1 neutro e 0 negativo. Para o item controle, foram registrados 7 votos positivos, 3 votosneutros e nenhum votos negativo. Totalizando 25 votos positivos, 5 neutros, e 0 votosnegativos.
Para a quinta sessao, relatada na subsecao 4.2.5, estavam presentes 10 alunos, etodos preencheram o formulario. Sobre o quesito satisfacao, obtivemos 10 votos positivos,0 votos neutros e 0 votos negativos. Em motivacao o mesmo resultado, foram 10 positivos,0 neutros e 0 negativos. Para o item controle, foram registrados 9 votos positivos, 0 votosneutros e apenas 1 votos negativos. Totalizando 29 votos positivos, 0 neutros, e um unicovoto negativo.
Para o sexto encontro, descrito na subsecao 4.2.6, estavam presentes 11 alunos,sendo que todos preencheram o formulario. Sobre o quesito satisfacao, obtivemos 7 votospositivos, 1 votos neutro e 3 votos negativos. Em motivacao foram 8 positivos, 1 neutroe 2 negativo. Para o item controle, foram registrados 4 votos positivos, 4 votos neutros e3 votos negativos. Totalizando 19 votos positivos, 6 neutros, e 8 votos negativos.
A penultima sessao, descrita na subsecao 4.2.7, 10 alunos estavam presentes, etodos assinalaram a avaliacao. Sobre o quesito satisfacao, obtivemos 9 votos positivos, 1voto neutro e 0 votos negativos. Em motivacao foram 9 positivos, 0 neutros e apenas 1voto negativo. Para o item controle, foram registrados 7 votos positivos, 0 votos neutrose 3 votos negativos. Considerando todos os itens, foram registrados 25 votos positivos, 1voto neutro e 4 votos negativos.
No oitavo e ultimo encontro, noticiado na subsecao 4.2.8, 14 participantes estavampresentes, e esse mesmo numero preencheu a autoavaliacao. Sobre o quesito satisfacao,obtivemos 13 votos positivos, 0 votos neutros e somente 1 voto negativo. Em motivacaoforam 9 positivos, 4 neutros e 1 negativo. Para o item controle, foram registrados 8 votospositivos, 3 votos neutros e 3 votos negativos. Considerando todos os elementos, foramregistrados 30 votos positivos, 7 votos neutros e 5 votos negativos.
Capıtulo 4. Resultados e Discussoes 41
A tabela 5, expoe os numeros obtidos em cada sessao, alem de demostrar a tota-lidade de Votos Negativos (V-), Votos Neutros (VN) e Votos Positivos(V+), para cadaitem analisado:
Tabela 5 – Resultado das auto-avaliacoes dos participantesSatisfacao Motivacao Controle
V- VN V+ V- VN V+ V- VN V+1o Sessao 1 2 8 1 1 9 3 6 22o Sessao 0 1 13 1 2 11 4 8 23o Sessao 1 2 9 2 3 7 2 6 44o Sessao 0 1 9 0 1 9 0 3 75o Sessao 0 0 10 0 0 10 1 0 96o Sessao 3 1 7 2 1 8 3 4 47o Sessao 0 1 9 1 0 9 3 0 78o Sessao 1 0 13 1 4 9 3 3 8Total 6 8 78 8 12 72 19 30 43
Baseado nos dados da tabela 5, o grafico da Figura 7 constata a evolucao destesnumeros, sobre os votos positivos, neutros e negativos com o passar dos encontros.
Figura 7 – Progressao dos votos
A autoavaliacao SAM, de forma geral, obteve 276 votos, onde 193 deles forampositivos(v+), ou seja cerca de 70% dos votos totais; houveram 50 votos neutros(VN),que correspondem a 18% dos totais, enquanto que votos negativos(V-), agregam 12% dosvotos totais, ou seja exatos 33 votos. Consideramos que independente do fator analisado,seja ele a satisfacao, motivacao ou controle dos participantes, o grande numero de votospositivos expressam de forma geral, bons resultados acerca da realizacao dos Dojo deprogramacao.
Capıtulo 4. Resultados e Discussoes 42
4.3.2 Resultados BRM
Como apresentado no capıtulo 3, na sessao 3.5, a avaliacao da oficina pelo aluno,foi realizada por meio de um formulario com tres campos de resposta aberta. Destacamosa respostas de apenas 3 alunos sobre a avaliacao geral dos encontros:
Aluno 1:
Bom: “Muito boa a oportunidade de poder aprender Java na pratica. E de graca, mas aqualidade e alta. Em poucas aulas o aluno ja consegue ter autonomia na resolucaodas questoes”
Ruim: “O horario e um pouco ruim quando tem prova logo apos o Coding Dojo.”
Melhorar: “Poderia ter todo semestre e com outras linguagens.”
Aluno 2:
Bom: “Aprender uma linguagem de programacao. Treinar em cada aula. Adidatica/dinamica das aulas. Envio da resolucao dos exercıcios. Desenvolve o tra-balho em equipe.”
Ruim: “Nem todas as aulas serem no mesmo laboratorio.”
Melhorar: “Ter mais edicoes e com outras linguagens de programacao tambem.”
Aluno 3:
Bom: “Bem dinamico. Bom ensino..”
Ruim: “Pouco tempo de curso.”
Melhorar: “Quantidade de aulas da oficina.”
As respostas expressas pelos participantes, reforcam o que foi verificado nas resul-tados da autoavaliacao SAM. Os comentarios mostram que os alunos estavam satisfeitoscom a metodologia utilizada, e com os conhecimentos adquiridos e aplicados durante assessoes de Coding Dojo, de tal forma que alguns participantes sugeriram a aplicacao outrassessoes de dojos de programacao, alem de propor um aumento no numero de encontrosrealizados e a utilizacao de outras linguagens de programacao.
Capıtulo 4. Resultados e Discussoes 43
4.4 Observacoes dos InstrutoresEntre os pontos observados pelos instrutores estao: a boa interacao entre alunos,
alem da iniciativa dos participantes em sanarem duvidas com os instrutores, demonstrandoassim interesse em aprender conteudo, destacamos tambem, que nos primeiros encontros,alguns participantes demonstraram um inicial desconforto com a metodologia, em nossasobservacoes consideramos que estes indivıduos possuem um perfil mais tımido ou inseguro,tendo em vista a exposicao envolvida nas funcoes de piloto e copiloto, e por conta disto,optaram por apenas observar a resolucao das questoes por seus colegas. Como passar dassessoes esses mesmos indivıduos, ja estavam familiarizados com a metodologia e com alinguagem Java, e logo participaram mais ativamente dos encontros.
Outro ponto observado, foi que enquanto o piloto narrava suas acoes no codigo,alguns membros da plateia logo buscavam em conjunto interpretar o problema e identificaronde esta ocorrendo o possıvel erro na resolucao apresentada pelos pilotos. Desta forma,ao realizar as trocas de posicoes, o logica para a resolucao ja estava construıda, cabendoapenas implementar no codigo esta logica, utilizando as estruturas necessarias para asolucao do problema.
4.5 DiscussoesDe modo geral, considerou-se com o avancar dos encontros, que os participan-
tes realmente conseguiram desenvolver e praticar os conceitos iniciais da linguagem deprogramacao Java. Baseando-se nas observacoes realizadas pelos instrutores, alem dosexpressivos numeros acerca da satisfacao, motivacao e controle dos alunos, obtidos pela aavaliacao SAM, juntamente com os comentarios expressos pela avaliacao BRM, houve defato um grande proveito desta experiencia para os participantes.
Em varios momentos foi percebido o real interesse de alguns alunos sobre a com-preensao da sintaxe da linguagem e utilizacao das estruturas, pois, sempre que lhes surgiaalguma incerteza, nao hesitavam em contatar os instrutores para sanar tal duvida. Algunsajustes tiveram que ser feitos a partir da dinamica “Coding Dojos Randori”, para tornar oencontros produtivos para os alunos como, por exemplo, a realizacao de pausas periodicaspara explicar o raciocınio por tras de uma solucao enquanto ela e desenvolvida.
E importante ressaltar tambem alguns problemas identificados pelos instrutorese pelos o participantes, tais como, o locais de realizacao das sessoes, considerando quea metodologia necessita de poucos componentes fısicos, dentre eles um computador, umprojeto e um quadro branco. Os espaco de realizacao nao foi o mesmo em todas as sessoes.Em uma ocasiao, no decorrer de uma sessao foi necessario realocar todos os participantespara um outro local, para entao dar continuidade na pratica. Alem de varios desses locais
Capıtulo 4. Resultados e Discussoes 44
cedidos nao fornecerem um suporte ideal para a realizacoes das sessoes.
Apos analise das listas de frequencias, observamos que nenhum dos participantesobteve 100% de frequencia nos encontros. Apenas 3 alunos participaram de 7 sessoes,cerca de 87,5% do total dos encontros, outros 7 alunos tiveram frequencia de 75%, quecorrespondem a 6 encontros, 4 alunos participaram de 5 sessoes e obtiveram frequenciade 62,5%. E outros 11 alunos obtiveram a frequencia igual ou inferior a 50%, variandosua participacao entre 0 e 4 encontros.
Outro aspecto evidente, foi a quantidade participantes nas sessoes, em media 10alunos. Considerando que inicialmente 25 vagas foram ofertadas e preenchidas, menosde 50% dos inscritos participam efetivamente dos encontros, este acontecimento podeestar relacionado com a adaptacao dos alunos a metodologia, pois em alguns momentos, enecessario que o alunos demostre seus conhecimentos codificando e narrando suas acoes,logo o fator de exposicao se faz presente, o que pode inibir a participacao de alunos comperfil mais tımido e introvertido, assim como outros fatores observados, como os horariosde realizacao dos encontros e alguns acontecimentos que comprometeram a realizacao dassessoes planejadas.
45
5 Conclusoes e Trabalhos Futuros
O aprendizado e o exercıcio da programacao de computadores sao tarefas queexigem dedicacao e esforco dos estudantes, logo, muitos desses acabam encontrando di-ficuldades nos primeiros contatos com uma linguagem de programacao e elaboracao dealgoritmos. No ensino superior, como fundamentado no capıtulo 2, a reprovacao em dis-ciplinas que incluem a pratica da programacao em sua planejamento, e um fator quecontribui significativamente para episodios de evasao de alunos.
As sessoes de Coding Dojos mostram-se uma pratica sustentavel no desenvolvi-mento de habilidades de programacao. No decorrer deste projeto, com os registros rea-lizados e com a analise dos dados coletados, podemos perceber que a acao foi, no geral,positiva para os participantes.
Como os conhecimentos adquiridos pela pratica realizada, presumimos que paraestes alunos a experiencia resultara em uma maior de compreensao dos conteudos traba-lhados em componentes curriculares que contornam o ensino de programacao, resultandoassim, em uma diminuicao das taxas de reprovacao nestas disciplinas, consequentementea reducao de casos de evasao de alunos nos cursos de informatica da Universidade.
Para os instrutores deste projeto, houve tambem grande ganho, sendo eles vete-ranos do curso de Licenciatura em Computacao, a pratica realizada proporcionou a estesfuturos professores a oportunidade de exercer e aplicar os conhecimentos adquiridos nodecorrer da sua graduacao, contribuindo assim para a formacao docente desses alunos.
Como trabalhos futuros, destaca-se a importancia da investigacao do desempenhodos alunos participantes dos Coding Dojos nas disciplinas relacionadas a programacao.
Alem de estarem previstos a realizacao de novos encontros em turmas de calou-ros que futuramente nos ingressarao nos cursos de LC e BSI. Propomos tambem umaoutra possıvel forma de aplicacao de Coding Dojos na Universidade, esta por sua vezcom maior apoio das coordenacoes de curso, na divulgacao e conscientizacao dos alunossobre importancia da participacao em projetos como este, que promovem a abordagempratica de um determinado conceito necessario para o decorrer do curso, neste caso, a pro-gramacao de computadores, assim como, uma maior assistencia fornecida pelo instituto,com a concessao de locais e horarios mais apropriados para a realizacao destes eventos,com a realizacao dos encontros sendo mediadas pelos discentes que integram o programade monitoria da UFRA, dando apoio aos alunos acerca do aprendizado de programacao,cuja a administracao e exercida pela PROEN, por meio da Divisao de Apoio Pedagogicoda Universidade.
46
Referencias
ADAN-COELLO, J. M. et al. Conflito socio-cognitivo e estilos de aprendizagem naformacao de grupos para o aprendizado colaborativo de programacao de computadores.Brazilian Journal of Computers in Education, v. 16, n. 03, 2008. Citado na pagina 13.
BORGES, R. M. et al. Usando o modelo 3c de colaboracao e vygotsky no ensino deprogramacao distribuıda em pares. In: Brazilian Symposium on Computers in Education(Simposio Brasileiro de Informatica na Educacao-SBIE). [S.l.: s.n.], 2007. v. 1, n. 1, p.51–60. Citado na pagina 21.
BOSSAVIT, L.; GAILLOT, E. The coder’s dojo–a different way to teach and learnprogramming. In: SPRINGER. International Conference on Extreme Programming andAgile Processes in Software Engineering. [S.l.], 2005. p. 290–291. Citado na pagina 28.
BRADLEY, M. M.; LANG, P. J. Measuring emotion: the self-assessment manikinand the semantic differential. Journal of behavior therapy and experimental psychiatry,Elsevier, v. 25, n. 1, p. 49–59, 1994. Citado na pagina 31.
CAMPIONE, M.; WALRATH, K.; HUML, A. The Java tutorial: a short course on thebasics. [S.l.]: Addison-Wesley Professional, 2001. Citado na pagina 24.
CARMO, D. H.; BRAGANHOLO, V. Um estudo sobre o uso didatico de dojos deprogramacao. In: XX Workshop sobre Educac ao em Informatica (WEI). [S.l.: s.n.],2012. Citado na pagina 21.
COLL, C. Aprendizagem escolar e construcao do conhecimento. In: Aprendizagemescolar e construcao do conhecimento. [S.l.: s.n.], 1994. Citado na pagina 20.
DAMIANI, M. F. Entendendo o trabalho colaborativo em educacao e revelando seusbenefıcios. Educar em revista, SciELO Brasil, n. 31, 2008. Citado na pagina 20.
DEITEL, H. M.; DEITEL, Paul J. Java: Como programar. 8a Edicao. [S.l.]: Sao Paulo:Prentice Hall, 2010. Citado na pagina 25.
DELGADO, C.; TOLEDO, R. de; BRAGANHOLO, V. Uso de dojos no ensino superiorde computacao. in Workshop sobre Educacao em Computacao., 2012. Citado 2 vezesnas paginas 21 e 28.
ERICSSON, K. A.; KRAMPE, R. T.; TESCH-ROMER, C. The role of deliberatepractice in the acquisition of expert performance. Psychological review, AmericanPsychological Association, v. 100, n. 3, p. 363, 1993. Citado na pagina 28.
FRANZ, L. P.; SILVA, J. P. S. da; CHEIRAN, J. F. P. O uso de coding dojo noaprendizado colaborativo de programacao de computadores. RENOTE, v. 12, n. 2, 2014.Citado 2 vezes nas paginas 14 e 21.
GOMES, A.; HENRIQUES, J.; MENDES, A. Uma proposta para ajudar alunos comdificuldades na aprendizagem inicial de programacao de computadores. Educacao,Formacao & Tecnologias-ISSN 1646-933X, v. 1, n. 1, p. 93–103, 2008. Citado 2 vezesnas paginas 13 e 19.
Referencias 47
GOMES, A. J.; MENDES, A. J. A procura de um contexto para apoiar a aprendizageminicial de programacao. Educacao, Formacao & Tecnologias-ISSN 1646-933X, v. 8, n. 1,p. 13–27, 2015. Citado na pagina 19.
HUNT, A.; THOMAS, D. The pragmatic programmer. [S.l.]: Pearson Education India,1900. Citado na pagina 28.
INDRUSIAK, L. S. Linguagem java. Grupo JavaRS JUG Rio Grande do Sul, 1996.Citado na pagina 25.
JENKINS, T. On the difficulty of learning to program. In: CITESEER. Proceedings ofthe 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences.[S.l.], 2002. v. 4, n. 2002, p. 53–58. Citado na pagina 13.
KAMPFF, A. J. C. Mineracao de dados educacionais para geracao de alertas emambientes virtuais de aprendizagem como apoio a pratica docente. 2009. Citado napagina 19.
LAUTERT, L. d. S.; ROLIM, M.; LODER, L. Investigando processos de retencao noambito de um curso de engenharia eletrica. In: Congresso Brasileiro de Educacao emEngenharia. [S.l.: s.n.], 2011. v. 39. Citado na pagina 18.
LUZ, R. B.; NETO, A. Usando dojos de programacao para o ensino de desenvolvimentodirigido por testes. In: Brazilian Symposium on Computers in Education (SimposioBrasileiro de Informatica na Educacao-SBIE). [S.l.: s.n.], 2012. v. 23, n. 1. Citado napagina 21.
MARINHO, C. et al. Experiencias no uso da metodologia coding dojo nas disciplinasbasicas de programacao de computadores em um curso interdisciplinar do ensinosuperior. In: Anais dos Workshops do Congresso Brasileiro de Informatica na Educacao.[S.l.: s.n.], 2016. v. 5, n. 1, p. 1097. Citado na pagina 28.
NETBEANS, I. Disponıvel em¡ http://www. netbeans. org¿. Acesso em 25/06/2018,v. 11, 2008. Citado na pagina 25.
NG, E.; BEREITER, C. Three levels of goal orientation in learning. Journal of theLearning Sciences, Taylor & Francis, v. 1, n. 3-4, p. 243–271, 1991. Citado na pagina 13.
PEREIRA, A. S. Retencao discente nos cursos de graduacao presencial da UFES. 2013.164 f. Tese (Doutorado) — Dissertacao (Mestrado em Gestao Publica)-Programa dePos-Graduacao em Gestao Publica, Universidade Federal do Espırito Santo, Vitoria,2013. Citado na pagina 19.
RIBAS, E.; BIANCO, G. D.; LAHM, R. A. Programacao visual para introducao aoensino de programacao na educacao superior: uma analise pratica. RENOTE, v. 14, n. 2,2016. Citado na pagina 19.
SILVEIRA, F. E. d. Relato de experiencia do uso de programacao em pares nodesenvolvimento de sistemas da ufrgs. In: Workshop de Tecnologia de Informacao eComunicacao das Instituicoes Federais de Ensino Superior (10.: 2016: Gramado).Anais. Gramado,[sn], 2016. [S.l.: s.n.], 2016. Citado na pagina 20.
Apendices
49
APENDICE A – Formulario de Inscricao
Figura 8 – Formulario de Inscricao
Projeto de Coding Dojo com JavaEste formulário será utilizado para realizar sua inscrição no Projeto de Coding DOJO do BPM Lab / ICIBE / UFRA. O número de vagas é limitado e apenas alunos dos cursos de informática do Campus Belém poderão participar.
Coding Dojo é um método de aprendizagem para desenvolvimento de projetos em computação, utilizado em universidades, eventos de computação, empresas e hackerspaces. Nessa dinâmica, todas as pessoas constroem juntas a solução, alternando a posição reflexiva da platéia com as posições mais ativas dos pilotos e co-pilotos, construindo a partir do trabalho acumulado dos pilotos anteriores a solução dos problemas apresentados nas sessões.
Como o desenvolvimento de código será colaborativo, não podemos caracterizar esse projeto precisamente como uma oficina, pois os alunos terão necessariamente participação ativa no desenvolvimento das soluções dos problemas de algoritmos que serão expostos aos participantes.
Período do Projeto: 24 de maio a 28 de junho. Dias dos encontros: Segunda e Quinta-feira. Horário dos encontros: 16:00h as 18:00h. Local dos Encontros: Sala 01, ICIBE/UFRA.
Datas dos encontros (10 encontros): 24/maio, 28/maio, 04/junho, 07/junho, 11/junho, 14/junho, 18/junho, 21/junho, 25/junho e 28/junho.
A frequência mínima de 75% dará direito a certificado.
*Obrigatório
1. Nome Completo *
2. Número de Matrícula *
3. E-mail *
4. Curso *Marcar apenas uma oval.
Licenciatura em Computação
Bacharelado em Sistemas de Informação
Referencias 50
Powered by
5. Quanto a minha experiência com algoritmos e linguagens de programação *Marcar apenas uma oval por linha.
Sim Não
Fui apresentado ao conceito dealgoritmos no ENSINOFUNDAMENTALFui apresentado ao conceito dealgoritmos no ENSINO MÉDIOJá fiz disciplina de algoritmos ouprogramação de computadores noENSINO SUPERIORJá ouvi falar ou li o que é umALGORITMOJá ouvi falar ou li o que é umaLINGUAGEM DEPROGRAMAÇÃO (Ex: Java,Python, C, C++)
6. Por que você está se inscrevendo neste projeto?
51
APENDICE B – Materiais de Apoio
Figura 9 – Folder 01 - Operadores Matematicos, Variaveis e Funcoes
O q
ue é
um
alg
ori
tmo
?
Alg
oritm
o n
ad
a m
ais
é d
o q
ue u
ma r
eceita q
ue
mo
str
a
passo
a
p
asso
o
s
pro
ced
ime
nto
s
nece
ssário
s p
ara
a r
esolu
ção
de u
ma tare
fa. E
m
term
os
ma
is
técnic
os,
um
a
lgo
ritm
o
é
um
a
se
qu
ên
cia
lóg
ica
, fin
ita e
defin
ida d
e i
nstr
uçõe
s
qu
e
deve
m
ser
seg
uid
as
para
re
so
lve
r u
m
pro
ble
ma
. Q
uais
e
str
utu
ras
pre
cis
am
os
de
um
a
lin
gu
ag
em
de p
rog
ram
açã
o p
ara
des
en
vo
lve
r p
rog
ram
as
?
Op
era
dore
s:
Ma
tem
áticos
Va
riáve
is
Fun
çõe
s
Fun
çõe
s d
e E
ntr
ada
Fun
çõe
s d
e S
aíd
a
Ob
jeti
vo
da
Cart
ilh
a:
De
mo
str
ar
ao
alu
no
de
q
uais
a
s
prin
cip
ais
estr
utu
ras n
ece
ssária
s p
ara
criar
pro
gra
mas,
e
assim
, so
lucio
na
r e
xe
rcíc
ios
utiliz
and
o
a
ling
uag
em
de p
rog
ram
açã
o J
AV
A.
Ori
en
tan
do
s:
D
ene
r R
obe
rto
S.
Rip
ard
o
W
ald
inei R
om
an
o C
ava
lca
nte
Ori
en
tad
or:
Fab
io d
e L
ima B
eze
rra
OF
ICIN
A D
E I
NT
RO
DU
ÇÃ
O A
L
ING
UA
GE
M D
E P
RO
GR
AM
AÇ
ÃO
JA
VA
Op
erad
ore
s M
atem
átic
os,
Var
iáv
eis,
F
unçõ
es, E
ntr
ada
e S
aída.
Be
lém
/Pará
2018
Referencias 52
Op
era
do
res
Os
opera
do
res
sã
o
utiliz
ado
s
princip
alm
ente
n
a
eta
pa
d
o
pro
ce
ssam
ento
, p
ossib
ilita
nd
o
realiz
ar
açõe
s e
spe
cífic
as (
ma
tem
áticas,
log
ica
s
e d
e c
om
para
çã
o)
so
bre
os d
ad
os.
Ma
tem
áti
co
s:
Ad
içã
o
+
Su
btr
ação
-
Mu
ltip
lica
ção
*
Div
isã
o
/ R
esto
%
Va
riá
ve
is
Um
a v
ariáve
l é
um
a p
osiç
ão d
a m
em
ória d
o
co
mp
uta
dor
ca
pa
z d
e r
ete
r e
re
pre
se
nta
r um
va
lor
ou e
xp
ressã
o.
Ela
s s
ão a
ssocia
da
s a
u
m n
om
e,
ch
am
ado
id
entifica
do
r, e
em
Ja
va
restr
ing
em
o c
onju
nto
de v
alo
res q
ue p
odem
se
r atr
ibuíd
os a
ela
.
Ex
em
plo
s:
byte
a; // a
ceita a
pe
na
s v
alo
res in
teiro
s
sh
ort
b: // a
ceita a
pe
na
s v
alo
res in
teiro
s
int
c; //a
ceita a
pe
na
s v
alo
res in
teiro
s
lon
g d
: // a
ceita a
pe
na
s v
alo
res in
teiro
s
flo
at
e; //
aceita
va
lore
s r
eais
/decim
ais
do
ub
le f; // a
ceita
va
lore
s r
eais
/decim
ais
bo
ole
an
g; // a
ceita v
alo
res: tr
ue e
fa
lse
ch
ar
h; //a
ceita a
pe
na
s v
alo
res c
ara
cte
re
Fu
nçõ
es d
e S
aíd
a
Re
fere
-se a
sa
ída d
e d
ete
rmin
ad
o p
rocessam
en
to,
ou
se
ja, o v
alo
r o
u info
rma
çã
o a
ser
exib
ida a
o u
suário
apó
s
a e
xe
cuçã
o d
o p
rog
ram
a.
E
xem
plo
:
S
yste
m.o
ut.p
rintln
("H
ello
World !")
; J
Op
tion
Pa
ne
.sh
ow
Me
ssa
ge
Dia
log(n
ull,
" H
ello
Wo
rld
");
Fu
nçõ
es d
e E
ntr
ad
a
Sã
o
utiliz
ado
s
para
in
serir
dad
os
no
pro
gra
ma
, a
tra
vé
s d
e um
d
isp
ositiv
o d
e
entr
ad
a,
o
com
puta
do
r lê
a
in
form
ação
inserid
a e
a a
rma
ze
na
em
um
a v
ariáve
l.
E
xem
plo
s:
S
ca
nn
er
entr
ada =
new
S
ca
nn
er(
Syste
m.in
);
Str
ing
lin
ha
= e
ntr
ada
.nextL
ine()
;
Str
ing
lin
ha
=
JO
ptioP
ane
.sh
ow
Inpu
tDia
log
("D
igite:"
, n
ull)
;
Fu
nçõ
es
Fun
çõe
s
sã
o
rotina
s
ou
su
b-r
otina
s
auto
mática
s.
Sem
pre
q
ue
p
rete
nd
em
os
usar
um
m
esm
o
cód
igo
p
ara
a
lgo
espe
cífic
o,
criam
os
um
a fu
nçã
o.
De
ssa
form
a,
sem
pre
q
ue
quis
erm
os
utiliz
ar
aq
uela
co
dific
açã
o,
ao
invé
s
de
nós
a
dig
ita
rmo
s
nova
me
nte
, sim
ple
sm
ente
ch
am
am
os a
fu
nçã
o.
E
xem
plo
s:
Inte
ger.
pars
eIn
t(a)
Flo
at.
pars
eF
loat(
x)
Ma
th.P
I M
ath
.pow
(a,
b)
Ma
th.s
qrt
(x)
Ma
th.s
in(a
) M
ath
.co
s(a
) M
ath
.ta
n(a
) M
ath
.to
De
gre
es(a
) M
ath
.to
Ra
dia
ns(a
)
Referencias 53
Figura 10 – Folder 02 - Exercıcios Operadores Matematicos, Variaveis e Funcoes
O q
ue é
um
alg
ori
tmo
?
Alg
oritm
o n
ad
a m
ais
é d
o q
ue u
ma r
eceita q
ue
mo
str
a
passo
a
p
asso
o
s
pro
ced
ime
nto
s
nece
ssário
s p
ara
a r
esolu
ção
de u
ma tare
fa. E
m
term
os
ma
is
técnic
os,
um
a
lgo
ritm
o
é
um
a
se
qu
ên
cia
lóg
ica
, fin
ita e
defin
ida d
e i
nstr
uçõe
s
qu
e
deve
m
ser
seg
uid
as
para
re
so
lve
r u
m
pro
ble
ma
. Q
uais
e
str
utu
ras
pre
cis
am
os
de
um
a
lin
gu
ag
em
de p
rog
ram
açã
o p
ara
des
en
vo
lve
r p
rog
ram
as
?
Op
era
dore
s:
Ma
tem
áticos
Va
riáve
is
Fun
çõe
s
Fun
çõe
s d
e E
ntr
ada
Fun
çõe
s d
e S
aíd
a
Ob
jeti
vo
da
Cart
ilh
a:
Ap
resen
tar
vá
rio
s e
xe
rcíc
ios,
qu
e p
ara
su
as
reso
luçõ
es s
ão
ne
ce
ssá
rio
s u
tiliz
ar
op
era
do
res
ma
tem
ático
s,
va
riá
ve
is,
fun
çõe
s,
en
trad
a
e
sa
ída
.
Ori
en
tan
do
s:
D
ene
r R
obe
rto
S.
Rip
ard
o
W
ald
inei R
om
an
o C
ava
lca
nte
Ori
en
tad
or:
Fab
io d
e L
ima B
eze
rra
OF
ICIN
A D
E I
NT
RO
DU
ÇÃ
O A
L
ING
UA
GE
M D
E P
RO
GR
AM
AÇ
ÃO
JA
VA
PA
RT
E I
– E
xer
cíci
os
Op
erad
ore
s M
atem
átic
os,
Var
iáv
eis,
F
unçõ
es, E
ntr
ada
e S
aída.
Be
lém
/Pará
2018
Referencias 54
LIS
TA
DE
EX
ER
CÍC
IOS
1.
Crie
um
a
cla
sse
princip
al
ch
am
ada
Qu
esta
o0
1,
que l
eia
va
lore
s v
ia t
ecla
do
, d
e
base
e a
a
ltura
d
e um
re
tâng
ulo
, p
or
fim
,
ca
lcu
le e
exib
a s
ua á
rea.
2.
Crie
um
a
cla
sse
princip
al
ch
am
ada
Qu
esta
o0
2,
para
ca
lcu
lar
e e
xib
ir a
áre
a d
e
um
qu
adra
do
, a
pa
rtir d
o v
alo
r d
e s
ua a
resta
qu
e s
erá
dig
ita
do
.
3.
Crie
um
a
cla
sse
princip
al
ch
am
ada
Qu
esta
o0
3,
para
ca
lcu
lar
e e
xib
ir a
áre
a d
e
um
q
uadra
do
a
part
ir
do
va
lor
de
sua
dia
go
na
l q
ue s
erá
dig
itad
o.
4.
Crie
um
a
cla
sse
princip
al
ch
am
ada
Qu
esta
o0
4,
ond
e s
eja
po
ssív
el
part
indo
de
va
lore
s d
a b
ase
e a
ltu
ra d
e u
m triâ
ng
ulo
, seja
possív
el ca
lcu
lar
e e
xib
ir s
ua á
rea.
5.
Crie
um
a
cla
sse
princip
al
ch
am
ada
Qu
esta
o0
5, ca
lcu
le e
exib
a o
vo
lum
e d
e u
ma
esfe
ra a
part
ir d
o v
alo
r de
se
u d
iâm
etr
o q
ue
se
rá d
igita
do.
6.
Crie
um
a
cla
sse
princip
al
ch
am
ada
Qu
esta
o0
6,
para
ca
lcu
lar
e e
xib
ir a
m
édia
aritm
ética
de q
uatr
o v
alo
res q
uais
qu
er
qu
e
se
rão
in
serid
os.
7.
Crie
um
a
cla
sse
princip
al
ch
am
ada
Qu
esta
o0
7,
para
ca
lcu
lar
e e
xib
ir a
m
édia
ge
om
étr
ica
de d
ois
va
lore
s q
uais
qu
er
qu
e s
erã
o d
igita
do
s.
8.
Sa
be
nd
o q
ue u
ma m
ilha m
arí
tim
a eq
uiv
ale
a
u
m m
il,
oito
cen
tos e
cin
qu
en
ta e
dois
metr
os e
qu
e u
m q
uilô
me
tro
possu
i m
il m
etr
os,
Crie u
ma c
lasse c
ham
ad
a Q
uesta
o0
8,
para
co
nve
rte
r u
m v
alo
r d
igita
do e
m m
ilhas m
arí
tim
as p
ara
qu
ilôm
etr
os.
9.
Crie
um
a cla
sse ch
am
ada
Q
uesta
o0
9,
para
ca
lcu
lar
e
exib
ir a
te
nsã
o d
e u
m d
ete
rmin
ad
o c
ircu
ito e
letr
ônic
o a
part
ir
dos va
lore
s d
a re
sis
tência
e co
rre
nte
e
létr
ica
q
ue serã
o
dig
ita
do
s.
Utiliz
e a
le
i d
e O
hm
.
10.
De
sen
vo
lva
um
a c
lasse
prin
cip
al
ch
am
ada
Qu
esta
o1
0,
ond
e s
eja
possív
el
entr
ar
via
te
cla
do
co
m o
va
lor
de u
ma
tem
pera
tura
em
g
raus
Ce
lsiu
s,
ca
lcu
lar
e
exib
ir
su
a
tem
pera
tura
eq
uiv
ale
nte
em
Fahre
nh
eit.
11.
De
sen
vo
lva
um
a c
lasse
prin
cip
al
ch
am
ada
Qu
esta
o1
1,
qu
e a
part
ir d
o d
iâm
etr
o d
e u
m c
írcu
lo q
ue s
erá
dig
ita
do,
ca
lcu
lar
e e
xib
ir s
ua á
rea.
12.
Em
um
a c
lasse c
ham
ada Q
uesta
o1
2,
Ca
lcu
le e
exib
a o
vo
lum
e d
e u
m c
one
a p
art
ir d
os v
alo
res d
a a
ltura
e d
o r
aio
da b
ase
qu
e s
erã
o d
igitad
os.
13.
Em
um
a c
lasse,
ca
lcu
le e
exib
a a
ve
locid
ad
e f
inal
(em
km
/h)
de u
m a
uto
mó
ve
l, a
part
ir d
os v
alo
res d
a v
elo
cid
ad
e
inic
ial (
em
m/s
), d
a a
cele
ração
(m
/s²)
e d
o te
mp
o d
e p
erc
urs
o
(em
s)
qu
e s
erã
o d
igita
do
s.
14.
Ca
lcu
lar
e e
xib
ir o
vo
lum
e liv
re d
e um
am
bie
nte
qu
e
co
nté
m u
ma e
sfe
ra d
e r
aio
“r”
in
scrita
em
um
cub
o p
erf
eito
de a
resta
“a
”. O
s v
alo
res d
e “
r “
e “
a”
se
rão d
igitad
os.
15.
Em
u
ma cla
sse cha
ma
da Q
uesta
o1
5,
entr
e v
ia t
ecla
do
com
o v
alo
r d
a c
ota
ção
do
dóla
r e
um
a c
ert
a q
uantid
ad
e d
e d
óla
res.
Ca
lcu
lar
e e
xib
ir o
va
lor
co
rre
spo
nd
ente
em
Re
ais
(R
$).
16.
Em
u
ma cla
sse cha
ma
da Q
uesta
o1
6,
insira
via
te
cla
do
o v
alo
r d
e u
m â
ng
ulo
em
gra
us, ca
lcu
lar
e e
xib
ir a
s s
eg
uin
tes fu
nçõ
es
trig
ono
métr
ica
s:
se
no,
co
ssen
o,
tang
en
te e
se
can
te d
este
âng
ulo
. Le
mb
re-s
e q
ue u
ma
funçã
o trig
ono
métr
ica
tra
balh
a e
m r
adia
no
s.
17. C
rie
um
a c
lasse e
in
sira
via
te
cla
do
dois
va
lore
s q
uais
qu
er “X
” e “X
”. C
alc
ula
r e
exib
ir
o c
álc
ulo
XY
(“X
” e
leva
do
a “
Y”)
. P
esq
uis
ar
as f
unçõ
es E
xp
e L
n.
18.
Crie
um
a c
lasse e
in
sira
via
te
cla
do
, o
va
lor
de c
inco p
rod
uto
s.
Ap
ós a
s e
ntr
ada
s,
dig
ita
r um
va
lor
refe
rente
ao p
ag
am
ento
da
so
ma
tória
deste
s v
alo
res. C
alc
ula
r e
exib
ir o
tro
co q
ue d
eve
rá s
er
devo
lvid
o.
Referencias 55
Figura 11 – Folder 03 - Estruturas de Selecao, Operadores de Logicos e de Comparacao
O q
ue s
ão
estr
utu
ras d
e s
ele
çã
o?
E
m
alg
um
as
ocasiõ
es
de
um
p
rog
ram
a
sã
o
nece
ssária
s
exe
cuta
r o
có
dig
o
ou
outr
o,
de
acord
o com
a
s o
pe
raçõ
es d
e co
mp
ara
ção
, a
estr
utu
ra
de
se
leção
IF
/EL
SE
fa
z
o
dire
cio
na
me
nto
d
a
exe
cuçã
o
do
pro
gra
ma
ate
nd
en
do
a e
sses o
pe
rado
res.
Qu
ais
e
str
utu
ras
pre
cis
am
os
de
um
a
lin
gu
ag
em
de p
rog
ram
açã
o p
ara
des
en
vo
lve
r p
rog
ram
as
?
Op
era
dore
s:
Ma
tem
áticos
Lóg
ico
s
Co
mp
ara
çã
o
Va
riáve
is
Fun
çõe
s
Fun
çõe
s d
e E
ntr
ada
Fun
çõe
s d
e S
aíd
a
Ob
jeti
vo
da
Cart
ilh
a:
Ap
resen
tar
os
op
era
do
res
lógic
os
e
de
co
mpa
ração
e
su
a utiliz
açã
o em
p
rogra
mas,
assim
com
o o
op
era
dor
de
se
leçã
o IF
/ELS
E.
Ori
en
tan
do
s:
D
ene
r R
obe
rto
S.
Rip
ard
o
W
ald
inei R
om
an
o C
ava
lca
nte
Ori
en
tad
or:
Fab
io d
e L
ima B
eze
rra
OF
ICIN
A D
E I
NT
RO
DU
ÇÃ
O A
L
ING
UA
GE
M D
E P
RO
GR
AM
AÇ
ÃO
JA
VA
PA
RT
E I
I –
Op
erad
ore
s de
Com
par
ação
, O
per
ado
res
Lógic
os
e E
stru
tura
s de
Sel
eção
.
Be
lém
/Pará
2018
Referencias 56
Es
tru
tura
de S
ele
çã
o
A in
str
uçã
o d
e se
leção If
/
Els
e
perm
ite
espe
cific
ar
um
a
ação
a
realiz
ar
qu
an
do
a
co
nd
içã
o
for
ve
rda
deira
e u
ma a
ção d
ife
ren
te
quando a
co
nd
içã
o f
or
fals
a.
Op
era
do
res
Os o
pera
do
res s
ão u
tiliz
ado
s p
rincip
alm
ente
na
eta
pa
d
o
pro
ce
ssam
ento
, p
ossib
ilita
nd
o
realiz
ar
açõe
s
espe
cífic
as
(mate
mática
s,
log
ica
s e
de c
om
para
ção)
so
bre
os d
ad
os.
Co
mp
ara
çã
o:
==
x =
= y
x é
ig
ual a y
!=
x !
= y
x é
difere
nte
de y
>
x >
y
y x
é m
aio
r q
ue y
<
x <
y
x é
me
no
r q
ue y
>
=
x >
= y
x é
ma
ior
ou ig
ual a
y
<=
x <
= y
x é
me
no
r o
u ig
ual a y
L
óg
ico
s:
& -
E
co
nd
icio
na
l &
& -
E
co
nd
icio
na
l -
ve
rifica
ção
du
pla
|
-
OU
co
nd
icio
na
l
|| -
O
U c
ond
icio
na
l -
ve
rifica
ção
du
pla
Co
nd
içã
o A
= M
édia
ma
ior
qu
e 6
. C
ond
içã
o B
=
F
req
uência
m
aio
r q
ue 7
5.
A e
str
utu
ra IF
se
irá
exe
cuta
r o
có
dig
o
“Syste
m.o
ut.
prin
tln("
Alu
no
Ap
rova
do
!");
” se
am
bas
as
co
nd
içõ
es f
ore
m v
erd
ade
ira
s.
Ne
ste
ca
so, se
ao m
eno
s u
ma d
as
co
nd
içõ
es
for
fals
a
a
ação
realiz
ação
se
rá a
in
str
uçã
o E
LS
E.
Referencias 57
Figura 12 – Folder 04 - Exercıcios Estruturas de Selecao
O q
ue s
ão
estr
utu
ras d
e s
ele
çã
o?
E
m a
lgum
as o
casiõ
es d
e u
m p
rog
ram
a s
ão
nece
ssária
s e
xe
cuta
r o c
ódig
o o
u o
utr
o,
de
acord
o c
om
as o
pe
raçõ
es d
e c
om
para
çã
o, a
estr
utu
ra
de
se
leção
IF/E
LS
E
faz
o
dire
cio
na
me
nto
d
a e
xe
cuçã
o d
o pro
gra
ma
ate
nd
en
do
a e
sses o
pe
rado
res.
Qu
ais
e
str
utu
ras
pre
cis
am
os
d
e
um
a
lin
gu
ag
em
d
e
pro
gra
ma
ção
p
ara
d
es
en
vo
lve
r p
rog
ram
as
?
Op
era
dore
s:
Ma
tem
áticos
Lóg
ico
s
Co
mp
ara
çã
o
Va
riáve
is
Fun
çõe
s
Fun
çõe
s d
e E
ntr
ada
Fun
çõe
s d
e S
aíd
a
Ob
jeti
vo
da
Cart
ilh
a:
Ap
resen
tar
os
op
era
do
res
lógic
os
e
de
co
mpa
ração
e
sua
utiliz
açã
o
em
p
rogra
ma
s,
assim
com
o
o
ope
rad
or
de
se
leçã
o I
F/E
LS
E.
Ori
en
tan
do
s:
D
ene
r R
obe
rto
S.
Rip
ard
o
W
ald
inei R
om
an
o C
ava
lca
nte
Ori
en
tad
or:
Fab
io d
e L
ima B
eze
rra
OF
ICIN
A D
E I
NT
RO
DU
ÇÃ
O A
L
ING
UA
GE
M D
E P
RO
GR
AM
AÇ
ÃO
JA
VA
PA
RT
E I
I -
Ex
ercí
cio
s –
Op
erad
ore
s de
Co
mp
araç
ão, O
per
ado
res
Lóg
icos
e E
stru
tura
s de
Sel
eção
.
Be
lém
/Pará
2018
Referencias 58
Ex
erc
ício
s d
e O
pe
raç
õe
s c
om
de
cis
ão
ló
gic
a.
19
. E
ntr
ar
via
te
cla
do
, co
m
do
is
va
lore
s
dis
tin
tos. E
xib
ir o
ma
ior
de
les.
20
. E
ntr
ar
via
te
cla
do
, co
m
do
is
va
lore
s
dis
tin
tos. E
xib
ir o
meno
r d
ele
s.
21
. E
ntr
ar
co
m
do
is
va
lore
s
qu
ais
qu
er.
E
xib
ir
o
ma
ior
de
les,
se
exis
tir,
ca
so
co
ntr
ário
, en
via
r m
en
sa
ge
m a
vis
an
do q
ue
os n
úm
ero
s s
ão id
ên
tico
s.
22
. C
alc
ula
r e
e
xib
ir
a
áre
a
de
um
re
tân
gu
lo,
a p
art
ir d
os v
alo
res d
a b
ase
e
altu
ra q
ue
se
rão
dig
ita
do
s.
Se
a
áre
a f
or
ma
ior
qu
e 1
00,
exib
ir a
me
nsa
gem
“T
err
eno
gra
nd
e”.
2
3.
Ca
lcu
lar
e
exib
ir
a
áre
a
de
um
re
tân
gu
lo,
a p
art
ir d
os v
alo
res d
a b
ase
e
altu
ra q
ue
se
rão
dig
ita
do
s.
Se
a
áre
a f
or
ma
ior
qu
e 1
00,
exib
ir a
me
nsa
gem
“T
err
eno
gra
nde
”, ca
so
con
trá
rio
, e
xib
ir a
me
nsa
ge
m
“Te
rre
no
pe
que
no
”.
24
. E
ntr
ar
via
te
cla
do
com
tr
ês
va
lore
s
dis
tin
tos. E
xib
ir o
ma
ior
de
les.
25
. E
ntr
ar
com
o p
eso
e a
altu
ra d
e u
ma
de
term
inad
a
pe
sso
a.
Ap
ós
a
dig
ita
çã
o,
exib
ir s
e e
sta
pe
ssoa
está
ou
n
ão com
se
u pe
so id
ea
l. V
eja
ta
be
la da
rela
çã
o p
eso/a
ltu
ra².
. 2
6.
A p
art
ir de
tr
ês va
lore
s qu
e se
rão
dig
ita
do
s,
ve
rifica
r se
fo
rmam
ou
não
um
tr
iân
gu
lo.
Em
ca
so
p
ositiv
o,
exib
ir
sua
cla
ssific
açã
o:
“Isó
sce
les,
esca
leno
ou
eqü
iláte
ro”.
Um
triâ
ngu
lo e
sca
len
o p
ossu
i to
do
s o
s lad
os d
ife
ren
tes,
o isó
sce
les,
do
is
lad
os i
gu
ais
e o
eqü
iláte
ro,
todo
s o
s l
ad
os
igu
ais
. P
ara
exis
tir
triâ
ngu
lo é
n
ece
ssá
rio
qu
e a
som
a d
e d
ois
la
do
s q
ua
isqu
er
se
ja
ma
ior
qu
e o
ou
tro
, is
to, p
ara
os t
rês la
do
s
27
. V
erifica
r se
trê
s v
alo
res q
ua
isqu
er
(A,B
, C
) qu
e s
erã
o d
igita
dos f
orm
am
ou
nã
o u
m
triâ
ngu
lo
retâ
ngu
lo.
Le
mb
re-s
e
qu
e
o
qu
ad
rad
o d
a h
ipo
ten
usa
é ig
ua
l a s
om
a d
os
qu
ad
rad
os d
os c
ate
tos.
28
. E
ntr
ar
co
m o
pe
so
, o
se
xo
e a
altu
ra d
e
um
a
de
term
ina
da
p
essoa
. A
pó
s
a
dig
ita
çã
o, e
xib
ir s
e e
sta
pe
sso
a e
stá
ou
não
co
m s
eu p
eso id
ea
l. V
eja
ta
be
la d
a r
ela
ção
pe
so
/altu
ra².
29
. A
pa
rtir d
os v
alo
res d
a a
ce
lera
ção
(a
em
m
/s²)
, d
a v
elo
cid
ad
e in
icia
l (v0
em
m/s
) e
do
tem
po
de
pe
rcu
rso
(t
e
m
s).
C
alc
ula
r e
exib
ir a
ve
locid
ad
e f
ina
l d
e a
uto
mó
ve
l em
km
/h.
Exib
ir m
en
sa
gem
de
aco
rdo
com
a
tab
ela
: F
órm
ula
da
ve
locid
ad
e e
m m
/s:
V =
v0
+ a
. t
30
. U
ma
e
sco
la
co
m
cu
rso
s
em
re
gim
e
se
me
str
al, r
ea
liza
du
as a
va
liaçõ
es d
ura
nte
o
sem
estr
e e
ca
lcu
la a
mé
dia
do a
lun
o,
da
se
gu
inte
man
eira
: M
ED
IA =
(P
1 +
2P
2)
/ 3
F
aze
r u
m p
rog
ram
a p
ara
entr
ar
via
te
cla
do
co
m
os va
lore
s d
as n
ota
s (P
1 e
P
2)
e ca
lcu
lar
a
mé
dia
. E
xib
ir
a
situ
açã
o
fin
al
do
alu
no
(“A
pro
va
do
o
u
Re
pro
va
do
”),
sa
be
nd
o
qu
e
a
mé
dia
de
apro
va
ção
é ig
ua
l a
cin
co
.
31
. U
ma
e
sco
la
co
m
cu
rso
s
em
re
gim
e
se
me
str
al
rea
liza
du
as a
va
liaçõ
es d
ura
nte
o
sem
estr
e e
ca
lcu
la a
mé
dia
do a
lun
o,
da
se
gu
inte
man
eira
: M
ED
IA =
(P
1 +
2P
2)
/ 3
F
aze
r u
m p
rog
ram
a p
ara
entr
ar
via
te
cla
do
co
m
o va
lor
da p
rim
eira
n
ota
(P
1)
e o p
rog
ram
a
deve
rá c
alc
ula
r e e
xib
ir q
uanto
o a
luno
pre
cis
a
tira
r n
a s
eg
und
a n
ota
(P
2)
pa
ra s
er
apro
va
do
, sa
be
nd
o q
ue a
mé
dia
de
apro
va
ção
é i
gu
al
a
cin
co.
Referencias 59
Figura 13 – Folder 05 - Estruturas de Repeticao
O q
ue s
ão
estr
utu
ras d
e r
ep
eti
ção
?
Em
a
lgu
ma
s
ocasiõ
es
de
um
p
rog
ram
a
sã
o
nece
ssária
s
exe
cuta
r um
d
ete
rmin
ad
o
có
dig
o
rep
etid
as v
eze
s.
De
acord
o c
om
as c
ondiç
ões d
ete
rmin
ad
as n
o
co
nd
içã
o d
e c
ontin
ua
ção
do lo
op,
um
a e
str
utu
ra
de r
epe
tição f
az o
exe
cuçã
o d
o c
ódig
o a
té q
ue
esse c
ond
içã
o s
e to
rne v
erd
ad
eira
. Q
uais
e
str
utu
ras
pre
cis
am
os
de
um
a
lin
gu
ag
em
de p
rog
ram
açã
o p
ara
des
en
vo
lve
r p
rog
ram
as
?
Op
era
dore
s:
Ma
tem
áticos
Lóg
ico
s
Co
mp
ara
çã
o
Va
riáve
is
Fun
çõe
s
Fun
çõe
s d
e E
ntr
ada
Fun
çõe
s d
e S
aíd
a
Ob
jeti
vo
da
Cart
ilh
a:
Ap
resen
tar
os o
pe
rado
res d
e r
ep
etiçã
o (
Fo
r e
While
) a
ssim
com
o s
ua u
tiliz
açã
o n
a lin
gu
agem
Ja
va
.
Ori
en
tan
do
s:
D
ene
r R
obe
rto
S.
Rip
ard
o
W
ald
inei R
om
an
o C
ava
lca
nte
Ori
en
tad
or:
Fab
io d
e L
ima B
eze
rra
OF
ICIN
A D
E I
NT
RO
DU
ÇÃ
O A
L
ING
UA
GE
M D
E P
RO
GR
AM
AÇ
ÃO
JA
VA
PA
RT
E I
II –
Op
erad
ore
s de
Rep
etiç
ão.
Be
lém
/Pará
2018
Referencias 60
Es
tru
tura
de R
ep
eti
ção
Fo
r A
in
str
ução
d
e
repetiçã
o
Fo
r p
erm
ite
espe
cific
ar
um
a
ação
repe
tida
s
ve
ze
s
enq
uan
to
um
a
co
nd
içã
o
for
ve
rdad
eira
. E
ssa
estr
utu
ra
possu
i o
se
gu
inte
fo
rma
to:
for
( in
icia
liza
çã
o;
co
ndiç
ão
DeC
on
tin
ua
ção
; in
cre
me
nto
) {
in
str
ução
}
Es
tru
tura
de R
ep
eti
ção
Wh
ile
A
instr
ução
de
repetiçã
o
wh
ile,
ve
rifica
um
a
co
nd
içã
o
esta
be
lecid
a,
ação
a
repetid
a
enq
uanto
um
a
co
ndiç
ão
perm
ane
cer
ve
rdad
eira
. E
ssa
estr
utu
ra
possu
i o
se
gu
inte
fo
rma
to:
wh
ile (
co
nd
içã
o )
{
instr
ução
}
Referencias 61
Figura 14 – Folder 06 - Exercıcios Operadores de Repeticao
O
qu
e s
ão
estr
utu
ras d
e r
ep
eti
ção
?
Em
a
lgu
ma
s
ocasiõ
es
de
um
p
rog
ram
a
sã
o
nece
ssária
s
exe
cuta
r um
d
ete
rmin
ad
o
có
dig
o
rep
etid
as v
eze
s.
De
acord
o c
om
as c
ondiç
ões d
ete
rmin
ad
as n
o
co
nd
içã
o d
e c
ontin
ua
ção
do lo
op
, um
a e
str
utu
ra
de r
epe
tição f
az o
exe
cuçã
o d
o c
ódig
o a
té q
ue
essa c
ond
içã
o s
e to
rne v
erd
ad
eira
. Q
uais
e
str
utu
ras
pre
cis
am
os
de
um
a
lin
gu
ag
em
de p
rog
ram
açã
o p
ara
des
en
vo
lve
r p
rog
ram
as
?
Op
era
dore
s:
Ma
tem
áticos
Lóg
ico
s
Co
mp
ara
çã
o
Va
riáve
is
Fun
çõe
s
Fun
çõe
s d
e E
ntr
ada
Fun
çõe
s d
e S
aíd
a
Ob
jeti
vo
da
Cart
ilh
a:
Ap
resen
tar
os o
pe
rado
res d
e r
ep
etiçã
o (
Fo
r e
While
) a
ssim
com
o s
ua u
tiliz
açã
o n
a li
ngu
agem
Ja
va
.
Ori
en
tan
do
s:
D
ene
r R
obe
rto
S.
Rip
ard
o
W
ald
inei R
om
an
o C
ava
lca
nte
Ori
en
tad
or:
Fab
io d
e L
ima B
eze
rra
OF
ICIN
A D
E I
NT
RO
DU
ÇÃ
O A
L
ING
UA
GE
M D
E P
RO
GR
AM
AÇ
ÃO
JA
VA
PA
RT
E I
II –
Op
erad
ore
s de
Rep
etiç
ão.
Be
lém
/Pará
2018
Referencias 62
Ex
erc
ício
s c
om
estr
utu
ras
de
re
pe
tiç
ão
32.
Cri
ar u
ma
roti
na
de
entr
ada
que
acei
te s
om
ente
um
val
or
posi
tivo.
33.
Entr
ar co
m
dois
val
ore
s via
te
clad
o,
onde
o
segundo
dev
erá
ser
mai
or
que
o
pri
mei
ro.
Cas
o
contr
ário
so
lici
tar
novam
ente
ap
enas
o
segundo
val
or.
34.
Entr
ar v
ia t
ecla
do c
om
o s
exo d
e det
erm
inad
o
usu
ário
, ac
eita
r so
men
te “
F”
ou “
M”
com
o r
espost
as
vál
idas
.
35. E
xib
ir a
tab
uad
a do n
úm
ero c
inco
no inte
rval
o d
e
um
a d
ez.
36. E
ntr
ar v
ia tec
lado c
om
um
val
or
qual
quer
. Tra
var
a dig
itaç
ão,
no s
enti
do d
e ac
eita
r so
men
te v
alore
s
posi
tivo
s. A
pós
a dig
itaç
ão, e
xib
ir a
tab
uad
a do v
alor
soli
cita
do, no i
nte
rval
o d
e um
a d
ez.
37.
Entr
ar v
ia t
ecla
do c
om
um
val
or
(X)
qual
quer
.
Tra
var
a d
igit
ação
, no s
enti
do d
e ac
eita
r so
men
te
val
ore
s posi
tivos.
S
oli
cita
r o
inte
rval
o
que
o
pro
gra
ma
que
dev
erá
calc
ula
r a
tabuad
a do val
or
dig
itad
o,
sendo q
ue
o s
egundo v
alor
(B),
dev
erá
ser
mai
or
que
o pri
mei
ro (A
), ca
so co
ntr
ário
, dig
itar
novam
ente
som
ente
o s
egundo. A
pós
a val
idaç
ão d
os
dad
os,
ex
ibir
a
tabuad
a do
val
or
dig
itad
o,
no
inte
rval
o d
ecre
scen
te,
ou s
eja,
a t
abuad
a de
X n
o
inte
rval
o d
e B
par
a A
.
38.
Exib
ir a
tab
uad
a dos
val
ore
s de
um
a v
inte
, no
inte
rval
o d
e um
a d
ez.
Entr
e as
tab
uad
as,
soli
cita
r
que
o u
suár
io p
ress
ione
um
a te
cla.
39.
Exib
ir a
som
a dos
núm
eros
inte
iros
posi
tivos
do
inte
rval
o d
e um
a c
em.
40.
Exib
ir os
trin
ta pri
mei
ros
val
ore
s da
séri
e de
Fib
onac
ci. A
sér
ie:
1, 1, 2, 3, 5, 8, ...
41.
Exib
ir os
vin
te pri
mei
ros
val
ore
s da
séri
e de
Ber
gam
asch
i. A
sér
ie:
1, 1, 1, 3, 5, 9, 17,
...
42.
Cal
cula
r e
exib
ir
a so
ma
dos
“N”
pri
mei
ros
val
ore
s da
sequên
cia
abai
xo.
O
val
or
“N”
será
dig
itad
o,
dev
erá
ser
posi
tivo,
mas
men
or
que
cem
.
Cas
o
o
val
or
não
sa
tisf
aça
a re
stri
ção,
envia
r
men
sagem
de
erro
e s
oli
cita
r o v
alor
novam
ente
.
A s
equên
cia:
2, 5, 10, 17, 26, ....
43.
Cal
cula
r e
exib
ir
a so
ma
dos
“N”
pri
mei
ros
val
ore
s da
sequên
cia
abai
xo.
O
val
or
“N”
será
dig
itad
o,
dev
erá
ser
posi
tivo,
mas
m
enor
que
cinquen
ta.
Cas
o o val
or
não
sa
tisf
aça
a re
stri
ção,
envia
r m
ensa
gem
de
erro
e
soli
cita
r o
val
or
novam
ente
.
A s
equên
cia:
1/2
, 2/3
, 3/4
, 4
/5, ....
44.
Cal
cula
r e
exib
ir
a so
ma
dos
“N”
pri
mei
ros
val
ore
s da
sequên
cia
abai
xo.
O
val
or
“N”
será
dig
itad
o,
dev
erá
ser
posi
tivo,
mas
m
enor
que
cinquen
ta.
Cas
o o val
or
não
sa
tisf
aça
a re
stri
ção,
envia
r m
ensa
gem
d
e er
ro
e so
lici
tar
o
val
or
novam
ente
.
A s
eqüên
cia:
2, 5
/8, 10
/27
, 17
/64…
45.
Entr
ar via
te
clad
o co
m dez
val
ore
s posi
tivos.
Consi
stir
a d
igit
ação
e e
nvia
r m
ensa
gem
de
erro
, se
nec
essá
rio
. A
pós
a dig
itaç
ão, ex
ibir
:
a) O
mai
or
val
or;
b)
A s
om
a dos
val
ore
s; c
) A
méd
ia
arit
mét
ica
dos
val
ore
s;
46. E
ntr
ar v
ia t
ecla
do c
om
“N
” val
ore
s quai
squer
. O
val
or
“N”
(que
repre
senta
a q
uan
tidad
e de
núm
eros)
será
dig
itad
o,
dev
erá
ser
posi
tivo,
mas
men
or
que
vin
te.
Cas
o a
quan
tidad
e não
sat
isfa
ça a
res
triç
ão,
envia
r m
ensa
gem
de
erro
e
soli
cita
r o
val
or
novam
ente
. Após
a dig
itaç
ão d
os
“N”
val
ore
s, e
xib
ir:
a) O
mai
or
val
or;
b)
O m
enor
val
or;
c)
A s
om
a dos
val
ore
s; d)
A m
édia
ar
itm
étic
a dos
val
ore
s; e)
A
porc
enta
gem
de
val
ore
s que
são
posi
tivos;
f)
A
porc
enta
gem
de
val
ore
s neg
ativ
os;
47. E
ntr
ar v
ia t
ecla
do c
om
“N
” val
ore
s quai
squer
. O
val
or
“N”
(que
repre
senta
a q
uan
tidad
e de
núm
eros)
será
dig
itad
o,
dev
erá
ser
posi
tivo,
mas
men
or
que
vin
te.
Cas
o a
quan
tidad
e não
sat
isfa
ça a
res
triç
ão,
envia
r m
ensa
gem
de
erro
e
soli
cita
r o
val
or
novam
ente
. Após
a dig
itaç
ão d
os
“N”
val
ore
s, e
xib
ir:
a) O
mai
or
val
or;
b)
O m
enor
val
or;
c)
A s
om
a dos
val
ore
s; d)
A m
édia
ar
itm
étic
a dos
val
ore
s; e)
A
porc
enta
gem
de
val
ore
s que
são
posi
tivos;
f)
A
porc
enta
gem
de
val
ore
s neg
ativ
os;
Após
exib
ir o
s dad
os,
per
gunta
r ao
usu
ário
de
des
eja
ou n
ão u
ma
nova
exec
uçã
o d
o p
rogra
ma.
Consi
stir
a
resp
ost
a no s
enti
do d
e ac
eita
r so
men
te “
S”
ou “
N”
e
ence
rrar
o p
rogra
ma
em f
unçã
o d
essa
res
post
a.
48. C
alcu
lar
o f
atori
al d
e um
val
or
que
será
dig
itad
o.
Est
e val
or
não
poder
á se
r neg
ativ
o.
Envia
r
men
sagem
de
erro
e s
oli
cita
r o v
alor
novam
ente
, se
nec
essá
rio.
Per
gunta
r se
o usu
ário
des
eja
ou não
faze
r um
novo c
álcu
lo,
consi
stir
a r
espost
a em
“S
”
ou “
N”.
49. O
jogo d
a m
ega-s
ena
consi
ste
em a
cert
ar s
eis
dos
sess
enta
núm
eros
dis
ponív
eis
em u
m v
ola
nte
. F
azer
um
pro
gra
ma
par
a ca
lcula
r a
quan
tidad
e de
jogos
que
tem
os
que
faze
r, p
ara
com
cer
teza
ace
rtar
o r
esult
ado
da
mega-s
ena.
Adm
itin
do q
ue
fare
mos
jogos
de
seis
núm
eros
por
vola
nte
, o p
rogra
ma
dev
erá
exib
ir q
uai
s
seri
am
este
s nú
mer
os
em
cada
vola
nte
, ou
seja
,
exib
ir t
odos
os
resu
ltad
os
poss
ívei
s.