Uma Proposta Metodológica para o Aprendizado de Algoritmos em Grafos Via Animação Não-intrusiva de Algoritmos

Tamanho: px
Começar a partir da página:

Download "Uma Proposta Metodológica para o Aprendizado de Algoritmos em Grafos Via Animação Não-intrusiva de Algoritmos"

Transcrição

1 Uma Proposta Metodológica para o Aprendizado de Algoritmos em Grafos Via Animação Não-intrusiva de Algoritmos Tays C. A. P. Soares 1, Eduardo S. Cordeiro 1, Italo G. A. Stefani 1, Fabio Tirelo 1 1 Departamento de Ciência da Computação Pontifícia Universidade Católica de Minas Gerais Av. D. José Gaspar, 500 Prédio Belo Horizonte, MG escordeiro@yahoo.com, italogiovani@terra.com.br, tayscristina@yahoo.com.br, ftirelo@pucminas.br Abstract. In an attempt to diminish the difficulty found by a great number of Graph Theory students during algorithm implementation, a study methodology based on a non-intrusive algorithm animation environment is presented. The Rin G environment allows users to develop their algorithms and add them to a graphical interface, running them step-by-step in an interactive way to facilitate the understanding of applied techniques, by means of mapping the computational representations of algorithm implementations into visual abstractions of graph algorithms. Resumo. Buscando diminuir a dificuldade encontrada por grande parte dos estudantes da Teoria dos Grafos na implementação de algoritmos, apresentase uma metodologia de estudo baseada no uso de um ambiente de animação não-intrusiva de algoritmos. O ambiente Rin G permite que usuários desenvolvam seus algoritmos e os incluam em uma interface gráfica, executando-os passo-a-passo de forma interativa para facilitar a compreensão das técnicas aplicadas, por meio do mapeamento das representações computacionais de implementações de algoritmos para abstrações visuais de algoritmos em grafos. 1. Introdução Para facilitar o aprendizado de sistemas e teorias que utilizam conceitos complexos e abstratos, como sistemas operacionais, hierarquias de memória e redes de computadores, tem surgido na literatura, como metodologia didática, o fornecimento a estudantes de representações visuais em alto nível do funcionamento desses conceitos [1]. A partir de observações dentro de disciplinas de graduação, percebe-se também um melhor resultado no aprendizado por meio de atividades práticas de desenvolvimento de simuladores e ferramentas visuais didáticas de representação de conceitos abstratos [2, 3, 4]. Esse trabalho busca facilitar a sedimentação do conhecimento adquirido no estudo da Teoria dos Grafos. O ensino da Teoria dos Grafos em cursos de Ciência da Computação e Sistemas de Informação normalmente tem como um tópico importante o estudo e implementação

2 de algoritmos em grafos. Grande parte dos alunos 1 sente dificuldade na implementação desses algoritmos, devido à necessidade de um suporte para a implementação, composto por estruturas de dados e ferramentas de visualização e interação com grafos, e à diferença de níveis de abstração entre as definições teóricas dos algoritmos e representações computacionais necessárias para implementá-los. Com o objetivo de permitir que os alunos sejam capazes de focar o seu estudo e esforço no desenvolvimento e na implementação de algoritmos, propõe-se um ambiente, denominado Rin G (Reflectin Graphs) 2 [5], composto pelo suporte necessário para a implementação de algoritmos em grafos e uma interface gráfica para interação com grafos e execução de algoritmos. Ao estudarem as técnicas envolvidas na implementação de algoritmos em grafos, alunos normalmente criam, mentalmente ou através de desenhos, visualizações da execução desses algoritmos sobre grafos de exemplo, na tentativa de entender seus passos e comparar o resultado da execução com o resultado esperado dos algoritmos. Buscando aumentar o poder dessa técnica de estudo, e ainda reduzir a complexidade inerente à compreensão de algoritmos em grafos, o Rin G provê animações da execução de algoritmos desenvolvidos pelo aluno, de forma transparente e interativa, na qual um estudante pode navegar pelo funcionamento de seus algoritmos em busca do auto-aprendizado. 2. Suporte à Implementação de Algoritmos em Grafos Tipicamente, o estudo de grafos nos cursos de Ciência da Computação e Sistemas de Informação introduz, além do embasamento matemático necessário, o estudo de algoritmos que permitam a manipulação da estrutura [6, 7] para aplicações do mundo real. A implementação de algoritmos em grafos engloba, inicialmente, a implementação de uma estrutura de grafo e um ambiente para entrada dos dados dos grafos e exibição dos resultados de algoritmos. A estrutura do grafo consiste na representação computacional de vértices e arestas, além de suas propriedades, tais como cor, rótulo, peso de arestas e outras, dependentes da aplicação, além da representação das relações entre vértices e arestas. A criação e interação com grafos é normalmente realizada em uma interface gráfica, onde se desenha um grafo por meio de ferramentas de edição; deve ser também estabelecida uma maneira de configurar propriedades dos componentes do grafo nessa interface com o usuário. A execução de algoritmos sobre grafos criados pelo usuário deve permitir a exibição dos resultados desses algoritmos. Uma saída compreensível e muito utilizada em ambientes que lidam com grafos é a manipulação de propriedades de desenho do grafo, como as cores e tamanhos de vértices e arestas. Como meio de facilitar a compreensão, a execução de algoritmos deve ser mostrada passo-a-passo. Um ambiente educativo deve ser, primeiramente, de fácil aprendizado e utilização, para que o usuário não tenha sua atenção desviada, permitindo assim que o aproveita- 1 Como o ambiente foi desenvolvido para ser usado em ambientes acadêmicos, os termos estudante, aluno e usuário serão utilizados sem distinção neste artigo 2 O ambiente está hospedado como um projeto de desenvolvimento em

3 Figura 1: Interface do Rin G mento da ferramenta como recurso de aprendizado seja o melhor possível. A construção de um ambiente com uma interface amigável é uma grande preocupação no processo de desenvolvimento de software [8, 9], fato que reforça a sobrecarga de trabalho que pode ser exigida de alunos de disciplinas de grafos ao requisitar que eles implementem tal amparo. Pelo exposto, percebe-se a necessidade de fornecer aos alunos todo o amparo para a implementação e compreensão de algoritmos em grafos, facilitando assim o processo de compreensão de estudantes da Teoria dos Grafos, já que eles podem se sentir motivados pela facilidade de uso e objetividade providos pelo ambiente para o aprendizado. 3. Ambiente Proposto Além do amparo básico necessário para o estudo de algoritmos em grafos, ambientes de estudo da Teoria dos Grafos encontrados na literatura (ver Seção 7) normalmente fornecem aos seus usuários uma metodologia de estudo para facilitar o processo de assimilação do conhecimento exposto. O Rin G, como ferramenta, consiste em um ambiente de interface gráfica que permite a edição de grafos, a execução de algoritmos para geração e acompanhamento de animações e o salvamento e abertura de grafos e animações. Uma imagem da interface do Rin G pode ser vista na Figura 1. No Rin G, resolveu-se implantar, inicialmente, a metodologia de aprendizado de grafos baseado na animação não-intrusiva de algoritmos. Tal metodologia propõe que um

