Diretrizes para o Ensino de Orientação a Objetos com Java

download Diretrizes para o Ensino de Orientação a Objetos com Java

If you can't read please download the document

description

Este documento resume o artigo dos criadores do BlueJ que apresenta 8 diretrizes básicas para o projeto de qualquer curso de Orientação a Objetos com Java (com ou sem BlueJ).As Diretrizes são:1 - Comece por Objetos2 - Não inicie com uma tela em branco3 - Leia Código4 - Use programas grandes5 - Não iniciei com o método main6 - Não utilize Hello World7 - Mostre a estrutura do programa8 - Tenha cuidado com a interface com o usuário

Transcript of Diretrizes para o Ensino de Orientação a Objetos com Java

  • 1. Resumo por Kalu CaminhaDiretrizes Para o Ensino de Orientao aObjetos com Java Michael Klling | John RosenbergAs ferramentas e tcnicas desenvolvidas para o ensino de ProgramaoOrientada a Objetos (OO) no so to maduras quanto as ferramentas deensino de programao estruturada, o resultado disso, uma maiordificuldade em ensinar OO para alunos novatos em programao.Uma ferramenta que oferece suporte ao ensino de OO o BlueJ, quecorresponde a um ambiente integrado de desenvolvimento java, criadoespecialmente para o ensino, com caractersticas inexistentes em outrosambientes de desenvolvimento populares.Estas caractersticas foram desenvolvidas para oferecer suporte, dentreoutras, s oito diretrizes apresentadas neste artigo.O Ambiente BluejO BlueJ focado em interatividade, visualizao e simplicidade. possvel visualizar todas as classes criadas na forma de um diagramasemelhante ao diagrama de classes da UML (Imagem 1), criar objetos a partirdestas classes (Foto 2) e visualiz-los em um painel de objetos. Imagem 2 Criao de Objetos a partir Imagem 1 Classes de um programa representas em umde uma Classe.diagrama semelhante ao diagrama de classes da UML.Com os objetos dispostos em um painel, possvel interagir com elesvisualizando seu estado e realizando chamadas de mtodos diretamente(Imagem 3), apenas com cliques do mouse.Imagem 3 Chamada demtodos de um objeto dabancada de objetos.

