;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Estudante de escola pública do PR consegue bolsa em universidade nos EUA

 Lucas Gabriel Marins/UOL
Imagem: Lucas Gabriel Marins/UOL

Lucas Gabriel Marins

Do UOL, em Curitiba

09/06/2015 06h00

A curitibana Noemi Vergopolan Rocha, 24, conquistou uma bolsa de doutorado na Universidade de Princeton, nos Estados Unidos. Formada em engenharia ambiental na Universidade Federal do Paraná (UFPR), ela viaja para a instituição norte-americana, considerada uma das dez melhores do mundo, no final de agosto. ‘’Agora estou reunindo a documentação aqui no Brasil e preparando a tradução da papelada’’, conta, entusiasmada.

Essa não é a primeira conquista de Noemi. Em 2013, ela fez intercâmbio na Universidade da Carolina do Norte e um estágio de quatro meses na Agência Espacial Americana (Nasa). ‘’Na época, entrei em contato com os pesquisadores da agência, falei do meu interesse pela área e mostrei o que eu sabia fazer. O período que ei lá foi enriquecedor’’, conta.

Noemi é de uma família simples e fez o ensino fundamental em uma escola pública de Curitiba. Seu pai trabalha com construção civil e sua mãe é conselheira de uma igreja. Em 2004, por causa de suas notas, ela foi selecionada pelo Programa Bom Aluno, uma iniciativa criada por dois empresários que visa incentivar estudantes de baixa renda com boas notas.

Além de ter ganhado uma bolsa de estudos em um colégio particular, Noemi teve aulas de reforço de português e matemática, curso de inglês completo e acompanhamento dos colaboradores do programa. “Olha, eu devo muito a eles. Hoje, para retribuir, eu sou voluntária de lá. Já dei aulas de matemática e física e agora dou oficina de projetos aos novos alunos’’, conta.

Área de pesquisa

Durante a faculdade de engenharia ambiental, Noemi focou seus estudos em modelagem ambiental, um ramo que prevê fenômenos da natureza por meio de cálculos matemáticos. Um dos pesquisadores da Nasa realizava, na época, pesquisas sobre o tema. ‘’Entrei em contato com ele, contei minha história e mostrei o que eu sabia fazer. Foi assim que consegui o estágio’’, conta.

A Universidade de Princeton também tem um projeto focado na área de modelagem. Lá, ela fará um doutorado em engenharia civil e ambiental, com foco em recursos hídricos. ‘’Descobri tudo o que era necessário para tentar uma vaga e me candidatei’’, conta.

Ela ou por um processo seletivo e seu currículo e desempenho acadêmicos foram analisados pela instituição. A curitibana também fez o GRE (Graduate Record Examination), teste realizado por instituições norte-americanos para itir alunos em cursos de pós-graduação.

Aos alunos de escola pública que sonham em estudar no exterior, ela deixa uma dica: ‘’Faça o melhor uso dos recursos que você tem. Se está em colégio público, ‘sugue’ ao máximo seus professores. Não adianta colocar os impedimentos da educação pública como uma barreira. Acho que tem muita gente capaz, falta só acreditar no próprio potencial’’.