4 estudante implemente seus algoritmos e, de forma transparente, animações da execução desses algoritmos sejam geradas pelo ambiente de execução e exibidas ao usuário; desta forma, é possível diminuir a lacuna existente entre a representação computacional dos algoritmos e a abstração visual do seu funcionamento. Busca-se, por meio desta metodologia, reduzir a complexidade inerente à compreensão de algoritmos em grafos, sem, no entanto, exigir que o usuário desvie sua atenção da implementação natural de algoritmos. A experiência pessoal do grupo no estudo e ensino de algoritmos indica que há um maior aproveitamento no aprendizado de algoritmos em grafos quando estudantes são motivados a construir suas próprias implementações de algoritmos estudados; durante a implementação, alunos são capazes de perceber detalhes que fogem do escopo de aulas teóricas, e que, ainda assim, são importantes para a completa compreensão e assimilação das técnicas aplicadas. Para que estudantes estejam possibilitados de acompanhar animações da execução de seus algoritmos, o Rin G permite fácil inclusão e execução de algoritmos do usuário. Esses algoritmos, no entanto, são independentes do ambiente de estudo [5], e baseiam-se apenas nas estruturas de dados que representam grafos, seus componentes e propriedades. Outro aspecto do ambiente proposto para o estudante de algoritmos em grafos é que ele permite a implementação de algoritmos sem preocupação com detalhes de entrada de parâmetros e saída de resultados tais tarefas são encapsuladas pelo Rin G. Como o Rin G é um ambiente proposto para utilização em instituições de ensino, é comum que seus usuários mantenham instâncias do ambiente em localizações distintas. Para que o ambiente de estudo de um aluno seja minimamente pervasivo, é necessário que suas configurações e preferências sejam de fácil exportação e importação. A ferramenta utiliza, como base para personalização, uma pasta no sistema de arquivos que pertence ao seu usuário, onde são armazenados grafos e animações salvos, informações de preferências da interface e algoritmos já incluídos pelo usuário. A animação de um algoritmo representa uma forma de acompanhar o seu comportamento. O trabalho antes tedioso do estudo do funcionamento de um algoritmo é substituído por uma animação automática, que utiliza as representações visuais clássicas da Teoria dos Grafos, tornando o aprendizado mais motivante e prático. O ambiente permite a animação de algoritmos em dois tempos de execução: online e offline. Animação online é aquela formada e exibida durante a execução de um algoritmo, permitindo a depuração visual do seu funcionamento; ela é útil durante o processo de desenvolvimento de algoritmos, pois permite identificar o exato momento em que ocorreu um erro. Animação offline é aquela exibida após a completa execução de um algoritmo e armazenada em disco para posterior visualização, permitindo o estudo interativo da execução de algoritmos em correto funcionamento. A visualização de animações offline da execução de implementações que contenham erros pode ser inviabilizada em casos, por exemplo, da existência de loops infinitos, quando a execução jamais termina para que uma animação offline possa ser formada. 4. Metodologia de Desenvolvimento de Algoritmos O Rin G foi desenvolvido com base no framework Diamante, também criado pelo grupo com o intuito de simplificar o desenvolvimento de aplicações que utilizam grafos. Por esse

5 motivo, algoritmos implementados para utilização no Rin G devem também ser baseados no Diamante, e é nesse arcabouço que estão implementadas as estruturas e componentes de grafos e suas propriedades. O Diamante também define a estrutura das implementações de algoritmos a ser seguida. Todo o projeto do Diamante visou implementar as estruturas necessárias para o desenvolvimento de algoritmos em grafos. Dessa forma, usuários do Rin G têm uma estrutura de simples acesso para a manipulação das estruturas de grafos durante o desenvolvimento de algoritmos. Em grande parte dos ambientes propostos na literatura, o usuário é levado a aprender uma nova linguagem para usufruir de todos os recursos disponibilizados, podendo-se, assim, desviar o foco do desenvolvimento de algoritmos. No Rin G, algoritmos são implementados em Java, e a estrutura disponibilizada pelo Diamante busca garantir que essas implementações serão o máximo possível similares às definições teóricas dos algoritmos propostos, conforme mostrado na Seção 6. É importante ressaltar, sobre o desenvolvimento de algoritmos compatíveis com o Rin G, que a animação é transparente ao desenvolvedor. Comandos realizados sobre o grafo durante a execução de algoritmos são transformados, pelo ambiente, e em ordem de execução, em passos da animação do algoritmo; os comandos escolhidos para gerar passos de animação são aqueles naturais à implementação de algoritmos em grafos, como a alteração de propriedades de vértices e arestas e o teste da existência de arestas entre dois vértices. Por este motivo, a geração da animação dos algoritmos do aluno é minimamente intrusiva ou, em comparação com outros ambientes existentes na literatura, não-intrusiva. 5. Usabilidade do Ambiente O Rin G foi utilizado durante parte do 1 o semestre de 2004 por alunos da disciplina Grafos e Teoria da Complexidade do curso de Ciência da Computação da PUC Minas. Este teste foi considerado satisfatório pelo grupo, motivando a contínua melhoria e o incremento do conjunto de funcionalidades da ferramenta. Durante aulas de laboratório, algumas das quais foram monitoradas por membros do grupo, e em atividades extra-classe, alunos foram encorajados a implementar algoritmos clássicos da Teoria dos Grafos usando o ambiente, tais como a Busca em Profundidade e o Problema do Caixeiro Viajante, entre outros. Como pode ser observado nos gráficos das Figuras 2 e 3, a interface do Rin G foi avaliada, pela maioria dos alunos, como fácil ou regular, e que, apesar de considerarmos esse resultado satisfatório, o ambiente ainda precisa de melhorias para que não interfira no processo de estudo de seus usuários. Os alunos, em maioria, também avaliaram como suficiente a documentação provida para utilização do ambiente. Com base nessa avaliação, realizada em Junho de 2004, o grupo orientou seus esforços para a melhoria da interface do ambiente. Foi dada especial atenção para a interface de abertura de recursos salvos pelo usuário e na interação com propriedades de componentes do grafo, além da implementação de algumas sugestões dos usuários do Rin G; esta nova interface pode ser vista na Figura 4. O ambiente também foi transformado para ser sensível ao contexto, de modo que

6 Figura 2: Avaliação da Interface Gráfica do Rin G. Classificação qualitativa para a interface gráfica do ambiente como um todo. são exibidos ao usuário somente comandos que podem ser utilizados durante sua tarefa atual. Por exemplo, quando o usuário está desenhando um grafo, ele tem disponíveis operações para escolha de modo de desenho e ferramentas de desfazer e refazer comandos; quando a execução de um algoritmo é iniciada, a barra de ferramentas exibe controles similares aos de reprodução de mídia para interação com a execução do algoritmo a Figura 5 mostra a barra de ferramentas do Rin G em contextos diferentes. Entretanto, grande parte dos alunos avaliou como Difícil ou Regular o desenvolvimento de algoritmos compatíveis com o Rin G, conforme mostrado no gráfico da Figura 6. Segundo o mesmo questionário, 75% desses alunos não tinha contato prévio com a linguagem Java, e, portanto, avalia-se que parte da dificuldade percebida pelos alunos durante a implementação de algoritmos é oriunda desse histórico. 6. Estrutura de Algoritmos Conforme dito anteriormente, buscou-se, durante o desenvolvimento do framework Diamante, tornar a representação computacional de algoritmos em grafos o mais próximo Figura 3: Avaliação da Interface e dos Comandos de Edição de Grafos. Classificação da facilidade de identificação e uso das ferramentas de edição de grafos.

7 Figura 4: Interface de Abertura de Recursos Salvos possível das definições teóricas de algoritmos da teoria. Assim, ao utilizar o Rin G como ambiente de estudo de algoritmos em grafos, estudantes podem concentrar seu esforço no desenvolvimento de algoritmos, sem a necessidade de definir estruturas de dados ou implementar módulos de interface com o usuário. Esta Seção tem por objetivo demonstrar a construção de um algoritmo compatível com o Rin G baseada em sua definição teórica. Como exemplo, escolheu-se a Busca em Amplitude, algoritmo que, dado um vértice inicial, visita, em amplitude, todos os vértices alcançáveis por ele no grafo [10]. Este algoritmo, embora simples, é base para outros importantes, como o Algoritmo de Dijkstra, para determinação de menores caminhos em grafos valorados e o Algoritmo de Prim, para determinação da árvore geradora mínima de grafos. A Figura 7 mostra a definição em alto nível do algoritmo. Para uma definição completa da estrutura de algoritmos baseados no Diamante, veja [5]. As estruturas necessárias para a implementação da Busca em Amplitude são inicializadas conforme o código na Figura 8. Comparando o código da execução do algoritmo, mostrado na Figura 9, e a definição em alto nível do algoritmo, é possível perceber que o mapeamento é realizado de forma direta, e com poucas adaptações. Dessa maneira, diminui-se a dificuldade na implementação de algoritmos em grafos, motivando-se, assim, o estudo desse tópico. Uma adaptação de grande importância, nesse caso, é o uso dos comandos de alteração de propriedades de vértices e arestas embora esses comandos não existam na definição teórica do algoritmo, eles são a formação encapsulada de uma saída de resultado do algoritmo; embora o algoritmo possa ser implementado sem esses comandos, ele perderá seu Figura 5: Barra de Ferramentas do Rin G em Contextos de Edição e Animação

