POO – Introdução

Programação Oriendada a objetoNo início de 2014, ministrei a disciplina de programação comercial em um curso a distância ofertado pela ETAPI (Escola Técnica Aberta do Piauí). A disciplina consiste em utilizar a ferramenta Lazarus para criar aplicações as quais se comuniquem e persistam dados através de um SGBD (Sistema Gerenciador de Banco de Dados). Aproveitando a oportunidade disponibilizei as referidas aulas no meu canal do youtube. Além dessa experiência em produzir conteúdo para ensino a distância, possuo também uma conta pessoal no slideshare onde disponibilizo apresentações. Nas duas mídias sociais citadas acima o maior número de acessos é destinado ao conteúdo em formato de aula (apresentações e vídeos). Junto aos acessos também recebi vários feedbacks positivos os quais me motivaram produzir mais conteúdo. Tendo em vista que foi bastante útil aos interessados resolvi organizar e disponibilizar um curso de Programação Orientada a Objeto (POO). Essa postagem é a primeira de uma série que irá abordar o tema POO. As postagens serão acompanhadas dos slides e vídeo aula. Sem mais delongas vamos colocar a mão na massa!

Objetolândia Seja bem vindo a Objetolândia! Vamos embarcar nesse mundo e aprender os conceitos de orientação a objeto. Na parte prática será utilizado a linguagem de programação Java. Antes de começar algumas dicas para otimizar o aprendizado:

  • Tenha calma! Quanto mais entender, menos terá que memorizar;
  • Faça exercícios. Faça suas próprias anotações;
  • Beba água, muita água!;
  • Fale sobre o assunto em voz alta;
  • Escute seu cérebro;
  • Sinta algo!;
  • Digite e execute seu código.

Quem é esse tal de Java? É uma linguagem de programação orientada a objeto. A mesma será utilizada durante as próximas postagens para por em prática os conceitos estudados. Java é: (i) Familiar pois possuí uma sintaxe parecida com outras linguagens de programação; (ii) Independente de plataforma; (iii) Segura, ou seja, possui vários mecanismos para garantir a segurança e (iv) Possui uma forte coleção de APIs (e bibliotecas).

A linguagem de programação Java, com o objetivo de ser independente de plataforma, utiliza Máquina Virtual (JVM). Como o próprio nome diz a JVM reproduz as funções de uma máquina. Para cada plataforma que pretende utilizar aplicações feitas em Java deve-se ter uma implementação da JVM específica para a mesma. Essa abordagem permite que uma aplicação feita em Java possa ser executada em uma determinada plataforma desde que a mesma possua uma JVM implementada. Outra vantagem do uso da JVM é que a mesma separa a aplicação (ou aplicações) Java do sistema operacional. Essa característica permite situações em que se houver algum problema na aplicação rodando na JVM não irá interfir no sistema operacional ou em outras JVM rodando simultaneamente. Simplificando, o processo para executar uma aplicação é: (i) O desenvolvedor/escrever o código fonte utilizando a linguagem de programação Java; (ii) Compilar o código fonte, ou seja, verificar se o mesmo possui erro de sintaxe e transformar o código fonte em código de máquina virtual (ByteCode) e (iii) pegar o ByteCode e executar na JVM. Abaixo uma figura ilustrando o processo.

JVM - Máquina Virtual JavaA JVM é basicamente uma especificação. Essa estratégia permite que, em teoria, qualquer empresa possa implementar uma JVM para sua plataforma. Para tornar essa JVM válida basta que a mesma seja certificada pela a empresa responsável pelo Java (Oracle).

ProgramandoPara começar é necessário conhecer os ambientes de execução e desenvolvimento. O ambiente de execução JRE (Java Runtime Environment) é formando basicamente pela JVM e bibliotecas necessárias para rodar/executar uma aplicação. O ambiente de desenvolvimento JDK (Java Development Kit) é composto pelo ambiente de execução (JRE) e outras ferramentas como por exemplo o compilador. Java é uma linguagem recomendada para aplicações de médio e grande porte. Existem outras linguagens de programação mais eficientes para pequenos projetos e equipes formada por poucas pessoas. Como é uma linguagem madura e possui uma forte coleção de bibliotecas, é ideal para situações em que a aplicação necessita ser escalável, ou seja, aplicações que ao longo do tempo vão evoluir melhorando o que já existe e onde serão adicionadas novas funcionalidades ao longo do tempo. Para desenvolver aplicações escaláveis basta fazer uso de boas práticas e seguir as recomendações sobre o design da POO.

