Engenharia de software na sala de aula (1)

Desafios...   

 

 

 

Desafios...

Um dos desafios que enfrento todos os anos, e cada ano inteiro, é o de decidir o que ensinar em Engenharia de Software na graduação. Vejo um crescimento muito grande da área, as ramificações de assuntos estão aumentando, as implicações de um assunto no outro aumentam na mesma proporção. Além do enorme desafio da atualização na área, que merece uma postagem exclusiva, nós professores temos a sala de aula para enfrentar o ano inteiro, e os alunos estão lá confiantes de que vão sair das nossas disciplinas com algum conhecimento.

Normalmente os cursos oferecem duas disciplinas de 60 horas com algumas variações (algumas são de 75 ou 90 horas), e esse tempo não é suficiente para fazer os alunos botarem a mão na massa prá valer. E a quantidade de tópicos e assuntos é muito grande, e nós professores temos esse desafio: como organizar essas disciplinas, de forma tal que o aluno saia delas com conhecimento de fundamentos e com alguma prática? Eu tento uma mudança todos os anos, melhoro tópicos, mudo a forma de aplicar o projeto, os resultados não mudam muito.

Pensando na estrutura formal da área e dos conteúdos das disciplinas, temos o SWEBOK – Software Engineering Body of Knowledge,  um documento de valor inestimável para organizar as idéias, buscar conteúdos, referências bibliográficas. Esse guia, associado com o PMBOK – Project Management Body of Knowledge (esse para o caso de gerência de projetos), é  indispensável para todo professor da área, é obrigatório ter os dois volumes e conhecer seu conteúdo. A ACM-Association for Computing Machinery mantém atualizado um sitio na web com propostas organizadas de curriculo na área, vejam aqui o documento atualizado, 2006. A SBC-Sociedade Brasileira de Computação, também mantém as propostas de diretrizes curriculares, mas a base é essa mesma que já citei. Mas esse material ai ajuda na parte formal, estrutural, de conteúdos e sequenciamento. O desafio continua, afinal o que é que deve ir para a sala de aula? e como deve ir?

Continuando na minha linha de basear minhas disciplinas em processos (em outra postagem vou comentar sobre isso), tive uma experiência interessante  no segundo semestre de 2008, na Engenharia de Software II: adotei o livro do prof. Raul Wazlawick “Análise e projeto de sistemas de informação orientados a objetos” como manual de projeto, dividi o projeto em quatro partes, cada parte associada com um grupo de capitulos do livro, cobrindo o livro todo de cabo a rabo. O projeto foi relativamente simples e pequeno, assunto dentro da cultura dos alunos:  Agenda remota para telefones celulares (algumas operadoras já oferecem esse serviço) , e deixei os alunos darem asas à imaginação. 

Na terceira fase do projeto, cada grupo preparou um protótipo para testar o projeto e corrigir eventuais falhas, e foi muito bom, organizei uma pequena competição com os próprios alunos avaliando o trabalho dos colegas. Como era esperado, o protótipo forçou os grupos a revisarem os requisitos e suas especificações, levando a uma revisão do artefato de especificação de requisitos.  Paralelamente, eu andei com as aulas teóricas cobrindo os tópicos relativos a cada parte do projeto, no mesmo ritmo do próprio projeto, dentro da filosofia de Eng. Software baseada em Processos. Tentei seguir um modelo de condução da disciplina baseado em PBL-Project Based Learning, e gostei muito da experiência. Espero contribuições dos leitores desse blog, outras postagens sobre o assunto estão na fila esperando a oportunidade de pipocarem.

(este artigo foi escrito  por zeluisbraga, e postado no meu blog  zeluisbraga . wordpress . com) (this post was originally written by zeluisbraga, published on my blog  zeluisbraga . wordpress . com)

Anúncios

Consultor Independente, Treinamento Empresarial, Gerência de Projetos, Engenharia de Requisitos de Software, Inovação. Professor Titular Aposentado, Departamento de Informática, Universidade Federal de Viçosa, Minas Gerais, Brasil. Doutor em Informática, PUC-Rio, 1990. Pós-Doutoramento, University of Florida, 1998-1999