8 Figura 6: Avaliação do Desenvolvimento de Algoritmos com o Rin G. Classificação da facilidade de desenvolvimento de algoritmos compatíveis com o Rin G é importante ressaltar que 75% dos alunos não possuía contato prévio com a linguagem Java. BuscaAmplitude(v) INICIALIZE estruturas MARQUE v como visitado ENFILEIRE v ENQUANTO Fila não vazia FAÇA w = DESENFILEIRE PARA CADA z pertencente ao grafo FAÇA se existir aresta (w,z) e z não visitado COLOQUE w antecessor de z MARQUE z como visitado ENFILEIRE z Figura 7: Definição em alto nível da Busca em Amplitude valor didático se não gerar uma saída compreensível para o usuário. A ferramenta Rin G, durante a execução de algoritmos, captura os comandos e- xecutados sobre o grafo, formando passos da animação daquela execução e exibindo-os ao usuário. Esse nível de não-intrusividade permite que um estudante desenvolva seu algoritmo preocupando-se o mínimo possível com a saída do resultado, e que, ainda assim, obtenha um resultado visual de fácil compreensão que o auxilie na assimilação do funcionamento obtido. 7. Trabalhos Relacionados É possível encontrar vários trabalhos relacionados com visualização e animação de algoritmos para estudos da Teoria dos Grafos. Entretanto, cada trabalho é focado de acordo com as necessidades específicas de seus desenvolvedores e professores interessados. Analisando esses trabalhos e adicionando as experiências adquiridas em disciplinas de Grafos, definiu-se um conjunto de requisitos para um ambiente que pudesse servir como ferramenta completa para auxílio ao ensino e aprendizado. Dos trabalhos estudados podem-se destacar algumas ferramentas com a proposta

9 // vértice inicial da busca this.initial = initial; // indica quais vértices já foram visitados pela busca visited = new boolean[g.getn()]; Arrays.fill(visited,false); // fila de vértices a visitar queue = new LinkedList(); Figura 8: Inicialização de estruturas public void execute() { visited[initial] = true; queue.addfirst(new Integer(initial)); while (!queue.isempty()) { int w = ((Integer) queue.removelast()).intvalue(); // marque w no caminho percorrido g.setnodeproperty(w,"componentcolor","0,255,0"); // para cada z tal que existe e(z,w) não visitado for (int z = 0 ; z < g.getn() ; z++) { if (g.e(w,z) &&!visited[z]) { // marque aresta (z,w) no caminho percorrido g.setedgeproperty(z,w,"componentcolor","0,0,255"); } } } } visited[z] = true; queue.addfirst(new Integer(z)); Figura 9: Execução do algoritmo baseada no Diamante de representar um grafo visualmente e executar algoritmo sobre este para estudo de seu comportamento. Aqui são descritas algumas delas, o GVF (Graph Visualization Framework) [11], EVEGA [12], o DIDAGRAPH [13], o VisualGraph [14] e o DisViz [15]. Destacam-se também ferramentas interessantes para visualização genérica de programas e suas estruturas de dados, como o JEliot [16] e o Leonardo [17]. O GVF é um framework para desenvolvimento de ferramentas direcionadas para manipulação de problemas de teoria dos grafos que apresenta um bom suporte para criação de entrada e saída de dados e leiaute para de grafos. Por outro lado, não permite a inclusão de algoritmos dinamicamente ao sistema e não fornece amparo à animação de algoritmos. O GVF não fornece capacidade de expansão, já que não existe a possibilidade de inclusão de operações, componentes e propriedades de um grafo. O framework Diamante, utilizado como base para o Rin G, fornece o suporte à entrada e saída de dados e amparo à animação de algoritmos, preservando ainda a característica de flexibilidade para o

10 desenvolvimento com mais possibilidades para o desenvolvedor e usuário final. O EVEGA é uma ferramenta desenvolvida para o aprendizado de algoritmos em grafos, e fornece uma interface poderosa e de boa usabilidade para criação e edição interativa de grafos e animação de algoritmos. As execuções de vários algoritmos podem ser comparadas por meio de gráficos de desempenho gerados pela ferramenta. Um algoritmo de fluxo máximo acompanha a ferramenta para demonstração e é possível incluir no ambiente novos algoritmos. A operação do EVEGA, no entanto, para geração da animações, é feita de forma intrusiva no código do algoritmo, podendo ser necessário dividir a atenção do problema a ser solucionado com a criação da animação. A interface de animação de algoritmos é pouco intuitiva e não permite voltar a execução a passos anteriores, característica didática interessante para compreensão de algoritmos e presente no Rin G. O DIDAGRAPH permite o acompanhamento de animações da execução de algoritmos, em alto nível, por meio de uma visualização do grafo com o algoritmo em andamento e de uma descrição em linguagem de alto nível do algoritmo. Esta ferramenta, atualmente, conta apenas com poucos algoritmos; para estudar algoritmos utilizando esta ferramenta, é necessário aprender uma nova linguagem, fato que, assim como no EVEGA, pode desviar a atenção do objetivo das disciplinas de grafos. No Rin G, o aluno desenvolve o algoritmo em Java, e não precisa incluir código de visualização ou de animação na sua implementação. O VisualGraph fornece uma biblioteca para a animação de algoritmos em grafos. Essa biblioteca, no entanto, não fornece uma interface gráfica para o usuário, servindo apenas como base para a criação de grafos que possam ser utilizados em outros projetos e ambientes. Para visualizar a animação gerada por algoritmos criados com o VisualGraph, é necessário o uso de outra ferramenta. A interface do VisualGraph para criação de grafos é baseada em texto, pouco intuitiva e não representa o grafo de forma amigável ao aluno. No Rin G, o aluno utiliza somente um ambiente que integra visualização e animação do algoritmo, de forma transparente ao usuário. O DisViz foi desenvolvido para permitir o aprendizado de grafos em grupo, por meio de redes locais, em um ambiente P2P no qual é possível criar grafos de teste e animações de algoritmos que possam ser visualizadas por todos os membros da rede. Esta ferramenta, no entanto, não fornece uma maneira fácil de acoplar algoritmos desenvolvidos por usuários, de forma que alunos só podem utilizar os algoritmos já presentes. O estudo de algoritmos em grafos utilizando o DisViz é restrito aos algoritmos já implementados na ferramenta e ao acompanhamento da animação desses algoritmos. Além disso, o estudo depende da existência de uma rede local e da colaboração dos membros dessa rede, o que pode dificultar o estudo dentro e fora dos horários de aulas práticas. Com o Rin G, o aluno pode desenvolver seus trabalhos a qualquer momento sem que haja a dependência de uma rede de computadores, além de ser possível acoplar seus próprios algoritmos na ferramenta sem alterar o seu código fonte. O JEliot é uma ferramenta de visualização de programas, e exibe uma animação da execução de um programa. O código do programa é totalmente independente da ferramenta, e o usuário deve apenas indicar, na própria ferramenta, quais estruturas de dados serão animadas, e ela se encarrega da animação das operações realizadas sobre aquela estrutura durante a execução do programa. Este ambiente propõe a visualização

11 genérica de programas, e não é específica para algoritmos em grafos. Por esse motivo, as visualizações que ela gera não necessariamente correspondem às visualizações conceituais de grafos e, assim, ela ainda exige um esforço mental do programador na conversão das representações do ambiente e a representação visual clássica de grafos. O Rin G, por outro lado, é voltado para visualização de algoritmos em grafo, o que torna a visualização mais próxima do esperado por estudantes de grafos. O LEONARDO é uma ferramenta não-intrusiva para visualização gráfica de estruturas de dados, que permite ao programador observar e acompanhar a representação gráfica de variáveis e estruturas de dados pré-selecionadas no código-fonte. Além disso, o usuário dessa ferramenta é capaz de depurar seu programa passo-a-passo, tendo a opção de navegar progressiva ou regressivamente na execução. Apesar do LEONARDO não ser intrusivo, o usuário deste ambiente precisa aprender uma linguagem de descrição de variáveis e estruturas a serem integradas na animação e, assim como o JEliot, não é otimizado para a visualização de algoritmos em grafos. O Rin G não requer o aprendizado de uma nova linguagem e gera visualizações voltadas para a teoria dos grafos e suas representações gráficas, sendo mais direcionado à assimilação das técnicas envolvidas em algoritmos em grafos. 8. Avaliação Os testes de usabilidade descritos na Seção 5 foram direcionados à facilidade de uso da interface do ambiente, e à facilidade de desenvolvimento de algoritmos compatíveis com o Rin G. O resultado obtido foi satisfatório, já que se tratava da primeira versão do ambiente, e, após a reestruturação realizada com base nas opiniões dos usuários, o Rin G hoje tem uma interface intuitiva que não desvia a atenção do usuário do desenvolvimento e compreensão de seus algoritmos. Conforme comparações na Seção 7, o Rin G foi desenvolvido com enfoque no estudo de algoritmos em grafos, proporcionando ao usuário um ambiente que simplifica o processo de assimilação das técnicas aplicadas a algoritmos em grafos. Este ambiente didático fortalece a sedimentação do conhecimento adquirido por alunos em aulas e livros teóricos da Teoria dos Grafos, funcionando como recurso complementar ao estudo desse tópico. Ao gerar a animação gráfica do estado de grafos ao longo da execução de algoritmos do aluno, o Rin G realiza, de forma automática, o mapeamento entre níveis de abstração da especificação do algoritmo com a sua implementação, diminuindo, assim, a complexidade da implementação e compreensão. Como resultado, o aluno pode utilizar as metáforas visuais comuns à Teoria dos Grafos. 9. Trabalhos Futuros Durante o desenvolvimento do Rin G, o grupo percebeu que haveria vários complementos interessantes ao projeto inicial, porém que fugiriam do escopo e do tempo disponível para implementação. Assim, optou-se por desenvolver o software de forma que ele fosse extensível, podendo suportar, sem grandes alterações de estrutura, a inclusão de novas funcionalidades. Mesmo que os desenvolvedores atuais não estejam presentes em todo o

12 processo de ampliação do escopo da ferramenta, preocupou-se em tornar a documentação disponível do projeto suficiente para permitir a sua evolução contínua. Um dos trabalhos identificados, e que atualmente está em processo de desenvolvimento, é uma extensão do Rin G, que permite ao usuário visualizar os passos da execução de algoritmos em grafos por meio de uma visão do código-fonte em Java e de uma animação do algoritmo, sendo que ambas serão apresentadas simultaneamente durante a execução. Esta nova funcionalidade operará como um depurador no qual o usuário poderá perceber com mais detalhes os efeitos das construções de seu programa sobre a execução em grafos de teste. Serão incluídos os recursos tradicionais de depuração, tais como a visualização de pilhas de execução e das variáveis locais do algoritmo. A depuração da representação visual do grafo e de suas estruturas computacionais durante a execução de um algoritmo permitirá ao estudante identificar e compreender eventuais erros de forma clara e interativa, o que poderá melhorar a sua produtividade durante o desenvolvimento de algoritmos, e, conseqüentemente, a qualidade didática do sistema. Ao observar algoritmos definidos em grafos [10], percebe-se que, como essa teoria pertence à matemática discreta, grande parte dos seus conceitos e algoritmos é definida em operações e notações de conjuntos. Pretende-se, também como extensão às funcionalidades já existentes no Rin G, implementar um framework de conjuntos, para permitir a implementação direta de algoritmos da teoria dos grafos, em notação similar à teórica. Acredita-se que esta funcionalidade poderá melhorar o mapeamento entre as estruturas do código-fonte e as metáforas correspondentes. 10. Conclusões Foi apresentado neste artigo o ambiente Rin G (Reflectin Graphs), como um complemento a disciplinas de grafos em cursos de Ciência da Computação e Sistemas de Computação. A ferramenta visa permitir melhor assimilação do funcionamento de algoritmos em grafos, já que mostra em uma representação visual os passos da execução de algoritmos criados pelo usuário. O Rin G permite que estudantes se concentrem no desenvolvimento e implementação de algoritmos, sem maiores preocupações adicionais com entrada e saída de parâmetros e resultados de seus algoritmos ou interface gráfica de visualização, diminuindo assim a carga de trabalho necessária para a construção de algoritmos em grafos. Ao diminuir o número de requisitos paralelos à implementação dos algoritmos, o aluno pode focalizar sua atenção nas especificidades do problema em grafos que está sendo resolvido. O fato de o programa ser escrito em Java possibilitou o uso de recursos da linguagem necessários para as funcionalidades mais importantes do Rin G, como a inclusão de algoritmos em grafos e a animação online desses algoritmos. Pelo fato de Java ser uma linguagem popular, evitou-se que o aluno tenha que aprender uma linguagem específica para animação, como é feito em outros ambientes encontrados na literatura. Com isto, diminui-se a carga de conhecimento prévio exigida do aluno, que pode estar ainda nos estágios iniciais do curso. A ferramenta será testada e avaliada novamente ao final do segundo semestre de 2004, quando os novos alunos da disciplina Grafos e Teoria da Complexidade terão u-

13 sado a versão atual do ambiente. A partir desta experiência, o grupo pretende realizar uma análise qualitativa da influência da animação de algoritmos em um ambiente de fácil compreensão e utilização no processo de aprendizado de algoritmos em grafos. 11. Agradecimentos Este trabalho é parcialmente patrocinado pelo Programa de Bolsas de Iniciação Científica (PROBIC), da Pontifícia Universidade Católica de Minas Gerais, e contou também com o apoio das professoras Raquel Mini e Cristiane Nobre durante o desenvolvimento e os testes da ferramenta. Referências [1] C. Demetrescu and I. Finocchi. Smooth animation of algorithms in a declarative framework. Journal of Visual Languages and Computing (JVLC), 12(3), [2] Eduardo S. Cordeiro, Italo G. A. Stefani, Tays C. A. P. Soares, Carlos A. P. S. Martins. DCMSim: Didatic Cache Memory Simulator. 33rd ASEE/IEEE Frontiers in Education Conference, pages F1C 14 F1C 19, [3] Italo G. A. Stefani, Eduardo S. Cordeiro, Tays C. A. P. Soares, Carlos A. P. S. Martins. DCMSim: Uma ferramenta para simulação de memória cache. IV Workshop em Sistemas Computacionais de Alto Desempenho WSCAD 2003, pages , [4] Italo G. A. Stefani, Eduardo S. Cordeiro, Tays C. A. P. Soares, Carlos A. P. S. Martins. DCMSim: Projeto e Desenvolvimento de um Simulador Didático e Multiplataforma de Memória Cache Usando Modelo Estrutural de Cache. IV Workshop em Sistemas Computacionais de Alto Desempenho WSCAD 2003, pages , [5] Eduardo S. Cordeiro, Italo G. A. Stefani, Tays C. A. P. Soares, Fabio Tirelo. Rin G: Um Ambiente Não-intrusivo para Animação de Algoritmos em Grafos. XII WEI - Workshop de Educação em Computação, [6] Ministério da Educação do Brasil. Secretaria de Educação Superior. Diretrizes Curriculares para os Cursos de Graduação. Technical report, MEC, [7] Sociedade Brasileira de Computação. Currículo de Referência para Cursos de Bacharelado em Sistemas de Informação. Technical report, SBC, Diretoria de Educação, [8] Sidney L. Smith, Jane N. Mosier. Guidelines for Designing User Interface Software. Technical report, The MTRE Corporation, Bedford, Massachusetts, USA, [9] Purvi Saraiya, Clifford A. Shaffer, D. Scott McCrickard, Chris Norh. Effective Features of Algorithm Visualizations. SIGCSE 04 - Special Interest Group on Computer Science Education, [10] Thomas H. Cormen ET AL. Algoritmos: teoria e prática. Editora Campus, Tradução da 2 a edição americana. [11] G. Melançon M.S. Marshall, I. Herman. An Object-Oriented Design for Graph Visualization (GVF). CWI, 2003.

14 [12] Sami Khuri, Klaus Holzapfel. EVEGA: An Educational Visualization Environment for Graph Algorithms. Proceedings of ITiCSE 2001, The 6th Annual Conference on Innovation and Technology in Computer Science Education - Canterbury, UK 2001, [13] V. Dagdilelis,M. Stratzemi. DIDAGRAPH: Software for Teaching Graph Theory Algorithms. ITiCSE Integrating Technology into Computer Sciente Education.Dublin - Ireland 1998, [14] Jeffrey M. Lucas, Thomas L. Naps. VisualGraph - A Graph Class Designed For Both Undergraduate Students and Educators. SIGCSE 2003, Special Interest Group on Computer Science Education, Reno - Nevada, USA, [15] Alexander A. Sherstov. Distributed Visualization of Graph Algorithms. SIGCSE 2003, Special Interest Group on Computer Science Education, Reno - Nevada, United States, [16] Jorma Tarhio Matti Lattu, Veijo Meisalo. On using a Visualization Tool as a Demonstration Aid - Technical report, [17] P. Crescenzi, C. Demetrescu, L. Finocchi and R. Petreschi. Leonardo: a software visualization system. WAE 97, pages , 1997.

Rin G: Um Ambiente Não-intrusivo para Animação de Algoritmos em Grafos

Rin G: Um Ambiente Não-intrusivo para Animação de Algoritmos em Grafos Rin G: Um Ambiente Não-intrusivo para Animação de Algoritmos em Grafos Eduardo Santos 1, Italo Giovani 1, Tays Cristina 1, Fabio Tirelo 1 1 Departamento de Ciência da Computação Pontifícia Universidade

Leia mais

UM SOFTWARE GRÁFICO EDUCACIONAL PARA O ENSINO DE ALGORITMOS EM GRAFOS*

UM SOFTWARE GRÁFICO EDUCACIONAL PARA O ENSINO DE ALGORITMOS EM GRAFOS* UM SOFTWARE GRÁFICO EDUCACIONAL PARA O ENSINO DE ALGORITMOS EM GRAFOS* Rodrigo Pereira dos Santos Departamento de Ciência da Computação Universidade Federal de Lavras (DCC/UFLA) Lavras MG Brasil CEP 37200-000

Leia mais

Figura 16 Niagara - Visão de grupos de notas.

Figura 16 Niagara - Visão de grupos de notas. Conclusão 6 Conclusão 6.1 Trabalhos Relacionados Dentre as funcionalidades fornecidas pela interface gerada pelo framework, em destaque está a possibilidade do zoom livre. Disponibilizar esta funcionalidade

Leia mais

Curso online de Fundamentos em Android. Plano de Estudo

Curso online de Fundamentos em Android. Plano de Estudo Curso online de Fundamentos em Android Plano de Estudo Descrição do programa A Certificação Android ensina como usar as ferramentas necessárias para projetar e implantar aplicativos Android para dispositivos

Leia mais

DIFICULDADES NO ENSINO-APRENDIZAGEM DE PROGRAMAÇÃO DE COMPUTADORES: CONTRIBUIÇÕES PARA A SUA COMPREENSÃO E RESOLUÇÃO

DIFICULDADES NO ENSINO-APRENDIZAGEM DE PROGRAMAÇÃO DE COMPUTADORES: CONTRIBUIÇÕES PARA A SUA COMPREENSÃO E RESOLUÇÃO DIFICULDADES NO ENSINO-APRENDIZAGEM DE PROGRAMAÇÃO DE COMPUTADORES: CONTRIBUIÇÕES PARA A SUA COMPREENSÃO E RESOLUÇÃO Bruno Siqueira da Silva bruno.siqueira@iffarroupilha.edu.br Universidade Regional Integrada

Leia mais

A pesquisa no ensino de computação. Práticas de ensino de algoritmos (Hazzan, Cap. 4) Péricles Miranda

A pesquisa no ensino de computação. Práticas de ensino de algoritmos (Hazzan, Cap. 4) Péricles Miranda A pesquisa no ensino de computação Práticas de ensino de algoritmos (Hazzan, Cap. 4) Péricles Miranda Existe pesquisa na área de ensino? Existe uma variedade de tópicos Conhecimento de novatos Investiga

Leia mais

FURBMOBILE: UMA APLICAÇÃO PARA VISUALIZAÇÃO E ACOMPANHAMENTO DA MATRIZ CURRICULAR

FURBMOBILE: UMA APLICAÇÃO PARA VISUALIZAÇÃO E ACOMPANHAMENTO DA MATRIZ CURRICULAR Departamento de Sistemas e Computação FURB Curso de Ciência da Computação Trabalho de Conclusão de Curso 2016/1 FURBMOBILE: UMA APLICAÇÃO PARA VISUALIZAÇÃO E ACOMPANHAMENTO DA MATRIZ CURRICULAR Acadêmico:

Leia mais

Implementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW.

Implementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW. Universidade Federal de Uberlândia - UFU Faculdade de Computação Bacharelado em Sistemas de Informação Implementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW. William Johnson

Leia mais

AMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO. Rodrigo Ferreira da Silva

AMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO. Rodrigo Ferreira da Silva AMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO Rodrigo Ferreira da Silva rodrigoferreira2002@hotmail.com Klaus Schlünzen Junior klaus@prudente.unesp.br Universidade Estadual Paulista

Leia mais

CAPÍTULO 7 CONCLUSÕES E RECOMENDAÇÕES

CAPÍTULO 7 CONCLUSÕES E RECOMENDAÇÕES 103 CAPÍTULO 7 CONCLUSÕES E RECOMENDAÇÕES "A verdadeira dificuldade não está em aceitar idéias novas, mas em escapar das antigas. John Maynard Keynes A pesquisa orientada à visualização cartográfica visa

Leia mais

2 O Modelo: SetModel. 2.1 Modelo de Informação

2 O Modelo: SetModel. 2.1 Modelo de Informação O Modelo: SetModel 2 O Modelo: SetModel 2.1 Modelo de Informação Modelo de informação é uma representação abstrata e formal de entidades incluindo suas propriedades, relações e operações que podem ser

Leia mais

O Ensino-Aprendizagem de Programação de Computadores: dificuldades e ferramentas de suporte

O Ensino-Aprendizagem de Programação de Computadores: dificuldades e ferramentas de suporte STIN Simpósio de Tecnologia da Informação da Região Noroeste do RS 154 O Ensino-Aprendizagem de Programação de Computadores: dificuldades e ferramentas de suporte Bruno Siqueira da Silva 1, Toni Ferreira

Leia mais

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

Adaptação Dinâmica desistemas Distribuídos p.1/54

Adaptação Dinâmica desistemas Distribuídos p.1/54 Adaptação Dinâmica de Sistemas Distribuídos Francisco José da Silva e Silva Orientadores: Prof. Dr. Markus Endler Prof. Dr. Fabio Kon Instituto de Matemática e Estatística da Universidade de São Paulo

Leia mais

Aspectos Computacionais do Desenvolvimento de uma Biblioteca para Desenho de Redes Bayesianas

Aspectos Computacionais do Desenvolvimento de uma Biblioteca para Desenho de Redes Bayesianas 19 a 21 de mar o de 2010 102 Aspectos Computacionais do Desenvolvimento de uma Biblioteca para Desenho de Redes Bayesianas Thales Lange 1, Raimundo C. G. Teive 1 1 Mestrado em Computação Aplicada Universidade

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

Professora Orientadora do Departamento de Ciências Exatas e Engenharias. 4

Professora Orientadora do Departamento de Ciências Exatas e Engenharias.   4 DESENVOLVIMENTO DE OBJETO DE APRENDIZAGEM DE MATEMÁTICA VOLTADO PARA ESCOLAS DA REDE PÚBLICA UTILIZANDO SOFTWARE ADOBE FLASH PROFESSIONAL CC: UM OBJETO PARA O ENSINO DE ESTATÍSTICA 1 Diogo Rafael Silva

Leia mais

Realidade Aumentada aplicada ao ensino da simetria molecular

Realidade Aumentada aplicada ao ensino da simetria molecular Realidade Aumentada aplicada ao ensino da simetria molecular Matheus Gaspar Reis 1, Alan Salvany Felinto 1 1 Departamento de Computação Universidade Estadual de Londrina (UEL) Caixa Postal 10.011 86057-680

Leia mais

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks 48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o

Leia mais

5 Processo de Reificação e de Desenvolvimento com ACCA

5 Processo de Reificação e de Desenvolvimento com ACCA Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes

Leia mais

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas

Leia mais

2. Descrição do Trabalho. Figura 1. Datapath do MIPS Superescalar CES SE

2. Descrição do Trabalho. Figura 1. Datapath do MIPS Superescalar CES SE Especificação do Projeto Simulador MIPS Superescalar CES- 25 Arquiteturas para Alto Desempenho Prof. Paulo André Castro Equipe: até três alunos Última atualização: 5/junho/2018 1. Objetivo Exercitar e

Leia mais

3 Uma Arquitetura Distribuída via WEB

3 Uma Arquitetura Distribuída via WEB 24 3 Uma Arquitetura Distribuída via WEB Neste capítulo será apresentada a Arquitetura de Ambiente Distribuído no qual está implementado o Gerador VRML (VRMLGer) e o fluxo de dados que há entre as diferentes

Leia mais

LABORATÓRIO VIRTUAL EM SISTEMAS DE CONTROLE

LABORATÓRIO VIRTUAL EM SISTEMAS DE CONTROLE LABORATÓRIO VIRTUAL EM SISTEMAS DE CONTROLE Ana Cláudia Gomes 1, Agostinho Linhares Souza Folho 1, Luiz Affonso Guedes 1 Universidade Federal do Pará 1 Campus Universitário do Guamá {acgomes, affonso}@ufpa.br

Leia mais

Desagregação da educação na PME 2002

Desagregação da educação na PME 2002 SÉRIE DE NOTAS TÉCNICAS EM ECONOMIA DA UFG NT N. 04 NOTA TÉCNICA EM ECONOMIA n. 04 Publicação cujo objetivo é auxiliar na elaboração de aulas e de pesquisas do Curso de Ciências Econômicas da UFG, divulgando

Leia mais

Técnicas para Reutilização de Software

Técnicas para Reutilização de Software DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de

Leia mais

Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino

Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino Presencial e à Distância Seiji Isotani Orientador: Leônidas de Oliveira Brandão Defesa de Mestrado Departamento de Ciência

Leia mais

TREINAMENTO PARA COMPETIÇÕES DE PROGRAMAÇÃO: Estudo de caso nas turmas do técnico em informática integrado do Câmpus Muzambinho RESUMO

TREINAMENTO PARA COMPETIÇÕES DE PROGRAMAÇÃO: Estudo de caso nas turmas do técnico em informática integrado do Câmpus Muzambinho RESUMO TREINAMENTO PARA COMPETIÇÕES DE PROGRAMAÇÃO: Estudo de caso nas turmas do técnico em informática integrado do Câmpus Muzambinho Leonardo S. da COSTA 1 ; Tiago G. BOTELHO 2 RESUMO Competições de programação

Leia mais

DESENVOLVIMENTO DE UM SISTEMA DE INFORMAÇÃO GEOGRÁFICA PARA GERAÇÃO DE MAPAS PLUVIOMÉTRICOS

DESENVOLVIMENTO DE UM SISTEMA DE INFORMAÇÃO GEOGRÁFICA PARA GERAÇÃO DE MAPAS PLUVIOMÉTRICOS DESENVOLVIMENTO DE UM SISTEMA DE INFORMAÇÃO GEOGRÁFICA PARA GERAÇÃO DE MAPAS PLUVIOMÉTRICOS Osvaldo Cesar Pinheiro de Almeida 1, Roger Cristhian Gomes 2 1 FATEC, Botucatu, SP, Brasil. E-mail cesar@fatecbt.edu.br

Leia mais

Uma Linha de Produto de Software para Módulos de Aprendizagem Interativa

Uma Linha de Produto de Software para Módulos de Aprendizagem Interativa Uma Linha de Produto de Software para Módulos de Aprendizagem Interativa Danilo Leite Dalmon Orientador: Prof. Dr. Leônidas de O. Brandão Defesa de Mestrado Instituto de Matemática e Estatística - Universidade

Leia mais

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

VISEDU-CG: Aplicação Didática para Visualizar Material Educacional, Módulo de Computação Gráfica

VISEDU-CG: Aplicação Didática para Visualizar Material Educacional, Módulo de Computação Gráfica VISEDU-CG: Aplicação Didática para Visualizar Material Educacional, Módulo de Computação Gráfica James Perkison Montibeler Orientador: Dalton Solano dos Reis FURB Universidade Regional de Blumenau Grupo

Leia mais

Software Para Geração de Consultas e Relatórios

Software Para Geração de Consultas e Relatórios Software Para Geração de Consultas e Relatórios Características e Funcionalidades Versão 1.1 Iniview é marca registrada da Projedata Informática Ltda. Todos os direitos reservados à Projedata Informática

Leia mais

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1 BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1 2 2 aulas teóricas e 2 aulas práticas (ambas em laboratório) Terças às 17:10, lab 22 do DECOM Prof. Túlio

Leia mais

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A

Leia mais

7 Conclusão e Trabalhos Futuros

7 Conclusão e Trabalhos Futuros Conclusão e Trabalhos Futuros 123 7 Conclusão e Trabalhos Futuros Esta dissertação apresenta a linguagem X-SMIL para autoria declarativa de documentos hipermídia. Nessa direção, o primeiro passo do trabalho

Leia mais

Primeiro Trabalho de IA/SI: Buscas. Entrega: 03/03/2019 (2 semanas)

Primeiro Trabalho de IA/SI: Buscas. Entrega: 03/03/2019 (2 semanas) Primeiro Trabalho de IA/SI: Buscas Entrega: 03/03/2019 (2 semanas) 18 de Fevereiro de 2019 Este trabalho é para ser submetido via Moodle. Será desenvolvido principalmente durante as aulas práticas, mas

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA DISCIPLINA: ESTRUTURAS DE DADOS CÓDIGO: INF01203 CURSOS/PRE-REQUISITO: o Engenharia da Computação

Leia mais

Atividades e Recursos. Escola Médica Virtual

Atividades e Recursos. Escola Médica Virtual Atividades e Recursos Escola Médica Virtual Atividades Escola Médica Virtual Chat O módulo de atividade Chat permite que participantes tenham discussões síncronas, ou seja, discussões que acontecem durante

Leia mais

Informações Importantes! INF TURMA A

Informações Importantes! INF TURMA A UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA DISCIPLINA: ESTRUTURAS DE DADOS CÓDIGO: INF01203 CURSOS/PRE-REQUISITO: o Engenharia da Computação

Leia mais

Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa

Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa Danilo Leite Dalmon Orientador: Prof. Dr. Leônidas de O. Brandão Qualificação de Mestrado Instituto de Matemática

Leia mais

Um Middleware de Inteligência Artificial para Jogos Digitais 105

Um Middleware de Inteligência Artificial para Jogos Digitais 105 6 Conclusão Este capítulo apresenta alguns comentários e considerações gerais sobre o trabalho de pesquisa realizado durante o desenvolvimento desta dissertação, as contribuições alcançadas e sugestões

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Interfaces Uma interface é uma forma abstrata de descrever um objeto A classe fixa a forma de um objeto

Leia mais

Design de IHC PoliFacets

Design de IHC PoliFacets 1 Design de IHC PoliFacets INF1403 Introdução a IHC Aula 17 Marcelle Mota 13/05/2013 Scalable Game Design (SGD) Originado na Universidade do Colorado Objetivo: Promover a aquisição de raciocínio computacional

Leia mais

Bibliotecas e Componentes para Interatividade de Jogos em Flash

Bibliotecas e Componentes para Interatividade de Jogos em Flash Bibliotecas e Componentes para Interatividade de Jogos em Flash Leonardo Serra Faria Orientador: Bruno Feijó Dept. de Informática, PUC-Rio PIBIC Programa Institucional de Bolsas de Iniciação Científica

Leia mais

4 Testes e experimentos realizados 4.1. Implementação e banco de dados

4 Testes e experimentos realizados 4.1. Implementação e banco de dados 32 4 Testes e experimentos realizados 4.1. Implementação e banco de dados Devido à própria natureza dos sites de redes sociais, é normal que a maior parte deles possua uma grande quantidade de usuários

Leia mais

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001 PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes

Leia mais

Material Complementar de INF Engenharia Cognitiva

Material Complementar de INF Engenharia Cognitiva Material Complementar de INF 1403 2009.1 Engenharia Cognitiva Introdução A Engenharia Cognitiva foi concebida por Donald Norman em 1986 como uma tentativa de aplicar conhecimentos de Ciência Cognitiva,

Leia mais

1.1. Posicionamento e Motivação

1.1. Posicionamento e Motivação 1 Introdução Os evidentes avanços computacionais têm proporcionado mudanças de paradigma na interação humano-computador. No passado, na chamada era mainframe, um computador era compartilhado por vários

Leia mais

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso

Leia mais

Desenvolvimento de um sistema de computação algébrica multiplataforma para o auxilio do ensino de matemática

Desenvolvimento de um sistema de computação algébrica multiplataforma para o auxilio do ensino de matemática Desenvolvimento de um sistema de computação algébrica multiplataforma para o auxilio do ensino de matemática 1 Victor Fernando Conti; 1 Elvio Gilberto da Silva; 1 Patrick Pedreira Silva; 1 Rosane Maria

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens

Leia mais

Curso Online de E-commerce. Plano de Estudo

Curso Online de E-commerce. Plano de Estudo Curso Online de E-commerce Plano de Estudo Descrição do programa O programa oferece metodologias e técnicas necessárias para a implementação de soluções web baseadas no CMS para o suporte, estratégias

Leia mais

ESPECIFICAÇÃO DE SOFTWARE

ESPECIFICAÇÃO DE SOFTWARE ESPECIFICAÇÃO DE SOFTWARE Integrantes do grupo: Joel Edu Sánchez Castro Fernando Hattori Miguel Angel Galarreta Valverde Felipe Martins dos Santos 1 SUMÁRIO DESCRIÇÃO...3 REQUISITOS...3 REQUISITOS FUNCIONAIS

Leia mais

Documento de Requisitos do Software Tá Fazendo Quanto?

Documento de Requisitos do Software Tá Fazendo Quanto? Documento de Requisitos do Software Tá Fazendo Quanto? Versão 1.0 09 15 Ficha Técnica Equipe Responsável pela Elaboração Daniel Schmid Mariotto Gustavo Romito Nogueira Vinicius Carvalho Público Alvo Este

Leia mais

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução UML: introdução Prof.: Clarindo Isaías Pereira da Silva e Pádua Synergia / Gestus Departamento de Ciência da Computação - UFMG UML: introdução 2 Bibliografia Rumbaugh, J.; Jacobson, I.; Booch, G., The

Leia mais

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 4º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE 2009/2 GABARITO COMENTADO QUESTÃO 1: 1. Considere as afirmações a seguir:

Leia mais

Desenvolvimento de um aplicativo na plataforma Android para realização de fichamento bibliográfico em dispositivos móveis: resultados iniciais

Desenvolvimento de um aplicativo na plataforma Android para realização de fichamento bibliográfico em dispositivos móveis: resultados iniciais Desenvolvimento de um aplicativo na plataforma Android para realização de fichamento bibliográfico em dispositivos móveis: resultados iniciais Diogo Sebastião Silva de Lima 1 ; Mauro Daniel Castro e Silva

Leia mais

Estruturas de Dados Apresentação

Estruturas de Dados Apresentação Estruturas de Dados Apresentação Prof. Eduardo Alchieri Objetivos Apresentar técnicas fundamentais na análise e projeto de estruturas de dados em programas computacionais Vamos aprender: Quais são as principais

Leia mais

Atividades Práticas no Ensino Introdutório de Sistemas Operac

Atividades Práticas no Ensino Introdutório de Sistemas Operac Atividades Práticas no Ensino Introdutório de Sistemas Operacionais Cassio P. de Campos Nicolas Kassalias Faculdade de Computação e Informática Universidade Mackenzie 17 de julho de 2006 Agenda 1 Introdução

Leia mais

Objetivo do Curso. Introdução à Interação Humano-Computador. Professora: Raquel Oliveira Prates

Objetivo do Curso. Introdução à Interação Humano-Computador. Professora: Raquel Oliveira Prates Introdução à Interação Humano-Computador Professora: Raquel Oliveira Prates http://www.dcc.ufmg.br/~rprates/ihc \ Aula 1: 14/05 1 Objetivo do Curso Apresentação dos conceitos básicos da área de Interação

Leia mais

Linguagens de Domínio Específico

Linguagens de Domínio Específico Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Definindo DSLs Linguagem específica de domínio: uma linguagem de programação de computadores de expressividade

Leia mais

COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1

COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1 COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1 Márcia Da Silva 2, Igor Gamste Haugg 3, Eliézer Silveira Prigol 4, Édson L. Padoin 5, Rogério S. M. Martins

Leia mais

Projeto de Linguagem. Linguagens de Programação

Projeto de Linguagem. Linguagens de Programação Projeto de Linguagem Renato Ferreira Linguagens de Programação Linguagens são adotadas para preencher uma demada Facilitar uma aplicação outrora difícil/impossível Independente da qualidade da linguagem

Leia mais

Middleware é um programa de computador que faz a mediação entre outros

Middleware é um programa de computador que faz a mediação entre outros 1 Introdução Este capítulo descreve, inicialmente, a motivação para a realização do trabalho. Posteriormente, são apresentados os objetivos traçados e, finalmente, detalhamos a organização desta dissertação.

Leia mais

Ferramenta de apoio aos testes baseados em requisitos

Ferramenta de apoio aos testes baseados em requisitos Ferramenta de apoio aos testes baseados em requisitos Acadêmico: Leandro da Cunha Orientador: Everaldo Artur Grahl Agenda Introdução Objetivos do trabalho Conceitos básicos Contexto atual do tema Especificação

Leia mais

CONTEÚDO DO HP ALM 11.5 ADOPTION READINESS TOOL (ART)

CONTEÚDO DO HP ALM 11.5 ADOPTION READINESS TOOL (ART) CONTEÚDO DO HP ALM 11.5 ADOPTION READINESS TOOL (ART) APPLICATION LIFECYCLE MANAGEMENT 11.5 VISÃO GERAL Este conteúdo foi criado especificamente para usuários do aplicativo Application Lifecycle Management

Leia mais

Desenvolvedor Android: Avançado. Plano de Estudo

Desenvolvedor Android: Avançado. Plano de Estudo Desenvolvedor Android: Avançado Plano de Estudo Descrição do programa A Certificação Android fornece as ferramentas necessárias para projetar e implementar aplicativos para dispositivos Android, com base

Leia mais

Métodos Ágeis e Programação Extrema (XP)

Métodos Ágeis e Programação Extrema (XP) Métodos Ágeis e Programação Extrema (XP) 1 Métodos Ágeis A insatisfação com os overheads envolvidos em métodos tradicionais de desenvolvimento levou à criação dos métodos ágeis. Esses métodos: Focam no

Leia mais

Ambiente Educacional Interativo Móvel para atividade em sala de aula 1

Ambiente Educacional Interativo Móvel para atividade em sala de aula 1 Ambiente Educacional Interativo Móvel para atividade em sala de aula 1 Sergio Ferreira do AMARAL 2 Mirela Campos AMARAL 3 Dirceu da SILVA 4 Universidade Estadual de Campinas, SP Resumo Este artigo descreve

Leia mais

METALDIM: SOFTWARE EDUCATIVO PARA DIMENSIONAMENTO DE ESTRUTURAS METÁLICAS

METALDIM: SOFTWARE EDUCATIVO PARA DIMENSIONAMENTO DE ESTRUTURAS METÁLICAS METALDIM: SOFTWARE EDUCATIVO PARA DIMENSIONAMENTO DE ESTRUTURAS METÁLICAS Débora P. B. da Rocha deborapbrocha@gmail.com João V. M. de Oliveira jvo.marques@gmail.com Matheus F. C. Andrade andrade.matheusfellipe@gmail.com

Leia mais

Curso online de. Formação em Front-End. Plano de Estudo

Curso online de. Formação em Front-End. Plano de Estudo Curso online de Formação em Front-End Plano de Estudo Descrição do programa O Programa de Desenvolvimento Web lhe oferece conhecimentos para desenvolver habilidades necessárias para se tornar um Desenvolvedor

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Processos de Software Professor: Charles Leite O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento

Leia mais

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE Fagner Jefferson de Araújo Silva; Whasley Sousa Cardoso; Marcelo Portela Sousa. Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

9 Conclusões e Trabalhos Futuros

9 Conclusões e Trabalhos Futuros 9 Conclusões e Trabalhos Futuros Este capítulo apresenta as conclusões desta tese e as sugestões de trabalhos futuros. 9.1 Conclusões Esta tese endereçou um requisito de sistemas de workflow aqui chamado

Leia mais

Prof. Dr. Thiago Jabur Bittar

Prof. Dr. Thiago Jabur Bittar Prof. Dr. Thiago Jabur Bittar Uma representação abstrata e simplificada do processo de desenvolvimento software, tipicamente mostrando as principais atividades e dados usados na produção e manutenção de

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

TOTVS - Microsiga Protheus PCO

TOTVS - Microsiga Protheus PCO 20/07/2011 Sumário Sumário... 2 1 Conceitos Básicos... 3 1.1 Novas Funcionalidades... 3 2 Controle de Fases do Planejamento... 4 2.1 Unidade Orçamentária do Planejamento... 5 2.2 Projeto de Planejamento

Leia mais

Teoria da Computação. Computabilidade

Teoria da Computação. Computabilidade Cristiano Lehrer Introdução O objetivo do estudo da solucionabilidade de problemas é investigar a existência ou não de algoritmos que solucionem determinada classe de problemas. Ou seja, investigar os

Leia mais

Ferramentas da Moodle: Atividades e Recursos

Ferramentas da Moodle: Atividades e Recursos JUNV 29 Ferramentas da Moodle: Atividades e Recursos Sumário 1 - Ferramentas da Moodle: Atividades e Recursos 1.1 - Atividades e Recursos 2 - Atividades 2.1 - Base de Dados 2.2 - Base de Dados - vídeo

Leia mais

7.1. Trabalhos Futuros

7.1. Trabalhos Futuros 7 Conclusão O volume de pesquisas realizadas na área de e-learning evidencia a sua importância e o grande interesse ainda remanescente por parte de organizações e instituições acadêmicas. Certamente, esse

Leia mais

Sumário. Capítulo 1 Introdução 29. Capítulo 2 Utilizando Objetos 59

Sumário. Capítulo 1 Introdução 29. Capítulo 2 Utilizando Objetos 59 Sumário Capítulo 1 Introdução 29 1.1 O que é programação? 30 1.2 A anatomia de um computador 31 1.3 Traduzindo programas legíveis pelo homem em código de máquina 36 1.4 A linguagem de programação Java

Leia mais

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação Especificação da Projeto de Laboratório de Programação Parte 1 Salvador, 2009 Universidade Federal da Bahia Instituto

Leia mais

Introdução à Programação. Vanessa Braganholo

Introdução à Programação. Vanessa Braganholo Introdução à Programação Vanessa Braganholo vanessa@ic.uff.br Processo de resolução de problemas (Princípios de Pólya) Definição dos requisitos do problema (fazer o programa certo) Entradas Cálculos Casos

Leia mais

Bruno da Silva de Oliveira. Hydra: Compilação Distribuída de código fonte

Bruno da Silva de Oliveira. Hydra: Compilação Distribuída de código fonte Bruno da Silva de Oliveira Hydra: Compilação Distribuída de código fonte Florianópolis SC Junho / 2004 Bruno da Silva de Oliveira Hydra: Compilação Distribuída de código fonte Orientador: Prof. Dr. Mario

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar

Leia mais

Evento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA

Evento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA INTEGRAÇÃO DE APLICAÇÕES APLICADA À EXTRAÇÃO E QUALIFICAÇÃO AUTOMÁTICA DE PUBLICAÇÕES DE PESQUISADORES: UM CASO BASEADO NO CURRÍCULO LATTES 1 APPLICATION INTEGRATION APPLIED TO AUTOMATIC EXTRACTION AND

Leia mais

DESENVOLVIMENTO DE UM SISTEMA ELETRÔNICO E GRÁFICO PARA O ENSINO DA ENGENHARIA DE ESTRUTURAS COM O USO DO KIT ESTRUTURAL MOLA

DESENVOLVIMENTO DE UM SISTEMA ELETRÔNICO E GRÁFICO PARA O ENSINO DA ENGENHARIA DE ESTRUTURAS COM O USO DO KIT ESTRUTURAL MOLA DESENVOLVIMENTO DE UM SISTEMA ELETRÔNICO E GRÁFICO PARA O ENSINO DA ENGENHARIA DE ESTRUTURAS COM O USO DO KIT ESTRUTURAL MOLA Natália Dias de Melo 1 ; Januário Pellegrino Neto 2 1 Aluna de Iniciação Científica

Leia mais

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste 6 Discussão Além das técnicas de teste usando modelos gramaticais, existem outras abordagens de teste funcional de sistemas que estão sendo estudadas pela comunidade científica. Algumas delas se dedicam

Leia mais

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014. Construção de Compiladores Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2014.2 1/22 1 Linguagens de programação 2 Compilação 2/22 Tópicos 1

Leia mais

O Pronome CREATOR 4.1. O objeto criador do objeto corrente

O Pronome CREATOR 4.1. O objeto criador do objeto corrente 4 O Pronome CREATOR Neste capítulo, é explorado o pronome CREATOR. Na Seção 4.1, a relação entre o objeto corrente e seu criador é explicada. Na Seção 4.2, são mostradas as transformações de código necessárias

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DComp 2017 Modelagem de Dados UML 2 1 Eduardo Bezerra Editora Campus/Elsevier Porcentagem de projetos que terminam dentro do

Leia mais

RAFAEL EMMENDOERFER FALCONE MAURO MARCELO MATTOS

RAFAEL EMMENDOERFER FALCONE MAURO MARCELO MATTOS RAFAEL EMMENDOERFER FALCONE MAURO MARCELO MATTOS PROGRAMAÇÃO Introdução e objetivos. Fundamentação teórica: sistemas dinâmicos, caos e fractais. Biblioteca Java JCCKit utilizada para desenvolvimento da

Leia mais

SID - Sistema Interativo Distribuído

SID - Sistema Interativo Distribuído SID - Sistema Interativo Distribuído Proposta de projeto Sistemas de Objetos Distribuídos Prof.: Fabio Kon IME/USP Maio 2002 Aluno: OBJETIVOS DESTE DOCUMENTO...1 OBJETIVOS DO PROJETO...1 FUNCIONALIDADES

Leia mais

Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre Máquina de Turing e Máquina Norma

Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre Máquina de Turing e Máquina Norma 4ª Jornada Científica e Tecnológica e 1º Simpósio de Pós-Graduação do IFSULDEMINAS 16, 17 e 18 de outubro de 2012, Muzambinho MG Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre

Leia mais

O Pronome PARENT 5.1. O Objeto que Declarou o Objeto Corrente da Execução

O Pronome PARENT 5.1. O Objeto que Declarou o Objeto Corrente da Execução 5 O Pronome PARENT Neste capítulo, é explorado o pronome PARENT. Na Seção 5.1, a relação entre o objeto corrente e o objeto que o declarou é explicada. Na Seção 5.2, são mostradas as transformações de

Leia mais

SOFTWARE EDUCACIONAL PARA ELABORAÇÃO DE PROVAS E EXERCÍCIOS

SOFTWARE EDUCACIONAL PARA ELABORAÇÃO DE PROVAS E EXERCÍCIOS SUZETE KEINER SOFTWARE EDUCACIONAL PARA ELABORAÇÃO DE PROVAS E EXERCÍCIOS CIOS Orientador: Prof.. Carlos Eduardo Negrão Bizzotto ROTEIRO Introdução Objetivos Informática na Educação Etapas de Implantação

Leia mais