Estou entendendo o que é o Java, mas quando vamos a objetolândia? Quero conhecer os objetos e saber o que esses caras tem de diferente.

Objeto é um conceito que envolve: (i) identidade; (ii) estado e (iii) comportamento. A identidade serve para garantir a unicidade do objeto, ou seja, algo que garanta que aquele objeto é único. No Java a identidade é garantida de forma automática no momento em que o objeto é criado. O estado é responsável por representar as características do objeto e os valores atribuídos a essas características. Pode-se citar como exemplo um determinado objeto aluno que possui a característica idade e em um dado momento o valor atribuído para essa característica é 19, ou seja, o estado do objeto aluno é composto pela característica idade e a mesma possui o valor 19. O comportamento de um objeto relaciona tudo que o mesmo é capaz de fazer, ou seja, as ações que o objeto pode executar.

As coisas que o objeto conhece sobre ele mesmo (estado) também é conhecido como variáveis de instância. As variáveis de instância representam os atributos/características do objeto. Aquilo que o objeto é capaz de fazer é chamado de método, ou seja, os métodos representam as ações que o objeto pode executar. Em uma linguagem de programação orientada a objeto uma variável é um objeto, um programa é um objeto, ou seja, tudo é objeto!

Se tudo é objeto, para que serve as classes? É a mesma coisa que Objeto?

Não! Classe não é a mesma coisa que Objeto. O conceito de classe pode ser entendido como uma especificação do objeto. Os objetos são criados a partir de uma classe, ou seja, a classe especifica tudo que o objeto conhece (variáveis de instância) e faz (métodos). Para cada objeto criado a partir de uma classe significa dizer que o mesmo foi instanciado a partir de uma classe, ou seja, criar instâncias de uma determinada classe é o mesmo que dizer que foram criados objetos a partir de uma classe. Na imagem abaixo temos uma representação de uma classe. O nome da classe é Aluno e a mesma possui as variáveis de instância nome e matricula. A classe Aluno também possui o método estudar().

classe

Vou ficar por aqui nessa primeira postagem. Para um melhor aproveitamento do conteúdo exposto deixo abaixo uma apresentação e uma vídeo aula. Quem tiver interesse em acompanhar mais conteúdos basta se inscrever no meu canal do youtube e acompanhar as postagens do blog.

[slideshare id=58256618&doc=poo01-160215010227]

Avaliação Qualitativa

child-315049_640

Avaliar é uma das competências do professor e a mesma demanda esforço e muita estratégia. Franco (1990), relaciona diretamente a evasão escolar com as práticas pedagógicas empregadas pelos professores e em especial a avaliação, pois a mesma é uma das responsáveis pelo destino do aluno ao longo da sua vida escolar.

Uma das abordagens de avaliação que pode ser utilizada pelo professor é através da observação do comportamento e interações dos alunos, mas a mesma é onerosa pois requer que seja efetuado um registro frequente das observações feitas durante as aulas. O tempo do professor em sala de aula é gasto na execução das suas estratégias pedagógicas. As avaliações dos alunos, de modo geral, acabam acontecendo de forma quantitativa, ou seja, através de exames/testes que resultam em notas (ex.: 0 a 10) ou conceitos. Melo (2013) afirma que a avaliação do aluno por meio da observação da interação professor-aluno não é trivial. O autor afirma que ocorreu grande progresso no desenvolvimento de técnicas descritivas, mas ainda são incipientes os resultados da investigação das relações causais entre os diferentes estilos de interação professor-aluno e mudanças de comportamentos.

