A Code Marathon Chegou!
Dia 4 de Março não percas a melhor competição de programação do semestre!
O que é a Code Marathon?
A Code Marathon trata-se de uma competição de programação
do Instituto Superior Técnico em parceria com a Ernst & Young,
que promove um ambiente competitivo saudável entre os participantes.
A competição conta com 2 modalidades: Frenetic Coding, que consiste
em problemas mais curtos no tempo; e um Desafio, mais longo e
mais complexo.
Queres mostrar o que vales? Inscreve-te individualmente ou em
equipas de 2 a 4 pessoas e participa nesta grande
competição!
O evento contará também com momentos de convívio e networking
entre as equipas e os jurados, promovendo o contacto e uma maior
proximidade com o mundo empresarial, assim como com palestras em
“hot-topics” relacionados com a área de IT.
O evento terá lugar no Taguspark, dia 4 de março, entre as 9h e
as 19h. Asseguramos shuttle entre os 2 polos no início e no fim
da competição, assim como almoço e coffee break. Os
participantes não terão de suportar qualquer custo.
-
04/03/2023
-
09h00 - 19h00
-
Taguspark IST
Prémios
A 3 melhores equipas do desafio mais complexo terão direito
a ganhar 3 fantásticos prémios - 100€ para 3º lugar; 150€
para 2º lugar; 200€ e entrevista de recrutamento para estágio
de verão com a EY para 1º lugar. Adicionalmente, a equipa
vencedora do Frenetic Coding, receberá um vale para uma escape
room em Lisboa.
O júri será composto pelos responsáveis da realização do
enunciado, profissionais da EY e alunos da SystemsGroup!
Não vais querer perder estes prémios!
Palestras
Curioso sobre o que está em alta no mercado de tech? Vem saber mais
sobre hot-topics na área de IT, em 2 palestras desenvolvidas
especialmente para ti!
Vais ter a oportunidade de ouvir e contactar com profissionais da
área que partilharão a sua experiência e insights!
1ª Palestra
Brevemente disponível.
2ª Palestra
Brevemente disponível.
Não existem desafios disponíveis... Ainda!
Frenetic Coding (Manhã)
Testa a tua capacidade de resolução de problemas rápidamente com
desafios algorítmicos!
Linguagens aceites
- Python
- Javascript
- C
- C++
- Java
Submissões
Na submissão de uma resolução a cada desafio, deve ser submetido
unicamente um ficheiro com a extensão apropriada à linguagem
escolhida.
As submissões são testadas automaticamente, com um timeout de 5
minutos.
Para realizares uma submissão, escolhe um desafio na tab
Frenetic Coding e faz a submissão com o teu
grupo!
Formato
As submissões são avaliadas com um número variável de testes.
Um desafio é considerado "completo" quando pelo menos uma submissão
passa TODOS os testes (não precisa ser a última). Se um desafio tem
submissões, mas nenhuma passa TODOS os testes, é dado como
"incompleto". Um desafio sem submissões é dado como "sem
submissões".
No momento de Frenetic Coding, um batch de mini-desafios
de raciocínio aparecerá e o objetivo será passar a todos os testes,
o mais rapidamente possível - 1 ponto por desafio "completo".
Input - Output
Todo o input irá ser enviado para o STDIN. Todo o output deve ser enviado para o STDOUT. Em baixo pode encontrar a maneira mais simples de receber input e enviar output em todas as linguagens disponíveis; outras maneiras são aceites, mas o nosso testador automático pode não as considerar. Em caso de dúvida, perguntem à nossa equipa.
-
PythonO programa é invocado com
python ficheiro.
Recolher input:
Enviar output:user_input = input()print(output) -
JavascriptO programa é invocado com
node ficheiro.
Recolher input:
Apanhar múltiplas linhas de input:const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, terminal: false }); rl.on("line", (input) => { // Operações com "input" process.exit(0); });
Enviar output:const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, terminal: false }); let inputs = []; let input_len; rl.on("line", (input) => { if(!input_len) { input_len = parseInt(input); return; } if(input_len != inputs.length){ inputs.push(input); return; } // Operações finais com os inputs todos recolhidos em "inputs". process.exit(0); });console.log(output); -
C languageO programa é compilado com
gcc ficheiro -o ./ouput.
O programa é invocado com./output.
Recolher input:
Enviar output:#O input será enviado sempre como uma string. scanf("%s", &input);printf("%s", output); -
C++ languageO programa é compilado com
g++ ficheiro -o ./ouput.
O programa é invocado com./output.
Recolher input:
Enviar output:#O input será enviado sempre como uma string. scanf("%s", &input);printf("%s", output); -
JavaO programa é compilado com
javac ficheiro.
O programa é invocado comjava nome_ficheiro
Recolher input:
Enviar output:import java.util.Scanner; //(...) Scanner input = new Scanner(System.in); //(...)System.out.println(output);
Desafio (Final da Manhã + Tarde)
A competição principal consiste num desenvolvimento mais extenso de um
projeto. Será disponibilizado um enunciado, com o
objetivo de desenvolver uma ferramenta que possa ser apresentada.
Poderá ser uma utilidade de linha de comando, um website ou mesmo uma
desktop aplication. Fica a critério do grupo, desde que cumpra com os
requisitos do enunciado.
Cada grupo utilizar a linguagem/ferramentas que desejar.
Deve ser feita a submissão de todo o source code num ficheiro ZIP da
mesma maneira que foi feita para os desafios de Frenetic Coding.
No final, os projetos serão avaliados grupo a grupo através de uma
breve demonstração individual aos jurados.