Tópicos em Engenharia de Computação V
FORMATOS DE DOCUMENTOS NA WEB
Professores: Léo Pini Magalhães e Ivan Luiz Marques Ricarte
Relatores: Marcia de Fátima Pimenta e Márcio Vieira Soares
Este documento tem como finalidade o desenvolvimento de um cenário onde será criada uma disciplina que deverá ser ministrada em vários cursos, sendo específica para cada um deles.
A avaliação será feita via "Prova Virtual".
Os tópicos usados para o desenvolvimento deste cenário
serão descritos abaixo, através dos seguintes temas:
Segue-se abaixo a terminologia utilizada neste documento.
Unidade: Faculdade ou Instituto que faz parte da Universidade
Curso: Conjunto de conhecimentos que visa a formação profissional do aluno na área específica desejada.
Disciplina: Menor sub-divisão do curso, visando a organização e estruturação do conhecimento, de forma didática.
Diferentes visões: o termo diferentes visões será utilizado com o significado de personalização do enfoque dado ao assunto, isto é adequação do assunto ao perfil do usuário.
CGI Scripts: Programas em Common Gateway Interface acionados na chamada de páginas HTML por servidores HTTP.
Hiperdocs principais: são páginas HTML que, em pontos específicos, possuem referências a hiperdocs dependentes do contexto, de forma que no momento da apresentação do hiperdoc final forneça a VISÃO do hiperdoc adequada ao ator que a visualiza. As referências ao hiperdoc específico deverão ser feitas através de CGI Scripts;
XML: Conjunto de instruções do SGML, que
implementa algumas características inexistentes no HTML, tais como extensibilidade,
estruturação e validação dos dados.
Extensibilidade | permite a criação de novos tags, permitindo a personalização do documento |
Estruturação | permite a criação de grandes estruturas de dados e hierarquias de objetos |
Validação de dados | permite testar a integridade dos dados na importação |
TAG: formatador de instrução das linguagens derivadas do SGML.
SQL: Strutured Query Language - Linguagem
que estrutura o formato de pesquisa em banco de dados.
Funcionalidade do
Ambiente "Curso sob medida + Prova virtual"
Uma disciplina é ministrada em vários cursos, sendo especifica para cada um deles.
a - Terminologia:
A universidade é composta por unidades
(Faculdades e Institutos) que são responsáveis por cursos oferecidos como
exemplos: Engenharia da Computação, Engenharia Química.
Cada curso possui uma grade curricular com várias disciplinas,
as quais podem fazer parte de diferentes cursos. Por exemplo, Cálculo para Engenharia
Civil, Engenharia de Materiais e Economia. O contexto da disciplina é o mesmo, porém
para cada curso, a ênfase em determinados conteúdos pode ser diferente, assim como os
tipos de exercícios de fixação do conteúdo.
b - Segurança:
Deve ser considerada em todas as etapas e funcionalidades descritas.
c - Funcionalidades:
1 - Compor as disciplinas através de material, exercícios, provas, aulas, de forma distribuída, aplicando ou não técnicas de grupo etc.
2 - Estabelecer perfis para cada curso definindo diferentes visões.
3 - Cadastrar atores com diferentes perfis e níveis de acesso (instrutor, monitor, alunos, grupos de estudo).
4 - Disponibilizar as disciplinas/aulas (Relacionamento curso/aulas/disciplinas/tempo máximo).
5 - Acompanhar o andamento da disciplina.
6 - Fornecer feed-back para alunos e professores.
7 - Aplicar provas , testes, dissertativas, etc.
8 - Corrigir e pontuar a prova pelo próprio sistema através de testes, Instrutor "ad-hoc", auto-correção (disponibilizar gabaritos para auto avaliação).
9 - Disponibilizar resultados para eventuais consultas.
Para o desenvolvimento da arquitetura do ambiente, se faz necessário um Browser que deverá ser utilizado para consulta do material pelos alunos, para resolução das provas e para avaliação das mesmas pelo instrutor.
O Servidor Web deverá estar disponível para aceitar as requisições dos clientes (instrutor e aluno), suportando todo tipo requerido de acesso às informações.
A base de dados deve ser heterogênea, distribuída e transparente para o cliente.
Como a aplicação será usada por vários institutos distintos dentro da Universidade, os dados estarão distribuídos nos diferentes servidores de cada unidade.
Os servidores de Banco de Dados deverão armazenar todas as informações para os clientes, como exemplo a bibliografia, as provas realizadas pelos alunos, dentre outros.
Mecanismos de busca (agentes "inteligentes") serão necessários para montagem das provas de acordo com o grau e curso do aluno, na montagem das matérias disponíveis nas disciplinas, de acordo com o curso referente tais como cálculo para: engenharia, química, análise de sistemas,etc.
Ferramentas de apoio como calculadoras, editores
gráficos, também deverão estar disponíveis ao acesso dos alunos na resolução das
questões propostas.
Aspectos de Implementação com HTML / WWW
Os aspectos de implementação abordados se baseiam nas discussões
sobre a funcionalidade do sistema e
sobre a arquitetura do mesmo, ocorrido na plenária sobre XML.
Infra-estrutura:
No primeiro instante deverá ser feito o cadastramento do ator com os seguintes dados: RA, nível de acesso, senha, disciplina, perfil, que ficarão armazenados em um banco de dados do servidor.
Estarão armazenados em bancos de dados, centralizados ou não, os materiais referentes às disciplinas: (provas, exercícios, notas de aula, hiperdocs principais, hiperdocs específicos de cada perfil ou contexto).
Funções:
Identificação do ator para acessar o material do curso, feita através de HTML forms, com informações autenticadas no servidor;
Hiperdocs principais são páginas HTML que, em pontos específicos, possuem referências a hiperdocs dependentes do contexto, de forma que no momento da apresentação do hiperdoc final forneça a VISÃO do hiperdoc adequada ao ator que a visualiza. As referências ao hiperdoc específico deverão ser feitas através de CGI Scripts;
Estes scripts CGI devem ser concebidos de forma a consultar o banco de dados pelos hiperdocs específicos, levando em conta o PERFIL associado ao ator;
Todo hiperdoc deve ter um link para permitir a entrada de ANOTAÇÕES do ator (via HTML forms). Estas anotações devem ser armazenadas como páginas HTML na área de trabalho do ator;
Todo hiperdoc deve ter um link para permitir a entrada de DÚVIDAS do ator (via HTML forms). Estas anotações devem ser armazenadas no banco de dados do servidor, para formar um conjunto de FAQ's, a ser analisado e compilado pelos autores ou instrutores, que devem ter uma ferramenta auxiliar de manipulação do BD para fazer consultas e manipulações nos dados;
As atividades práticas (exercícios, provas, trabalhos, etc.) estão armazenadas em duas bases de dados. A primeira contém os enunciados existentes com os seguintes parâmetros: enunciado de questão, perfil, identificação do enunciado, disciplina, resposta correta (não acessível por alunos).
A segunda base de dados contém a especificação do exercício contendo: identificação do exercício, identificação dos enunciados que compõem o exercício, tempo máximo para resolução do exercício (expresso em minutos, dias ou data), permissão para interrupção de tempo de resolução.
Existe ainda uma terceira base de dados que armazena: identificação do aluno, resposta do aluno, tempo gasto para responder e nota.
Quando um aluno consulta o exercício, são apresentadas a ele as questões associadas ao exercício, de acordo com o seu perfil.
As questões são apresentadas utilizando-se applets Java, de forma que o controle de tempo possa ser feito localmente e de modo seguro.
A permissão para interrupção indica se o aluno pode interromper a resolução ou se, uma vez iniciada a resolução do exercício, ele deve resolvê-lo sem interrupção.
Em cada questão, o aluno sinaliza o término da resposta. O applet então contabiliza o tempo, e envia resposta da questão e tempo de volta ao servidor.
Quando o aluno finaliza todas as questões, ou se ele sinaliza que terminou a prova, o applet deve coletar todas as respostas que não foram enviadas, juntamente com o tempo gasto na resolução.
Estes dados serão armazenados em uma base de dados associada ao aluno. Assim, na página apresentada ao aluno, existem elementos para sinalizar final de resolução e interrupção de resolução (se assim for permitido).
Ao aluno é permitido escolher a ordem e seqüência das questões a ser resolvidas.
O applet java deve ser feito de forma que, ao findar o tempo de resolução, o aluno é avisado, e a página é fechada sendo os dados enviados ao servidor.
Quando o aluno finaliza a prova, ele recebe de volta uma página com a cópia do gabarito como foi armazenado no servidor, com o tempo total de resolução. Isto serve como comprovante para o aluno.
A correção da prova pode ser automática ou não, dependendo do tipo de questão apresentada. Cabe ao servidor ter implementada alguma ferramenta do tipo.
Qualquer página apresentada ao ator envolve uma consulta a um banco de dados, implica na página uma referência a um script CGI ou (no caso de exercícios) a execução de um applet Java. A linguagem HTML oferece os recursos básicos de formatação e referência a links, mas a necessidade de composição de documentos em um só (visão) somente pode ser provida por CGI.
Aspectos de Implementação em XML / WWW (futuro)
A atividade de co-autoria (planejamento e preparação do material pelos instrutores) poderá ser facilitada, uma vez que XML suporta a criação de TAGs, tendo assim uma linguagem markup adequada as necessidades dos autores e podendo-se assim, com estes TAGs, criar diferentes níveis de profundidade ou diferentes abordagens para o mesmo tema.
O acesso a informações em base de dados distintas (heterogêneas) pode ser implementado com o XML sem necessidade de existir, por exemplo, scripts CGI; pois no próprio documento você pode ter comandos de acesso aos banco de dados (comandos SQL embutidos no documento XML). Isto facilitaria tanto a identificação do aluno, como a busca de "informações" que irão compor o documento.
Um exemplo de sintaxe do XML seria:
<!ELEMENT group (document *)> |
<!ATTLIST group |
xml:link CDATA #FIXED "group" |
steps CDATA #IMPLIED\> |
<!ELEMENT document EMPTY> |
<!ATTLIST document |
xml:link CDATA #FIXED "document" |
%locator.att;> |
A personalização das "informações" que serão exibidas aos usuários pode ser obtida através da especialização dos LINKS e do recurso de transclusão (este recurso permite a construção on line do documento, com o uso de links internos a ele sendo incorporados como um único documento), isto é, a informação que será exibida depende do curso em que o aluno pertence (Engenharia Elétrica, Química, etc.).
A utilização de links multidirecionais melhoraria o resultado da busca da informação, uma vez que permitiria buscas também multidirecionais.
Observe a implementação abaixo:
<!ENTITY % remote-resource-semantics.att |
"role CDATA #IMPLIED |
title CDATA #IMPLIED |
show (embed|replace|new) #IMPLIED |
actuate (auto|user) #IMPLIED |
behavior CDATA #IMPLIED"> |
É possível implementar então o papel do recurso, o título do recurso e as políticas e comportamento a serem usadas quando percorrendo esses recursos.
As provas também serão personalizadas e levarão em consideração o critério tempo, com uma variável da questão ou da prova, sendo que um agente poderá utilizar esta informação para invalidar a questão ou a prova caso o aluno tenha excedido seu tempo.
Outro item também relacionado a prova será a validação
da questão, que poderá ser realizada no próprio cliente, sem ter a necessidade de se
enviar os dados para serem validados num servidor via CGI.
O assunto aplicação de tecnologias WEB na educação está em grande discussão no momento. Boa parte dele relacionado com o "ensino à distância", o qual pode ser apresentado hoje como a grande saída para a popularização do ensino. Outro aspecto, é o do "ensino personalizado", onde o aluno poderia adaptar a disciplina às suas necessidades e suas próprias características de aprendizado.
Este assunto tem sido apresentado e discutido em congressos (XXV-COBENGE Congresso Brasileiro de Ensino de Engenharia - 97-Salvador - BA), assim como cogitado pelo MEC (Lei das Diretrizes e Bases 9394/96 de 20 de Dezembro de 1996). A implantação de um sistema que viabilize esta aplicação, é o objeto dos desejos dos profissionais da área de educação há vários anos.
A definição do cenário, dos requisitos necessários a este tipo de aplicação, e das técnicas didáticas a serem implementadas consiste, ainda, em objetos de pesquisas em todo o mundo.
Dentro da aplicação proposta, a implementação em HTML se mostra de dificil execução, devido, principalmente às suas características de confecção de páginas estáticas, necessitando de programação externa (CGI script ou Java script) para se conseguir dinamismo.
A viabilização deste projeto poderia, até certo ponto, ser facilitado com o uso das características do XML, assim que estabelecido o cenário principal. A permissão de criação de novos TAGs e atributos, a possibilidade de aninhamento de documentos em qualquer nível de complexidade e de definição da gramática e semântica existentes no XML, por sua vez, nos daria a liberdade de adequar e mesmo de criar documentos dinamicamente.
Algo que precisa ser ainda pensado é "como
generalizar a ferramenta de construção da disciplina, de forma a adequar as técnicas
didáticas preferidas dos autores/instrutores? ".
Extensible Markup Language (XML) 1.0
Tim Bray, Jean Paoli, C. M. Sperberg-McQueen (Eds.)
REC-xml-19980210, The World Wide Web Consortium, 1998
Produção de documentos para a World-Wide Web
Ivan Luiz Marques Ricarte
Apostila de curso, DCA/FEEC/UNICAMP, 1997.
XML, Java, and the future of the Web
Jon Bosak
Sun Microsystems, Last revised 1997.03.10
LDB - 9394/96
Ministério da Educação e Cultura - MEC
Anais do XXV COBENGE
XXV Congresso Brasileiro de Ensino de Engenharia - Salvador -
BA - 1997