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:

Projeto Final

O projeto final poderá ser uma monografia, 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 Monografias

De 8 a 10 páginas escrita individualmente em excelente português (serei bem rigoroso na correção).
  1. Sugira o seu tópico
  2. Classificação e Busca em Orientação a Objetos (Claudia de Oliveira Melo claudia arroba ime)
  3. Programação Genérica (Eudenia Xavier Meneses eudenia arroba ime)
  4. Programação Orientada a Aspectos (Adolfo Gustavo Serra Seca Neto - adolfo@ime.usp.br)

Tópicos para Seminários

Feitos em grupos de 1 ou 2 e apresentados em 45 minutos. O seminário deverá ser muito bem preparado e os alunos deverão demonstrar que estudaram muito bem o tópico abordado. Os slides devem ser submetidos ao professor (nos formatos .ppt, .ps ou .pdf) para revisão 72 horas antes da apresentação. Antes de preparar os slides dê uma olhada nessas dicas de preparação de slides e nessas dicas de português
  1. O uso de padrões e arcabouços no sistema operacional Choices (Carlos Alexandre Queiroz Batista da Silva - carlosq arroba ime ponto usp ponto br)
  2. AspectJ e Programação Orientada a Aspectos (Vladimir vmoreira ime usp br)
  3. Larva/Virtuosi - uma linguagem reflexiva (Antonio antonio_kantek arroba hotmail.com)
  4. 3 padrões do GoF: Chain of Responsibility, Interpreter e Decorator (João Vitor Baldini Soares - joao arroba linux - Dia 19/11)
  5. 2 padrões dos livros POSA.
  6. 2 padrões do PLoP 2003.
  7. As refatorações automática providas pelo Eclipse.
  8. Ferramentas para testes automatizados em Java e C++.
  9. Visão Geral dos diferentes métodos ágeis de desenvolvimento de software.
  10. Comparação entre RUP e XP (Carlos Alberto Guimarães cguima arroba ime.usp.br e Eduardo Leal Guerra eguerra arroba ime)
  11.  O uso de padrões e arcabouços no sistema operacional Choices
  12. Guaraná : uma implementação reflexiva de Java
  13. JDO - Java Data Objects (Giuliano Mega e Cleber megag arroba terra.com.br)
  14. JNLP - Java Network Launching Protocol
  15. Padrões de Re-engenharia Orientada a Objetos (Marcel Jacques Simonette - marcel arroba ime ponto usp ponto br)
  16. Visão geral dos diferentes métodos ágeis de desenvolvimento de software (Giulian Dalton Luz e Rogério Guaraci dos Santos - gdaltonl@techmind.com.br)

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. .
  1. Arcabouço para Estruturas de Dados Adaptativas (Fábio Pisaruk e Elcio Koiti Nakashima - pisaruk arroba linux)
  2. Plugin para Eclipse - IDE Eclipse para o Ciao Prolog (Juliana Barby Simão - julianab arroba linux ponto ime ponto usp ponto br)
  3. Um novo plug-in original para o Eclipse (Wendel Scardua e Domingos - articuno arroba linux)
  4. Representação gráfica tridimensional de ambientes para avaliação acústica usando Java 3D (projeto AcMus ).
  5. "Converse com a Artista": consultas em bancos de dados de vídeos baseado em palavras chaves e Java Media Framework (Christian Paz cpaz arroba ime)
  6. Aplicação reconfigurável utilizando os Configuradores de Componentes propostos pelo que vos escreve.
  7. Interface gráfica em Java/Swing para controlar/monitorar o sistema InteGrade . (Alexandre vidal arroba ime.usp.br)
  8. Interface gráfica leve (não pode usar Java) e multi-plataforma para nós da grade no InteGrade .
  9. Implementação de uma BSPlib para o InteGrade (Carlos Alexandre carlosq arroba ime).
  10. Aplicação Musical Distribuída baseada no Andante .
  11. Aplicação usando o Guaraná
  12. Aplicação usando o AspectJ (Vladimir vmoreira arroba ime usp br e Eduardo Leal Guerra eguerra arroba ime)
    1. Compilador de compiladores orientado a aspectos escrito em AspectJ (Antonio antonio_kantek arroba hotmail.com)
    2. Sistema de bate-papo distribuído em AspectJ (Adão de Melo Neto, Gustavo Bianchi Maia - gbmaia arroba hotmail.com)
  13. Aplicação Distribuída Adaptativa baseada no InteGrade e no Arcabouço do Francisco
  14. Aplicação qualquer baseada em padrões (pelo menos 4 deles)
    1. Implementação de um jogo de RPG de tabuleiro utilizando padrões de projeto e padrões arquiteturais (Renato Senda e Tae Ha Lee - rensenda arroba linux)
    2. Um editor de forms (telas de entrada de dados - applet) utilizando padrões. (Eduardo Ribeiro de Castro - ercastro arroba ime ponto usp ponto br)
    3. Simulador estatístico de tráfego em uma estrada (Bruno R. B. de Oliveira bruno_rafael13 arroba hotmail ponto com)
    4. Simulador de circuitos lógicos (Marcel de Carli Silva e Fabiano Mitsuo Sato - magaljedi@hotmail.com)
    5. Um sistema de otimização linear capaz de resolver problemas de programação linear e programação linear inteira interpretando uma linguagem de modelagem matemática própria (Mais informações: http://incubadora.fapesp.br/projects/joptimum/) (Renato Lucindo e Thiago Witt - lucindo@ime.usp.br)
  15. Classificação e Busca em Sistemas Orientados a Objetos (Claudia de Oliveira Melo claudia arroba ime)
  16. Aplicação J2EE usando um servidor de aplicações (p. ex., JBoss)(Fernando Kasten Peinado - fpeinado arroba ime.usp.br)
  17. Aplicação OO para PalmPilots (ou outro tipo de computador de mão)
    1. controle de participação em congressos (desejo do professor)
    2. transmissão de vídeo em tempo real para um Palm via rede sem fio
    3. Gerente de compromissos financeiros do lar (Carlos Eduardo de Sousa - ceskadu arroba scopus ponto com ponto br)
  18. Sugira seu projeto
    1. Uma implementacao de um servidor de aplicacao, JaSS (Jini Application Server for Services) (Carlos Alexandre Queiroz Batista da Silva - carlosq arroba ime ponto usp ponto br)
    2. Sistema na plataforma J2EE: um aplicativo Web para a criação e consulta de catálogos online (Paulo Salem e Marcelo Hashimoto - salem arroba linux ponto ime ponto usp ponto br)
    3. implementação de um jogo no estilo Banco Imobiliário (Monopoly)(Carlos Henrique Cardonha e Givanildo Dantas Alves - cardonha arroba hotmail ponto com)
    4. Interface de Recuperação e Gerenciamento de Informações de Bioinformatica utilizando a tecnologia J2EE e XML.(Andre Yoshiaki Kashiwabara e Carlos Augusto Leite - yoshiaki arroba linux ponto ime ponto usp ponto br)
    5. Jogo de estratégia baseado em turnos (Fernando Pedreira de Freitas França e Gabriel Dias Cesário - fefranca arroba linux ponto ime ponto usp ponto br)


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