Em um estudo, realizado por Medeiros e Fernandes (2003), foi executado um experimento de observação do comportamento de um grupo de alunos e professores utilizando técnicas de registro durante práticas de leitura e escrita. Os autores afirmam que foi possível identificar fatores subjetivos (motivação e empatia) e objetivos que interferem no processo de ensino-aprendizagem.

No Brasil segundo a Editora Moderna (2013) existem aproximadamente 488 mil professores que atuam no ensino médio nas redes públicas e privadas. Ainda segundo o mesmo relatório foram realizadas aproximadamente 8,4 milhões de matrículas no ensino médio. No nível superior existem aproximadamente 363 mil funções docentes (cargos de professor) e aproximadamente 7 milhões de alunos matriculados (INEP, 2014). Em 2014, a venda de smartphones sobe 55% no Brasil atingindo um valor superior a 55 milhões de unidades (Reuters, 2015). O uso de smartphones tem se tornado uma tendência e cada vez mais vem se integrando ao cotidiano da população.

MyClass - logo marca editadaTendo em vista esse cenário onde ocorre um grande contingente de alunos e professores e a demanda por profissionais que possuam habilidades de trabalhar em grupo, emocionais, proatividade entre outros empreendedores do semiárido piauiense estão desenvolvendo uma solução chamada MyClass. A solução consiste em utilizar uma abordagem de avaliação qualitativa que trabalha com uma técnica descritiva relacionando o comportamento dos alunos a méritos e deméritos. Onde o professor poderá registrar as observações através do auxilio de uma plataforma móvel durante o decorrer da aula economizando tempo e esforço. As informações serão organizadas facilitando o acesso, a sua interpretação e compartilhamento.

A técnica descritiva que utiliza o sistema de méritos e deméritos consistem em: o professor fazer o registro das atitudes que são consideradas positivas (méritos) e negativas (demérito) no decorrer da aula no ambiente de aprendizagem. Será possível, em uma reunião de pais e mestres por exemplo, compartilhar informações através de ferramentas de comunicação com os responsáveis do aluno. O objetivo do trabalho é conseguir fazer um mapeamento sócio emocional dos alunos através dos olhares dos diferentes professores e o histórico das informações ao longo do tempo. A iniciativa é uma parceria do Instituto Multicom e IFPI. Os pesquisadores/empreendedores tem como proposta de valor desenvolver soluções voltadas para a produtividade do professor no exercício de suas atividades. A primeira solução serve para simplificar a tarefa de registrar a avaliação qualitativa dos alunos.

Referências

FRANCO, M. L. P. B. Pressupostos epistemológicos da avaliação educacional, 1990.
INEP. Resumo Técnico Censo da Educação Superior de 2012. Brasilia: [s.n.].
MEDEIROS, J.; FERNANDES, A. Observação, em sala de aula, do comportamento de alunos em processo de aquisição de leitura e escrita por equivalência. Interação em Psicologia, v. 7, n. 2, p. 31–41, 2003.
MELO, G. N. DE. Observação da interação professor-aluno: uma revisão crítica. Cadernos de Pesquisa, v. 12, p. 19–28, 2013.
MODERNA, E. Anuário Brasileiro da Educação Básica. São Paulo: [s.n.].
REUTERS. Venda de smartphones sobe 55% no Brasil em 2014, diz IDC. Disponível em: <http://glo.bo/1C7lj3j>. Acesso em: 20 set. 2015.

Ambiente Virtual de Aprendizagem Gamificado Aplicado ao Empreendedorismo

Um ambiente virtual de aprendizagem pode ser entendido como uma plataforma que disponibiliza ferramentas de comunicação, colaboração, administração e relatórios para auxiliar o ensino a distância [1]. O uso de elementos de jogos em ambientes de aprendizagem tem crescido junto com pesquisas sobre a aplicabilidade do mesmo. Exitem algumas plataformas de ensino a distância que trabalham de forma diferenciada entre elas o Duolingo. O Ambiente Virtual de Aprendizagem Gamificado Duolingo consiste em uma plataforma que ensina línguas estrangeiras. O Duolingo é a plataforma de ensino mais utilizada no mundo e recentemente recebeu uma rodada de investimentos liderado pelo Google Capital. Um estudo [2] afirma que 34 (trinta e quatro) horas de uso do Duolingo corresponde a um semestre letivo de um curso de línguas em uma boa instituição de ensino.

