Propostas Atribuidas 2023/2024

DEI - FCTUC
Gerado a 2024-05-17 09:24:26 (Europe/Lisbon).
Voltar

Titulo Estágio

Mooshak-as-a-Service

Áreas de especialidade

Engenharia de Software

Sistemas Inteligentes

Local do Estágio

DEI

Enquadramento

Mooshak is a software that can evaluate single-file programs by testing them with one or more input files and checking if they produce the correct output. Mooshak is used in multiple settings, including in the classroom for real-time evaluation of students' solutions, but also for programming contests that bring together students, who compete to solve as many computer programming problems as they can, often difficult problems, in the shortest possible time frame. These programming events are considerably popular and are organized all around the world by the International Collegiate Programming Contest (ICPC) and respective subcommittees. One of the problems with events like programming contests or evaluation exams in programming courses has to do with the hardware and complex configurations they require. For example, they need a powerful server, client machines for students, configured with exactly the same software, and a closed network, to prevent students from reaching out to the Internet during the evaluation or competition. A jury must also have access to the server to observe the results and, sometimes, an external open practice is also running for invited or other participants.

In this internship, we propose to create all the virtualized hardware and respective software configurations for such an event to take place online, using cloud resources. The idea is to ensure that the most demanding resources are always available through a public cloud provider, while the host of the event only needs to provide thin clients to access the cloud resources. The overall solution should take advantage of state-of-the-art cloud solutions, including configuration and orchestration management tools available, to ensure that everything works with little more than a few mouse clicks and a credit card number.

Objetivo

The ultimate goal of this work is to create the entire Mooshak-as-a-Service solution, from the early requirements study to an actual implementation on a public cloud, like AWS, Azure, or a similar one. The internship should also include a test with a reasonable number of participants. This work should comprise a preliminary evaluation of costs, to compare different options, for example, AWS virtual workspaces, vs. virtual machines.

Plano de Trabalhos - Semestre 1

- Evaluate the costs (1 month)
- Define system requirements and architecture (1 month).
- Write intermediate report (1 month).

Plano de Trabalhos - Semestre 2

- Implement the solution (3 months).
- Perform Tests (1 month).
- Refine the solution (1 month).
- Write final report (1 month).

Condições

- The work should take place at the Centre for Informatics and Systems of the University of Coimbra (CISUC) in the Software and Systems Engineering Group at the Department of Informatics Engineering of the University of Coimbra.

Orientador

Filipe Araújo/Alexandre Jesus
filipius@uc.pt 📩