33
POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? Bárbara Quintela, Prof a DSc DCC/ICE/UFJF

POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO?

Bárbara Quintela, Profa DSc DCC/ICE/UFJF

Page 2: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

QUEM SOU?Programadora

Professora Cientista

Page 3: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

AGENDA

➤ O que são Maratonas de Programação?

➤ SBC, ICPC, Google Jam, Game Jams, Hackathons…

➤ Quem está de olho nos participantes?

➤ Por que devo me interessar?

➤ Por onde começar?

Page 4: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

“Algoritmo: sequência de passos para resolver um problema. Programação: Escrever um algoritmo em uma linguagem específica para ser executada por um computador. Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo.

O QUE SÃO MARATONAS DE PROGRAMAÇÃO?

Page 5: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

MARATONAS DE PROGRAMAÇÃO - SBC

ETAPAS REGIONAIS (SET)

FINAL NACIONAL (NOV)Último mundial - ICPC 2018 - Beijing China

Page 6: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

COMPETIÇÕES 2017/2018 (FOZ DO IGUAÇU/PEQUIM)

Próxima Final Nacional - SBC - será em Salvador-BA Próximo mundial - ICPC 2019 - Porto (Portugal)

Page 7: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

FOCO EM ALUNOS UNIVERSITÁRIOS

➤ Precisa estar matriculado em um curso superior

➤ Times de 3 integrantes

➤ Precisa de um professor (coach)

➤ Fase Regional : português

➤ Fase Nacional e Mundial: inglês

➤ Desempate : Tempo total

➤ Solução errada : penalizada

Page 8: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

COMO É NA PRÁTICA?

➤ Aquecimento

➤ Problemas simples

➤ Testar o ambiente de prova

Page 9: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

COMO É NA PRÁTICA?

Page 10: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

COMO É NA PRÁTICA?

➤ Aquecimento

➤ Exemplo de solução em várias linguagens de programação na folha

➤ Exemplo C++:

Page 11: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

COMO É NA PRÁTICA?

➤ Aquecimento

➤ Exemplo de solução em várias linguagens de programação na folha

➤ Exemplo Python:

Page 12: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

COMO É NA PRÁTICA?

➤ Prova em si:

➤ Lista de problemas identificados por uma letra

➤ semelhante ao aquecimento

➤ Faz parte das escolhas do time:

➤ Quem digita cada problema?

➤ Que ordem começar?

Page 13: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

SUBMETE SOLUÇÃO PARA O SISTEMA DA MARATONA - UM

JUIZ ONLINE VAI CONFERIR A SOLUÇÃO

Deve passar em todos os casos de testes

Page 14: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

O JUIZ PODE ACEITAR OU

RECUSARFormatação, erros de lógica,

não atendeu algum caso etc…

Page 15: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

BALÕES

➤ Cada problema tem uma cor de balão associada!

➤ Observar o nível de dificuldade do problema

Page 16: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

TEMPO LIMITE

➤ Descrição do problema inclui tempo limite (1, 2 segundos)

➤ Faz diferença a escolha da linguagem

➤ Pode levar material impresso para consulta

Page 17: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

COMO POSSO TREINAR?

➤ Livros:

➤ Programação competitiva

➤ Juizes online:

➤ uva.onlinejudge.org

➤ www.urionlinejudge.com

➤ www.spoj.com

Page 18: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

OBIOlimpíada Brasileira de

Informática

Page 19: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

OBI

➤ Foco em alunos de Ensino fundamental e medio

➤ Modalidade programação

➤ Modalidade Lógica

➤ Competição individual

➤ Tudo em português

Page 20: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

CODE JAMGoogle

Page 21: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

VÁRIAS ETAPAS

➤ Precisa passar em várias etapas para chegar ao mundial

➤ Em 2017, competidores de 125 países registraram

➤ Representantes de 15 países nas finais

➤ Competição individual

Page 22: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

MAIS…

➤ Sobre Google Code Jam:

➤ https://code.google.com/codejam/

➤ Para treinar:

➤ Kickstart

➤ https://code.google.com/codejam/kickstart/

Page 23: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

GAME JAMSNão necessariamente uma

competição

Page 24: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

“Game Jam é uma reunião (presencial ou online) de desenvolvedores de jogos que tem como objetivo criar um jogo em um curto intervalo de tempo.

Page 25: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

➤ Princípio de Pareto

➤ Regra 80/20

➤ O que tem a ver com jogos?

➤ 80% do desenvolvimento do jogo é concluído em 20% do tempo

➤ 80% da diversão do jogo vem de 20% dos elementos

COMO DESENVOLVER UM JOGO EM TAO POUCO TEMPO?

Page 26: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

➤ Princípio de Pareto

➤ Regra 80/20

➤ O que tem a ver com jogos?

➤ 80% do desenvolvimento do jogo é concluído em 20% do tempo

➤ 80% da diversão do jogo vem de 20% dos elementos

➤ Foco nos 20%!

COMO DESENVOLVER UM JOGO EM TAO POUCO TEMPO?

Page 27: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

SAIBA MAIS…

➤ https://producaodejogos.com/game-jams/

➤ https://globalgamejam.org

Page 28: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

JÁ OUVIU FALAR EM HACKATHON?

Sim ou com certeza…

Page 29: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

JÁ OUVIU FALAR EM HACKATHON?

Sim ou com certeza…

Page 30: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

TOP INDUSTRIAS PARA HACKATHONS (2017)

Page 31: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

HACKATHONS

Page 32: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

OUTROS EVENTOS

➤ https://www.facebook.com/hackercup

➤ http://www.usaco.org/index.php?page=contests

➤ https://www.hackerrank.com

Page 33: POR QUE PARTICIPAR DE MARATONAS DE PROGRAMAÇÃO? · 2018-09-28 · Maratona de Programação: Competição para ver quem resolve maior número de problemas em menor tempo. O QUE

DÚVIDAS?Bárbara Quintela, Profa. DSc.

[email protected]