Relatório Final do

II IME SOFTEST

Concurso de Software dos Alunos do IME

23 a 25 de outubro de 1996

Carlos E. Ferreira

1 de novembro de 1996



Introdução

O Departamento de Ciência da Computação do IME USP realizou no período de 23 a 25 de outubro de 1996 o II IME SOFTEST um concurso de software dos alunos do IME USP. O concurso foi aberto a todos os alunos de graduação e pós graduação do IME USP.

Nesta segunda edição do concurso decidimos abrir duas categorias para inscrição dos trabalhos:

Na primeira categoria incluíram-se trabalhos desenvolvidos em disciplinas de graduação e pós-graduação, assim como no programa de mestrado ou iniciação científica. Na categoria sem orientação tínhamos a expectativa de muitas inscrições, e dividimos a priori em três sub-categorias: jogos, aplicativos e ferramentas. Infelizmente houve apenas 4 inscrições nessa categoria, e os trabalhos foram julgados em um único grupo.

Novamente não sugerimos nenhum tema para o concurso, e aceitamos trabalhos escritos em qualquer linguagem de programação e para qualquer plataforma. Nesse ano houve um aumento sensível na diversidade dos trabalhos, tanto na plataforma de desenvolvimento quanto na área de aplicação.

O primeiro anúncio do concurso foi feito em 3 de junho de 1996, e os trabalhos deveriam ser entregues até 9 de setembro. A idéia era permitir que os alunos aproveitassem o período de férias para desenvolver seus trabalhos. O período grande entre a data de entrega e as apresentações serviria para a avaliação dos mesmos.

Ao fim do prazo o número de trabalhos inscritos era pequeno, e resolvemos adiar o prazo de entrega por duas semanas. Esse adiamento, apesar de indesejável, teve um impacto bastante positivo no número de trabalhos inscritos.

Tivemos, no total, 16 inscrições, das quais 4 eram trabalhos sem orientação e 12 orientados (destes 5 foram desenvolvidos no programa de iniciação científica, 3 no programa de mestrado e 4 eram trabalhos de disciplinas de graduação). Nas tabelas abaixo mostramos a distribuição dos programas quanto à plataforma de desenvolvimento e a área de aplicação dos mesmos:

DOS 6
Windows 1
Linux 1
SunOS/Solaris 4
Macintosh 1
PowerXplorer 2
HTML 1
Plataforma de execução dos programas

C ou Concert/C 8
C++ 6
HTML 1
Clipper 1
VB (interface) 1
Linguagem de programação utilizada

Simulação Matemática 2
Computação Gráfica 2
Otimização Combinatória 3
Processamento de Imagens 2
HTML 1
Jogos 1
Processamento Paralelo 2
Processamento Distribuído 2
Bancos de Dados 1
Área da aplicação dos programas

As apresentações dos alunos foram distribuídas nos três dias de evento e tiveram um público médio de 15 a 20 pessoas. As outras atividades do SOFTEST também despertaram um interesse em torno de 15 pessoas.

Organização do evento

Alguns dos destaques positivos da organização do SOFTEST nesse ano estão listados a seguir. Por outro lado, no primeiro dia do SOFTEST usamos a sala 144B, que dispunha de conexão internet. Esta sala, apesar de ser uma das consideradas salas-nobre do instituto, não tem a menor condição de abrigar um evento desse tipo.

Para o próximo ano precisamos conseguir a conexão do auditório Jacy Monteiro à rede. Além disso, seria interessante se o departamento dispusesse de retroprojetores mais potentes para serem usados com o datashow. Outra possibilidade é a aquisição de um canhão (como o do CEC ).

Trabalhos inscritos

A seguir fazemos uma descrição sucinta dos trabalhos inscritos, destacando os que foram premiados.

Centuris 1.0.1 - Carlos D. C. Alves, Aritanan B.G. Gruber

Esse pacote foi desenvolvido na disciplina MAC 431 - Processamento Paralelo e Distribuído, ministrada pelo Prof. Markus Endler no primeiro semestre de 1996. Trata-se de um software simulador do comportamento de sistemas de partículas, e permite através de interface gráfica a visualização do comportamento das partículas. O software foi elogiado pela qualidade da apresentação e interface com o usuário, e mereceu receber uma menção honrosa.

