Uma palavra cruzada típica envolve uma grade com quadrados pretos, que não devem ser preenchidos pelo solucionador, e quadrados brancos usados pelo solucionador para inserir suas respostas. A entrada vem do solucionador que elabora a resposta para as pistas fornecidas. Estas pistas têm uma orientação, um comprimento e um número associado à sua posição relacionada dentro da grade. A diferença fundamental entre uma palavra cruzada típica e uma palavra cruzada enigmática são as próprias pistas.
Palavras cruzadas enigmáticas são um tipo popular de quebra-cabeça encontrado em muitas partes do mundo. A maioria dos jornais nacionais da Commonwealth imprimem diariamente palavras cruzadas enigmáticas de dificuldade variada.
Palavras cruzadas enigmáticas são um estilo único de palavras cruzadas, em que a resposta para cada pista dada é um quebra-cabeça de palavras. Uma resposta só pode ser obtida se a pista enigmática for lida da maneira correta. Freqüentemente, quando a pista é lida superficialmente, ela não faz sentido algum. O desafio é encontrar uma forma pela qual a leitura da pista leve a uma solução. Para ajudar na resolução de palavras cruzadas enigmáticas, as pistas são escritas em categorias específicas, como reversões e anagramas, que possuem características individuais.
Muitos usuários muitas vezes ficam frustrados quando uma pista parece insolúvel. É a vasta gama de pistas possíveis que muitas vezes torna a resolução não apenas desafiadora, mas também interessante.
Fundamentalmente, o objetivo geral deste projeto é desenvolver um software que seja capaz de resolver qualquer tipo de pista enigmática de palavras cruzadas.
Dentro deste projeto de grupo, três componentes serão entregues. A primeira entrega é o software final e funcional. Enquanto o segundo e terceiro resultados são relatórios escritos. A segunda entrega é um relatório escrito em grupo que compreende todos os detalhes de pesquisa e implementação do produto de software. A entrega final será a análise individual de cada membro e a evolução do projeto como um todo.
Com base nos antecedentes fornecidos e nas informações do problema, seria possível desenvolver um produto capaz de resolver o problema em questão.
O produto final seria um software capaz de compreender uma determinada pista e tentar deduzir qual é a resposta para a pista. Isso exigiria que o software tivesse algum tipo de componente de processamento de linguagem natural, bem como um ou mais algoritmos enigmáticos de palavras cruzadas. Depois que uma pista for "adivinhada" corretamente, ela pode simplesmente ser devolvida ao usuário. É na “adivinhação” da resposta que este projeto se concentrará principalmente.
Para obter cobertura máxima do usuário, o software deve ter uma interface fácil de usar. A principal razão para isso é que o conhecimento de informática
Neste módulo (CMP3410) os alunos são formados em grupos de três a cinco desenvolvedores e recebem tarefas específicas de desenvolvimento de software, que culminam na produção de um software funcional. Sempre que possível, estes projectos serão para clientes “reais”, muitas vezes as empresas onde os estudantes trabalharam nos seus estágios industriais. Um membro do corpo docente assume um papel ativo como gestor de projeto de cada grupo e fornece apoio tutorial na análise dos processos envolvidos. Em particular, o tutor conduz a investigação de métodos e técnicas de gerenciamento de projetos relevantes para o desenvolvimento de software. Os grupos utilizam modernas ferramentas de software e ambientes na condução de seus projetos.
Os principais objetivos do módulo são: