VXt: EXPERIÊNCIA DE DESENVOLVIMENTO COOPERATIVO DE UM AMBIENTE DIDÁTICO

Share Embed


Descrição do Produto

VXt: EXPERIÊNCIA DE DESENVOLVIMENTO COOPERATIVO DE UM AMBIENTE DIDÁTICO Mauro Marcelo Mattos, Ms. 1 [email protected]

Antônio Carlos Tavares2 [email protected]

Resumo O presente artigo descreve a experiência no desenvolvimento cooperativo do projeto VXt. Um ambiente didático de apoio ao ensino de disciplinas de Arquitetura de Computadores e Sistemas Operacionais. O projeto vem sendo desenvolvido pelos alunos do curso de Bacharelado em Ciências da Computação da FURB - Universidade Regional de Blumenau e caracteriza-se por implementar em software a arquitetura do processador Intel 8086 A ausência de uma ferramenta didática que permita exemplificar mais detalhadamente alguns conceitos importantes no ensino das disciplinas anteriormente citadas, conduziu a especificação do VXt. O ambiente através da estratificação em vários níveis de abstração, desde os componentes de hardware, passando pelo sistema operacional, até a visão de usuário final, permite vários tipos de análises de acordo com a necessidade e disponibilidade do aluno.

Abstract This work describes the experience in cooperative software development of VXt project. An auxiliary tool in teaching Computer Architecture and Operating Systems classes. This project has being developed by students of Computing Science at FURB - University of Blumenau . It’s an software implementation of an 8086 processor. The tool enables the student to get several levels of abstraction, since hardware components, passing by operating systems until the final user view of the architecture. This enables several kinds of analysis depending on the needs and availability of the students.

PALAVRAS-CHAVE: Arquitetura de Computadores, Sistemas Operacionais, Software Básico, Simuladores, Ambientes Didáticos. 1

Professor da FURB - Universidade Regional de Blumenau - Departamento de Sistemas e Computação. Doutorando no CPGEP- Curso de Pós-Graduação em Engenharia de Produção – UFSC – Universidade Federal de Santa Catarina. 2

Professor da FURB - Universidade Regional de Blumenau - Departamento de Sistemas e Computação

1. Introdução Estamos vivendo uma nova era, onde a tecnologia disponível está evoluindo cada vez mais rapidamente e tornando-se parte do dia-a-dia de cada um. Segundo [LEV90], a tendência mundial é quebrar fronteiras, integrar conhecimentos e compartilhar informações. A velocidade com que isto ocorre está diretamente ligada a questões de sucesso ou fracasso em qualquer dos níveis que se observe: pessoal ou profissional. O binômio ensino/aprendizagem não pode ficar fora deste contexto. A Universidade em sua função básica de formação e qualificação profissional, deve incorporar inovações e novas tecnologias tanto para melhorar a qualidade do ensino, como para otimizar o processo de aprendizagem, munindo os alunos com ferramental de apoio às disciplinas. A aprendizagem é um processo no qual experiências fomentam modificação do comportamento e aquisição de hábitos. Segundo [WEC93], Piaget ao estudar a gênese do desenvolvimento da inteligência, demonstrou a importância da maturação do sistema nervoso, da ação sobre os objetos e dos fatores sociais como variáveis influenciantes na compreensão do processo intelectual. Em seus estudos, demonstrou como os processos de assimilação e acomodação de novos conhecimentos se incorporam à estrutura do pensamento. Segundo [GRI96], os métodos de transmissão de conhecimento cada vez mais vem sofrendo grandes modificações em virtude da evolução dos recursos audiovisuais. A disponibilidade cada vez maior destes recursos faz com que os alunos acabem perdendo o interesse pelas maçantes aulas e exercícios tradicionais, e por outro lado, também os professores sentem muita dificuldade em prender a atenção dos primeiros. Dentro deste contexto, a tecnologia de ambientes de comunicação mediados por computador podem vir a permitir a criação de grupos de trabalho com interesses em comum, que venham a desenvolver atividades de formação acadêmica, síncrona ou assincronamente às atividades tradicionais de ensino desenvolvidas atualmente. Com o processo crescente no uso de tecnologias aplicadas à educação, é importante ressaltar não só a contribuição dos recursos computacionais existentes, mas também, a necessidade de estudar-se a forma ideal para sua aplicação.

