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 adolfo
arroba ime . usp . br até 15/9
- Enviar título do Padrão e par de autores para o
Adolfo: 1 / 10
- Padrão
(em duplas): 12 / 10
- Especificação do Projeto Final: 15 / 10
- Padrão
Refatorado: 30 / 10
- Projeto Final: 4 / 12
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.
Aqui está um exemplo de especificação bem
feita: ConferenceAssistant
Tópicos para Monografias
De 8 a 10 páginas escrita individualmente em excelente
português (serei bem rigoroso na correção). (Se for
detectado plágio, a média final na disciplina será
zero).
- Reflexão Computacional (Rodrigo
dos Santos Lima - rsantoz at terra.com.br)
- Mecanismos reflexivos em Smalltalk (Nelson Takashi Omori -
nelsonta at linux.ime.usp.br)
- Continuações
- Programação Genérica (Luiz Ricardo de Lima -
luizvsp at linux.ime.usp.br)
- A linguagem Self (Fernando - incognit at linux.ime.usp.br)
- Arquiteturas de plug-ins (Rafael de França Ferreira -
rafaeldff at gmail.com)
- Sugira o seu tópico
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
- A linguagem Self (baseado no artigo Self - The Power of
Simplicity)
- Mecanismos reflexivos em Smalltalk
- Continuações
- 2 ou 3 padrões dos livros POSA II ou III.
- Component Configurator e Interceptor (Ivan Neto ivanneto at
ime.usp.br)
- 2 padrões do PLoP 2004.
(perguntar aos autores se é a versão mais recente).
- Ferramentas para testes automatizados em Java e C++.
- O
uso de padrões e arcabouços no sistema operacional Choices
- Guaraná
: uma implementação reflexiva de Java
- Padrões
de Re-engenharia Orientada a Objetos (Gewerton Justino Gomes da
Cruz Silva gewerton at linux.ime.usp.br)
- Idioms para Java (Daniel Cukier - danicuki at
mandic.com.br)
- Utilização de Técnicas de Reflexão em
Grades Computacionais (Marco A S Netto marco.netto at gmail.com)
- Manipulação de bytecode Java (André Breves
- andre.breves at gmail.com)
- Padrões em aplicações de visão
computacional (Carlos da Silva Santos - carlos.s.santos at gmail.com)
- Padrões Reactor e Proactor (Rodrigo di Lorenzo Lopes -
rdllopes at gmail.com)
- Algumas deficiências da linguagem Java e
soluções atuais (Ricardo Yamamoto Abe - ricardoy at
linux.ime.usp.br e Renato Pelizzari da Silva)
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)
- Representação gráfica tridimensional de
ambientes para avaliação acústica usando Java 3D
(projeto AcMus)
jeffscho at linux.ime.usp.br
- 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.
- Suporte a MPI no sistema InteGrade.
- Aplicação Musical Distribuída baseada no Andante.
- Aplicação qualquer baseada em padrões (pelo
menos 4 deles)
- Aplicação OO para PalmPilots (ou outro tipo de
computador de mão)
- controle de participação em congressos (desejo do
professor) (Leandro Inácio de Oliveira Bororo e Bruno Klava
bixusp at linux.ime.usp.br; Igor Rascovsky - igorrascovsky at
yahoo.com.br e Renato Massami Miyasaki - miyasaki at linux.ime.usp.br)
- transmissão de vídeo em tempo real para um Palm
via rede sem fio
- Visualizador de provas tablô (para maiores detalhes envie
email para adolfo at ime.usp.br). O sistema deverá ler arquivos
XML como os disponíveis aqui
e exibir a árvore de prova (Proof Tree) num applet Java
permitindo as seguintes ações:
- Contração e expansão de ramos
- Localização de fórmulas complementares: se
o usuário clicar em "T X " e selecionar a opção
"Procurar complementar", o sistema deve procurar por "F X" no mesmo
ramo e destacá-la caso encontre.
- Identificação de fechamento: cada ramo
deverá ter no seu final um nó extra identificando se
está fechado ou não, e com que fórmula fechou.
- Localização de "superfórmulas": o
usuário poderá digitar uma fórmula (por exemplo
"A&B") e o sistema destacará todas as fórmulas
assinaladas das quais a fórmula é subfórmula.
- Autocad livre em Java (Filipe Madeira e Hugo Corbucci - night at
linux.ime.usp.br)
- Implementação de um sistema para análise de
espectros de radiação gama (Marcelo Francis Máduar
- mmaduar at ipen.br)
- Implementação de jogo Web: "Twenty questions"
(Rodrigo di Lorenzo Lopes - rdllopes at gmail.com)
- Uma arquitetura para busca de recursos em grids computacionais
(Hammurabi Mendes - hammurabi.mendes at gmail.com)
- Jogo de cartas Buraco (Paulo Cheque - paulocheque at gmail.com)
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