Sistema distribuído de Computação - Glauco G. Bordin, Marco A. L. Santos

O programa foi desenvolvido na disciplina MAC 431 - Processamento Paralelo e Distribuído, ministrada pelo Prof. Markus Endler no primeiro semestre de 1996. É um software para comunicação client-server, desenvolvido usando metodologia orientada a objetos e permite criar grupos, enviar broadcast, etc. Os avaliadores do projeto destacaram a qualidade da modularização do software.

Bibtool para WWW - Hamilton H. Nishimura, Mauricio M. Navate, Sergio L. Oliveira

Este projeto faz parte do programa de iniciação científica e está sendo orientado pelo Prof. Marco D. Gubitoso. Os alunos estão desenvolvendo em HTML ferramentas para consulta e alteração de referências bibliográficas. No futuro este programa será usado na manutenção atualizada da lista de publicações dos docentes do IME. O trabalho foi enfaticamente elogiado pelos avaliadores, que destacaram a aplicação prática do produto, assim como a qualidade da apresentação gráfica. O trabalho recebeu uma menção honrosa

Algoritmos para List Ranking - Fabiana S. Santana, Mario Y. Yamauti

O programa foi desenvolvido como parte do trabalho de mestrado da Fabiana e de iniciação científica do Mario, ambos alunos do Prof. Siang W. Song. É uma implementação de um algoritmo para list ranking em máquinas paralelas com memória distribuída, desenvolvida para a máquina Parsytec PowerXplorer. Foi destacado pelos avaliadores a qualidade da documentação apresentada, assim como a robustez e modularização do software. Por esses motivos o trabalho recebeu uma menção honrosa.

Otimize - Alexandre C. G. Leite, Bruno Ohana

Os alunos desenvolveram esse programa sem orientação de professores do instituto. É um pacote de rotinas que roda em Windows para manipulação e resolução de problemas modelados por grafos. O trabalho foi bastante elogiado pelos avaliadores, que ressaltaram a qualidade da apresentação e documentação do mesmo. Por esses motivos o software recebeu uma menção honrosa.

Extensão da MMach - Francisco Zampirolli

Este projeto foi desenvolvido como parte do programa de mestrado do aluno, orientado pelo Prof. Junior Barrera. A MMach é uma biblioteca de rotinas usadas por especialistas da área de processamento de imagens para resolver problemas através da morfolologia matemática. O trabalho apresentado é uma extensão da biblioteca que trabalha sobre grafos ao invés de trabalhar sobre imagens. Os avaliadores consideraram o trabalho de ótima qualidade e foram unânimes ao indicá-lo para receber o prêmio do concurso.

Algoritmo Genético para o TSP - Dan Faccio, Ricardo R. Massaro, Sergio G. Tavares

Este projeto não foi orientado por professores do instituto. É uma implementação em C de um algoritmo heurístico para o problema do caixeiro viajante que usa a idéia de algoritmos genéticos. Diversos aspectos interessantes do software foram apontados pelos avaliadores, como a interface gráfica, a boa documentação e modularização.

Gerônimo - Alexandre Moron, Francisco Gatto, Julio Bello, Marcio Freire, Marcos Martins, Rodrigo Valle

O mesmo grupo de alunos desenvolveu no ano passado o IME Force, que foi um dos vencedores do I IME SOFTEST. Nesse ano, sem orientação de professores do instituto, eles desenvolveram um novo jogo, que pretende ser jogado de forma distribuída, em diversos computadores diferentes. Apresentar conceitos e dificuldades que surgem em programação distribuída de forma descontraída é a grande virtude do programa, que também foi elogiado pela qualidade gráfica quase profissional do jogo. Os avaliadores indicaram o programa para receber uma menção honrosa .

MJ - Fractais - Ricardo R. Massaro

O programa foi desenvolvido como parte do programa de iniciação científica do aluno, orientado pelo Prof. Eduardo Almeida Prado (MAT). É uma ferramenta desenvolvida em C para o estudo matemático de polinômios que geram famílias de fractais Mandelbrot e Julia. O software é de excelente qualidade, segundo seus avaliadores, que destacaram a complexidade dos algoritmos e estruturas de dados envolvidas. O programa foi premiado com uma menção honrosa .

