Scheduly: um sistema especialista para o escalonamento de disciplinas no IME-USP

Sobre

Aluno: Daniel Pessoa Cardeal

Orientadora: Profa. Dra. Renata Wasserman

Resumo

A construção de grades horárias é um problema tão complexo quanto importante. Ora pelo montante de soluções possíveis, ora pela diversidade de requisitos que devem ser atendidos, é fato que não é fácil elaborar um escalonamento que agrade todo o corpo acadêmico. No DCC do IME-USP isso não é diferente e, com um único professor encarregado da tarefa, o desafio passa a ser quase impossível. Com isso em mente, o presente trabalho objetiva construir um sistema especialista de escalonamento universitário para simplificar o trabalho do professor encarregado e possibilitar a construção de melhores grades para o curso de Bacharelado em Ciência da Computação, bem como para os programas de pós-graduação oferecidos pelo departamento. A ferramenta desenvolvida, chamada scheduly, usa as mais modernas técnicas de pesquisa em lógica simbólica unidas às facilidades da linguagem Python para oferecer um sistema extensível, eficiente e fácil de utilizar para atender as demandas presentes e futuras de escalonamento do instituto.

Abstract

Course scheduling in high education institutions is as crucial as it is challenging. Whether it is the sheer amount of candidate solutions or the conflicting nature of the constraints considered, it is almost impossible to build a schedule that lives up to the expectancy of both teachers and students. Nowadays, at the Computer Science Department of the University of São Paulo, a single specialist is responsible for this gargantuan task, and it can take days or even weeks before finding a good enough solution to the problem. Therefore, this project aims to develop an expert system based on the knowledge gathered by the designed professor, aiming to help build better schedules in a time-efficient manner for both the undergraduate and the graduate courses offered at IME-USP. The resulting tool, called \sysname{}, uses modern techniques in symbolic reasoning paired with the facilities of the Python language to offer a system capable of meeting the present and future institute's scheduling needs.