Os estudos sobre gamificação/ludificação aplicado a educação vem crescendo desde 2010. A gamificação pode ser entendida como o uso de elementos de jogos em contextos de não entretenimento, ou seja, o uso de elementos de jogos em contexto não jogo. Aplicada a educação, a gamificação se apresenta de duas formas [3]:

  1. Gamificação Estrutural – Abordagem onde é adicionado elementos de jogos dentro do ambiente de aprendizagem sem mudar o conteúdo;
  2. Gamificação de Conteúdo – O conteúdo é adaptado para que a inserção dos elementos de jogos dentro do ambiente de aprendizagem seja o mais próximo possível de uma experiência de jogo.

arcade-games-154575_640

Um Ambiente Virtual de Aprendizagem GAMIFICADO é uma plataforma que disponibiliza as ferramentas de comunicação, colaboração, administração, relatórios e técnicas para uso de dinâmicas e mecânicas de jogos com o objetivo de engajar e auxiliar a aprendizagem.

O ensino de empreendedorismo surge no Brasil na década de 80 e passa a ser mais amplamente difundido nos anos 90 [4]. Em 2015, o Brasil se tornou o país mais empreendedor do mundo [5], embora nossos empreendimentos não sejam inovadores. Dentro das instituições de ensino os jovens tem cada vez mais o desejo de empreender, mas as experiências de aprendizagem principalmente ligadas ao empreendedorismo tem sido muito limitadas.

Uma das abordagens para auxiliar o processo de aprendizagem é o uso de simulação lúdica de situações. Através de mecanismos e técnicas específicas são propostos problemas dentro de um contexto, ou seja, é criada situação onde o aluno/jogador tem que tomar decisões para solucionar os desafios. Ao solucionar desafios é necessário fazer uso do conhecimento preexistente ou a ser adquirido dentro do próprio ambiente de aprendizagem pelo aluno/jogador. O ambiente de aprendizagem pode ser uma plataforma online, a sala de aula e/ou qualquer lugar que permeie a busca do conhecimento.

ecac2-gestorbox

Em uma iniciativa realizada no Brasil pesquisadores do semiárido piauiense desenvolveram um ambiente virtual de aprendizagem gamificado aplicado ao empreendedorismo chamado GestorBOX. É uma plataforma que trabalha com o aprendizado de empreendedorismo utilizando a abordagem de gamificação de conteúdo. Segundo estudo realizado [6] foi possível demonstrar através de experimentos que o uso da plataforma alterou variáveis do perfil empreendedor dos participantes. Os resultados encontrados através desse estudo contribuíram, junto a outros estudos, na validação do uso de gamificação como instrumento de aprendizagem.

Referências

[1] ROMERO, C.; VENTURA, S. Educational Data Mining: A Review of the State of the Art. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), v. 40, n. 6, p. 601–618, 2010.

[2] VESSELINOV, R.; GREGO, J. Duolingo Effectiveness Study. City University of New York, USA, n. December 2012, 2012.

[3] KAPP, K. M. The gamification of learning and instruction fieldbook: Ideas into practice. 1. ed. [s.l.] Pfeiffer, 2013

[4] RIBEIRO, R. D. L. A contribuição das instituições de ensino superior para a educação empreendedora. Revista Brasileira de Gestão e Desenvolvimento Regional, v. 10, p. 295–313, 2014.

[5] DORNELAS, J. Brasil é o país mais empreendedor do mundo, mas falta inovação. Disponível em: <http://economia.uol.com.br/ultimas-noticias/colunistas/jose-dornelas/2015/04/06/brasil-e-o-pais-mais-empreendedor-do-mundo-mas-falta-inovacao.htm>. Acesso em: 5 maio. 2015.

[6] SOUSA, A. R. R. DE. GestorBOX: Ambiente Virtual de Aprendizagem Gamificado Aplicado ao Ensino de Empreendedorismo. Recife: CESAR EDU, 2015.