1 MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DIRETORIA DE ENSINO DE GRADUAÇÃO PLANO DE ENSINO 1. Identificação Curso: Tecnologia em Desenvolvimento de Software Disciplina: Desenvolvimento em Software Livre Professor: Msc. Tiago Eugenio de Melo CPF: Siape: Regime de Trabalho: 40h Titulação: Mestre CH. Semestral: 60h CH. Semanal: 3h PréRequisito: (optativa) Período Letivo: 2o Ano: 2008 Turma: Turno: Vespertino 2. Perfil Profissional do Curso Capacidade de empreendedorismo, criatividade, comunicação e trabalho em equipe; Domínio de critérios de software e hardware adequados às necessidades organizacionais; Capacidade para aplicar seus conhecimentos de forma independente e inovadora, acompanhando a evolução do setor e contribuindo na busca de soluções nas áreas aplicadas; Formação humanística permitindo a compreensão do mundo e da sociedade. De uma forma ampla, o profissional egresso deverá ser capaz de desempenhar as seguintes funções: Planejar, implantar e manter sistemas de informação; Implantar e gerenciar projetos de banco de dados; Desenvolver e gerenciar projetos de redes de computadores; Gerenciar e supervisionar profissionais envolvidos nas diversas fases de projetos de sistemas; Especificar regras ou normas de segurança, tanto para compartilhamento seguro das informações com para sua integridade e recuperação. MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DIRETORIA DE ENSINO DE GRADUAÇÃO 3. Objetivo da disciplina Dentre os objetivos desta disciplina podemos citar: Apresentar a filosofia do movimento de software livre e as suas principais licenças, de maneira que permita ao aluno entender e escolher o modelo que seja mais adequado às suas necessidades ou às necessidades da organização que trabalha. Apresentar diversas ferramentas livres empregadas no processo de desenvolvimento de software, através de conceitos e, principalmente, do uso dessas ferramentas em laboratório. Capacitar o aluno a escolher ferramentas livres para desenvolvimento de software. Capacitar o aluno a escolher o tipo de licença mais adequado no processo de desenvolvimento e na geração de produtos de software. Apresentar as tecnologias atuais e as tendências de software livre. 4. Ementa da Disciplina Filosofia, conceitos e projetos de software livre. Sistemas operacionais livres. Ferramentas de desenvolvimento para software livre. Tecnologias atuais e tendências de softwares livres. 5. Conteúdo Programático I. Filosofia, conceitos e projetos de software livre 1. Filosofia de software livre 2. Histórico de software livre 3. Tipos de software 4. Licenças de software livre 5. Projetos de software livre II. Sistemas operacionais livres 1. Apresentação dos principais sistemas operacionais livres 2. Características básicas de GNU/Linux III. Ferramentas de desenvolvimento para software livre 1. Ferramenta Make 2. Repositório de dados (CVS e SVN) 3. Controle de falhas (Bugzilla) IV. Tecnologias atuais e tendências de software livre 1. Apresentação de ferramentas atuais para desenvolvimento de software 2. Projetos atuais 3. Linhas atuais de pesquisa que empregam software livre 2 MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DIRETORIA DE ENSINO DE GRADUAÇÃO 6. Metodologia Aulas Teóricas Exposições/discussões teóricas utilizando quadro, pincel, apagador, computador e datashow. Aulas de Laboratório 16 horas do curso serão utilizadas no laboratório com o objetivo de permitir que os alunos pratiquem os conceitos ensinados em sala de aula. Visita Técnica/Campo Seminário Outras Atividades 7. Avaliação A avaliação será realizada através de prova individual e escrita juntamente com trabalhos práticos, se houver disponibilidade de laboratórios para a avaliação. De acordo com as unidades apresentadas abaixo será realizada uma prova escrita de duração de 2h ou trabalho prático em laboratório, valendo de 0(zero) a 10(dez). Desta forma, serão realizadas 3 provas escritas. A nota final será calculada através de uma média aritmética das notas. 8. Bibliografia Básica: 1. CAETANO, Cristiano. CVS – Controle de Versões e Desenvolvimento Colaborativo de Software. Novatec, 2004. 2. COSTA, Simone André (org.). Desenvolvimento em Software Livre. Editora Unisinos, 2004. 3. LAURENT, Andrew M. Open Source & Free Software Licensing. O'Reilly, 2004. 4. RAYMOND, Eric S. The Cathedral & the bazaar. O' Reilly, 2001. 5. SILVEIRA, Sérgio Amadeu da Silveira. Software Livre – A luta pela liberdade do conhecimento. Fundação Perseu Abramo, 2004. 6. SIEVER, Ellen et al. Linux in a nutshell. O'Reilly, 2005. 3 MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DIRETORIA DE ENSINO DE GRADUAÇÃO 7. STALLMAN, Richard M. Free as in freedom: Richard Stallman's Crusade for Free Software. O'Reilly, 2002. 8. STALLMAN, Richard M. Free Software, Free Society. GNU Press, 2002. Complementar: 1. OLIVEIRA, Sérgio Amadeu da Silveira. Software Livre e Inclusão Digital. Conrad, 2003. 2. ROSEN, Lawrence. Open Source Licensing – Software Freedom and Intellectual Property Law. Prentice Hall, 2005. 3. SILVEIRA, Sérgio Amadeu da Silveira. Software Livre – A luta pela liberdade do conhecimento. Fundação Perseu Abramo, 2004. 4. TAURION, Cézar. Software Livre – Potencialidades e modelos de negócio. Brasport, 2004. 4 5 MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DIRETORIA DE ENSINO DE GRADUAÇÃO 9. Cronograma Aula Conteúdo Recurso Didático Aula 1 Filosofia de software livre Quadro, pincel e material digital Aula 2 Histórico e evolução do movimento de Quadro, pincel e material digital software livre Aula 3 Licenças de software Quadro, pincel e material digital Aula 4 Projetos de software livre Quadro, pincel e material digital Aula 5 Apresentação dos principais sistemas Quadro, pincel e material digital operacionais livres Aula 6 Características básicas de GNU/Linux Aula 7 Arquitetura do sistema GNU/Linux Computador, GNU/Linux Aula 8 Prática do uso do sistema GNU/Linux Computador, GNU/Linux Aula 9 Prática do uso do sistema GNU/Linux Computador, GNU/Linux Aula 10 Avaliação Aula 11 Conceito de desenvolvimento em larga escala Quadro, pincel e material digital Aula 12 Características da ferramenta make Quadro, pincel e material digital Aula 13 Prática do uso da ferramenta make Computador, GNU/Linux e make Aula 14 Prática do uso da ferramenta make Computador, GNU/Linux e make Aula 15 Conceito do uso de repositório e controle de Quadro, pincel e material digital versão Aula 16 Características da ferramenta CVS Quadro, pincel e material digital Aula 17 Características da ferramenta SVN Quadro, pincel e material digital Aula 18 Prática do uso da ferramenta CVS Computador, GNU/Linux e CVS Aula 19 Prática do uso da ferramenta SVN Computador, GNU/Linux e SVN Aula 20 Conceito do uso de controle de falhas (bugs) Quadro, pincel e material digital Aula 21 Características da ferramenta Bugzilla Quadro, pincel e material digital Aula 22 Prática do uso da ferramenta Bugzilla Computador, GNU/Linux e Bugzilla Aula 23 Prática do uso da ferramenta Bugzilla Computador, GNU/Linux e Bugzilla Aula 24 Avaliação Aula 25 Apresentação de ferramentas atuais para Quadro, pincel e material digital desenvolvimento de softwareQuadro, pincel e material digital Aula 26 Projetos atuais de software livre Aula 27 Linhas atuais de pesquisa que empregam Quadro, pincel e material digital software livre Quadro, pincel e material digital 6 MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DIRETORIA DE ENSINO DE GRADUAÇÃO Aula 28 Avaliação Aula 29 Revisão do conteúdo para prova final Aula 30 Avaliação (prova final) Quadro, pincel e material digital Manaus, 19 de julho de 2008 ________________________________________ Professor MSc. Tiago Eugenio de Melo