Oficina 2

Oficina 2 [editar]

Objetivo:

Criar uma representação interna que facilite a comparação entre programas em Python. As ideias resultantes dessa oficina serão utilizadas no próximo EP.

 

Descrição:

Durante a 1ª Oficina, vários grupos propuseram pré-processar os arquivos para transformá-los em algo mais fácil de comparar. Por exemplo, eliminando os comentários, podemos comparar apenas o código.

Na 2ª Oficina, vocês discutirão como pode ser a representação intermediária que vocês chamaram de "esqueleto" (ou "forma canônica"). A ideia é converter cada programa em Python para um esqueleto e comparar todos os programs usando os seus esqueletos. Por exemplo, foi sugerido que  o esqueleto de um programa não deveria conter comentários.

Na 3ª Oficina, vocês ...

 

O que você deve fazer:

Tente imaginar outras transformações que podemos aplicar nos arquivos de entrada para obter uma forma canônica mais poderosa, capaz de detectar outros casos de plágio descritos no wiki (aliás, lembre-se que você pode continuar incluindo outros casos se desejar). Por exemplo, será que podemos transformar os nomes das variáveis, funções e classes para uma forma canônica? 

Se você tiver alguma sugestão de transformação, descreva a sua ideia na seção de comentários desse wiki. Se desejar, pode até propor uma solução.

Lembre-se que, por ser um brainstorm, nenhuma ideia é ruim, todas elas são bem vindas.