Quarto Checkpoint 2020

Na quinta-feira, dia 22/09, ocorreu o quarto Checkpoint do Desafio UniSoma 2020! Neste, o Patrick Vasconcelos e a Alana Souza apresentaram sobre relatórios, experiencia do usuário e também responderam todas as perguntas enviadas durante a última semana. Abaixo segue o vídeo da Live do Youtube:


Seguem todas as perguntas e as respectivas respostas de todos os grupos:

1) Suponha a situação na escola 1 na qual podemos mais alocar 5 alunos inscritos. No formulário de inscrição temos apenas 5 alunos inscritos para a Primeira série e 5 alunos inscritos para a Terceira série. Além disso, temos uma turma com 13 alunos já alocados da Primeira série e outra turma com 15 alunos já alocados da Terceira série. Deveríamos alocar os alunos para qual turma? Deveríamos alocar 5 alunos inscritos para a Primeira série (no final teríamos 18 alunos) ou alocar 5 alunos inscritos para a Terceira série (no final teríamos 20 alunos? Ou deveríamos alocar 3 alunos inscritos para a Primeira série (no final teríamos 16 alunos) e 2 alunos inscritos para a Terceira série (no final teríamos 17 alunos também). 

Conforme falado no terceiro checkpoint, havendo vagas em turmas, estas devem ser preenchidas usando a ordem de inscrição no formulário. Portanto, deve-se oferecer as vagas para os 5 primeiros inscritos em turmas que ainda tenham vaga, independente da série.

2) Como alunos de continuidade (aprovados e reprovados) devem ser obrigatoriamente alocados em uma turma, é válido dizer que eles tem que ser alocados primeiro, certo? 

Sim.

3) Após alocarmos esses alunos de continuidade, teríamos, por exemplo, 4 turmas (ZO_9A, ZO_1A, ZO_2A e ZO_3A). Nota-se que todas essas turmas ainda não atingiram a quantidade máxima de alunos por turma, como ainda temos verba, o próximo passa seria preencher essas vagas com alunos de formulário de inscrição conforme a ordem de inscrição, certo?

Sim

4) Ao longo do processo de preencher esses alunos nas turmas correspondentes conforme a ordem de inscrição, nota-se que ZO_9A é a primeira turma a ser já lotada, as outras ainda não estão lotadas. A turma ZO_1A tem 14 alunos. Neste momento, conforme o formulário de inscrição, ainda tem 18 alunos que pretendem estudar no Nono ano, 30 alunos na Primeira série e nenhum estudante que vai estudar na Segunda série nem na Terceira série. Ainda tem verba. O primeiro a ser feito, neste instante, seria preencher com 6 alunos para completar os 20 alunos na turma ZO_1A, certo? 

Sim.

5) Depois disso, notamos que temos as turmas ZO_1A e ZO_9A cheias. Temos ainda 18 alunos no formulário de inscrição que querem estudar no Nono ano e 26 na primeira série. Ainda tem verba, conforme o novo critério de desempate, seria criada uma nova turma para a primeira série, certo? Seriam alocados 20 alunos nessa turma nova da primeira série.

Certo.

6) Depois disso, temos ainda 18 alunos no formulário de inscrição que querem estudar no Nono ano e 6 na primeira série. Ainda tem verba, conforme o novo critério de desempate, seria criada uma nova turma para o Nono ano, certo? Seriam alocados 18 alunos nessa turma nova da primeira série.

Certo.

7) Depois disso, ainda tem verba, temos ainda 6 alunos na primeira série. Não tem mais estudantes que irão cursar Nono ano, Segundo ano, Terceiro ano. Criamos mais uma turma para a primeira série, certo? Seriam alocados 6 alunos para a nova turma da primeira série.

Certo.

8) A sequência de processamento descrita de 2) até 7) está correta?

Sim.

9) Suponha a situação na qual temos apenas uma turma do Nono ano na zona oeste (ZO_9A) em 2020, todos os estudante dessa turma foram aprovados. Desta forma, ao planejar o ano de 2021, a turma ZO_9A seria uma turma que deve ser sugerida? Isto é, podemos considerar a turma ZO_9A como uma nova turma que podemos abrir ou não (conforme a demanda dos inscritos que querem estudar no Nono ano no ano de 2021)? Estamos com esse pensamento, uma vez que a turma ZO_9A apenas será alocada apenas com alunos inscritos. Ou devemos considerar ZO_9A uma turma já criada que apresenta 20 vagas a serem preenchidas com alunos inscritos?

A turma deve ser considerada como já criada.

10) Pensando no novo conceito de empate, suponha a situação na qual as duas maiores demandas são 9o ano da escola 1, com 23 inscritos, e 9o ano da escola 2, com 23 inscritos. Em qual escola deveríamos abrir a nova turma?

Nessa situação, os critérios de escolha são, na ordem: 1) escolher a escola com menos alunos; 2) escolher a escola com menos turmas; 3) se o empate permanecer, a escolha deve ser feita aleatoriamente.

11) Considerando um caso similar ao caso falado no checkpoint do dia 17/09, onde se tem 20 alunos para a nona série, 24 para o primeiro ano e 28 para o terceiro ano. A nova regra não consegue definir qual turma deve ser aberta, já que fazendo uma comparação 2 a 2, cada série leva a melhor em uma delas, o que fazer para os casos de comparação de mais de 2 turmas ao mesmo tempo?

Deve-se olhar as duas séries com maior demanda e decidir entre elas. No caso, seriam avaliados 1o e 3o anos, e escolhido o 1o. Lembramos que a implementação dessa nova regra não é obrigatória. 

12) No exemplo dado por e-mail onde uma turma com 13 alunos teria prioridade sobre uma turma de 18 alunos de uma série avançada. Mas pelas características atuais do problema, ainda sobraria dinheiro para abrir a turma da série avançada com apenas 1 aluno. Não acredito que essa seja a intenção dessas mudanças, então como proceder?

Deve ser aberta a turma, mesmo com apenas um aluno, pois não existe restrição de tamanho mínimo de turma. Cabe à ONG decidir como proceder (aprovar a turma e ir atrás de mais interessando, ou não aprovar e tentar fazer ajustes no espaço físico para alocar esse um aluno em outra turma).

13) Anteriormente, nós perguntamos sobre mudar a planilha de entrada. O motivo para isso foi pensando no futuro da ONG. Nos dados fornecidos para nós, a sétima série aparece após o terceiro ano, como sabemos como está, é fácil contornar no código, mas futuramente, pensando na adição de novas turmas, tanto de séries inferiores quanto uma turma estilo pré-vestibular, a ordem das séries precisa seguir um padrão lógico, e esse padrão seria a ordem que elas aparecem na tabela ser a ordem real das séries. Então, para benefício futuro da ONG, propomos que mudem a ordem de séries que nos foi passada e coloquem na ordem de evolução do aluno.

A ordem real das séries está na tabela “serie”, coluna “ordem”. Vocês podem alterar esses dados, sem problemas. O que pedimos é que não alterem o formato de entrada (e saída). Os dados em si podem ser alterados, inclusive para testar inconsistências e outros problemas.

14) No checkpoint do dia 17/09 também foi falado que o limitante para o máximo de alunos por turma são os professores, visando um melhor atendimento dos alunos. O único limitante para aumentar o número máximo de alunos por turma seria o número de professores disponíveis?

 Parece ter havido um mal entendido, e pedimos desculpas por isso. O número máximo de alunos em uma sala é determinado pelas diretrizes da ONG. Eles acreditam que 20 seja um número adequado.

15) Na descrição do problema nas informações de saída que devem constar no banco SQLite, na descrição da abas turma é necessário colocar o nome da escola e a descrição da série.  Na planilha de entrada dos dados, o nome da escola é acompanhado do “escola_id”, assim como a descrição da série. As informações de saída devem seguir o mesmo padrão, ou seja, ter o nome e o id?

A trilha de modelagem deve escrever o resultado no formato definido no banco SQLite. Assim, deve-se escrever apenas o ID (isso vale para todas as tabelas de saída – prefixo “sol”).

16) No checkpoint do dia 17/09 foi orientado que durante o preenchimento das tabelas de solução, a planilha turma tem uma coluna aprova, onde foi orientado colocar 1 nas turmas antigas e deixar sem valor as turmas novas. Na planilha priorização dos alunos do formulário, existe a coluna “Status”, que pode ser Vai Participar/ Não sabe/ Não vai participar. A trilha de modelagem deve colocar algum valor nessa coluna ou apenas criá-la?

A trilha de modelagem não precisa popular essa coluna.

17) Podemos entregar duas modelagens e fazer comparações entre elas no relatório para entregar no dia 27? 

Você pode enviar as duas soluções e suas comparações, porém uma das soluções deve ser escolhida por vocês como a solução a ser implementada pela ONG.

18) Essas sugestões de relatórios devem estar no relatório para entrega no dia 27, dentro de 5 páginas? 

Sim! Deve estar dentro dessas 5 páginas. 

19) Seria então uma restrição a existência de pelo menos uma turma em cada ano, em cada escola?

Não, é apenas ‘desejável’ que tenha uma turma de cada ano, mas as características do problema já garantem isso, pois sempre terá pelo menos um aluno aprovado passando para o próximo ano, garantindo a existência daquela turma. Apenas as turmas de nono ano pré-existentes são obrigatórias, já que estas sempre vão estar preenchidas com candidatos do formulário (se houverem candidatos suficientes para preencher a demanda dessa série, claro). Ou seja, se existirem duas turmas pré-existentes mas apenas candidatos para uma, não é necessário manter as duas.

20) Situação: em uma escola pré-existem duas turmas cheias do 1ºano e só uma de 2ºano; se nenhum aluno do 1ºano reprovou (ou seja, todos deveriam ir pro 2ºano) mas possibilita_abertura_novas_turmas = 0; devo ignorar a regra que todos os alunos matriculados tem que ser alocados ou devo ignorar que não posso abrir turmas novas? Porque se possibilita_abertura_novas_turmas = 0, quer dizer que não poderia mais abrir mais uma turma do 2 ano.

O fato de ter que alocar os alunos do primeiro ano no segundo é mais importante que não possibilitar novas turmas. Nesse caso, não poderia criar turmas sugeridas só com candidatos, por exemplo, mas os alunos de continuidade devem ser atendidos.

Estamos a disposição para responder as próximas dúvidas.