Rodamol - Francisco D. Borges

O autor do programa é aluno do curso de Ciências Moleculares da Pró-reitoria de Graduação, e desenvolveu o software durante a disciplina de Computação desse curso, ministrada no primeiro semestre de 1996 pelo Prof. Marco D. Gubitoso. É um software de computação gráfica, que, no caso da aplicação que o estudante se propôs, permite a visualização de moléculas. A interface gráfica foi bastante elogiada pelos avaliadores.

Simulador Matemático - Alexandre Hamada, Raquel Montes

Esse programa foi desenvolvido durante a disciplina MAC 211 - Laboratório de Programação, oferecida no primeiro semestre de 1996 pelo Prof. Marco D. Gubitoso. É um simulador matemático, capaz de calcular expressões matemáticas, baseadas nos padrões do C, bem como produzir gráficos de funções. O programa inclui um editor de textos e um interpretador de um subconjunto do C. A qualidade da documentação, modularização e interface com o usuário foram destacados pelos avaliadores. O programa recebeu uma menção honrosa .

Pacote de Cadastramento - Paulo C. F. Cheng

O aluno não teve orientação na confecção do programa de professores do instituto. Trata-se de um pacote escrito em clipper para cadastro em bancos de dados. A interface com o usuário está muito bem feita, segundo os avaliadores. Também se destaca a modularização do software desenvolvido.

RTMAC - Ray Tracing - Luciano Silva

O software faz parte do programa de mestrado do aluno, que é orientado pelo Prof. Antonio E. Fabris (MAP). É um pacote de ray tracing projetado para as características da plataforma Macintosh. Os avaliadores reconheceram a boa qualidade da documentação e modularização do software, que inclui algoritmos bastante intrincados. A apresentação durante o SOFTEST esteve entre as melhores.

CMAN - Gustavo G. Ayub

O projeto foi desenvolvido como parte do programa de iniciação científica do aluno, orientado pelo Prof. Markus Endler. Trata-se de um gerenciador de configuração para aplicações Concert/C. A idéia é proporcionar ao usuário um mecanismo de visualização e manipulação da estrutura de interação de seus processos. Os avaliadores consideraram que o programa foi bem escrito e destacaram a complexidade dos algoritmos e estruturas envolvidas.

Pacote de Softwares para Heurísticas do TSP - Glauco G. Bordin

Este projeto foi desenvolvido como parte do programa de iniciação científica do aluno, orientado pelo Prof. Carlos E. Ferreira. É um pacote de rotinas escritas em C++ que inclui um gerador de grafos aleatórios e heurísticas desenvolvidas para uma variante do problema do caixeiro viajante. Os avaliadores destacaram a preocupação do aluno em tornar o programa de fácil leitura através de ótima documentação e modularização.

MAP - Eric Soares Costa, Lucas A.M. Santos

O software foi desenvolvido sob orientação do Prof. Marco D. Gubitoso e faz parte da iniciação científica dos alunos. É um pacote de processamento de imagens que faz limpeza de ruído espalhando a luz para pixels próximos de pixels acesos. A estratégia utilizada é baseada em fluxos máximos. Os avaliadores consideraram o software de boa qualidade, e destacaram a preocupação com a portabilidade demonstrada pelos alunos. O programa foi premiado através de uma menção honrosa .

Outros eventos

Além das apresentações dos alunos, nesse ano o SOFTEST contou com a realização de três eventos:

Conclusão

Decisivamente o SOFTEST foi uma iniciativa que veio para ficar. O envolvimento dos alunos e professores cresceu muito do ano passado e tende a ser maior ainda em 97. Agradecemos novamente o patrocínio do MAC (através da compra de livros entregues aos premiados) e da empresa MBI - Mayer & Bunge Informática. Agradecemos também a participação dos docentes do departamento na avaliação e apresentação dos programas.

Dispomos de cópias dos executáveis dos programas para os interessados. A grande maioria dos participantes (14 dos 16) disponibilizou também os fontes.