2. A situação atual O conceito de qualidade vem evoluindo desde a muito tempo quando começou a tornar-se um assunto de importância. Hoje, mais do que nunca, busca-se cada vez mais a excelência dos produtos e serviços produzidos. Mas e na Universidade? Como são conduzidos os procedimentos de aprendizagem? Não basta a aquisição e disponibilização de computadores em laboratórios.

Da mesma forma que a área administrativa da Universidade possui um CPD (Centro de Processamento de Dados), que tem por objetivo agilizar o processamento de informações (e em última instância facilitar a gerência do negócio), a área de ensino deve passar a utilizar o recurso de informática como uma ferramenta auxiliar no processo de aprendizagem. Segundo [GRI96], o ambiente de aprendizado deve estimular o raciocínio (levando o aluno a pensar, não apenas memorizar), permitir ao aluno autonomia, considerando que este possa explorar o ambiente livremente, traçando um percurso conforme seu interesse e desenvolvimento do assunto. Através de ferramentas de multimídia, tem-se construído aplicações educacionais onde conceitos discutidos e apresentados em aula, podem ser detalhados e apresentados de forma gráfica. O uso deste recurso, quando convenientemente explorado, permite a construção de elementos extremamente ricos com relação a uma comunicação eficaz entre o aluno e o professor. Após apresentado em aula, um determinado tópico pode ser revisto pelos alunos tantas vezes quantas forem necessárias para a efetiva compreensão. Apoiado pelos recursos computacionais atualmente disponíveis surge o conceito de educação à distância.

2.1. Educação à distância

Apesar do seu grande potencial, e de estar sendo anunciado como novidade, o conceito de educação à distância é antigo e sempre esteve associado a formação profissional. Oriundo do ensino por correspondência, passou pelo rádio e mais recentemente está na televisão. Atualmente o recurso de educação à distância faz uso de toda a tecnologia disponível: computadores, redes e multimídia, e extrapolando a idéia original, já começa a ser utilizado dentro das universidades. Naturalmente, o emprego deste conceito em ambiente acadêmico implica em novas estratégias com respeito a combinação racional de recursos, meios, formas de trabalho acadêmico e formas de direção e organização do processo. No entanto, o que se observa atualmente, é que tanto os softwares disponíveis no mercado, como os programas de educação à distância, em sua maioria, constituem-se em uma versão informatizada dos livros e antigos procedimentos didáticos presenciais. Desta forma, não permitem o grau de interação que, por um lado os recursos disponibilizam, e por outro, seria conveniente para complementar os requisitos de aprendizagem. Apesar de um sistema multimídia possibilitar a ilustração de idéias através da combinação de meios visuais, auditivos e textuais, permitindo ao professor criar novos modos de comunicação, a simples utilização dos recursos de multimídia não garantem um maior grau de absorção do conteúdo por parte do aluno. Um outro fator muito importante a ser considerado neste contexto é que, apesar dos recursos disponíveis ainda não estarem sendo utilizados adequadamente sob o aspecto didático-pedagógico, a tecnologia já está disponibilizando um outro recurso ainda mais avançado – o conceito de virtual: as comunidades virtuais e os ambientes de realidade virtual, e dentro deste contexto, as classes virtuais.

2.2. O conceito de virtual O conceito de aprendizado virtual ocorre através da aplicação de pedagogias de aprendizado a distância e presencial, suportado pelas mesmas tecnologias de informações e telecomunicações que possibilitam outras operações consideradas virtuais tais como: laboratórios virtuais e escritórios virtuais. Já é consenso no meio acadêmica que, uma comunidade de aprendizado virtual é constituída pelo que poderia ser considerado nos moldes tradicionais como estudantes, professores, especialistas, gerentes, executivos, auditores, consultores e, qualquer outra categoria de pessoas interessadas em ensino. Enquanto o aprendizado tradicional é apresentado para habilidades específicas do indivíduo, a maioria das competências virtuais necessitam ser desenvolvidas em equipes, através de uma rede. Cada um torna-se um professor, e cada um torna-se um aprendiz. Todos compartilham conhecimento e aprendizado através do trabalho cooperativo e com a infra-estrutura comum – a rede. Cabe salientar ainda que, os membros de uma comunidade virtual ainda retém suas identidades e papéis reais em suas organizações reais. O sistema de aprendizado deve não somente ligá-los com suas equipes virtuais, mas ligá-los de volta para usas especializações envolvendo suas organizações e papéis reais.

2.3. O projeto VXt

A escola, como um espaço privilegiado para a apropriação e construção de conhecimento, tem como papel fundamental instrumentalizar seus estudantes e professores para pensar de forma criativa soluções tanto para os antigos, como para os novos problemas emergentes desta sociedade em constante renovação. Todos tem os mesmos instrumentos para chegar ao conhecimento, mas não os utilizam com a mesma intensidade. Normalmente, os processos educacionais baseiam-se , quase que exclusivamente, no desenvolvimento da inteligência lingüística e da lógico-matemática, deixando de lado as outras formas de acesso ao conhecimento. É justamente pela abordagem abstrata no ensino de algumas disciplinas-chave no curso de Computação que justifica-se a pesquisa e o desenvolvimento de ferramentas e/ou aplicações tecnológicas para auxiliar no processo de aprendizado. Os aspectos cognitivos relacionados a captação de conteúdos comprovam a eficácia de processos que relacionam a ferramenta computador em benefício da produtividade intelectual.

2.3.1. Caracterização do problema

O currículo do curso de Ciências da Computação da Universidade Regional de Blumenau, estabelece como obrigatórias as disciplinas de Arquitetura de Computadores (2o Semestre) e Sistemas Operacionais (4o semestre). O estudo de Sistemas Operacionais pressupõe o conhecimento de conceitos básicos de

Arquitetura de Computadores. Analisando-se o resultado dos trabalhos realizados na disciplina de Sistemas Operacionais, observou-se que havia uma deficiência no entendimento de como realmente as ações eram executadas por um processador, e quais as implicações disto em termos de arquitetura de um sistema operacional. A ausência de uma ferramenta didática que permitisse exemplificar os conceitos de modo mais claro, estimulou o desenvolvimento do VXt. O projeto VXt pode ser caracterizado como a implementação em software do processador Intel 8086. Alguns dos aspectos mais importantes do projeto serão discutidos neste texto. No entanto, uma especificação mais detalhada pode ser obtida em [MAT97] e [MAT98]. Além disso, analisando-se o perfil dos alunos, verificou-se que em sua maioria, são oriundos do 2o grau, e portanto, possuem conhecimentos abstratos sobre áreas científicas (matemática, física, biologia, etc.) . Porém, quando deparam-se com os conceitos apresentados nas disciplinas em questão, geralmente encontram dificuldades em abstrair detalhes de implementação e concentrar-se nos conceitos propriamente ditos. Um outro aspecto importante a destacar refere-se ao fato de que os alunos dedicamse em tempo parcial ao curso, ou seja, mesclam atividades profissionais com atividades acadêmicas. A ausência de uma ferramenta didática que permita exemplificar mais detalhadamente alguns conceitos importantes no ensino das disciplinas anteriormente citadas, conduziu a especificação do VXt. Em função disto, iniciou-se um projeto em sala de aula, com o intuito de construir-se uma ferramenta que permitisse suprir as dificuldades acima citadas através do emprego, na medida do possível, dos conceitos anteriormente abordados. Esta ferramenta deveria implementar um processador, a partir do qual fosse possível demonstrar-se conceitos básicos das duas disciplinas em questão.

