Aperitivo urbano sul mare DELLE BUONE PRATICHE … · Giandomenico Amendola ...
GUSTAVO LAZARO AMENDOLA - cepein.femanet.com.br · sua interface interativa, os alunos arrastam e...
-
Upload
nguyendiep -
Category
Documents
-
view
217 -
download
0
Transcript of GUSTAVO LAZARO AMENDOLA - cepein.femanet.com.br · sua interface interativa, os alunos arrastam e...
1
GUSTAVO LAZARO AMENDOLA
UTILIZANDO ALICE PARA ENSINAR CONCEITOS DE
PROGRAMAÇÃO ORIENTADA A OBJETOS
ASSIS
2013
2
GUSTAVO LAZARO AMENDOLA
UTILIZANDO ALICE PARA ENSINAR CONCEITOS DE
PROGRAMAÇÃO ORIENTADA A OBJETOS
Trabalho apresentado ao Programa de Iniciação Científica (PIC) do Instituto Municipal de Ensino Superior de Assis – IMESA e à Fundação Educacional do Município de Assis – FEMA. Orientando: Gustavo Lazaro Amendola. Orientador: Dr. Luiz Carlos Begosso. Linha de Pesquisa: Ciências Exatas e da Terra.
3
SUMÁRIO
1. INTRODUÇÃO E PROBLEMA .................................................................................. 1
2. HIPÓTESE ........................................................................................................... 4
3. OBJETIVO ............................................................................................................ 5
4. JUSTIFICATIVA .................................................................................................... 5
5. ALICE ................................................................................................................... 5
5.1 OS BENEFÍCIOS DO ALICE ....................................................................... 5
5.2 A INTERFACE DO ALICE ............................................................................ 5
5.3 O DESENVOLVIMENTO DO PROJETO COM O SOFTWARE ALICE ........ 5
6. CONCLUSÃO ....................................................................................................... 5
7. REFERÊNCIAS .................................................................................................... 5
8. APÊNDICE 1 – CURSO ALICE 3 ......................................................................... 5
4
1. INTRODUÇÃO E PROBLEMA
Como se tem visto, o uso da tecnologia tem crescido consideravelmente na
sociedade nas ultimas décadas, e junto com isso a necessidade de mão de obra
qualificada para dar suporte a todo esse crescimento. A área da Tecnologia da
Informação (TI) é umas das áreas que mais crescem ultimamente e também uma
das que tem mais vagas disponíveis no mercado de trabalho. Grande Parte desta
demanda no mercado de trabalho esta fortemente relacionada à área de
desenvolvimento de softwares, que é a área onde a maioria dos estudantes em
iniciação sente dificuldade no aprendizado.
Entre muitas causas a que pode se dar mais relevância é a dificuldade de
aprendizado nas matérias que utilizam logica e cálculos matemáticos como
ferramenta principal de ensino, Algoritmo, Calculo e Introdução a Logica, são
alguns exemplos.
A dificuldade no ensino e na aprendizagem dos conteúdos destas disciplinas tem
preocupado os docentes de cursos de graduação da área de informática. Estas
disciplinas trabalham conteúdos chave para a formação do profissional de
computação e historicamente tem apresentado alto grau de dificuldade para os
alunos, conduzindo a altos níveis de retenção.
Moskal, Lurie e Cooper (2004), argumentam que alunos com pouco ou nenhum
conhecimento prévio em programação e pouco embasamento em matemática são
fatores contribuintes, também, para as altas taxas de reprovação nas disciplinas de
programação de computadores.
O aluno ingressante em cursos de computação não consegue entender e abstrair a
lógica dos problemas e transformá-la numa sequência de passos para
posteriormente desenvolver o algoritmo, conforme aponta Rapkiewicz et al (2006).
Uma alternativa para minimizar tal situação, é o emprego de recursos tecnológicos
como suporte à atividade docente que tendem a favorecer o aprendizado do aluno.
Pimentel et al (2003) destacam o fato de que as ferramentas e ambientes
computacionais foram concebidos para apoiarem o ensino das disciplinas de
programação, entretanto os autores chamam a atenção de que não existem
indicações de uma vasta utilização de tais ferramentas.
5
Por estes motivos, este Projeto de Iniciação Cientifica (PIC) pretende utilizar e
testar um programa de ensino chamado Alice, que tende a fornecer princípios de
Lógica de Programação e conceitos de Orientação a Objetos.
2. HIPÓTESE
Inserir uma ferramenta computacional no ensino de lógica de programação e
orientação a objetos pode contribuir para o aprendizado do aluno de programação,
na resolução de problemas e desenvolvimento de programas, e assim, ajudar a
diminuir os altos índices de retenção?
3. OBJETIVO
Criar um plano de ensino utilizando o software de desenvolvimento de aplicações
tridimensionais, o ALICE, que possa auxiliar na aprendizagem de lógica de
programação, dando suporte na construção de algoritmos, e criar uma base nos
conceitos de orientação a objeto.
4. JUSTIFICATIVA
Este trabalho se justifica por expressar preocupação com o ensino do aluno que
tem dificuldade na aprendizagem de disciplinas onde os conteúdos chaves são a
matemática e a lógica de programação.
6
5. ALICE
O projeto ALICE foi criado nos Estados Unidos em 1997, primeiramente sendo
conduzido pelo grupo de pesquisas do professor e pesquisador Randy Pauch,
autor de best-seller mundial “A Lição Final”. Antes de seu falecimento Randy Pauch
passou a liderança do grupo ALICE para sua amiga, a professora e também
pesquisadora, Wanda Dann, segundo Cymrot, Grinkraut, Barros e Tchemra (2012).
O software ALICE foi criado na Carnegie Mellon University, nos Estados Unidos, e
inicialmente com o objetivo de apoiar e facilitar o ensino de lógica de programação
para alunos do ensino médio, e, posteriormente, devido à evolução do software, foi
estendido para alunos do ensino superior. De acordo com Phillips (2007), das
aproximadamente 3000 faculdades nos Estados Unidos, 10% utilizam o software
ALICE 2.0 como ferramenta de ensino, e entre março de 2006 e março de 2007 o
software foi baixado da internet mais de 440 mil vezes.
ALICE é um ambiente de programação 3D, desenvolvido especialmente para
alunos que terão sua primeira experiência com programação orientada a objetos. O
software permite que o aluno aprenda conceitos fundamentais de programação
criando animações e jogos simples.
No ALICE, objetos 3D como pessoas, animais, veículos, etc. formam um mundo
virtual onde os alunos criam programas para animar tais objetos, Alice (2013). Em
sua interface interativa, os alunos arrastam e soltam blocos gráficos que
correspondem a comandos padronizados em uma linguagem de programação,
como Java, C++ e C. Ao usar o software ALICE, de acordo com Alice (2013), os
alunos podem ver imediatamente seus programas de animação sendo executado,
isso os tornam capazes de entender facilmente a relação entre os comandos de
programação e o comportamento dos objetos em suas animações.
Manipulando os objetos no mundo virtual, os alunos ganham experiência com
todas as construções de programação tipicamente ensinadas em cursos
introdutórios de programação.
7
5.1 OS BENEFÍCIOS DO ALICE
Os benefícios oferecidos pelo software ALICE são diversos na questão de ensino e
aprendizagem na área da computação, e abrange mais de um conteúdo. De acordo
com Pedrosa e Pamboukian (2010), os recursos oferecidos pelo ambiente ALICE
podem ser utilizados da seguinte forma:
Oportunidade de visualização dos objetos inseridos no mundo criado para o
jogo;
Obtenção da árvore de objetos existente no mundo virtual;
Utilização de métodos disponíveis para um determinado objeto selecionado,
como por exemplo: rolar, dizer, mover, entre outros.
Possibilidade de criar e alterar o código-fonte criado para cada método do
jogo.
Segundo Pausch (2002), além dos conceitos inerentes de programação (execução
condicional, iteração, sub-rotinas, parâmetros), programadores iniciantes são
frequentemente confrontados com as complexas sintaxes de programação. A
incapacidade de ver o estado de seu programa, uma vez que é executado, gera
pouca motivação para seus trabalhos. ALICE melhora a introdução inicial à
programação por:
1) Evitar os obstáculos de digitação e de sintaxe, fornecendo uma interface
arraste-e-solte, onde os alunos podem manipular visualmente os elementos
do programa ("se", "tempo", "enquanto", etc.).
2) Mostrando o estado do programa com objetos 3D, reforça o modelo de
programação baseada em objetos e faz com que todas as alterações de
dados sejam visíveis e animadas.
3) O uso de caracteres gráficos 3D, como um veículo para contar histórias é
um grande motivador para estudantes em fase inicial, principalmente com
estudantes do sexo feminino. Alice faz parte de uma iniciativa maior da
Carnegie Mellon, onde aumentaram recentemente a nossa população no
sexo feminino de graduação no curso de ciência da computação de 13 %
para 40 %.
8
5.2 A INTERFACE DO ALICE
O software ALICE teve sua interface desenvolvida com o objetivo de proporcionar
uma visão mais chamativa e divertida. Os usuários podem arrastar e soltar blocos
de gráficos que correspondem a comandos pré-programados como nas linguagens
orientadas a objeto, como JAVA, C#, C++ etc.
A figura 1ilustra a interface do ALICE na janela principal na versão 3.1:
Figura 1: Interface do ALICE
No ALICE tudo é tratado como objeto, todos os objetos adicionados ao programa
ficam dentro do mundo (world). Você pode movimentar os objetos por clicar e
arrastar na parte gráfica. Existe a lista de objetos que é o local onde se seleciona
os objetos para listar seus métodos ou funções, dependendo da aba selecionada.
Para colocar um método ou função em seu programa você deve selecionar o objeto
a quem o ele pertence, arrasta-lo para área de códigos, e se houver parâmetros, no
momento que você solta-lo, abrirá uma janela para você seleciona-los.
Para melhor manipular os métodos e funções, há os comandos que ficam na parte
inferior da janela, eles são essenciais para um programa dinâmico. Alguns deles
são: while, if, do_together, variable, count (enquanto, se, faça junto, variável,
contar).
MUNDO
Métodos
Funções
Área de códigos
Comandos
Lista de objetos
9
A figura 2 mostra o Setup Scene (configuração de cena) do Software ALICE:
Figura 2: Setup Scene
Essa parte do programa é onde você adiciona (instancia) os objetos ao mundo. Os
objetos são divididos por categorias (classes), mostrado na parte inferior da
imagem.
Classe é o que define o objeto, um protótipo. Objetos da mesma classe não são
iguais, mais sim do mesmo tipo, por exemplo, Gustavo e Luiz são da mesma classe
Humanos, mas são dois humanos iguais. Esses são conceitos de orientação a
objeto.
Na parte direita da imagem, é onde você pode manipular todas as propriedades
dos objetos, como por exemplo: posição, altura, largura, profundidade, opacidade,
etc.
MUNDO
Objetos
Propriedade
dos objetos
10
5.3 O DESENVOLVIMENTO DO PROJETO COM O SOFTWARE ALICE
No decorrer do ano, o software ALICE foi estudado e todas suas funções que
auxiliam no ensino da lógica de programação e de conceitos de orientação a
objetos foram exploradas. Também foram criados ambientes gráficos que foram
utilizados para o desenvolvimento do curso.
Após feito isso, foi desenvolvido um curso utilizando a ferramenta ALICE na versão
3.1 com o objetivo de ensinar lógica de programação e conceitos de orientação a
objetos para estudantes da área da programação que tem pouco ou nenhum
contato com a programação prática.
O curso tende a estimular o raciocínio lógico incrementando a capacidade de
solucionar problemas através de desafios passados como atividade para o aluno.
As atividades encorajam os alunos para resolverem os exercícios, que
diferentemente das linguagens padrões de programação, o ALICE gera o resultado
instantaneamente sem a necessidade de terminar o código para ver o resultado,
aumentando a motivação do aluno e consequentemente ajudando a formar uma
segurança na criação de passos para a resolução do problema.
A título de exemplo as figuras 3 e 4 ilustram métodos do ALICE:
Figura 3: Método walk
11
Figura 4: Método keyPressed
Tais métodos são exemplos de atividades que o curso contém. Esses trechos de
códigos tem o resultado de fazer um objeto da classe biped andar, o método walk
faz o movimento do corpo e das pernas e chamado pelo método keyPressed, que é
acionado quando usuário aciona a tecla UP (seta para cima) e DOWN (seta para
baixo). O método walk recebe dois parâmetros, um é um objeto da classe biped e
outro do tipo direction (direção), os parâmetros servem para que o método possa
ser reutilizado, tanto para mais de um objeto quanto para a direção que o objeto vai
andar. A reutilização de código é um conceito de orientação a objetos.
6. CONCLUSÃO
O software ALICE é uma incrível ferramenta para desenvolver aplicações simples.
Diferente da maioria das linguagens de programação que são projetadas para
serem utilizáveis em "código de produção" e, assim, introduzir uma complexidade
adicional, ALICE foi concebido unicamente para ensinar a teoria de programação
sem os complexos mecanismos de semântica de linguagens de produção, com um
ambiente mais receptivo e divertido. Acredita-se que alunos com pouca ou
nenhuma experiência com a programação orientada a objetos, utilizando o software
ALICE, podem aprender muito e criar conceitos fundamentais para seu
desenvolvimento profissional.
12
7. REFERÊNCIAS
ALICE, Página do software ALICE. Disponível em:
http://alice.org/index.php?page=what_is_alice/what_is_alice. Acesso em:
junho/2013.
CYMROT, R.; GRINKRAUT M. L.; BARROS E. A. R.; TCHEMRA A. H. O perfil dos
participantes do 3º Congresso Brasileiro sobre o software ALICE. Em: Alice Brasil,
2012, São Paulo/SP. ANAIS DO ALICE BRASIL 2012. p. 21-28.
MOSKAL, B.; LURIE, D.; COOPER, S. Evaluating the effectiveness of a new
instructional approach. In: Proceedings of the 35th SIGCSE technical symposium
on Computer science education, 2004, Norfolk / Virginia. Anais do 35th SIGCSE, p.
75-79.
PAUSCH R. Alice: A System for Teaching Computer Programming to the Rest of
Us. Disponível em: http://www.hcii.cmu.edu/news/seminar/2002/08/alice-system-
teaching-computer-programming-rest-us. Acesso em: outubro/2013.
PEDROSA, D. C.; PAMBOUKIAN, S., V., D. ALICE no ensino de computação para
crianças. Em: Alice Brasil, 2010, São Paulo/SP. ANAIS DO ALICE BRASIL, 2010.
p. 21-26.
PIMENTEL, E. P.; FRANÇA, Vilma Fernandes de; OMAR, Nizam; NORONHA, R.
V. Avaliação Contínua da Aprendizagem, das Competências e Habilidades em
Programação de Computadores. In: IX WIE - Workshop de Informática na
Educação da Sociedade Brasileira de Computação, 2003, Campinas / SP. ANAIS
DO XXIII CONGRESSO DA SBC, 2003. v. V. p. 108-116.
PHILLIPS D. Alice: Teaching Programming through 3D Animation and Storytelling.
Disponível em: http://www.cmu.edu/corporate/news/2007/features/alice.shtml.
Acesso em: julho/2013.
RAPKIEWICZ, C. E.; FALKEMBACK, G.; SEIXAS, L.; SANTANA DOS SANTOS,
N.; CUNHA, V. V.; KLEMANN, M. Estratégias Pedagógicas no Ensino de
Algoritmos e Programação Associadas ao Uso de Jogos Educacionais. RENOTE.
Revista Novas Tecnologias na Educação, v. 4, n. 2, p. 1, 2006.