Compilador Web: uma Experiência Interdisciplinar
entre as Disciplinas de Engenharia de Software e
Compiladores
Renata Corr...
AGENDA
Motivação
Planejamento
Experiência Prática
Benefícios e Dificuldades na Execução
Análise da Experiência
Consideraçõ...
MOTIVAÇÃO: Interdisciplinaridade
[Diretrizes Curriculares SBC 2005]: a importância do aluno vivenciar o
relacionamento ent...
MOTIVAÇÃO: Aspectos Internos
• Reclamações dos alunos: Realizar projetos complexos em um
mesmo período letivo: Engenharia ...
O Projeto Interdisciplinar
• Projeto Interdisciplinar entre as disciplinas de Engenharia de
Software e Compiladores.
• Foi...
PLANEJAMENTO DA EXPERIÊNCIA
• Trabalhos correlatos.
• Reuniões para definições de objetivos e metas do projeto
integrado.
PLANEJAMENTO DA EXPERIÊNCIA
Compiladores (Metas)
• Os alunos deveriam desenvolver uma ferramenta que
permitisse aos usuári...
PLANEJAMENTO DA EXPERIÊNCIA
Engenharia de Software (Metas)
• Capacitar o aluno nas práticas de Engenharia de Software do
R...
PLANEJAMENTO DA EXPERIÊNCIA
Visão Interdisciplinar
Proposta Criativa e
Desafiadora
Compilador WEB
Desktop
Engenharia
de So...
PLANEJAMENTO DA EXPERIÊNCIA
Vislumbrou-se dois cenários de utilização para o compilador Web:
• (1) apoio a aprendizagem el...
PLANEJAMENTO DA EXPERIÊNCIA
• Definição de requisitos funcionais e não funcionais que deveriam
ser implementados por todas...
PLANEJAMENTO DA EXPERIÊNCIA
• As equipes deveriam adotar o ciclo de desenvolvimento de software
SCRUM e a disciplina propo...
PLANEJAMENTO DA EXPERIÊNCIA
• As disciplinas planejaram critérios de avaliação independentes na
teoria e totalmente vincul...
EXPERIÊNCIA PRÁTICA
 Projeto teve início em fevereiro de 2011.
 Fevereiro e Março: As disciplinas introduziram os conteú...
EXPERIÊNCIA PRÁTICA: As fases (WBS)
Composição da nota
bimestral das duas
disciplinas.
EXPERIÊNCIA PRÁTICA: Teste de Aceitação
 Convite aos alunos do 1º ano de Engenharia da Computação para