2.3.2. O processador virtual Para a escolha do processador foram considerados os seguintes aspectos: a) processador a ser implementado deveria ser de conhecimento dos alunos, tendo em vista evitar um esforço a mais para conhecer um novo conjunto de instruções b) processador alvo, deveria possuir todo um aparato de ferramentas de desenvolvimento tais como, compiladores, montadores, depuradores e ambientes de desenvolvimento adequados, para evitar o esforço desnecessário na construção de tais ferramentas; c) processador alvo deveria executar um sistema operacional que fosse de conhecimento do públicoalvo, tendo em vista evitar o esforço desnecessário (em função dos objetivos do trabalho) no aprendizado da utilização do mesmo; d) deveria haver disponibilidade de literatura tendo em vista permitir a implementação do conjunto de instruções do processador. A partir destes requisitos, selecionou-se o processador Intel 8086, tendo em vista que: a) ele atendia ao requisito (a) acima descrito na medida em que os alunos da disciplina de Arquitetura de Computadores geralmente desenvolvem pequenas aplicações utilizando a linguagem assembly deste processador;

b) ele atendia ao requisito (b), na medida em que há toda uma estrutura que suporta o desenvolvimento de aplicações para a plataforma Intel; c) ele atendia ao requisito (c ), na medida em que o sistema operacional MS-DOS, já é de conhecimento dos alunos, não necessitando um esforço de treinamento adicional para esta plataforma; d) a biblioteca da Universidade dispunha (e dispõe) de literatura suficiente para permitir aos alunos o desenvolvimento da referida aplicação.

2.3.3. A metodologia de desenvolvimento Adotou-se uma metodologia de aprendizado ativa (figura 1), através de sucessivos refinamentos, na qual os conceitos básicos seriam implementados gradualmente, e a medida em que o projeto avançasse, maiores níveis de abstração seriam obtidos, sem a perda do que já foi assimilado. Um requisito importante foi o de que a cada semestre, os novos alunos incorporados ao projeto teriam acesso a toda documentação (especificação + código-fonte da aplicação) disponível de tal forma a revisar o que já havia

Turma: Arquit. de

Turma: Sistemas

Comput. 2o s emestre

Operacionais. 4o Sem.

1997/1

Versão Versão alfa1 Alfa 2

Refinamento

97/2 ..... 99/1 Nova

Uso didático Testes

Correções e Contribuições

Figura 1 – Ciclo de desenvolvimento do projeto

sido construído e continuar o desenvolvimento do projeto.

Paralelamente ao desenvolvimento do plano de ensino das respectivas disciplinas, os alunos foram sendo engajados ao projeto de implementação, de tal forma a desencadear um processo de reflexão e tomada de consciência de seu próprio processo de aprendizagem. A partir da liberação da primeira versão em fins de 1997/1, deu-se o início ao ciclo de testes (e correções) e incorporações de novos módulos tanto de software como de "hardware" (virtual). A ferramenta passou a ser usada pelas turmas de 2o semestre, atuando como auxiliar ao aprendizado dos conceitos de aritmética binária, componentes de hardware e linguagem assembly. Erros encontrados durante o uso eram reportados para as turmas responsáveis pela implementação para correção. Durante os 3 primeiros semestres, o processo não apresentou um rendimento muito rápido tendo em vista que as turmas ainda não estavam ambientadas com os conceitos e a filosofia de desenvolvimento do projeto. A partir do momento em que as turmas de 2o semestre (que já haviam tido contato com a ferramenta) começaram a chegar ao 4o semestre, o processo de desenvolvimento passou a ser mais rápido. Cabe salientar que, toda a comunicação entre equipes e com os professores coordenadores ocorria (e ocorre) através de e-mail e, somente dúvidas e orientações gerais são discutidas em aulas especiais.