Marcado com: ,
Publicado em Educação, Engenharia de Software
4 comentários em “Engenharia de software na sala de aula (1)
  1. Zé,
    aqui no CEFET temos também duas disciplinas: Modelagem e Desenvolvimento de Sistemas e Engenharia de Software I. Na primeira, abordamos as etapas de um projetos, artefatos gerados, UML… ou seja, entremos de sola no processo de construção de um software. Na segunda disciplina, abordamos os processos e o “envolta” do software.
    Estou acompanhando uma discussão na lista SBC sobre a formação dada aos alunos no que diz respeito a construção de software de qualidade. Acho que a raíz está em sermos muito teóricos nestas disciplinas de Engenharia de Software e, principalmente pelo fato dos alunos acharem que “só” é necessário conhecer bem uma linguagem para produzir um software de qualidade.
    Abraço

  2. Adriano Godoy disse:

    Pude participar do projeto, e realmente foi incrível. Ler um livro que diz que você deve gerenciar requisitos, que deve manter documentadas as atualizações não é suficiente.
    Com o projeto da agenda percebemos a real intenção de cada uma das melhores práticas, e principalmente pudemos perceber como funcionavam os ciclos do RUP, e como a simples construção de um protótipo levou a revisão de boa parte dos requisitos. Foi uma ótima experiência.
    Com relação à quantidade de conteúdo, quem sabe uma optativa sobre gerência de projetos no período que vem? 😀
    Valeu

  3. Olá Zé,
    Notável sua preocupação com melhoria contínua no ensino!
    Acho muito válida a experimentação pois a prática ajuda a fixar os conceitos. Teoria simples e pura, além de chato, torna difícil a compreensão do impacto e importância de sua aplicação. Por outro lado, o tempo é curto, como vc disse. Tarefa difícil.
    De minha experiência como aluno de graduação e mestrado, posso citar alguns exemplos:
    – Sobre ferramenta: Exemplo simples. Recordo-me da época de graduação que um professor começou a utilizar apresentações em powerpoint. Após o término da aula, a apresentação já estava disponível. Para mim, que não gostava de anotar nada, pois me dispersava, foi ótimo. A apresentação também tinha exemplos e referências. (Não foi disciplina de eng. soft. foi de linguagem de programação);
    – Sobre postura: um pouco mais complicado. No mestrado, na UNICAMP, a mudança quanto a forma de estudo foi grande. Na graduação, não tínhamos o costume de ler muitos artigos (nem livros) e muito menos em inglês. Já no mestrado, isso era uma constante. O professor nem sempre entrava em detalhes em aula, e tínhamos que ir atrás de artigos e livros. Espero que isto tenha evoluído na graduação na UFV. Para mim foi ótimo, pois mudei muito meu hábito de leitura.
    – Sobre formato de aula: 50% teoria + 50% prática. Passei por esta experiência, recentemente, em um curso de pós-graduação. As disciplinas, de aproximadamente 32h, eram dividas em grupos de 8h, sendo as 4 primeiras horas teóricas e as 4 seguintes práticas. Mas também exigiam um “dever de casa”, geralmente com uma apresentação em grupo na aula final, sobre temas relacionados à disciplina. A eficácia disto depende muito da experiência do professor para distribuir o conteúdo, administrar o tempo e ainda conduzir a prática que exige uma dedicação razoável para sua preparação.

    Já no mercado de trabalho, tive contato com o livro do Craig Larman – Aplicando UML e Padrões (OO + desenvolvimento iterativo). O autor adotou uma estratégia iterativa e incremental para explicar o processo unificado. Muito bom! Inclusive, é uma de minhas indicações para quem quer obter uma certificação de A&D (http://nosdesenvolvedores.blogspot.com).
    []’s, Deley (Turma de 93).

    • Eita, ótimos comentários, obrigado pela visita, Deley. Considero a sala de aula meu maior desafio. Cada turma, cada tipo e nível de curso, exigem uma técnica diferente de abordagem. Graduação, mestrado ou lato-sensu, cada um de um jeito. Nós professores não temos o costume de ler sobre técnicas pedagógicas, essa é uma falha. E há ótimos livros sobre o assunto, que discutem as técnicas para cada caso, procuro ficar sempre atualizado e buscar apoio nesse tipo de literatura. E o desafio ainda é maior, quando a gente considera que dentro da sala de aula de graduação está a famosa geração-Y, inquieta, cheia de informação, que avança mais rápido que os professores. Tem que saber lidar com essa turma… O livro do Craig Larman é um dos melhores que conheço, esse livro que usei na graduação é derivado em parte do Craig.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: