Leonardo Gresta Paulino Murta Associate Professor, IC/UFF D.Sc., COPPE/UFRJ, 2006 M.Sc., COPPE/UFRJ, 2002 B.Sc., IC/UFRJ, 1999 |
Disciplina: Laboratório de Gerência de Configuração
Data: quartas e sextas, de 9:00 às 11:00
Local: quartas na sala 331 do bloco D e sextas na sala 335 do bloco D
Lista: http://groups.google.com/group/uff-labgc-2011-2 (importante: todos os alunos devem se cadastrar nessa lista)
Média = (Apresentação de Leituras + Resumos + Seminários + 2 x Trabalho) / 5
APROVADO
(Presença >= 75%) E (Média >= 6)
VERIFICAÇÃO SUPLEMENTAR
(Aluno de Graduação) E (Presença >= 75%) E (4 <= Média < 6)
Será aprovado na VS se tirar nota maior ou igual a 6.
REPROVADO
Caso contrário
As atividades do curso serão feitas individualmente para alunos de doutorado e em dupla para alunos de mestrado e em trio para alunos de graduação, que devem ser constituídos na primeira semana de aula e ter a mesma formação até o final do curso. Apesar das atividades serem em grupo, a avaliação será individual. Entreguem por e-mail (assunto: Lab GC - Grupo) o número da matrícula e o nome completo de cada participante do grupo.
Um cronograma de leituras de artigos e capítulos de livro é indicado para viabilizar a consolidação dos conhecimentos referentes à matéria.
Uma das aulas da semana (ver seção Cronograma) consiste na apresentação dos leituras e capítulos de livro lidos na semana, seguida de discussões sobre as leituras. Essa apresentação será feita por grupos previamente definidos (reserve o quanto antes as suas por e-mail). Os grupos responsaveis por apresentar a leitura da semana devem definir qual parte da leitura ficará a cargo de qual grupo. Além disso, os demais grupos ficarão encarregados de discutir aspectos da leitura. Cada apresentação deve ter duração de 20 a 30 minutos. A participação nessas atividades será considerada na composição da Média (item Apresentação de Leituras).
Os artigos e livros estão disponíveis em formato pdf no Google Docs para os alunos já cadastrados no Google Groups.
1ª leitura: sistemas históricos (SCCS, RCS e CVS)
Marc J. Rochkind, 1975, “The Source Code Control System”, IEEE Transactions on Software Engineering (TSE), 1 (4), pp. 364-370
Walter F. Tichy, 1984, “RCS - A System for Version Control”, Purdue University, TR 84-474
Capítulo 1, “Overview”, de Cederqvist, 2005, “Version Management with CVS”
2ª leitura: Subversion (1 de 3)
Prefácio, “What Is Subversion?”, de Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato, “Version Control with Subversion”
Capítulo 1, “Fundamental Concepts”, de Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato, “Version Control with Subversion”
Capítulo 2, “Basic Usage”, de Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato, “Version Control with Subversion”
3ª leitura: Subversion (2 de 3)
Capítulo 4, “Branching and Merging”, de Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato, “Version Control with Subversion”
4ª leitura: Subversion (3 de 3)
Capítulo 5, “Repository Administration”, de Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato, “Version Control with Subversion”
5ª leitura: Mercurial (1 de 2)
Capítulo 1, “How did we get here?”, de Bryan OSullivan, “Mercurial: The Definitive Guide”
Capítulo 2, “A tour of Mercurial: the basics”, de Bryan OSullivan, “Mercurial: The Definitive Guide”
Capítulo 3, “A tour of Mercurial: merging work”, de Bryan OSullivan, “Mercurial: The Definitive Guide”
6ª leitura: Mercurial (2 de 2)
Capítulo 4, “Behind the scenes”, de Bryan OSullivan, “Mercurial: The Definitive Guide”
Capítulo 6, “Collaborating with other people”, de Bryan OSullivan, “Mercurial: The Definitive Guide”
Capítulo 8, “Managing releases and branchy development”, de Bryan OSullivan, “Mercurial: The Definitive Guide”
7ª leitura: Git (1 de 6)
Capítulo 1, “Getting Started”, de Scott Chacon, 2010, “Pro Git”
Capítulo 2, “Git Basics”, de Scott Chacon, 2010, “Pro Git”
8ª leitura: Git (2 de 6)
Capítulo 3, “Git Branching”, de Scott Chacon, 2010, “Pro Git”
9ª leitura: Git (3 de 6)
Capítulo 4, “Git on the Server”, de Scott Chacon, 2010, “Pro Git”
10ª leitura: Git (4 de 6)
Capítulo 5, “Distributed Git”, de Scott Chacon, 2010, “Pro Git”
11ª leitura: Git (5 de 6)
Capítulo 6, “Git Tools”, de Scott Chacon, 2010, “Pro Git”
12ª leitura: Git (6 de 6)
Capítulo 9, “Git Internals”, de Scott Chacon, 2010, “Pro Git”
Para cada artigo lido, deve ser feito um resumo. Os resumos devem ser sucintos, não passando de 1 página A4 (fonte 12, margem de 2 cm), contendo o nome do artigo, o nome dos alunos e o resumo em si. O resumo deve focar no que realmente interessa no artigo e ter princípio, meio e fim (evitar o uso de bullets). Encerre o resumo com 1 parágrafo que emita a sua opinião sobre o artigo (tenha uma visão crítica e identifique os pontos positivos e negativos do artigo).
Cada resumo será pontuado como Entregue (10) ou Não Entregue (0), respeitando a data estipulada (ver seção Cronograma). Os resumos serão lidos por amostragem e os principais problemas detectados serão discutidos com a turma na aula apropriada para apresentação dos artigos, sem revelar os resumos que foram lidos. Essa atividade irá compor a Média (item Resumos).
Obs.: atraso na entrega dos Resumos terá uma multa de um ponto por dia.
O trabalho consiste na construção colaborativa de um sistema de controle de versões. Nas primeiras aulas discutiremos uma arquitetura genérica de um sistema de controle de versões e cada grupo deverá escolher um módulo dessa arquitetura para ser o tema do seu trabalho.
Como resultado, espera-se a escrita de um artigo de 8 a 10 páginas no formato da SBC, apresentando as seguintes seções:
Além disso, também é esperado um detalhamento das dificuldades encontradas e decisões tomadas. Em princípio, esses artigos resultantes do trabalho serão utilizados somente para avaliação na disciplina, mas podem ser posteriormente aprimorados para submissão a fóruns científicos, caso seja de interesse do aluno e do professor. O trabalho deve ser entregue na data estipulada (ver seção Cronograma) para compor a Média (item Trabalho).
A entrega será feita através da submissão do artigo para a mini-conferência da disciplina, usando um software de controle de conferências real, o EasyChair. Para submeter seu artigo, clique aqui.
Obs.: atraso na entrega do Trabalho terá uma multa de um ponto por dia.
Na disciplina, simularemos uma conferência real, onde autores submetem artigos e os artigos são avaliados pelo Comitê de Programa da conferência. Os alunos da disciplina farão parte do comitê de programa, e consequentemente receberão artigos dos colegas para avaliar. As avaliações serão consideradas na composição da Média (item Trabalho) do aluno que fez a avaliação, mas não serão consideradas na nota do grupo que submeteu o artigo. Assim, as avaliações devem ser tecnicamente profundas, sem preocupação em prejudicar a nota do colega.
Para avaliar os artigos que foram atribuídos a você, clique aqui. No menu, escolha uff-labgc-2011-2, e depois em Change Role. Escolha agora o papel de avaliador ao invés de autor. Depois, acesse o menu Reviews, e clique em My Papers. Lá aparecerão os artigos que foram atribuídos para você avaliar.
Uma das aulas da semana (ver seção Cronograma) consiste no seminário de andamento dos trabalhos (ver seção Cronograma). O grupo poderá utilizar slides e quadro e cada apresentação deve durar 20 a 30 minutos. Nas primeiras apresentações é esperado que o grupo discuta o contexto do trabalho, o detalhamento da interface com outros módulos e a metodologia a ser adotada na execução do mesmo. Nas apresentações intermediárias é esperado que o grupo discuta como está o andamento do trabalho. Nesse momento, já é esperado algum resultado concreto, mesmo que ainda com pouco aprofundamento.
Na última semana do curso haverá uma apresentação final onde os grupos devem mostrar os resultados obtidos no trabalho. Vale notar que nesse momento os trabalhos estão sendo entregues, e essa apresentação serve como um espaço para que os grupos detalhem as suas experiências na execução do trabalho. Essas apresentações serão consideradas na composição da Média (item Seminários).
De acordo com o Regulamento dos Cursos de Graduação, a presença mínima necessária para aprovação é de 75% das aulas (Art. 80, §14). Vale notar que segundo o mesmo regulamento, nenhuma falta será abonada (Art. 80, §15).
De acordo com o Regulamento dos Cursos de Graduação, não será permitida a Avaliação de Aprendizagem em Caráter Excepcional (i.e., 2ª chamada), com exceção dos casos citados no Art. 87, de acordo com os procedimentos do Art. 88.
As leituras do curso são sobre os artigos e livros a seguir. Alguns capítulos foram selecionados para leitura, mas é recomendado que os demais capítulos sejam lidos sob demanda, em função do tema do trabalho.
Marc J. Rochkind, 1975, “The Source Code Control System”, IEEE Transactions on Software Engineering (TSE), 1 (4), pp. 364-370
Walter F. Tichy, 1984. “RCS - A System for Version Control”, Purdue University, TR 84-474
Cederqvist, 2005, “Version Management with CVS”
Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato, “Version Control with Subversion”
Bryan OSullivan, 2009, “Mercurial: The Definitive Guide”
Scott Chacon, 2010, “Pro Git”
Eric Sink, 2011, “Version Control by Example”
Data | Atividade | Entrega |
10/08/2011 | Aula - Apresentação do Curso | |
12/08/2011 | Aula - Introdução à Gerência de Configuração | |
17/08/2011 | Aula - Introdução à Gerência de Configuração e Apresentação da Arquitetura | |
19/08/2011 | Apresentação e Discussão (1ª leitura) - grupos 2, 3 e 1 | Resumo |
24/08/2011 | Seminário - grupos 2, 4 e 5 | |
26/08/2011 | Apresentação e Discussão (2ª leitura) - grupos 7, 6 e 8 | Resumo |
31/08/2011 | Sem aula (banca de defesa de doutorado) | |
02/09/2011 | Apresentação e Discussão (3ª leitura) - grupos 4 e 5 | Resumo |
07/09/2011 | Sem aula (Independência) | |
09/09/2011 | Apresentação e Discussão (4ª leitura) - grupos 3 e 5 | Resumo |
14/09/2011 | Seminário - grupos 1, 3 e 6 | |
16/09/2011 | Apresentação e Discussão (5ª leitura) - grupos 2, 7 e 4 | Resumo |
21/09/2011 | Seminário - grupos 5, 7 e 8 | |
23/09/2011 | Apresentação e Discussão (6ª leitura) - grupos 8, 1 e 6 | Resumo |
28/09/2011 | Sem aula (CBSoft) | |
30/09/2011 | Sem aula (CBSoft) | |
05/10/2011 | Seminário - grupos 1, 2 e 4 | |
07/10/2011 | Apresentação e Discussão (7ª leitura) - grupos 7 e 6 | Resumo |
12/10/2011 | Sem aula (Nossa Senhora Aparecida) | |
14/10/2011 | Apresentação e Discussão (8ª leitura) - grupos 2 e 5 | Resumo |
19/10/2011 | Sem aula (Semana Nacional de Ciência e Tecnologia) | |
21/10/2011 | Sem aula (Semana Nacional de Ciência e Tecnologia) | |
26/10/2011 | Seminário - grupos 3, 6 e 7 | |
28/10/2011 | Sem aula (Funcionário Público) | |
02/11/2011 | Sem aula (Finados) | |
04/11/2011 | Apresentação e Discussão (9ª leitura) - grupo 3 e Aula - Ant | Resumo |
09/11/2011 | Seminário - grupos 1, 5 e 8 | |
11/11/2011 | Apresentação e Discussão (10ª leitura) - grupo 4 | Resumo |
16/11/2011 | Seminário - grupos 2, 3 e 4 | |
18/11/2011 | Apresentação e Discussão (11ª leitura) - grupo 1 e Aula - Maven | Resumo e Trabalho (submetido via EasyChair) |
23/11/2011 | Seminário - grupos 6, 7 e 8 | |
25/11/2011 | Apresentação e Discussão (12ª leitura) - grupo 8 e Seminário Final (integração com todos os grupos) | Avaliações (submetidas via EasyChair) e Resumo |
30/11/2011 | Sem aula | |
02/12/2011 | Sem aula | |
07/12/2010 | Vista de Avaliações (bloco E, sala 304) | |
09/12/2011 | Verificação Suplementar (somente para graduação) | |
14/12/2011 | Sem aula | |
16/12/2011 | Vista de Avaliações (bloco E, sala 304) |