CENTRO DE CIÊNCIAS APLICADAS E
EDUCAÇÃO
DEPARTAMENTO DE CIÊNCIAS EXATAS
LICENCIATURA EM CIÊNCIA DA COMPUTAÇÃO
Projeto de Educação a Distância
Ensino da linguagem de programação Java utilizando o paradigma Orientado
a Objeto.
Gérison
Figueirêdo
Kaouê
Pinheiro
Flávia
Veloso
Orientadora
Acadêmica
Sumário
1. Introdução
Na tentativa de minimizar os problemas de aprendizagem das
linguagens de programação modernas devido à constante evolução tecnológica, os
pesquisadores estão buscando novas alternativas ao modelo tradicional de ensino
de programação.
Acredita-se que o paradigma orientado a objeto seja
apropriado em disciplinas introdutórias de programação, visto que é um conceito
bastante amadurecido no meio acadêmico. Sendo assim, a linguagem Java apresenta
grande destaque por possibilitar implementação orientada a objetos com classes
executáveis em várias plataformas, além de possuir ferramentas básicas de
desenvolvimento gratuitas.
Entretanto, existem duas questões importantes ao utilizar
Java como linguagem introdutória: (a) o que ensinar? e (b) como ensinar? Há
problemas significantes em sua utilização como linguagem de programação
introdutória, mas, esses problemas podem ser reduzidos através do ocultamento
de algumas complexidades de Java. Assim, é possível permeia conhecimentos
básicos da linguagem ao discente, dando a este base para aprimorar sua
capacidade lógica de solucionar problemas e, também, encaminhamento para
adquirir novos conhecimentos técnicos sobre a linguagem que possibilitaram ao
discente conceber novas aplicações.
O curso dará aparato para que o aluno adquira conhecimentos
básicos sobre a linguagem de programação Java, utilizando o paradigma orientado
a objetos, com carga horária de 60h (sessentas horas). A plataforma do curso
será o Joomla.
2. Trabalhos Relacionados
Os cursos de Tecnologia da Informação mostram-se entre os
mais concorridos segundo observa-se pela concorrência elevada em processos
seletivos. Entretanto, vencido o obstáculo da fase de seleção, inicia-se a fase
universitária e logo vem o contato com as disciplinas básicas de áreas
específicas da computação, e isso pode gerar tanto afinidade quanto repulsão, segundo
JÚNIOR e RAPKIEWICZ (2004).
Na literatura são observados autores que trabalham a
temática de expor os problemas quanto ao ensino de programação, traçando perfil
do egresso, avaliando ferramentas educacionais que auxiliam no ensino da
programação, entre outros aspectos.
FARIA e COELLO apud JÚNIOR et al. (2005),
“foi proposto o uso de uma abordagem
de aprendizagem baseada na colaboração. Esta abordagem colaborativa parte do
princípio de que o conflito sócio-cognitivo entre os aprendizes pode melhorar o
seu aprendizado. Para suportar o aprendizado colaborativo, foi desenvolvido um
avaliador de programas em C, chamado Verificador de Diferenças Significativas
entre Programas – VDSP. O VDSP avalia os programas dos alunos, pontuando-os. A
pontuação é utilizada para montar grupos de alunos que deverão refazer o
programa, trocando pontos de vista e considerações. O VDSP foi experimentado
com alunos do curso de Sistemas de Informação da PUC Minas Arcos,
especificamente, alunos da disciplina Algoritmos e Estruturas de Dados, com
resultados positivos em relação à formação de grupos de trabalho homogêneos e
heterogêneos sob mediação do professor em detrimento de um trabalho individual.”
Para RAABE e SILVA apud JÚNIOR et al. (2005),
“o aprendizado de algoritmos é considerado
desafiador pelos estudantes de cursos tecnológicos. Os principais motivos para
este fato são: o alto nível de abstração do conteúdo e a dificuldade dos
docentes em detectar e atender as dificuldades de aprendizagem dos alunos.
Dessa forma, propuseram um ambiente que auxilia no atendimento às dificuldades
de aprendizagem da disciplina de Algoritmos utilizando o paradigma de
Assistentes Inteligentes de Ensino. Estes assistentes auxiliam o professor em
sua tarefa de monitorar, assistir e analisar os alunos. Os resultados da
utilização do ambiente apontam para a viabilização da tarefa de acompanhamento
individualizado dos alunos e uma maior eficiência na identificação e
atendimento às dificuldades de aprendizagem.”
BORGES e FILHO apud JÚNIOR et al. (2005),
“discute-se que grupos de estudo têm
surgido como uma alternativa para complementar os conteúdos vistos em sala de
aula e desenvolver/aprimorar habilidades. Neste contexto, apresentaram a
importância dos grupos de estudo na formação dos futuros profissionais da área
de computação. Relataram a experiência com o grupo de estudos de Java da
Universidade Luterana do Brasil (ULBRA). Ao contrário do que se possa imaginar,
a diferença de nível entre os alunos não constituiu obstáculos para o andamento
dos trabalhos. Observou-se uma forte interação entre os componentes do grupo e
o prazer em dividir o conhecimento adquirido. Relações se estabeleceram a
partir da experiência de pesquisar, aprender e resolver problemas juntos.”
3. Fundamentação Teórica
Sabe-se que o desenvolvimento das tecnologias de informação
e comunicação está diretamente atrelado a evolução que se iniciou por meio dos
correios, passando aos programas de rádio e TV, vídeos, computadores e chegando
até as sofisticadas transmissões e conferências via satélite, e a Educação a
Distância tende a se apoiar cada vez mais em tecnologias emergentes que
facilitam o seu acesso e aceitação (TAVERES, 2007). Entretanto, utilizar da
tecnologia para ensinar a tecnologia ainda é algo pouco difundido no processo
de ensino, tornando-se mais um desafio para aplicar novas práticas de processo
de ensino-aprendizagem.
Os cursos a distância que utilizam ambientes on-line tendem a seguir, no processo
ensino-aprendizagem, a lógica “bancária” e linear de transmissão de conteúdos.
Encontram-se páginas na web com conteúdos seqüenciais que, em alguns casos,
oferecem um “hipertexto fechado” no qual o aluno não tem a possibilidade de
participar e intervir nem se perder na Internet (ARAUJO, 2007).
O processo de aprender uma linguagem de programação é árduo
e difícil para a maioria dos discentes, mesmo que sejam trabalhados apenas
conceitos básicos e resolução de problemas triviais, visto que os problemas
reais, que os formandos irão encontrar no mercado de trabalho, são complexos e
exigem um esforço muito maior. Segundo MENDES apud PEREIRA (2007) programar é
um processo difícil para a maioria dos estudantes mesmo com a aprendizagem de
conceitos básicos e aplicação destes na resolução de problemas concretos, ainda
há um alto grau de dificuldade à compreensão daqueles. Assim, observa-se que é
necessário procurar estratégias e materiais nessas dificuldades sentidas pelas
discentes.
Para PEREGO (2002), a linguagem Java enfatiza ideias de
flexibilidade, dinamismo e segurança. A flexibilidade é notada nos diversos
tipos de aplicações que podem ser desenvolvidas; o dinamismo deve-se a sua
filosofia de implementação e pela sua carga dinâmica de componentes em sua
Máquina Virtual de Execução, independente de plataforma de hardware; e a
segurança observa-se pela obrigatoriedade de inspeção de código carregado pela
JVM.
Entretanto, para possibilitar a aprendizagem à distância,
independente da disciplina, é necessário averiguar e planejar como isso deve
ser feito. Para isso, existem tecnologias que possibilitam criar sítios na web que possibilitam um ambiente
propicio a aprendizagem. Uma daquelas é o Joomla.
Este é um grande exemplo de Sistema de Gerenciamento de Conteúdo (CMS),
possibilitando a gestão de conteúdos web
e a criação de portais educativos. Joomla é uma das ferramentas CMS mais
utilizadas devido sua facilidade de uso, as características profissionais e a
interface intuitiva que contribuem para sua aceitação por instituições
empresariais e educacionais (RAHMEL apud COELHO et al., 2011), além de
proporcionar uma “variedade de interfaces personalizadas fáceis de serem usadas
e seus suportes adicionais tais como: fóruns, comunidades online, chats,
artigos, vídeos e redes sociais. Tudo isso é disponibilizado gratuitamente e
não há a necessidade de um programador” (RAHMEL apud COELHO et al., 2011).
Pode-se verificar que ao longo do tempo os web
sites evoluíram no nível de layout
das páginas, na estruturação da informação e integração de ferramentas de
comunicação e edição colaborativa online. Essa evolução fez com que as
instituições adotassem táticas de gestão da informação e dos conteúdos
produzidos (COELHO et al., 2011).
Diante desses aspectos elencados, pode-se observar uma
aprendizagem cooperativa, o trabalho em conjunto entre professores e alunos
próximos fisicamente ou virtualmente. Uma das formas mais interessantes de se
trabalhar hoje colaborativamente é criar uma página dos alunos, ou um espaço
virtual de referência, onde vai-se construindo e colocando o que acontece de
mais importante no curso, os textos, os endereços, as análises, as pesquisas. O
importante é combinar o que se pode fazer melhor em sala de aula com o que se
pode fazer a distância, utilizando todos os recursos, todas as técnicas
possíveis, integrando dinâmicas sociais com as inovadoras, a escrita com o
audiovisual, o texto seqüencial com o hipertexto, o encontro presencial com o
virtual (MORAN et al., 2000).
4. Proposta
Esse projeto propõe aos alunos dos cursos de Tecnologia de
Informação conceitos básicos sobre a linguagem de programação Java utilizando o
paradigma Orientado a Objeto no desenvolvimento de aplicações Java, promovendo
uma quebra de conceitos enraizados (estruturados) e desenvolvimento lógico de
programação.
4.1 – Requisitos
É desejável que o discente possua os seguintes conhecimentos:
·
Lógica de algoritmos de programação;
·
Lógica em programação estruturada;
4.2 – Metodologia do curso
No ensino de qualidade, não se deve existir diferença entre
as metodologias do ensino presencial e à distância. As metodologias mais
eficientes no ensino presencial são, também, as mais eficientes no ensino à
distância (HAGUENAUER, 2005). Assim, o curso propõe metodologia que possibilite
ao aluno a construir seus conceitos sobre o paradigma Orientado a Objetos e
linguagem Java equiparável a forma presencial, utilizando das tecnologias
emergentes como facilitadora do processo de ensino-aprendizagem.
A resolução de problemas é
uma forma de aprendizagem interessante porque se aprende mais profundamente
técnicas para resolver problemas que são importantes, questionando, buscando
respostas em diferentes fontes, considerando diversas perspectivas, trocando
visões com outros e construindo seu próprio conhecimento (KAY apud BORGES, 2002). A programação de computadores emergiu dessa
necessidade: solucionar problemas, ou seja, capacitar o computador a resolver
problemas reais, a automatizar tarefas. Logo, percebe-se que o discente não
deve encarar o professor como única fonte de conhecimento, ou seja, o professor
(tutor) é apenas um facilitador, um guia de qual o melhor caminho a ser seguido
na busca do conhecimento e uma fonte de apoio em casos de dificuldades.
Portanto, a metodologia de ensino-aprendizagem adotada é construtivista, pois a
meta é uma exploração ativa, onde se constrói o conhecimento, ao invés de
instruir através de aulas e leituras estáticas.
Espera-se do professor uma participação ativa nos fóruns de discussão e
também respostas às mensagens eletrônicas enviadas pelos alunos (BORGES 2002). Além da participação diária, o professor participará
de no mínimo mais duas horas semanais em chats, e consumir pelo menos mais
cinco horas semanais na avaliação da participação dos alunos e na proposição e
correção dos desafios. Ou seja, em teoria, de quatro horas semanais, ela exige
muito mais do professor, tanto em quantidade de horas, quanto na exigência de
disponibilidade integral, sete dias por semana, nos horários mais variados (BORGES 2002).
4.3 – Materiais didáticos
Sabe-se que a produção de materiais didáticos é um trabalho
que envolve diferentes tipos de conhecimento e profissionais, pois se trata de
algo que aborda conceito, linguagem, metodologia e planejamento em sua
concepção. Portanto, o processo de produção de material didático na Educação à
Distância não se dá de forma trivial, sendo necessário, além dos aparatos
tecnológicos, momentos de planejamento, envolvimento entre especialistas e
recursos didático-pedagógicos que vão de encontro às necessidades dos alunos.
Assim, este curso irá abranger diversos tipos de materiais instrucionais a fim
de aprimorar o processo de ensino-aprendizagem. Dentre esses estão:
hipertextos, vídeos, texto impresso e, vídeo-conferência.
4.4 – Módulos
Neste subitem os módulos serão organizados em tabelas para
melhorar o entendimento e detalhar o conteúdo, objetivo de aprendizagem,
papeis, atividades, avaliação e duração, que cada módulo propõe.
Módulo 1 – Fundamentos de programação Java
Conteúdos
|
Objetivo de aprendizagem
|
Papeis
|
Atividades
|
Avaliação
|
Duração
|
1.
Histórico;
2.
Introdução;
3.
Plataforma Java;
4.
Ambiente de Desenvolvimento;
5.
Compilação;
6.
Execução de um programa.
|
· Analisar as
características das linguagens orientadas a objetos;
· Motivar a adoção
deste paradigma de programação;
· Desenvolver
aplicações usando alguma linguagem de programação orientada a objeto;
· Declaração de
variáveis / tipos primitivos;
· Os três comandos:
entrada, saída, atribuição;
· Condicional (IF,
switch)
· Estruturas de
repetição (for, while);
· String;
· Arranjos (Arrays);
· Mecanismo de
referências (tipo primitivo x variáveis de referências);
|
·
Tutor: sanar dúvidas;
·
Aluno: Buscar conteúdo.
|
Módulo 2 – Objetos e Classes
Conteúdo
|
Objetivo de aprendizagem
|
Papeis
|
Atividades
|
Avaliação
|
Duração
|
1. Métodos;
2. Paradigma
de Programação Orientada a Objetos;
3. Desenvolvimento
de Classes (Atributos e Métodos)
4. Uso
de Objetos;
5. Programação
Java;
6. Construtor.
|
Módulo 3 – Orientação a Objetos
Conteúdo
|
Objetivo de aprendizagem
|
Papeis
|
Atividades
|
Avaliação
|
Duração
|
1. Diagramas
de classes;
2. Diagramas
de objetos;
3. Troca
de mensagens entre objetos;
4. Encapsulamento;
5. Herança;
6. Hierarquia
de classes;
7. Sobreposição
de métodos;
8. Classes
abstratas;
9. Interfaces;
10.
Polimorfismos;
|
5. Considerações Finais
Espera-se, ao final, que os discentes deste curso carreguem
consigo uma visão aprimorada sobre o pensamento lógico de programação e possuam
base para conceber tecnologias emergentes que utilizam a linguagem Java como
base e, ainda, quebrar o paradigma de programação estruturando, possibilitando
novas concepções sobre como solucionar problemas complexos.
“As inovações tecnológicas utilizadas
hoje podem não resolver os problemas da educação, sociedade, política e
ideológica, mas, com certeza, se utilizada como suporte ao sistema de ensino
atual, pode melhorar a qualidade do mesmo e, consequentemente, qualificar
melhor os alunos e a sociedade na busca da perfeição educacional” (COELHO et
al., 2011).
Referências
PEREGO, Cássia Alves. JEduc: reflexão sobre a Linguagem Java na
Educação. Porto Alegre/RS: PPGC da UFRGS, 2002.
TAVARES, Valéria Ribeiro de
Carvalho. O ambiente inovador da EaD
como agente de mudanças e transformações das práticas pedagógicas. 2007.
Acesso em 27/02/2013. Disponível em: <http://www.senado.gov.br/sf/senado/unilegis/asp/AR_Artigos4.asp>