testar os compilad...
EXPERIÊNCIA PRÁTICA: Teste de Aceitação
Cada aluno-usuário recebeu um questionário de avaliação e validação,
tendo que res...
EXPERIÊNCIA PRÁTICA: Teste de Aceitação
Retroalimentação para as equipes: Comentários dos usuários.
Maiores Médias (Equipe...
EXPERIÊNCIA PRÁTICA: Teste de Aceitação
• Observa-se que as maiores dificuldades encontradas referem-se ao
“controle de ve...
BENEFÍCIOS e DIFICULDADES NA EXECUÇÃO
 Compatibilizar o ensino-aprendizagem das duas disciplinas com a realização do
proj...
ANÁLISE DA EXPERIÊNCIA
 A experiência foi bastante positiva.
 Grande interação entre as docentes: compatibilizar conteúd...
CONSIDERAÇÕES FINAIS
Lições Aprendidas
 A experiência mostrou que a interdisciplinaridade permite aos docentes
envolvidos...
CONSIDERAÇÕES FINAIS
 Um resultado fundamental da experiência foi que todas as equipes
conseguiram desenvolver o compilad...
FINALIZAÇÃO
Obrigada!
Andréia Leles
adleles@yahoo.com.br
andreia@facens.br
Próximos SlideShares
Carregando em…5
×

Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Engenharia de Software e Compiladores

416 visualizações

Publicada em

A interdisciplinaridade tem sido um tema amplamente discutido no ensino da Computação. Este artigo apresenta uma experiência interdisciplinar entre as disciplinas de Engenharia de Software e Compiladores realizada em um curso de Engenharia da Computação. O projeto integrado envolvia a construção de um compilador web cujo foco
principal era ensinar programação básica. A análise dos ambientes desenvolvidos pelos alunos foi realizada por um grupo de alunos que estudavam a disciplina básica de programação.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
416
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
3
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Engenharia de Software e Compiladores

  1. 1. Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Engenharia de Software e Compiladores Renata Correa Pimentel1, Andréia Damasio de Leles1, Luciana A. M. Zaina2 1Faculdade de Engenharia de Sorocaba (FACENS) 2Universidade Federal de São Carlos – Campus Sorocaba (UFSCar)
  2. 2. AGENDA Motivação Planejamento Experiência Prática Benefícios e Dificuldades na Execução Análise da Experiência Considerações Finais
  3. 3. MOTIVAÇÃO: Interdisciplinaridade [Diretrizes Curriculares SBC 2005]: a importância do aluno vivenciar o relacionamento entre diversos conhecimentos que compõe a sua formação. • Visão Integradora. • Permite que o aluno trabalhe não somente com especificidades das disciplinas. • Fator motivador ao aluno: trabalho em um único tema. • Evita redundâncias de conteúdo. • Sobrecarga ao aluno: evita a realização de diversos projetos no mesmo período letivo.
  4. 4. MOTIVAÇÃO: Aspectos Internos • Reclamações dos alunos: Realizar projetos complexos em um mesmo período letivo: Engenharia de Software e Compiladores. • Alunos: dificuldades para construção de um compilador. • Partiu-se da premissa que utilizar as práticas de Engenharia de Software, poderia minimizar a complexidade do desenvolvimento do compilador e obter melhores resultados com o projeto.
  5. 5. O Projeto Interdisciplinar • Projeto Interdisciplinar entre as disciplinas de Engenharia de Software e Compiladores. • Foi proposto um projeto onde os alunos deveriam desenvolver uma ferramenta, utilizando as disciplinas de Engenharia de Software, que permitisse o desenvolvimento de códigos em uma dada linguagem e que implementasse as técnicas de compiladores.
  6. 6. PLANEJAMENTO DA EXPERIÊNCIA • Trabalhos correlatos. • Reuniões para definições de objetivos e metas do projeto integrado.
  7. 7. PLANEJAMENTO DA EXPERIÊNCIA Compiladores (Metas) • Os alunos deveriam desenvolver uma ferramenta que permitisse aos usuários codificar um programa em uma dada linguagem. • A ferramenta deveria executar todas as etapas referentes à compilação de código (análise léxica, sintática, semântica) e geração de código. • Rodar em ambiente Desktop.
  8. 8. PLANEJAMENTO DA EXPERIÊNCIA Engenharia de Software (Metas) • Capacitar o aluno nas práticas de Engenharia de Software do Requisito ao Produto. • A Ferramenta poderia ter características de sistemas Web. • Abranger conceitos de Arquitetura e Padrões de Projeto. • Abranger as diretrizes de Gerenciamento de Projetos. • Ciclo de vida de desenvolvimento: vivência de situações reais (comum no mercado de trabalho).
  9. 9. PLANEJAMENTO DA EXPERIÊNCIA Visão Interdisciplinar Proposta Criativa e Desafiadora Compilador WEB Desktop Engenharia de Software + Compiladores Arquitetura de Computadores + Algoritmos
  10. 10. PLANEJAMENTO DA EXPERIÊNCIA Vislumbrou-se dois cenários de utilização para o compilador Web: • (1) apoio a aprendizagem eletrônica; • (2) apoio ao desenvolvimento de software com programadores distribuídos em diferentes máquinas e/ou locais geográficos distintos. Em ambos os cenários, possibilitar a programação aos pares e controle de versões, foram definidas como características interessantes a serem desenvolvidas no projeto. Conceito de Produto:
  11. 11. PLANEJAMENTO DA EXPERIÊNCIA • Definição de requisitos funcionais e não funcionais que deveriam ser implementados por todas as equipes. • Cada equipe também deveria definir alguns requisitos que seriam o diferencial do seu produto final. • Cada equipe foi direcionada a criar uma linguagem original e nativa, de fácil entendimento, mais próxima possível da linguagem natural e pseudocódigo. • A docente da disciplina de Compiladores faria o papel do cliente determinando características e necessidades do produto final.
  12. 12. PLANEJAMENTO DA EXPERIÊNCIA • As equipes deveriam adotar o ciclo de desenvolvimento de software SCRUM e a disciplina proposta pelo XP. • Fundamentos da engenharia de requisitos deveriam ser aplicados. • Modelos da Unified Modeling Language (UML®) aplicados. • Aplicar as diretrizes do Project Management Institute (PMI®) nas fases do ciclo de vida do projeto. • A linguagem de programação que os alunos deveriam usar seria Java.
  13. 13. PLANEJAMENTO DA EXPERIÊNCIA • As disciplinas planejaram critérios de avaliação independentes na teoria e totalmente vinculados na prática. • O vínculo entre as disciplinas que influenciariam as notas dos alunos correspondiam 30% (nota de laboratório). • Se a equipe não realizasse a entrega, perderia nota nas duas disciplinas. Entregas de Engenharia de Software em cada Sprint: 1. Documentação. 2. Modelos. 3. Liberação de uma parte do compilador. Entregas Compiladores: Análise Léxica Sintática Semântica Procedimentos para geração de código.
  14. 14. EXPERIÊNCIA PRÁTICA  Projeto teve início em fevereiro de 2011.  Fevereiro e Março: As disciplinas introduziram os conteúdos essenciais para execução do projeto interdisciplinar.  O projeto teve início em 4 de abril e término em 18 de novembro (7 meses).  Aulas práticas: os alunos foram divididos em equipes.  Cada equipe com 3 integrantes: Gerente de Projetos, Engenheiro de Software e Programador.
  15. 15. EXPERIÊNCIA PRÁTICA: As fases (WBS) Composição da nota bimestral das duas disciplinas.
  16. 16. EXPERIÊNCIA PRÁTICA: Teste de Aceitação  Convite aos alunos do 1º ano de Engenharia da Computação para testar os compiladores realizados.  Para cada aluno-usuário foi disponibilizado o manual do usuário.  Dois laboratórios de informática com rede wireless foram utilizados para testar a programação pareada e a armazenagem do código em base de dados.  O código gerado pela ferramenta foi executado no computador- didático.
  17. 17. EXPERIÊNCIA PRÁTICA: Teste de Aceitação Cada aluno-usuário recebeu um questionário de avaliação e validação, tendo que responder as seguintes questões, assinalando: 1. Muito fraco 2. Fraco 3. Regular 4. Bom 5. Ótimo. Também havia uma seção para reportar problemas encontrados na utilização da ferramenta.
  18. 18. EXPERIÊNCIA PRÁTICA: Teste de Aceitação Retroalimentação para as equipes: Comentários dos usuários. Maiores Médias (Equipes 4, 6, 8, 12 e 13): problemas com programação aos pares e retroalimentação de erros. Menores Médias (Equipes 5 e 7): apresentaram diversos problema, sendo alguns deles problemas básicos como a execução de cálculos aritméticos.
  19. 19. EXPERIÊNCIA PRÁTICA: Teste de Aceitação • Observa-se que as maiores dificuldades encontradas referem-se ao “controle de versões” e a “programação em pares” (questão 5 e 6). • Foco maior no desenvolvimento de requisitos básicos.
  20. 20. BENEFÍCIOS e DIFICULDADES NA EXECUÇÃO  Compatibilizar o ensino-aprendizagem das duas disciplinas com a realização do projeto.  Resistência e descrença durante a apresentação da proposta.  Os alunos perceberam que os conteúdos apresentados nas aulas teóricas das duas disciplinas eram fundamentais para a execução prática do projeto e, consequentemente, conseguiriam um bom desempenho nas duas disciplinas.  Motivação e dedicação nas aulas práticas.  Assiduidade nas aulas teóricas.  Em Engenharia de Software: Execução dos Sprints conforme planejado na WBS.
  21. 21. ANÁLISE DA EXPERIÊNCIA  A experiência foi bastante positiva.  Grande interação entre as docentes: compatibilizar conteúdos, definir marcos e resolver conflitos.  A interação docente e discente foi intensa.  Engenharia de Software: • Requisitos • Arquitetura de Software • Monitoramento e Controle de Projetos: Métricas de Análise de Valor Agregado. • Usabilidade
  22. 22. CONSIDERAÇÕES FINAIS Lições Aprendidas  A experiência mostrou que a interdisciplinaridade permite aos docentes envolvidos não só a troca de vivências, mas também a geração de planejamentos mais criativos e desafiadores.  Essa interação pode agregar valor à qualidade de ensino, como também para pesquisa e desenvolvimento motivacional dos discentes.  O projeto também motivou alguns alunos seguirem na linha de pesquisa sobre Compilador Web, mostrando interesse em desenvolver o TCC neste tema.  Uma avaliação mais profunda das exigências de conhecimento para a realização de certos requisitos.
  23. 23. CONSIDERAÇÕES FINAIS  Um resultado fundamental da experiência foi que todas as equipes conseguiram desenvolver o compilador, destacando seus resultados intermediários tanto na modalidade desktop quanto Web.
  24. 24. FINALIZAÇÃO Obrigada! Andréia Leles adleles@yahoo.com.br andreia@facens.br

×