Un mot croisé typique implique une grille avec des carrés noirs, à ne pas remplir par le solveur, et des carrés blancs utilisés par le solveur pour saisir ses réponses. L'entrée vient du solveur qui élabore la réponse aux indices donnés. Ces indices ont une orientation, une longueur et un numéro associés à leur position relative dans la grille. La différence fondamentale entre des mots croisés typiques et des mots croisés énigmatiques réside dans les indices eux-mêmes.
Les mots croisés énigmatiques sont un type de puzzle populaire que l’on trouve dans de nombreuses régions du monde. La plupart des journaux nationaux du Commonwealth publient quotidiennement des mots croisés énigmatiques de difficulté variable.
Les mots croisés énigmatiques sont un style unique de mots croisés, dans lequel la réponse à chaque indice donné est un puzzle de mots. Une réponse ne peut être obtenue que si l’indice énigmatique est lu correctement. Souvent, lorsque l’indice est lu en surface, l’indice n’a aucun sens. Le défi est de trouver un moyen par lequel la lecture de l’indice mène à une solution. Pour faciliter la résolution de mots croisés énigmatiques, les indices sont écrits dans des catégories spécifiques, telles que les inversions et les anagrammes, qui ont des caractéristiques individuelles.
De nombreux utilisateurs peuvent souvent devenir frustrés lorsqu’un indice semble insoluble. C’est la vaste gamme d’indices possibles qui rend souvent la résolution non seulement difficile, mais aussi intéressante.
Fondamentalement, l’objectif général de ce projet est de développer un logiciel capable de résoudre n’importe quel type donné d’indices de mots croisés énigmatiques.
Au sein de ce projet de groupe, trois volets seront livrés. Le premier livrable est le logiciel final et fonctionnel. Tandis que les deuxième et troisième livrables sont des rapports écrits. Le deuxième livrable est un rapport écrit de groupe comprenant tous les détails de recherche et de mise en œuvre du produit logiciel. Le livrable final sera l’analyse individuelle de chaque membre et l’évolution du projet dans son ensemble.
Sur la base du contexte donné et des informations sur le problème, il pourrait être possible de développer un produit capable de résoudre le problème donné.
Le produit final serait un logiciel capable de comprendre un indice donné et d’essayer de déduire quelle est la réponse à cet indice. Cela nécessiterait que le logiciel dispose d'une certaine forme de composant de traitement du langage naturel ainsi que d'un ou plusieurs algorithmes de mots croisés énigmatiques. Une fois qu'un indice a été correctement « deviné », il peut simplement être restitué à l'utilisateur. C'est sur la "devination" de la réponse que ce projet se concentrera principalement.
Afin d’obtenir une couverture utilisateur maximale, le logiciel doit disposer d’une interface facile à utiliser. La principale raison en est que les connaissances en informatique
Dans ce module (CMP3410), les apprenants sont formés en groupes de trois à cinq développeurs et se voient attribuer des tâches spécifiques de développement logiciel, qui aboutissent à la production d'un logiciel fonctionnel. Dans la mesure du possible, ces projets seront destinés à de « vrais » clients, souvent les entreprises dans lesquelles les étudiants ont effectué leur stage industriel. Un membre du personnel académique assume un rôle actif de chef de projet pour chaque groupe et fournit un soutien pédagogique dans l'examen des processus impliqués. En particulier, le tuteur mène des recherches sur les méthodes et techniques de gestion de projet pertinentes pour le développement de logiciels. Les groupes utilisent des outils et environnements logiciels modernes dans la conduite de leur projet.
Les principaux objectifs du module sont :