2. O programa tambm no precisa de um mtodo main, pois qualquer mtodode qualquer classe pode ser executado em qualquer instante.O BlueJ tambm fornece interface grfica para digitao dos parmetros(Imagem 5) de mtodos e a informao dos nomes das variveis quearmazenaro um objeto (Imagem 4). Imagem 4 Informando o nome da varivel que ir armazenar um objeto.Imagem 5 Informando os parmetros largura ealtura para o mtodo setSize() de um canvas..Por ser voltado para simplicidade, ele no possui muitas das ferramentascomuns em ambientes profissionais, seu uso especialmente voltado para oensino em cursos introdutrios de modo que o estudante possa colocar seuesforo no aprendizado dos principais conceitos de Programao Orientada aObjetos.Questes sobre o Ensino com BlueJQualquer exemplo de programao Java pode ser utilizado e trabalhadodentro do BlueJ, porm, importante que cursos que o utilizem sejamespecialmente desenvolvimentos para fazer uso dos recursos especficos que oambiente fornece.As diretrizes aqui apresentadas so independentes do BlueJ, porm, este preparado para fornecer suporte nativo todas elas.1 Diretriz: Objetos primeiro consenso entre muitos professores de Programao Orientada a Objetos que melhor ensinar a criar e manipular objetos antes de qualquer outra coisa.Esta atividade, porm, difcil nos ambientes tradicionais, pois para executaro mtodo de um objeto preciso:1.Uma classe contendo um mtodo main esttico com um array de Stringscomo parmetro;2.Uso de uma varivel tipada;3.Uma atribuio de um objeto uma varivel;4.A instanciao de um objeto;5.A sintaxe de chamada de um mtodo;6.A visualizao do resultado da chamada do mtodo.Com BlueJ a primeira atividade abrir um projeto existente e criar objetos a 3. partir das classes, em seguida, os estudantes podem chamar mtodos destesobjetos e visualizar seu estado. Tudo isso sem escrever nenhuma linha decdigo.2 Diretriz: No inicie com uma tela em branco.Um dos maiores erros em programao OO iniciar com uma tela vazia.Escrever projetos OO envolvem a definio de quais classes o programa ter equais mtodos cada classe dever ter, e este, um exerccio extremamentedifcil para estudantes novatos.Ao invs disso, pode-se iniciar com pequenas modificaes e adies emcdigo existente.3 Diretriz: Leia cdigoMuitos estudantes so forados a comear a programar sem terem lidopraticamente nenhum cdigo. Isso no acontece em nenhuma outra disciplina.Estudantes aprendem mais quando tem acesso a cdigos bem escritos queeles possam utilizar como base para os seus projetos.4 Diretriz: Use projetos grandesProgramas curtos dificilmente deixam claro as vantagens em se utilizarOrientao a Objetos.A sugesto que sejam utilizados programas bem escritos com um nmeromaior de classes e mtodos que permitam aos estudantes compreenderem asvantagens do uso de OO, assimilarem a importncia de um cdigo limpo ecomentado, pratiquem a leitura de cdigo e estudem a interao entre asclasses.5 Diretriz: No inicie com o mtodo mainO mtodo main exige muitos conceitos para ser compreendido. O ideal queos estudantes s sejam apresentados a ele aps terem se envolvido com osconceitos principais como a criao de objetos e chamada de mtodos.6 Diretriz: No use Hello worldPara se fazer um Hello World em Java preciso iniciar do mtodo main, quepor sua vez significa: 1) construir uma classe da qual nenhum objeto criado.2) construir um mtodo (o main) que no age sobre um objeto.Isso no Programao OO e fere outras diretrizes j apresentadas.7 Diretriz: Mostre a estrutura do programaClasses e seus relacionamentos so muito importantes. essencial que osestudantes possam visualizar a estrutura dos programas nos quais trabalham.O BlueJ exibe a estrutura do programa em um diagrama semelhante aodiagrama de classes da UML. Quando o BlueJ no estiver sendo utilizado 4. importante que o professor encontre meios de mostrar claramente estaestrutura.8 Diretriz: Tenha cuidado com a interface do usurio importante ensinar uma forma de realizar a interface com o usurio parafornecimento de parmetros e para a impresso de resultados do software.Em Java, podemos fazer isso com Applets, com a API de entrada e sada oucom frameworks GUI como o Swing.Porm, nenhuma destas alternativas simples o suficiente para ser utilizadaem cursos introdutrios. So sugeridos ento, dois caminhos para lidar comeste problema:1.Especfico no BlueJ, so as janelas pop-up que solicitam ao usurio osvalores para os parmetros dos mtodos e as janelas que exibem os retornosdos mtodos;2.Um projeto maior com classes que encapsulem a interface com o usurio eque os estudantes apenas precisem aprender a utilizar seus mtodos.Uma Sequncia de Atividades para um curso de OOEsta seo apresenta uma sequencia lgica de lies para o ensino de OOutilizando as diretrizes apresentas:1.Estudantes iniciam criando objetos e executando mtodos de classesexistentes;2.Estudantes podem fazer pequenas modificaes em projetos existentescomo a alterao de Strings;3.Estudantes so desafiados a implementarem mudanas no corpo dosmtodos em classes existentes;4.Estudantes criam novos mtodos para classes existentes;5.Estudantes criam novas classes para um projeto existente;6.Estudantes desenvolvem um projeto do zero.ConclusoO uso das diretrizes e da sequencia apresentada podem beneficiar qualquercurso de Programao Orientada a Objetos, oferecendo ainda mais benefciosse utilizado em conjunto com o BlueJ.Michael Klling and John Rosenberg. 2001. Guidelines for teaching objectorientation with Java. In Proceedings of the 6th annual conference onInnovation and technology in computer science education (ITiCSE 01). ACM,New York, NY, USA, 33-36. DOI=10.1145/377435.377461http://doi.acm.org/10.1145/377435.377461