Ementa DSL Graduação

De CCSL
Ir para navegação Ir para pesquisar

No IME temos apenas a disciplina de pós de Desenvolvimento de Software Livre:

MAC5856

Vários alunos da graduação têm solicitado o oferecimento dessa disciplina para a graduação também. Então gostaríamos de criar a disciplina na graduação para talvez oferecê-la em 2013 se houver disponibilidade de algum docente.

Dados para criação de disciplina

Nome da Disciplina

Desenvolvimento de Software Livre

Objetivo

Familiarizar os alunos com o ecossistema do Software Livre incluindo os principais aspectos relacionados à produção de software seguindo o modelo aberto e colaborativo de produção e compartilhamento.

Programa

O modelo de desenvolvimento colaborativo de software conhecido como Software Livre tem se mostrado capaz de produzir sistemas e aplicações de software de excelente qualidade. Na última década, as ferramentas e sistemas de software livre passaram a constituir uma plataforma robusta a partir da qual a indústria de TI pode construir e oferecer os seus serviços. Este modelo aberto e colaborativo de produção apresenta uma série de vantagens para uma grande gama de empreendimentos de desenvolvimento de software, tanto acadêmicos quanto comerciais. Esta disciplina irá expor os alunos às vantagens e desvantagens desse modelo bem como aos desafios a serem enfrentados por aqueles que o adotam. Dessa forma, os alunos estarão melhor preparados a participar de projetos de desenvolvimento de software livre.

Os tópicos abordados na disciplina são os seguintes.

  • História do Software Livre: o movimento "Free Software" e o movimento "Open Source", a FSF e a OSI.
  • Aspectos jurídicos de software livre: a legislação brasileira de propriedade intelectual, copyright, licenças, compatibilidades e incompatibilidades.
  • Comunidades de software livre: formas de organização e participação, gerenciamento de contribuições e atratividade de projetos.
  • Modelos de negócio e empreendedorismo com software livre.
  • Desenvolvimento distribuído: ferramentas de desenvolvimento colaborativo à distância.
  • Gerenciamento de código: CVS, Subversion, Baazar, Git, Mercurial, etc.
  • Gerenciamento de requisitos e de relatos de erros (bugzilla, trac, XPlanner, etc.)
  • Boas práticas de codificação, estilo e padronização de código
  • Métodos Ágeis e Software Livre
  • Testes e integração contínua (xUnit, Selenium, Maven, Cruise Control, Hudson, etc.)
  • Documentação
  • Usabilidade
  • Avaliação de qualidade de projetos de software livre

Os estudantes terão contato com este material através de aulas teóricas, exercícios práticos cobrindo tópicos específicos e seminários. Em grupos de 2 a 10 alunos, será também desenvolvido um projeto de duração de 12 semanas onde espera-se uma real contribuição a um projeto de software livre; esta contribuição pode ser na forma de nova documentação, novas funcionalidades a um projeto existente ou consertos de erros e melhorias em um software livre existente.

Ementa

(programa resumido)

O modelo de desenvolvimento colaborativo de software conhecido como Software Livre tem se mostrado capaz de produzir sistemas e aplicações de software de excelente qualidade. Na última década, as ferramentas e sistemas de software livre passaram a constituir uma plataforma robusta a partir da qual a indústria de TI pode construir e oferecer os seus serviços. Este modelo aberto e colaborativo de produção apresenta uma série de vantagens para uma grande gama de empreendimentos de desenvolvimento de software, tanto acadêmicos quanto comerciais. Esta disciplina irá expor os alunos às vantagens e desvantagens desse modelo bem como aos desafios a serem enfrentados por aqueles que o adotam. Dessa forma, os alunos estarão melhor preparados a participar de projetos de desenvolvimento de software livre.


Avaliação

Método

Participação em projeto de desenvolvimento de software livre, elaboração de seminário e contribuições à Wikipedia.

Critério

Média ponderada de notas dadas a exercícios, trabalhos práticos e apresentação de seminários.

Norma de recuperação

Trabalho extra para alunos que ficarem de recuperação.

Bibliografia

1) BENKLER, Yochai. The Wealth of Networks: How Social Production Transforms Markets and Freedom. New Haven: Yale University Press. Disponível em http://cyber.law.harvard.edu/wealth_of_networks, 2006.

2) FALCÃO, Joaquim; FERRAZ JUNIOR, Tercio Sampaio; LEMOS, Ronaldo; MARANHÃO, Juliano; SOUSA, Carlos Affonso Pereira; SENNA, Eduardo. Estudo sobre o Software Livre - Comissionado pelo Instituto Nacional da Tecnologia da Informação (ITI): Fundação Getúlio Vargas, 2005.

3) FELLER, Joseph et al. Perspectives on Free and Open Source Software. MIT Press. 2005.

4) FOGEL, Karl. Producing Open Source Software. O'Reilly. Disponível em http://producingoss.com, 2006.

5) GOLDMAN, Ron; GABRIEL, Richard P. Innovation Happens Elsewhere. Morgan Kaufmann, 2005.

6) LAURENT, Andrew M. St. Understanding Open Source & Free Software Licensing. Sebastopol: O’Reilly, 2004.

7) LERNER, J.; TIROL E, J. The scope of open source licensing. Journal of Law, Economics and Organization, n. 21, p. 20–56, 2005.

8) O’MAHONY, Siobhán. The governance of open source initiatives: what does it mean to be community managed? Journal of Management & Governance, v. 11, n. 2, p. 139–150, 2007.

9) RAYMOND, Eric S. The Cathedral and the Bazaar. Disponível em http://catb.org/esr/writings/cathedral-bazaar,1997-2009.

10) ROSEN, Lawrence. Open Source Licensing: Software Freedom and Intellectual Property Law. New Jersey: Prentice Hall, 2005.

11) SANTOS JR., Carlos. Open Source Software Projects’ Attractiveness, Activeness, and Efficiency as a Path to Software Quality: An Empirical Evaluation of their Relationships and Causes. Tese de Doutorado — Department of Management Information Systems at SIUC, Carbondale, IL, 2009.

12) STALLMAN, Richard M. Free Software Free Society: selected essays of Richard M. Stallman. GNU Press. Disponível em http://shop.fsf.org/product/free-software-free-society, 2002.

13) TAPSCOTT, Don; WILLIAMS, Anthony D. Wikinomics: how mass collaboration changes everything. 375 Hudson Street, New York, NY: The Penguin Group, 2006.


Carga horária

Créditos Aula: 4

Créditos Trabalho: 2

Carga Horária Total: 120 h

Tipo: Semestral

Pré-requisito

MAC0122 - Princípios de Desenvolvimento de Algoritmos

É desejável boa experiência em desenvolvimento de software ou ter cursado a disciplina Programação Orientada a Objetos (MAC 441) ou equivalente e possuir bons conhecimentos de programação orientada a objetos em uma linguagem como Java, C#, Objective C, Python, Ruby ou Smalltalk.

Relacionados