2.3.4. O desenvolvimento da primeira versão Uma vez que o principal objetivo na etapa inicial do projeto era a obtenção de uma primeira versão do processador, estabeleceu-se que a linguagem alvo para a implementação da aplicação poderia ser escolhida pelas equipes. Algumas equipes desenvolveram a aplicação utilizando a linguagem Pascal e o ambiente de desenvolvimento Turbo Pascal da Borland. Outras equipes desenvolveram a aplicação utilizando o ambiente de desenvolvimento Delphi (também da Borland). Após uma avaliação das versões finais entregues pelas equipes, optou-se pela continuidade do projeto a partir da implementação em Pascal, tendo em vista que nem todos os alunos do semestre regular em que ocorre a disciplina de Sistemas Operacionais tem conhecimento de Delphi, mas, todos tem conhecimento de Pascal

Na primeira versão era possível a carga e execução de código binário (gerado a partir de um programa auxiliar) nativo em qualquer posição do espaço de endereçamento de 64Kb. Entretanto o código necessita ser montado “a mão” , uma vez que não havia sido implementado um carregador de arquivos executáveis. Uma vez carregado , era possível a execução passo-a-passo de cada instrução, a visualização do conteúdo dos registradores, da pilha de execução e da área de dados. Na verdade, esta primeira versão , apresentava uma interface muito semelhante àquela do programa Turbo Debugger da Borland. Como resultado da implementação da 1a versão do VXt, pode-se constatar vários aspectos relacionados a questão de aprendizado, quais foram: •

metodologia de desenvolvimento : os alunos do semestre regular ainda não haviam tido contato com as técnicas de desenvolvimento de aplicações (leia-se metodologias de desenvolvimento de sistemas).

Portanto, durante o período de desenvolvimento da aplicação, houve necessidade de reorganização dos projetos tendo em vista os já conhecidos problemas amplamente discutidos pela área de Engenharia de Software, quais sejam: documentação, modularização, etc. Deve-se salientar que as aplicações produziram código fonte (entre 3000 e 6000 linhas) cujo tamanho e complexidade já atingiram um patamar que pode ser classificado como não trivial em termos de desenvolvimento e depuração (considerando-se o perfil das equipes envolvidas). Portanto, apesar de não possuírem muita experiência em desenvolvimento, os alunos já tiveram contato com os problemas que serão desenvolvidos em semestres posteriores , nas disciplinas da área de Eng. de Software. Esta experiência anterior contribuiu para uma melhor assimilação dos conceitos a serem desenvolvidos nesta disciplina. •

a ausência de uma ferramenta de controle de versões e de desenvolvimento em equipes, também gerou problemas durante o desenvolvimento da aplicação, fazendo com que os alunos verificassem na prática os problemas associados ao desenvolvimento de aplicações em workgroup;



durante o desenvolvimento da aplicação foram fixados na prática os conceitos básicos de aritmética binária (e hexadecimal), na medida em que todas as operações realizadas pelo processador são efetivamente binárias;



também foram utilizados recursos de Pascal que, poderiam ser considerados como avançados para os alunos do semestre regular, na medida em que houve a necessidade de utilização de código assembly in-line, o uso de definições absolute e a utilização de units (conduzindo a modularização do sistema) ;



ficou evidente por parte dos alunos a necessidade de documentação do projeto e uso de padrões de escrita de código fonte (indentação, nomes de variáveis, uso de variáveis locais/globais, ...) , uma vez que o número de componentes das equipes era relativamente grande (5 integrantes) e haviam problemas quando os módulos desenvolvidos por cada integrante tinham que ser agrupados para gerar a versão final.

2.3.5. O desenvolvimento das versões posteriores

Posteriormente a liberação da primeira versão, o projeto foi dividido em frentes de trabalho, as quais foram alocadas nas turmas de acordo com o grau de dificuldade e de condições de aprendizado exigidas. As turmas de 2o semestre (Arquitetura de Computadores) passaram a utilizar o VXt como ferramenta auxiliar ao estudo dos conceitos básicos da mesma. Já nas disciplinas de Sistemas Operacionais adotouse a estratégia de depuração e desenvolvimento gradual de novos módulos. Assim, a cada início de semestre letivo, as turmas recebem a versão desenvolvida no semestre anterior, e como atividade de “ambientação”, são incumbidas de executar aplicações com a finalidade de depuração do código implementado. Como atividade de “contribuição”, na fase final do semestre, as turmas são engajadas no desenvolvimento de novos módulos tendo em vista agregar novas funcionalidades a versão em uso. Esta atividade além de fixar os conceitos anteriormente desenvolvidos (arquitetura, aritmética binaria, etc.) também introduz um novo nível de dificuldade na medida em que os alunos deverão aprender a

