GSoC 2025
omegaUp está participando do Google Summer of Code 2025! Procuramos alunos motivados para contribuir com nossa plataforma educacional de código aberto.
Primeiros passos
Incentivamos você a visitar omegaup.org e omegaup.com para conhecer nossa plataforma e recursos. Esta é uma Lista de Ideias - esperamos que você complete a maioria dos detalhes de sua proposta e você também pode propor sua própria ideia de projeto.
Ideias de projetos
Assistente de ensino de IA
Breve descrição: Recentemente, adicionamos a função de Assistente de Ensino (humano), que tem a capacidade de fornecer revisões de código aos alunos e responder a perguntas de esclarecimento feitas pelos alunos sobre as tarefas. Neste projeto queremos criar um bot que possa responder esclarecimentos e realizar revisões de código de forma proativa e mediante solicitação. Isso ajudará a estreitar o ciclo de feedback dos alunos para que possam crescer mais rapidamente.
Resultados esperados: omegaUp possui um bot AI Teaching Assistant que pode responder perguntas de esclarecimento e realizar revisões de código, de forma proativa e mediante solicitação.
| Atributo | Detalhes |
|---|---|
| Habilidades | Python, PHP, MySQL, LLM Prompt Engineering, APIs REST |
| Tamanho | 350 horas |
| Nível | Avançado |
| Mentores | Aritra8438, heduenas |
Gere editoriais problemáticos usando IA
Breve descrição: omegaUp possui uma base de problemas com milhares de problemas públicos, a grande maioria deles não possui uma solução oficial para os alunos lerem e aprenderem quando não conseguem resolver o problema sozinhos. Este projeto consiste em utilizar IA generativa e validar soluções oficiais para milhares de problemas públicos. A IA generativa também deve ser usada para validar o editorial, solicitando a geração de código com base no editorial.
Resultados esperados: Uma elevada percentagem (> 70%) de problemas existentes e novos deveria ter um editorial oficial que foi gerado e validado utilizando IA.
| Atributo | Detalhes |
|---|---|
| Habilidades | Python, LLM Prompt Engineering, PHP, Vue.js |
| Tamanho | 350 horas |
| Nível | Avançado |
| Mentores | heduenas, pabo99 |
Cursos públicos no GitHub
Breve descrição: omegaUp oferece muitos cursos públicos em espanhol abertos a todos. Eles foram gerenciados exclusivamente pela equipe do omegaUp, mas queremos poder gerenciá-los através do GitHub para que qualquer pessoa possa sugerir melhorias no conteúdo (por meio de solicitações pull). A Olimpíada Mexicana de Informática já faz isso em um curso público que oferece através do omegaUp. Precisamos replicar o que eles têm em nossos cursos.
Resultados esperados: O conteúdo dos cursos públicos oferecidos pelo omegaUp é gerenciado através do GitHub e qualquer pessoa pode propor melhorias através de pull requests.
| Atributo | Detalhes |
|---|---|
| Habilidades | git/github, Python, Integração Contínua, APIs REST |
| Tamanho | 175 horas |
| Nível | Médio a Avançado |
| Mentores | heduenas, tvanessa |
Otimização de Cronjob
Breve descrição: Temos vários cronjobs responsáveis por coisas como atualizar classificações de alunos/escolas, conceder distintivos a alunos, etc. Queremos torná-los mais eficientes, aumentar a cobertura de testes e melhorar a capacidade de depuração.
Resultados esperados: Cronjobs tornam-se muito mais enxutos, rápidos e fáceis de manter.
| Atributo | Detalhes |
|---|---|
| Habilidades | Python, MySQL, PHP, testes unitários e de integração |
| Tamanho | 350 horas |
| Nível | Alto |
| Mentores | carlosabcs, tvanessa |
Integrar o Problem Creator com fluxos de trabalho de criação/edição de problemas
Breve descrição: Um projeto do GSoC do ano passado introduziu o Problem Creator, um editor visual que ajuda os autores de problemas a criar e editar problemas com mais facilidade. No entanto, o Problem Creator ainda não está totalmente integrado ao omegaUp. Atualmente os autores devem:
- Escreva o problema usando o Problem Creator
- Baixe-o como um arquivo
.zip - Faça upload por meio de uma UI separada para adicioná-lo à plataforma
O processo de edição é igualmente complicado, exigindo que os autores baixem um .zip, carreguem-no no Problem Creator, façam alterações, baixem novamente e carreguem novamente para atualizar. Este ano, pretendemos agilizar esses fluxos de trabalho integrando totalmente o Problem Creator com os recursos de criação e edição de problemas do omegaUp.
Resultados esperados:
Os autores terão acesso a um fluxo de trabalho simples e direto para criar e editar problemas sem a necessidade de lidar com arquivos .zip.
| Atributo | Detalhes |
|---|---|
| Habilidades | Vue.js, TypeScript, PHP |
| Tamanho | 350 horas |
| Nível | Médio |
| Mentores | Aritra8438, carlosabcs |
Medição de cobertura de código para testes ponta a ponta
Breve descrição: Recentemente migramos nossos testes de integração para Cypress. Usamos Codecov para medir e aplicar a cobertura de teste, no entanto, nossa configuração do Codecov no momento leva em consideração apenas testes unitários e não testes ponta a ponta. Neste projeto, queremos que o Codecov também meça a cobertura do teste Cypress para que possamos impor níveis mínimos de cobertura.
Resultados esperados: Codecov relata cobertura de teste Cypress permitindo que os níveis de cobertura sejam monitorados e níveis mínimos de cobertura sejam aplicados.
| Atributo | Detalhes |
|---|---|
| Habilidades | Teste de integração, TypeScript, PHP |
| Tamanho | 90 horas |
| Nível | Médio |
| Mentores | pabo99, heduenas |
Processo de inscrição
Nosso processo de inscrição consiste em quatro fases. Você deve completar cada fase em ordem.
Fase 1: Conclua nosso teste
- Crie uma conta em omegaUp.com
- Participe do nosso Teste GSoC 2025
- Resolva pelo menos 2 de 3 problemas para passar
Sem plágio
No caso de plágio, desqualificaremos os candidatos envolvidos. Por favor, não compartilhe suas soluções com seus colegas candidatos.
Fase 2: Familiarize-se com nossa base de código
Conclua a Fase 1 antes de iniciar esta fase.
- Siga o guia de configuração do ambiente de desenvolvimento
- Encontre um bug interessante em nosso rastreador de problemas, especialmente em "Bom primeiro problema", ou entre em contato pelo Discord e ajudaremos a encontrar uma boa opção
- Implemente sua correção e envie-a para revisão
- Combine pelo menos um PR antes de passar para a Fase 3
Idioma
A maioria das conversas no rastreador de problemas é em espanhol, mas fique à vontade para mudar a conversa para inglês sobre qualquer assunto. O Google Tradutor faz um trabalho decente ao traduzir conteúdo em espanhol.
Fase 3: Escreva sua proposta
Nesta etapa você deve estar familiarizado com nosso ambiente de desenvolvimento e código.
- Crie um documento de design usando este modelo
- Se estiver trabalhando em vários projetos, mencione isso em sua inscrição, mas inclua apenas um design
- Envie-nos seu rascunho para feedback por meio este formulário (certifique-se de que qualquer pessoa com o link possa ver e comentar)
- Não forneceremos feedback aos candidatos que não tenham concluído as fases 1 ou 2
- Envie sua proposta final para Google
Fase 4: Entrevista
Após o envio dos documentos de design, selecionaremos uma pequena lista de candidatos e agendaremos entrevistas por telefone. A entrevista consistirá em questões comportamentais e técnicas.
Importante
Consideraremos apenas candidatos que concluíram todas as 4 fases da inscrição.
Comunicações
Nosso principal meio de comunicação é o nosso canal Discord. Convidamos você a participar!
Para perguntas sobre o ambiente de desenvolvimento, base de código ou como funciona o processo de aplicação GSoC, siga nosso Guia de ajuda.
Perguntas frequentes
O script de instalação do ambiente de desenvolvimento está gerando um erro
Siga nosso Guia de ajuda para resolver seu problema de maneira eficaz.
Devo falar espanhol?
Claro que não. Tentamos o nosso melhor para sermos o mais inclusivos possível para os voluntários não espanhóis. Fique à vontade para usar o inglês em todos os nossos canais de comunicação e em seu código. O Google Translate faz um trabalho decente ao traduzir conteúdo em espanhol em nossa página GitHub.
Quantas vagas sua organização terá para o GSoC 2025?
Pediremos 2 alunos este ano, mas ainda não há garantia. Saberemos com certeza em meados de maio de 2025.
Como você escolhe seus alunos?
Analisamos cada inscrição e escolhemos os candidatos com base em:1. Nível de habilidade - Demonstrado por meio de PRs impactantes em nossos repositórios (recomendado) ou experiência anterior 2. Plano de trabalho - Design de alto nível seguindo nosso modelo de proposta 3. Adequação cultural – Pessoas que promovem a inclusão e ajudam proativamente os colegas no Discord
Há algum aplicativo de exemplo que eu possa ver?
Duas boas amostras são:
- [proposta de 2018] de Carlos Cordova (https://docs.google.com/document/d/1ZEnC33hW4WjZ1WcsDjEtuIeNPuvW62q_hBFjhFosLOI/edit#heading=h.30j0zll)
- [proposta de 2018] de Vincent Fango (https://docs.google.com/document/d/1ei3AV1ByLpONbTgO3Grnl8aVOIL2hwz48IxLmDyuOWA/edit#heading=h.gjdgxs)
Posso propor uma solução para vários problemas da lista de ideias?
Este ano pedimos que você inclua o design de apenas um projeto em sua inscrição. Se você terminar mais cedo durante a fase de codificação, poderá trabalhar em projetos adicionais.
Haverá mais oportunidades no omegaUp se eu não for selecionado para o GSoC?
Claro! Sempre recebemos novos voluntários interessados em apoiar nossos esforços. Na época em que os resultados forem divulgados, anunciaremos um plano para integrar os interessados em se tornarem voluntários.
Como acelerar
Se você estiver interessado em passar este verão colaborando conosco:
- Visite omegaup.org para conhecer nosso trabalho, visão e as pessoas beneficiadas
- Leia este artigo publicado por nossos cofundadores sobre a arquitetura e design de nossa plataforma
Documentação Relacionada
- Configuração de desenvolvimento - Configure seu ambiente
- Guia de contribuição - Como contribuir
- Visão geral da arquitetura - Arquitetura do sistema
- Obtendo ajuda - Suporte da comunidade