1
resposta

Desafio: Automatizando tarefas por Wagner Feitosa

Para concluir esse projeto, precisamos entender como funciona os encontros online.
• Precisamos entender se a transmissão será aberta ou precisará de login para acessar, o ideal é ser um evento fechado para coleta mais precisas de dados
• Nossos dados principais serão os nomes de participantes que estão logados na transmissão ao vivo
• O algoritmo criará um banco de dados e marcar o tempo de tela de cada participante individualmente em tempo real
• Vamos definir uma meta de tempo como objetivo para o algoritmo entender quem conseguiu assistir até o final
• Ao final da transmissão o participante atingir a meta estimada será colocado em uma lista de “aprovado”
• Caso o participante não alcance o tempo de tela estimado irá para a lista de “reprovados”
• Todos os participantes da lista de aprovados receberão o e-mail de agradecimento por terem concluído o encontro
• Podemos ir além e enviar um e-mail para quem não conseguiu participar também e perguntar o motivo de não acompanhar a aula completa
• Todos os e-mails podem agradecer de uma maneira específica para cada lista e pedir sugestões para melhorar o conteúdo

Processo em linguagem natural:
• O Participante entra no evento ao vivo por meio do seu login
• Nosso algoritmo grava todas as entradas
• Enquanto ocorre o evento nosso algoritmo está cronometrando e marcando o tempo de cada participante
• Ao final do evento o algoritmo imprime duas listas - aprovados e reprovados
• Nosso time de marketing recebe as listas e envia os e-mails necessários

1 resposta

Olá, Wagner. Como vai?

Excelente estruturação do problema! Você aplicou conceitos fundamentais do Pensamento Computacional, especialmente a Decomposição (ao quebrar o evento em etapas menores) e o Design de Algoritmos (ao definir o fluxo lógico de aprovação).

Essa lógica de monitoramento de tempo de tela é muito utilizada em plataformas de educação a distância (LMS) para emissão de certificados. Para complementar seu projeto, vamos analisar como esses passos se traduzem em lógica de programação:

1. Estrutura de Dados e Verificação
Para o seu algoritmo funcionar, você precisará de um dicionário ou banco de dados que armazene o ID do Participante e o seu Tempo Acumulado.

2. Lógica de Repetição e Condicional
No coração do seu algoritmo, teremos um laço de repetição que acontece enquanto a transmissão está ativa. A lógica principal seria:

# Exemplo de lógica para cada participante
Se tempo_do_participante >= meta_estimada:
    adicionar_na_lista("Aprovados")
    enviar_email_agradecimento_conclusao()
Senao:
    adicionar_na_lista("Reprovados")
    enviar_email_pesquisa_motivo()

Dicas de Boas Práticas e Refinamento:

  • Tratamento de Quedas de Conexão: No mundo real, um participante pode cair e voltar. O algoritmo deve ser capaz de somar os períodos (Exemplo: 20min + 15min) em vez de reiniciar o cronômetro do zero.
  • Automação de E-mails: Você mencionou que o time de marketing recebe as listas. Uma melhoria seria o próprio algoritmo integrar com uma API de e-mail (como SendGrid ou Mailchimp) para realizar o disparo automático assim que o evento for encerrado, garantindo agilidade.
  • Feedback Construtivo: A ideia de perguntar o motivo do abandono na lista de "reprovados" é uma excelente estratégia de Experiência do Usuário (UX), pois ajuda a identificar se o conteúdo estava cansativo ou se houve problemas técnicos na transmissão.

Seu processo em linguagem natural está muito claro e serve como um excelente guia (pseudocódigo) para a implementação em qualquer linguagem de programação, como Python ou JavaScript.

Espero que possa ter lhe ajudado!