“realizar atividades de manutenção” em código escrito por outras pessoas. Novamente a questão da Engenharia de Software volta a tona.

2.3.6. Principais características do VXt



área de comandos



janela de código executável



janela de registradores



janela de pilha de execução



janela de área de dados



janela de interrupções identificadas



Possui uma interface com o usuário (fig. 2) bastante amigável;



Apresenta informações sobre o passo de relocação de arquivos .EXE tanto a nível de header quanto a nível de tabela de relocação;



Permite a manipulação de arquivos binários puros, o que possibilita a construção de estruturas muito simples para teste de algum conceito/instrução sem a necessidade de elaboração de um programa completo;



Permite a alteração da base numérica para representação das informações na tela, sendo possível optar-se por: decimal, hexadecimal e binário;



Apresenta um log da seqüência de execução realizada, de tal forma que o aluno pode analisar o fluxo de execução de um determinado programa ou rotina, mesmo após o término da execução;

Figura 2 – Interface com o usuário

Figura 3 - Exemplo de filtro de interrupção

Figura 4 – Destaque p/opcode, mod, reg e r/m



A medida em que instruções do tipo INT são detectadas, as mesmas são filtradas e apresentadas em uma janela específica (figura 3), sendo possível ao aluno analisar efetivamente o que ocorre. São apresentados: a descrição da função, os parâmetros de entrada e o valor de retorno da mesma.



Permite a análise por parte do aluno, do opcode da instrução sendo executada (figura 4);



Apresenta dicas explicativas (hints) sobre os conceitos teóricos que sustentam todo o funcionamento da CPU bem como das instruções de máquina;



Identifica quais são os registradores de referência; clicando-se na área de código destacam-se os registradores CS:IP, clicando-se na janela de área de pilha, destacam-se os registradores SS:SP, e assim por diante, induzindo desta forma o aluno ao entendimento da função dos registradores de segmento e deslocamento;



A facilidade de help on-line (atualmente em construção), além das informações tradicionais de uso da ferramenta, deve incorporar um curso de assembly, de tal forma a fundamentar conceitualmente e através de exemplos o funcionamento detalhado dos diversos elementos eu compõe o VXt.

3. Considerações finais •

Como citado anteriormente, além da experiência em programação e desenvolvimento de um software aplicativo de média complexidade, o VXt como ferramenta didática apresenta as seguintes vantagens em relação a adoção de outras ferramentas comerciais disponíveis no mercado:



Possui um caráter eminentemente didático, na medida em que procura apresentar informações que em outros ambientes sequer são consideradas;



Permite a utilização de pequenos programas de teste que não necessitam ser compilados formalmente, ou seja, é possível montar literalmente "na mão" as instruções e testá-las no VXt, sem passar por um passo formal de compilação, o que facilita sua aplicação em disciplinas introdutórias de cursos de computação;



Permite a análise das seqüências de chamadas de interrupções por software, permitindo uma análise do funcionamento tanto do mecanismo de interrupções, quanto da aplicabilidade do mesmo em sistemas operacionais;



Possibilita ao aluno revisar os conceitos desenvolvidos em aula na velocidade adequada as características individuais de cada um;



Permite uma análise macroscópica através da execução automatizada das instruções bem como uma análise microscópica através da facilidade de execução passo-a-passo, disponibilizando ao aluno dicas didáticas sobre o contexto em estudo.



Permite, através da análise do código-fonte, o entendimento de como os conceitos abstratos podem ser implementados em software e, através deste entendimento, levar o aluno a construir analogias com o hardware real a partir da experiência obtida.

