TURNO: NOTURNO VERSÃO: 2 No UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO CURSO DE CIÊNCIAS DA COMPUTAÇÃO — BACHARELADO COORDENAÇÃO DE TRABALHO DE CONCLUSÃO DE CURSO PROPOSTA PARA O TRABALHO DE CONCLUSÃO DE CURSO TÍTULO: SISTEMA TUTOR INTELIGENTE PARA ENSINO DE SQL ÁREA: Informática na Educação Palavras-chave: Sistema tutor. SQL. 1 IDENTIFICAÇÃO 1.1 ALUNO Nome: Sandro Oscar Bugmann Código/matrícula: 19633 Endereço residencial: Rua: R. Jericó Complemento: n: 375 Bairro: Fortaleza CEP: 89057-224 Telefone fixo: (47) 3337-2702 Cidade: Blumenau UF: SC Celular: 9193-8440 Endereço comercial: Empresa: Operacional Têxtil Ltda. Rua: R. Itajaí CEP: 89015-201 n: 2951 Cidade: Blumenau E-Mail FURB: [email protected] 1.2 UF: SC Telefone: 3231-3131 E-Mail alternativo: [email protected] ORIENTADOR Nome: Alexander Roberto Valdameri E-Mail FURB: [email protected] Bairro: Vorstadt E-Mail alternativo: 2 DECLARAÇÕES 2.1 DECLARAÇÃO DO ALUNO Declaro que estou ciente do Regulamento do Trabalho de Conclusão de Curso de Ciências da Computação e que a proposta em anexo, a qual concordo, foi por mim rubricada em todas as páginas. Ainda me comprometo pela obtenção de quaisquer recursos necessários para o desenvolvimento do trabalho, caso esses recursos não sejam disponibilizados pela Universidade Regional de Blumenau (FURB). Assinatura: 2.2 Local/data: DECLARAÇÃO DO ORIENTADOR Declaro que estou ciente do Regulamento do Trabalho de Conclusão do Curso de Ciências da Computação e que a proposta em anexo, a qual concordo, foi por mim rubricada em todas as páginas. Ainda me comprometo a orientar o aluno da melhor forma possível de acordo com o plano de trabalho explícito nessa proposta. Assinatura: Local/data: 3 AVALIAÇÃO DA PROPOSTA Sandro Oscar Bugmann Orientador(a): Alexander Roberto Valdameri ASPECTOS AVALIADOS 1. não atende Acadêmico(a): atende parcialmente AVALIAÇÃO DO(A) ORIENTADOR(A) atende 3.1 INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado/delimitado? 1.2. O problema está claramente formulado? 2. ASPECTOS TÉCNICOS 3. 4. 5. 6. 7. ASPECTOS METODOLÓGICOS 8. 9. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância em computação que justifique o desenvolvimento do TCC? METODOLOGIA 4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC? 4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a metodologia proposta? 4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de maneira a permitir a execução do TCC no prazo disponível? REVISÃO BIBLIOGRÁFICA 5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC? 5.2. São apresentados trabalhos correlatos, bem como comentadas as principais características dos mesmos? REQUISITOS DO SISTEMA A SER DESENVOLVIDO 6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram claramente descritos? CONSIDERAÇÕES FINAIS 7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica com a realização do TCC? REFERÊNCIAS BIBLIOGRÁFICAS 8.1. As referências bibliográficas obedecem às normas da ABNT? 8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)? CITAÇÕES 9.1. As citações obedecem às normas da ABNT? 9.2. As informações retiradas de outros autores estão devidamente citadas? 10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 10.1. O texto obedece ao formato estabelecido? 10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem utilizada é clara)? A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: Qualquer um dos itens tiver resposta NÃO ATENDE; pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE. PARECER: ( Assinatura do(a) avaliador(a): ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO Local/data: CONSIDERAÇÕES DO(A) ORIENTADOR(A): Caso o(a) orientador(a) tenha assinalado em sua avaliação algum item como “atende parcialmente”, devem ser relatos os problemas/melhorias a serem efetuadas. Na segunda versão, caso as alterações sugeridas pelos avaliadores não sejam efetuadas, deve-se incluir uma justificativa. Faz-se necessário salientar que a ênfase do trabalho não está nos comandos de definição das estruturas e manipulação dos dados, e sim de recuperação, através do comando select, este por sua vez, o principal da linguagem. Assinatura do(a) avaliador(a): Local/data: Sandro Oscar Bugmann Avaliador(a): José Roque Voltolini da Silva ASPECTOS AVALIADOS 1. não atende Acadêmico(a): atende parcialmente AVALIAÇÃO DO(A) COORDENADOR DE TCC atende 3.2 INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado/delimitado? 1.2. O problema está claramente formulado? 2. ASPECTOS TÉCNICOS 3. 4. 5. 6. 7. ASPECTOS METODOLÓGICOS 8. 9. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância em computação que justifique o desenvolvimento do TCC? METODOLOGIA 4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC? 4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a metodologia proposta? 4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de maneira a permitir a execução do TCC no prazo disponível? REVISÃO BIBLIOGRÁFICA 5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC? 5.2. São apresentados trabalhos correlatos, bem como comentadas as principais características dos mesmos? REQUISITOS DO SISTEMA A SER DESENVOLVIDO 6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram claramente descritos? CONSIDERAÇÕES FINAIS 7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica com a realização do TCC? REFERÊNCIAS BIBLIOGRÁFICAS 8.1. As referências bibliográficas obedecem às normas da ABNT? 8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)? CITAÇÕES 9.1. As citações obedecem às normas da ABNT? 9.2. As informações retiradas de outros autores estão devidamente citadas? 10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 10.1. O texto obedece ao formato estabelecido? 10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem utilizada é clara)? A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: Qualquer um dos itens tiver resposta NÃO ATENDE; pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE. PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO OBSERVAÇÕES: Assinatura do(a) avaliador(a): Local/data: Sandro Oscar Bugmann Avaliador(a): Sérgio Stringari ASPECTOS AVALIADOS 1. não atende Acadêmico(a): atende parcialmente AVALIAÇÃO DO(A) PROFESSOR(A) DA DISCIPLINA DE TCCI atende 3.3 INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado/delimitado? 1.2. O problema está claramente formulado? 2. ASPECTOS TÉCNICOS 3. 4. 5. 6. 7. ASPECTOS METODOLÓGICOS 8. 9. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância em computação que justifique o desenvolvimento do TCC? METODOLOGIA 4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC? 4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a metodologia proposta? 4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de maneira a permitir a execução do TCC no prazo disponível? REVISÃO BIBLIOGRÁFICA 5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC? 5.2. São apresentados trabalhos correlatos, bem como comentadas as principais características dos mesmos? REQUISITOS DO SISTEMA A SER DESENVOLVIDO 6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram claramente descritos? CONSIDERAÇÕES FINAIS 7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica com a realização do TCC? REFERÊNCIAS BIBLIOGRÁFICAS 8.1. As referências bibliográficas obedecem às normas da ABNT? 8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)? CITAÇÕES 9.1. As citações obedecem às normas da ABNT? 9.2. As informações retiradas de outros autores estão devidamente citadas? 10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 10.1. O texto obedece ao formato estabelecido? 10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem utilizada é clara)? PONTUALIDADE NA ENTREGA atraso de _____ dias A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: Qualquer um dos itens tiver resposta NÃO ATENDE; pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE. PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO OBSERVAÇÕES: Assinatura do(a) avaliador(a): Local/data: Sandro Oscar Bugmann Avaliador(a): Maurício Capobianco Lopes ASPECTOS AVALIADOS 1. não atende Acadêmico(a): atende parcialmente AVALIAÇÃO DO(A) PROFESSOR(A) ESPECIALISTA NA ÁREA atende 3.4 INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado/delimitado? 1.2. O problema está claramente formulado? 2. ASPECTOS TÉCNICOS 3. 4. 5. 6. 7. ASPECTOS METODOLÓGICOS 8. 9. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância em computação que justifique o desenvolvimento do TCC? METODOLOGIA 4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC? 4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a metodologia proposta? 4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de maneira a permitir a execução do TCC no prazo disponível? REVISÃO BIBLIOGRÁFICA 5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC? 5.2. São apresentados trabalhos correlatos, bem como comentadas as principais características dos mesmos? REQUISITOS DO SISTEMA A SER DESENVOLVIDO 6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram claramente descritos? CONSIDERAÇÕES FINAIS 7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica com a realização do TCC? REFERÊNCIAS BIBLIOGRÁFICAS 8.1. As referências bibliográficas obedecem às normas da ABNT? 8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)? CITAÇÕES 9.1. As citações obedecem às normas da ABNT? 9.2. As informações retiradas de outros autores estão devidamente citadas? 10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 10.1. O texto obedece ao formato estabelecido? 10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem utilizada é clara)? A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: Qualquer um dos itens tiver resposta NÃO ATENDE; pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE. PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO OBSERVAÇÕES: Assinatura do(a) avaliador(a): Local/data: UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO – BACHARELADO SISTEMA TUTOR INTELIGENTE PARA ENSINO DE SQL SANDRO OSCAR BUGMANN BLUMENAU 2012 SANDRO OSCAR BUGMANN SISTEMA TUTOR INTELIGENTE PARA ENSINO DE SQL Proposta de Trabalho de Conclusão de Curso submetida à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso II do curso de Ciências da Computação — Bacharelado. Prof. Alexander Roberto Valdameri – Orientador BLUMENAU 2012 2 1 INTRODUÇÃO Atualmente com os avanços tecnológicos e a crescente demanda por informação, os educadores podem utilizar formas alternativas para disponibilizar o conhecimento e proporcionar o aprendizado, sendo uma delas, a utilização de ferramentas de ensino assistidas por computador. Os Sistemas Tutores Inteligentes (STI) buscam ajudar os professores neste processo, aplicando técnicas de Inteligência Artificial (IA) que auxiliam na explicação do assunto, podendo ser utilizados individualmente pelo aluno, auxiliando-o na medida que progredir nas tarefas determinadas pelo sistema (POZZEBON; CARDOSO; BITTENCOURT, 2005). Na área de Ciências da Computação, a temática Banco de Dados é fundamental para a formação dos alunos. Atualmente os bancos de dados relacionais dominam o mercado e utilizam a linguagem Structured Query Language (SQL) para definição, manipulação e consulta dos dados. A linguagem SQL, por sua vez, é considerada uma linguagem de quarta geração (4LG), pois seu conjunto de comandos apresenta alto nível de abstração, em virtude da aproximação com a linguagem humana. A construção de um sistema para ensino da linguagem SQL é de fundamental importância para o aluno praticar os conhecimentos adquiridos em aula. Visto o acima, propõe-se o desenvolvimento de um STI para ensino da linguagem SQL. O educador terá à sua disposição um editor de questões (que será usado pelo STI para interrogar o aluno) e também um editor de ajuda (usado para fornecer informações para o aluno na construção dos comandos SQL). O STI utilizará a técnica de Recuperação de Informação (RI), também conhecida como ranqueamento. As questões serão divididas em categorias e cada questão terá uma ou mais palavras chave, que serão utilizadas pelo sistema para trazer a “ajuda” para o comando SQL utilizado pelo aluno. Esta ajuda será ordenada pela freqüência de acesso do aluno (GUIZZARDI; MENEZES, 2001). 3 1.1 OBJETIVOS DO TRABALHO O objetivo deste trabalho é desenvolver um STI para ensino da linguagem SQL, utilizando RI para auxiliar o aluno nas respostas dos exercícios propostos pelo professor. Os objetivos específicos do trabalho são: a) Fornecer exercícios para prática da linguagem SQL; b) Utilizar RI para fornecer conteúdo instrucional ao aluno; c) Validar comandos SQL utilizando BNF SQL limitada ao comando select com as respectivas cláusulas. d) Implementar funcionalidade de comparação do resultado da resposta do aluno com a resposta esperada pelo professor. 1.2 RELEVÂNCIA DO TRABALHO Visando auxiliar o professor no ensino da linguagem SQL, o trabalho objetiva oferecer um STI que proporcione uma alternativa de ensino, acrescentado um diferencial no ensino do aprendizado do assunto. Este trabalho contribuirá no ensino da linguagem SQL, uma vez que possibilitará ao aluno validar suas respostas e receber ajuda quando for necessário para a resolução da questão. No desenvolvimento, serão utilizadas técnicas de RI para auxiliar o aluno e também a especificação dos comandos SQL que serão tratados pelo STI. Futuramente novos trabalhos poderão implementar novas técnicas de IA para ajudar o aluno e também poderá ser ampliado os comandos SQL suportados pelo sistema. 4 1.3 METODOLOGIA O trabalho será desenvolvido observando as seguintes etapas: a) levantamento bibliográfico: realizar da levantamento da bibliografia sobre informática na educação, STI, SQL, RI e trabalhos correlatos; b) elicitação dos requisitos: detalhar e reavaliar os requisitos, observando as necessidades encontradas na revisão bibliográfica; c) construção de um mapa conceitual: para relacionar o conteúdo (select, from, where, group by, subselects) e definir o nível do aluno e sugestão as seqüência de exercícios; d) especificação da Backus-Naur Form (BNF) para os comandos SQL: serão definidas as consultas suportadas pelo tutor; e) especificação do sistema: especificar a ferramenta com análise orientada a objeto utilizando a Unified Modeling Language (UML). Será utilizado a ferramenta Enterprise Architect para a modelagem dos diagramas de casos de uso, de classes e de seqüência; f) implementação do sistema: implementar o sistema proposto utilizando a linguagem Java com o ambiente de desenvolvimento Eclipse; g) testes: desenvolver um conjunto de três questões e conteúdo instrucional para cada item do mapa conceitual e em seguida executar o sistema. As etapas serão realizadas nos períodos relacionados no Quadro 1. 2012 fev. mar. abr. maio. jun. 1 2 1 2 1 2 1 2 1 2 etapas / quinzenas levantamento bibliográfico elicitação dos requisitos construir um mapa conceitual especificação da BNF para comando SQL especificação do sistema implementação do sistema testes Quadro 1 - Cronograma 5 2 REVISÃO BIBLIOGRÁFICA Neste capítulo será apresentado o papel da informática na educação e sua importância na qualificação do aprendizado do aluno. Em seguida, será abordado o conceito de STI, sua finalidade e os módulos que o constituem. Após será apresentada explicação sobre a linguagem SQL, em especial, o comando select. Também será abordada a técnica de RI e pôr fim serão relacionados alguns trabalhos correlatos. 2.1 INFORMÁTICA NA EDUCAÇÃO A informática está disponibilizando para os educadores novas formas de ensinar. Educadores devem saber utilizar esse novo recurso para melhorar a qualidade do ensino, fugindo da metodologia tradicional e enriquecendo as alternativas de ensino. Segundo Cox (2003, p. 19), “Os computadores podem atender a inúmeros fins, requerendo para tanto, serem instruídos, pelo software, para efetivarem distintas operações.” Beckmann (2002 apud NERIS et al. 2005, p. 11) afirma que as estratégias cognitivas como “uma estratégia ou um grupo de estratégias ou procedimentos que os alunos usam para cumprir tarefas acadêmicas ou melhorar suas habilidades sociais. Normalmente mais do que uma são utilizadas, dependendo do esquema de aprendizado do aluno.” As estratégias são: “visualização; verbalização; associação; particionamento; questionamento; inspeção; grifar; sinalização; uso de mnêumonicos; reforço oral de algumas palavras; auto verificação e monitoramento” (NERIS et al., 2005, p. 9). Beckmann (2002 apud NERIS et al., 2005, p. 11) esclarece que “As estratégias cognitivas são, portanto os meios que o aluno dispõe para adquirir seus próprios processos de aprendizagem.” Segundo Cox (2003, p. 24), “A escola deve oferecer ao educando a oportunidade de desenvolvimento de sua capacidade de criar, de descobrir e descobri-se, de caminhar com seus próprios pés, alicerçados nas mais sólidas bases racionais”. Rodrigues e Carvalho (2005, p. 21), afirmam que “Para a construção de um ambiente propício a aprendizagem, os aspectos pedagógicos, motivacionais e emocionais devem estar integrados a arquitetura do sistema.” 6 Cox (2003, p. 31) salienta que é preciso ter cuidado para não haver subutilização ou supervalorização dos recursos computacionais, deixando assim em segundo plano a educação através da mesma. Diante disto é fundamental disponibilizar recursos da computação para o desenvolvimento de práticas educacionais. O corpo docente deve ser capacitado e a resistência a mudança deve ser vencida. Apesar dos progressos, existem limitações de hardware, software e conhecimento para modelar os aspectos psicológicos e pedagógicos (RODRIGUES; CARVALHO, 2005, p. 21). 2.2 SISTEMA TUTOR INTELIGENTE (STI) A década de 70 foi marcada pelo surgimento dos sistemas generativos, que eram capazes de gerar automaticamente o material instrucional. Estes sistemas foram bastante utilizados na aritmética, onde os problemas matemáticos eram gerados aleatoriamente e sua resolução era automática (VICCARI, 1998). Neste período, os programas Computer Aided Instruction (CAI) transmitiam conhecimento seqüêncial e não se adaptavam às necessidades dos alunos, sendo que, então propuseram um sistema que se utiliza de técnicas de IA, levando em consideração os estilos cognitivos dos alunos. Este tipo de software foi denominado como Sistema Tutor Inteligente (STI) (VICCARI; GIRAFFA, 2003, p. 165). Os STIs pertencem ao grupo dos Intelligent Computer Aided Instruction (ICAI), que independem do método de ensino utilizado, diferente de seus predecessores, os CAI, que seguem uma metodologia rígida, onde o aluno utiliza lições seguindo uma seqüência definida pelo educador (VICCARI; GIRAFFA, 2003, p. 165). Segundo Pozzebon e Barreto (2002), existem quatro modelos principais ou componentes que ajudam a definir as funções operacionais básicas: a) modelo especialista ou domínio: representa o objeto a ser estudado; b) modelo do estudante: é o receptor do conhecimento; c) modelo pedagógico: aplica as técnicas didáticas a serem utilizadas para a comunicação do conhecimento; d) interface: é a forma de comunicação do meio externo ao sistema. A Figura 1 apresenta a estrutura básica de um STI. 7 Fonte : Pozzebon e Barreto (2002). Figura 1 – Estrutura básica de um STI Conforme Viccari e Giraffa (2003, p. 171), o modelo de domínio ou especialista é formado pelo material instrucional. Neste modelo é encontrado o conhecimento sobre o assunto a ser trabalhado com o aluno. Segundo Pozzebon e Barreto (2002), o modelo do especialista é fundamentalmente uma base de conhecimento, contendo informações de um determinado domínio, que é organizado para representar o conhecimento de um especialista ou professor. O modelo do estudante têm como característica contemplar o conhecimento e o comportamento do aluno que possa trazer algum tipo de conseqüência na aprendizagem. A construção deste modelo é um tanto complexa. Os canais de comunicação em um computador podem parecer um pouco limitados, comparado com a capacidade das pessoas em passar informações em uma grande variedade de meios, como expressões faciais e tons de voz (POZZEBON; BARRETO, 2002). Segundo Hatzilygeroudis e Prentzas (2005, p. 180), o modelo pedagógico apresenta as informações de acordo com as ações sobre o modelo do estudante, tendo como tarefas, selecionar a estratégia pedagógica e apresentar o conteúdo selecionado. Deve também apropriar a ordem dos conceitos a serem ensinados. “As estratégias constituem conhecimento sobre como ensinar, ou seja, sobre como gerar, a partir das informações de diagnóstico, uma seqüência de táticas de ensino capazes de apresentar com sucesso um determinado tópico a um determinado aluno” (VICCARI; GIRAFFA, 2003, p. 173). A interface, segundo Pozzebon e Barreto (2002), deve se adaptar ao aluno sendo 8 intuitiva e natural. É responsável pela representação final do conteúdo das ações didáticas e também pelo fluxo de entrada e saída da informação. 2.3 STRUCTURED QUERY LANGUAGE Implementada e projetada inicialmente pela IBM Research como uma interface para o banco de dados relacional SISTEMA R, SQL atualmente é uma linguagem para manipulação e interação com os bancos de dados relacionais, sendo reconhecida por quase todos os bancos de dados relacionais do mercado, graças aos esforços da American National Standards Institute (ANSI) e da International Standards Organization (ISO) de torná-la padrão (ELMASRI; NAVATHE, 2005, p. 148). A SQL permite escrever consultas com operações expressadas em alto nível, assim o programador não precisa se preocupar com a forma como os dados estão armazenados e organizados e nem como a estrutura de armazenamento deve ser utilizada para executar a busca dos dados eficientemente (GARCIA-MOLINA; ULLMANN; WIDOM, 2002, p. 351). Garcia-Molina, Ullmann e Widom (2002, p. 284) afirmam que seis cláusulas podem aparecer na consulta select-from-where, sendo elas: SELECT, FROM, WHERE, GROUP BY, HAVING e ORDER BY. Somente as duas primeiras cláusulas são obrigatórias e não é possível utilizar HAVING sem utilizar a cláusula GROUP BY. Qualquer outra cláusula adicional pode ser utilizada, porém deve seguir a ordem acima apresentada. A Figura 2 mostra a sintaxe do comando SELECT. Fonte : Garcia-Molina; Ullmann e Widom (2001, p. 16). Figura 2 – Descrição da sintaxe básica de uma instrução de seleção Conforme Garcia-Molina, Ullmann e Widom (2001, p. 16), a execução da seleção acima pode ser feita da seguinte forma: a) todas as tuplas relacionadas com a cláusula FROM são selecionadas; b) na sequência, as tuplas que não satisfazem a cláusula WHERE são eliminadas; 9 c) as tuplas restantes são agrupadas de acordo com a cláusula GROUP BY; d) os grupos que não satisfazem a cláusula HAVING são rejeitados; e) os cálculos referentes a lista de atributos são executados; f) finalizando com o comando ORDER BY responsável por ordenar as tuplas de acordo com os atributos listados. Além das consultas simples, com restrições e agrupamentos, também é possível utilizar subconsultas dentro das cláusulas WHERE, FROM e HAVING. Segundo Elmasri e Navathe (2005, p. 165), “Algumas consultas necessitam da busca de valores presentes no banco de dados para, então, usá-los na condição de comparação. Essas consultas podem ser formuladas de modo conveniente por meio de consultas aninhadas (nested queries)”. A Figura 3 apresenta uma demonstração da aplicação de subconsultas na cláusula WHERE, onde será retornado o título e o ano de todos os filmes em que o estúdio não esteja localizado em Hollywood. Fonte : Garcia-Molina, Ullmann e Widom (2001, p. 17). Figura 3 – Aplicação de subconsulta, retornando os filmes não produzidos em Hollywood 2.4 RECUPERAÇÃO DA INFORMAÇÃO (RI) "Capturar o conhecimento humano não é uma tarefa simples; o problema toma proporções maiores quando nos dispomos a registrar a experiência humana, representando-a sob a forma de programas a serem executados pelo computador." (MENDES, 1997). Para recuperar a informação relevante para o aluno, é preciso utilizar técnicas para alcançar a resposta pretendida, ora restringindo os resultados alcançados, ora ampliando-os para a obtenção de informações mais relevantes, conforme o pedido de busca demandado (LOPES, 2002). A estratégia de busca pode ser definida como uma técnica ou conjunto de regras para que tornem possível o encontro entre uma pergunta e a informação armazenada em uma base de dados. Isto significa que, a partir de um arquivo, um conjunto de itens que constituem 10 conteúdo para uma determinada pergunta será selecionado (LOPES, 2002). Conforme BORSATO et al., (2006, p. 4), “A recuperação de documentos por meio de uma máquina de busca que realiza sua tarefa a partir de palavras-chaves é uma forma de busca que reduz a sobrecarga cognitiva do usuário.” Na recuperação de informação são utilizadas técnicas de indexação que atribuem pesos para os documentos conforme a ocorrência do termo solicitado. Intuitivamente é possível entender que quanto mais freqüente este termo, em um menor número de documentos, maior importância este termo possui. Para o cálculo do peso de um documento, pode-se utilizar de uma função chamada Term Frequency – Inverse Document Frequency (TFIDF) que mede a freqüência do termo no documento e a freqüência do mesmo em um conjunto de documentos. Também existem outras técnicas que consideram os possíveis sinônimos para a informação a ser recuperada (BORSATO et al., 2006, p. 4). Para a execução das buscas do conteúdo didático e retorno de informações relevantes para o aluno, será utilizado a biblioteca Apache Lucene, que implementa técnicas de RI de alta performance, permitindo utilizar funcionalidades de indexação e busca em aplicações. Segundo MCCANDLESS et al., (2005, p. 5), “O Lucene é um projeto de código aberto implementado na linguagem Java, cuja sua primeira versão foi desenvolvida por Doug Cutting.” A indexação utilizada pelo Lucene, é a forma de converter os dados em uma estrutura que facilite a pesquisa rápida. O Lucene armazena o texto de entrada em uma estrutura de dados chamada de índice invertido. Como exemplo simples, temos os índices remissivos dos livros, onde cada palavra contém a(s) pagina(s) onde é referenciada (SONAWANE, 2009). O Lucene não se preocupa com a origem dos dados, a única premissa a ser seguida é que os dados de origem possam ser convertidos para texto, ou seja, é possível realizar pesquisas em arquivos, páginas web, arquivos de texto, arquivos do Microsoft Word, HTML ou PDF. Utilizando a mesma filosofia, é possível indexar dados armazenados em um banco de dados, possibilitando buscas avançadas de informações (MCCANDLESS et al., 2005, p. 8). Para realizar estas buscas, a biblioteca disponibiliza algumas técnicas RI como : Phrase Query, RangeQuery, Wildcard e BooleanQuery (SONAWANE, 2009). 11 2.5 TRABALHOS CORRELATOS Outros ambientes para ensino foram desenvolvidos com o objetivo de ensinar SQL, cada um aplicando uma técnica de IA diferente, ou até mesmo funcionando apenas como um sistema tutor, não aplicando nenhuma inteligência para ajudar o aluno. A seguir será apresentado o “Sistema Tutor SQLOnline” que possibilita o aprendizado de SQL (SOUZA, 2005). Em seguida será apresentado o “Projeto Objeto de Aprendizagem” (DESBESSEL, 2007) e por último com o Auxiliar (PIVA JR et al., 2005), que implementa técnicas de RBC. 2.5.1 SQLOnline É um sistema on-line para ensino SQL, com o objetivo de disponibilizar exercícios e correções para alunos e professores, apresentando dados estatísticos do desempenho dos alunos. Os exercícios são escolhidos aleatoriamente conforme o nível de complexidade selecionado. O sistema registra as respostas e possibilita um acompanhamento estatístico do desempenho dos alunos (SOUZA, 2005). Tanto professores quanto alunos podem pôr em prática os seus conhecimentos. Os professores podem cadastrar novas bases de dados para possibilitar a execução de outros exercícios. Também é possível fazer provas on-line com o professor selecionando quantas questões de cada nível devem fazer parte do teste e estabelecendo também a quantidade de vezes que o aluno pode errar pôr questão (SOUZA, 2005). 2.5.2 Projeto Objeto de Aprendizagem (POA) Este trabalho apresenta o conteúdo da linguagem SQL em forma de tutorial. O aluno estuda os conceitos e depois é sugerido uma seqüência de exercícios para testar o conhecimento do aluno. Na medida em que o aluno resolve as questões, sua nota é atualizada. Não foi apresentado nenhum controle que impossibilite o aluno de pular a seqüência de apresentação do conteúdo. Apresenta conteúdo instrucional e exercícios, funcionando como 12 um tutorial on-line de comando SQL (DESBESSEL, 2007). 2.5.3 Auxiliar - Sistema Tutor Inteligente para cursos on-line O Auxiliar tem por contribuir para o aprendizado da linguagem SQL. Ele responsabiliza ao professor a edição, diagramação e publicação de cursos, além de possibilitar a redefinição de assuntos para os alunos com dificuldades. Implementa um mecanismo que além de facilitar a avaliação, busca situações similares permitindo redefinir o conteúdo a ser questionado ao aluno para eliminar as deficiências detectadas durante a avaliação fonoativa, sem maior intervenção do aluno. Para atingir ajudar no ensino da linguagem SQL são utilizados conceitos de IA (RBC), semiótica, linguagem dialogada e interação homem máquina, permitindo a ação do professor e efetivando o processo de ensino e aprendizagem. Utilizam RBC e Traçado de Aproximação (TA) para recuperar os casos similares aos dados de entrada do sistema (PIVA JR et al., 2005). 13 3 REQUISITOS DO SISTEMA A SER DESENVOLVIDO O STI deverá: a) ter um editor de questões e repostas que será utilizado pelo professor (Requisito Funcional – RF); b) ter um editor de conteúdo instrucional que será usado pelo professor (RF); c) disponibilizar ao aluno o conteúdo instrucional, podendo consultá-lo quando o mesmo solicitar ou quando errar a questão (RF); d) disponibilizar área de exercícios, onde o aluno poderá responder as questões disponibilizadas pelo professor e validar as respostas suas respostas (RF); e) utilizar técnicas de RI para ajudar o aluno na resolução do exercício (RF); f) ser implementado na linguagem Java utilizando o ambiente Eclipse (Requisito Não Funcional – RNF); g) ser compatível com o sistema operacional Windows 2000 e XP (RNF); h) utilizar o banco de dados MySQL para armazenar as questões, repostas, conteúdo instrucional do professor e dados dos alunos (RNF); i) utilizar biblioteca Lucene para aplicar as técnicas de RI (RNF); j) disponibilizar o STI para acesso a internet (RNF). 14 4 CONSIDERAÇÕES FINAIS Verificou-se que a metodologia de ensino está mudando. Os professores precisam buscar formas alternativas de ensino que proporcionem ao aluno o prazer em aprender com seu próprio esforço. Um dos objetivos da informática na educação é mostrar que o computador também pode ser usado para ensinar, utilizando conteúdo proposto pelos professores e apresentandoos de uma forma que motive o aluno a aprender. Este trabalho visa desenvolver um STI para o aprendizado de SQL. Como a linguagem SQL possibilita a construção de consultas complexas, o aluno terá a oportunidade de acompanhar a sua execução. Além disso, o aluno possuirá um ambiente que prestará auxilio, trazendo conteúdo relacionado com a questão a ser respondida. A técnica de RI será utilizada para trazer todas as informações que possam ajudar o aluno na resolução da questão a ser resolvida. Também será feita a especificação de quais comandos serão tratados pelo STI e com base na identificação destes comandos, o STI poderá interagir com o aluno, disponibilizando conteúdo instrucional. Verificou-se a existência de trabalhos correlatos, como o SQLOnline e o POA, mas os mesmos funcionam como tutoriais eletrônicos e não provêm nenhum mecanismo que possa auxiliar o aluno no momento da resolução da questão ou possibilitando ao mesmo verificar a execução de sua resposta. O Auxiliar consegue ajudar o aluno, já que implementa técnicas de IA. O STI proposto busca justamente oferecer um ambiente que favoreça o aprendizado do aluno, contemplando assim as principais características encontradas nos trabalhos correlatos que buscam ensinar a linguagem SQL. 15 REFERÊNCIAS BIBLIOGRÁFICAS BORSATO, Gisele G. et al. Recuperação de informação em situações de urgência-emêrgencia no atendimento pré-hospitalar. Revista Eletrônica de Sistemas de Informação, Porto Alegre, 9. ed., n. 3, v. 9, p. 1-9, 2006. COX, Kenia K. Informática na educação escolar. São Paulo: Autores Associados, 2003. DESBESSEL, Fabricio. Projeto objeto de aprendizagem. [Horizontina], [2007?]. Disponível em: <http://www.fabricio.pro.br/oa>. Acesso em: 30 mar. 2012. ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados. 4. ed. São Paulo: Pearson Education do Brasil, 2005. GARCIA-MOLINA, Hector; ULLMANN, Jeffrey D.; WIDOM, Jennifer. Database systems: the complete book. Upper Saddle River, NJ: Prentice Hall, 2002. ______. Implementação de sistemas de bancos de dados. Tradução Vandenberg D. de Souza. Rio de Janeiro: Campus, 2001. GUIZZARDI, Renata S. S.; MENEZES, Crediné S. Aplicando técnicas de recuperação de informações para facilitar a interação em ambientes cooperativos: uma abordagem multiagentes. In: SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO, 12., 2001, Vitória. Anais eletrônicos... Vitória: UFES, 2001. p. 17-23. Disponível em: <http://www.inf.ufes.br/~rguizzardi/publications.htm>. Acesso em: 30 mar. 2012. HATZILYGEROUDIS, Ioannis; PRENTZAS, Jim. Knowledge epresentation in Intelligent Educational Systems. In: ZONGMIN, Ma (Ed.). Web-based intelligent e-learning systems: technologies and applications. Hershey, PA: Information Science Pub., 2005. p. 175-190. LOPES, Ilza L. Estratégia de busca na recuperação da informação: revisão da literatura. Ciência da Informática, Brasília, v. 31, n. 2, p. 60-71, maio/ago. 2002. MENDES, Raquel D. Inteligência artificial: sistemas especialistas no gerenciamento da informação. Ciência da Informática, Brasília, v. 26, n. 1, p. 10-13, jan/abr. 1997. Disponível em: < http://www.scielo.br/scielo.php?pid=S010019651997000100006&script=sci_arttext&tlng=en >. Acesso em: 31 mar. 2012. MCCANDLESS, Michael; HATCHER, Erik; GOSPODNETIC, Otis. Lucene in Action, Second Edition: Covers Apache Lucene 3.0. Greenwich: Manning, 2005. Disponível em: < http://www.slideshare.net/node/lucene-in-action >. Acesso em: 31 mar. 2012. 16 NERIS, Vânia P. A. et al. Estratégias cognitivas como soluções de sucesso do material instrucional para EAD. Revista Brasileira de Informática na Educação, Porto Alegre, v. 13, n. 3, p. 9-18, jan/abr. 2005. PIVA JR, Dilermano et al. Auxiliar: sistema inteligente para cursos online. Revista Brasileira de Informática na Educação, Porto Alegre, v. 13, n. 1, p. 52-61, abr. 2005. POZZEBON, Eliane; BARRETO, Jorge M. Inteligência artificial no ensino com tutores inteligentes. Porto Alegre, 2002. Disponível em: < http://www.inf.ufsc.br/~l3c/artigos/ pozzebon02i.pdf>. Acesso em: 30 mar. 2012. POZZEBON, Eliane; CARDOSO, Janétte; BITTENCOURT, Guilherme. Uma arquitetura multiagente para suporte ao aprendizado em grupo em sistemas tutores inteligentes. In: SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO, 15., 2005, Juiz de Fora. p. 10-13. Disponível em: < http://www.br-ie.org/pub/index.php/sbie/article/view/404 >. Acesso em: 30 mar. 2012. RODRIGUES, Lubia M. L.; CARVALHO, Marco. STI-I: sistemas tutoriais inteligentes que integram cognição, emoção e motivação. Revista Brasileira de Informática na Educação, Porto Alegre, v. 13, n. 1, p. 20-34, jan/abr. 2005. Dísponivel em: < http://www.lbd.dcc.ufmg.br/colecoes/rbie/13/1/001.pdf>. Acesso em: 30 mar. 2012. SONAWANE, Amol. Usando o Apache Lucene para Procura de Texto: Construindo facilmente recursos de procura e índice nos aplicativos. [S.I], 2009. Disponível em <http://www.ibm.com/developerworks/br/java/library/os-apache-lucenesearch >. Acesso em: 31 mar. 2012. SOUZA, André L. SQLOnLine, ambiente de apoio ao ensino de banco de dados. In: JORNADA DO CONHECIMENTO E DA TECNOLOGIA, 2., 2005, Marilia. Anais eletrônicos...Marilia: UNIVEM. p. 04-06. VICCARI, Rosa M. Sistemas tutores inteligentes. Sociedade Brasileira de Computação. Escola Regional de Informática. Anais... Blumenau: Universidade Regional de Blumenau, 1998. p. 37-52. VICCARI, Rosa M.; GIRAFFA, Lúcia M. M. Fundamentos dos sistemas tutores inteligentes. In: BARONE, Dante A. C. (Org.). Sociedades artificiais: a nova fronteira da inteligência nas máquinas. Porto Alegre: ArtMed, 2003. p. 155-185.