Trabalhos de MAC 413/5715
Além dos trabalhos realizados em sala de aula, teremos 3
trabalhos para realizar em casa. Datas de Entrega dos Trabalhos:
- escolha do tópico do trabalho: mandar mensagem para rcamargo
arroba ime . usp . br até 1/9
- Enviar o PDF do padrão para Raphael (rcamargo no ime): 20 / 9
- Especificação do Projeto Final (apenas para projetos de implementação): 15 / 10
- Padrão Refatorado: 22 / 10
- Projeto Final: 4 / 12
Projeto Final
O projeto final poderá ser um seminário ou
implementação de software. É possível
também apresentar um seminário e além disso
participar de um grupo de implementação de software. Quem
fizer essas duas coisas receberá simpatia especial do professor
no momento da avaliação.
Tópicos para Seminários
Feitos em grupos de 1 ou 2 e apresentados em 45 minutos (ou 90 minutos,
se o seminarista preferir e comunicar isso com antecedência). O
seminário deverá ser muito bem preparado e os alunos
deverão demonstrar que estudaram muito bem o tópico
abordado e o dominam. Os slides devem ser
submetidos ao professor (nos formatos .ppt ou .pdf) para
revisão 4 dias antes da apresentação. Antes de
preparar os slides, não deixe de dar uma olhada nessas
dicas de preparação de slides e nessas
dicas de português.
A biblioteca digital da ACM é provavelmente o melhor lugar para encontrar boas
referências bibliográficas sobre todos estes assuntos. De qualquer IP da USP
temos acesso gratuito a ela.
- Inversion of Control
Containers and the Dependency Injection pattern (Diego Tarábola (tarabola no
gmail) e Denise Goya) (apresentação em 06/10)
- A linguagem Self (baseado no artigo Self - The Power of Simplicity) (Eduardo Kasa (eduardokasa no gmail) e Cristina Fang)
- Mecanismos reflexivos em Smalltalk (ver este
artigo por exemplo) (Daniel Ribeiro (danielrb no ime))
- Continuações
- Persistência de Objetos com Hibernate (Luis Felipe (felipesarro no yahoo
com br) e Nilson de Souza Rego Junior)
- Sistemas Web com Java Server Faces (Daniel Sguillaro dans no ime) e (Paulo V. Lopes)
- Subject-oriented Computing
(Michelet Chávez michelet.chavez no gmail) (apresentação 06/10)
- O
uso de padrões e arcabouços no sistema operacional Choices
- Guaraná: uma implementação reflexiva de Java (Ana Paula Mota anna.motta no gmail)
- Manipulação de bytecode Java
(Eduardo Oliveira Souza (esouza no ime))
- Ultra-Large-Scale Systems - the software challenge of the future (livro do SEI-CMU) (Raoni Kulesza raoni no larc usp br)
- Estimativas em métodos ágeis (Wylliam Miguita (miguita no linux ime) e Marcelo Litvin)
- Um padrão do novo livro PLoPd5
(disponível na biblioteca) (Flavio da Silva Mori Junior (flaviom no
linux.ime) e Erich Soares Machado)
- Discovering Early Aspects IEEE
Software 23(1), 2006. (Reginaldo Rideaki Kamiya (reginaldoime no gmail) e
Mário Marques Júnior)
- Programação orientada a objetos em computação científica(Paulo Fernando Machado (paulo-fernando.machado no itauseguros com br) e Wellington)
- Service Oriented Architecture (SOA) (Daniel M. Dantas (ddantas no blackbird com br))
- Comet:
A new approach to ajax applications (Vinicus Gama Pinheiro (vinicius no ime) e Mário Torres)
Tópicos para Implementações
Em grupos de 1 ou 2 pessoas (recomendo programação
pareada). No final do semestre, a execução do software
será demonstrada para o professor, assistente e demais
interessados.
- Algum novo plugin para Eclipse - (e.g., melhorias no IDE Eclipse
para o Ciao Prolog)
- Implementação de algoritmos musicais no AcMus
(Vinicus Gama Pinheiro (vinicius no ime) e Mário Torres)
- Módulo para permitir a instalação de plugins no Archimedes
(Hugo Corbucci (night no linux ime) e Mariana Vivian Bravo
- Colaboração no projeto OnAir:
consultas em bancos de dados de
vídeos baseado em palavras chaves e Java Media Framework
- Aplicação paralela em C++ para ser executada no
sistema InteGrade. (Paulo K. Negrão e Adroaldo Borges (lazo no linux ime))
- Suporte a MPI no sistema InteGrade.
- Aplicação Musical Distribuída baseada no Andante.
- Desenvolvimento de um novo módulo para o sistema Borboleta (computação móvel para atendimento público de saúde).
- Desenvolvimento de mecanismos de monitoração e configuração em fluxos de transmissão multimídia usando AspectJ. (Raoni Kulesza (raoni no larc usp))
Aqui está um exemplo de especificação bem
feita: ConferenceAssistant
Uma possibilidade bem interessante é juntar 2 trabalhos
em 1 no final do curso. Ou seja, 2 (ou mais) grupos de 2 pessoas
trabalham cada um em uma parte independente de um sistema maior,
combinando inicialmente qual vai ser a interface usada para a
comunicação entre
os dois sistemas. No final, cada grupo entrega o seu trabalho
separadamente (com testes para a sua parte) mas o demo é feito
integrando-se todas as partes.
Página
de MAC 413/5715
Página do Fabio
Página do DCC