4. Conclusões

Os resultados obtidos através da avaliação da aplicação da ferramenta em sala-de-aula atingiu aos objetivos inicialmente propostos e permitiu o lançamento de um projeto multidisciplinar, que objetiva integrar disciplinas de Computação Gráfica, Orientação por Objetos, Engenharia de Software, Estrutura de Dados, Organização de Arquivos, de modo a permitir a criação de um laboratório onde cada disciplina venha a desenvolver seus conteúdos e utilizar o VXt como exemplo prático. Desse modo, torna-se mais fácil o entendimento dos conceitos porque os alunos aos poucos vão desenvolvendo uma base de referência que os permite construir analogias com situações experimentadas na prática. Embora apresentando resultados que talvez possam parecer incipientes numa primeira análise, pretendese que o VXt possa vir a executar todo o processo de carga (boot) do Sistema Operacional MS-DOS, permitindo aos alunos monitorarem todo um ciclo de vida de uma instância de sistema operacional executando sobre este hardware virtual. Constantes avaliações do projeto por parte dos alunos envolvidos tem apresentado resultados que estimulam a continuidade do projeto. Os alunos responsáveis por uma versão , no semestre seguinte envolvem-se ou na implementação de novos componentes, ou com o uso da ferramenta. Esta continuidade nos trabalhos permitiu que se obtivesse um maior grau na qualidade do material produzido, uma vez que é de conhecimento público que o mesmo será reutilizado (senão por quem produziu, mas por outros que os seguirão ). Isto contribui para desenvolver no aluno um senso maior de responsabilidade e um espírito empreendedor - o que vem ao encontro dos objetivos da Universidade não somente desenvolver os conteúdos teóricos mas contribuir para a formação do indivíduo. Cabe salientar que o código desta aplicação está disponível para download a partir do endereço http://www.inf.furb.rct-sc.br/~mattos. Qualquer dúvida, crítica e/ou sugestão será bem-vinda.

5. Bibliografia [BIG 86] BIGGERSTAFF, Ted J. Systems Software Tools. Prentice-Hall, Austin, 1986. [CHO 89] CHOISSER; FOSTER. The XT-AT handbook. Annabooks, San Diego, 2 ed. 1989. [EGG 95] EGGEBRECHT, Lewis C. Interfacing to the IBM Personal Computer. Sams, Indiana, 9 ed. [GRE 95]

[GRI 96]

[LEV 93] [MAT 97] [MAT 98] [REC [SHA [VIN [WIL

80] 93] 94] 87]

1995. GRENIER,R.Going virtual: moving your organization into the 21st century. Prentice-Hall. NJ,1995. GRINKRAUT,M.L., Computador: uma ferramenta a mais a disposição do professor. Informativo Sociedade de Psicologia de São Paulo, São Paulo: Ano 1, Vol 1,n.1, setembro/1996,p3. LÉVY,P. As tecnologias da inteligência: o futuro do pensamento na era da informática. Ed. Nova Fronteira S.A. ,Rio de Janeiro, Ed.34, 1993. MATTOS, Mauro M. e TAVARES, Antonio C. VXT 1.0: Uma ferramenta didática para apoio ao ensino de software e hardware. Anais XIV SEMINCO, Blumenau,1997. MATTOS, Mauro M.,TAVARES, Antonio C.,OLIVEIRA,E. VXT: Descrição da implementação de um simulador de hardware. Anais XV SEMINCO, Blumenau,1998. RECTOR, Russel; ALEXY, G. The 8086 Book. Osborne/McGraw-Hill, Berkeley, 1980 SHARPLES,M. Computer supported collaborative writing. Springer-verlag. Germany, 1993. VINCE,J. Interacting with virtual environments. John Wiley & Sons Ltd, England, 1994. WILLEN, David C.; KRANTZ, Jeffrey I. 8088 Assembler language programming: the IBM PC. Sams, Indianapolis, 2 ed. 1987.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.