<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://wiki.nosdigitais.teia.org.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AnaFromBR</id>
	<title>Pontão Nós Digitais - Contribuições do usuário [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.nosdigitais.teia.org.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AnaFromBR"/>
	<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/Especial:Contribui%C3%A7%C3%B5es/AnaFromBR"/>
	<updated>2026-04-22T00:50:39Z</updated>
	<subtitle>Contribuições do usuário</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Projeto_e_Analise_de_Algoritmos&amp;diff=33047</id>
		<title>Projeto e Analise de Algoritmos</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Projeto_e_Analise_de_Algoritmos&amp;diff=33047"/>
		<updated>2014-05-28T20:59:10Z</updated>

		<summary type="html">&lt;p&gt;AnaFromBR: /* Duplas p/ Trabalho */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta é a pagina principal de um curso de projeto de algoritmos ministrado em 2014 no [http://pt.wikipedia.org/wiki/IPRJ IPRJ]/[http://pt.wikipedia.org/wiki/IPRJ UERJ], de utilidade geral para a formacao de programadores de nivel intermediario e avancado.&lt;br /&gt;
&lt;br /&gt;
* Links para o curso de '''[[PAA2012|2012]]''', '''[[PAA2012|2013]]'''.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Grafo-cidades-rj-sp-ms.png|right|550px]]&lt;br /&gt;
== Informacoes gerais ==&lt;br /&gt;
* Instrutor: prof. [http://www.lems.brown.edu/~rfabbri Ricardo Fabbri], Ph.D.&lt;br /&gt;
* Periodo: 1o. Semestre de 2014, voltado ao 7o. periodo de Engenharia da Computacao&lt;br /&gt;
* Tercas e Quintas, 10:40-12:20am, sala 209 e Lab Inf #??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pre-requisitos ===&lt;br /&gt;
* Sera assumido um primeiro curso em algoritmos e estruturas de dados, porem nao e' obrigatorio.&lt;br /&gt;
&lt;br /&gt;
== Conteudo aproximado ==&lt;br /&gt;
* Enfase no projeto (design) de algoritmos&lt;br /&gt;
* Enfase em grafos&lt;br /&gt;
* Uso do C++ e' preferivel&lt;br /&gt;
* Enfase no uso do TopCoder para exercicios&lt;br /&gt;
* Algoritmos gulosos / greedy&lt;br /&gt;
* Programacao dinamica&lt;br /&gt;
* Fluxo em redes (Network flows)&lt;br /&gt;
&lt;br /&gt;
== Recursos principais ==&lt;br /&gt;
* Grupo de discussao: [http://uerj.tk uerj.tk]&lt;br /&gt;
=== Bibliografia ===&lt;br /&gt;
* Livro principal: &amp;quot;Algorithm Design&amp;quot; - Jon Kleinberg &amp;amp; Eva Tardos (ver [http://uerj.tk uerj.tk]) http://www.aw-bc.com/info/kleinberg/assets/images/cover.jpg&lt;br /&gt;
** Trata-se do melhor livro para estudar para uma entrevista. O Autor desenvolveu ideias das mais famosas relacionados ao '''PageRank do Google''' [http://citeseer.ist.psu.edu/viewdoc/summary;jsessionid=F4971BF0251DAD6EBF655902AAD9BA17?doi=10.1.1.120.3875]&lt;br /&gt;
* Livro interessante com foco em algoritmos geometricos: [http://books.google.com.br/books?id=Ax50ccq_kFAC&amp;amp;dq=algorithmic+geometry&amp;amp;source=gbs_navlinks_s Algorithmic Geometry]&lt;br /&gt;
&lt;br /&gt;
=== Top Coder ===&lt;br /&gt;
&lt;br /&gt;
* Inicie em http://community.topcoder.com/tc&lt;br /&gt;
* Clique em &amp;quot;Register Now&amp;quot; ou &amp;quot;Login&amp;quot;&lt;br /&gt;
* Clique em '''O(n)''' no canto superior esquerdo para iniciar a Arena http://blog.theroyweb.com/wp-content/uploads/2009/06/topcoderalglink.png&lt;br /&gt;
* No ubuntu linux, abra o nautilus (navegador de arquivo) no diretorio onde foi baixado o ContestAppletProd.jnlp&lt;br /&gt;
* Clique no ContestApplestProd.jnlp com o botao direito do mouse, e selecione &amp;quot;abrir com Java Webstart&amp;quot; ou &amp;quot;Iced Tea&amp;quot;&lt;br /&gt;
** Caso nao tenha essa opcao, instale os pacotes iced-tea* usando o synaptic ou outro gerenciador de pacotes&lt;br /&gt;
* Faca o Login&lt;br /&gt;
* Selecione Practice Rooms -&amp;gt; SRMs  -&amp;gt; problemas Div 1. Os Div 2 sao mais dificeis e deixe-os para depois.&lt;br /&gt;
* Mais informacoes em [http://blog.theroyweb.com/topcoder-quickstart-tutorial Topcoder Quickstart Tutorial]&lt;br /&gt;
* Meu template C++ para o topcoder: http://sourceforge.net/p/labmacambira/utils/ci/master/tree/templates/topcoder/a.cc&lt;br /&gt;
* Veja tambem os Editoriais, em que os melhores programadores explicam as solucoes de alguns SRM's e outras competicoes&lt;br /&gt;
** http://apps.topcoder.com/wiki/display/tc/Algorithm+Problem+Set+Analysis&lt;br /&gt;
&lt;br /&gt;
=== Aulas - Slides ===&lt;br /&gt;
* [http://www.lems.brown.edu/~rfabbri/stuff/01-busca-em-grafos.odp busca em grafos] (atualizado em 8/apr/2012) - cai na P1&lt;br /&gt;
* [http://www.lems.brown.edu/~rfabbri/stuff/02-greedy-etc.odp algoritmos greedy / gulosos] - cai na P1&lt;br /&gt;
* [http://www.lems.brown.edu/~rfabbri/stuff/03-analise-e-divide_and_conquer.odp analise e divide-and-conquer] (atualizado em 20/jun/2012) - cai na P1&lt;br /&gt;
* [http://www.lems.brown.edu/~rfabbri/stuff/04-dynamic-programming.odp dynamic programming / programacao dinamica] (atualizado em 20-26/jun/2013) - cai na P1&lt;br /&gt;
* [http://www.lems.brown.edu/~rfabbri/stuff/05-network-flow.odp network flow / fluxo em redes -- Parte 1] (atualizado em 20/jun/2013) - cai na P2&lt;br /&gt;
* escovando bits&lt;br /&gt;
&lt;br /&gt;
=== Provas ===&lt;br /&gt;
* P1: 27/jun/2013 [http://www.lems.brown.edu/~rfabbri/stuff/prova-p1-PAA2012.pdf (prova anterior: 2012)]&lt;br /&gt;
* P2: &lt;br /&gt;
* Sub/Final:  [http://www.lems.brown.edu/~rfabbri/stuff/prova-sub-PAA2012.pdf (prova anterior: 2012)]&lt;br /&gt;
&lt;br /&gt;
== Recursos adicionais ==&lt;br /&gt;
* [http://www.cs.princeton.edu/~wayne/kleinberg-tardos/ Slides de aula em Princeton]&lt;br /&gt;
* Site de material extra-oficial e troca p2p entre alunos: [http://uerj.tk uerj.tk]&lt;br /&gt;
* [[Lab Macambira]]: grupo de desenvolvedores de software livre e ajuda com Linux e atividades extra-curriculares de programacao.&lt;br /&gt;
** Confira a sala de bate papo no IRC #labmacambira (freenode) [http://labmacambira.sf.net] para discussao sobre software livre, linux, e afins.&lt;br /&gt;
** Para discussoes gerais, podemos criar nossa propria sala de bate-papo, veja #iprj&lt;br /&gt;
** [[Configuring Ubuntu for Programming]]&lt;br /&gt;
&lt;br /&gt;
== Tarefas ==&lt;br /&gt;
'''Somente serao aceitos arquivos eletronicos no formato PDF ou outro formato aberto como .odt'''&lt;br /&gt;
&lt;br /&gt;
As tarefas devem ser formatadas com notacao matematica adequada, preferencialmente em [[Latex]].&lt;br /&gt;
&lt;br /&gt;
Somente serao aceitos arquivos eletronicos no formato PDF ou outro formato aberto como .odt&lt;br /&gt;
&lt;br /&gt;
Quando a tarefa involver qualquer programacao, o aluno devera enviar o codigo fonte. O codigo junto com a documentacao devera estar dentro de um unico diretorio comprimido com .zip ou tar, com o nome do aluno, disciplina e data.&lt;br /&gt;
&lt;br /&gt;
=== Tarefas de 2014 ===&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 1, Importancia de Grafos - 18/mar/2014 ====&lt;br /&gt;
* Resumir inicio cap 3 do livro de Kleinberg &amp;amp; Tardos, prestando atencao `as aplicacoes&lt;br /&gt;
** Focar nas secoes 3.1 e 3.2&lt;br /&gt;
* Utilizar suas palavras e dar sua opiniao onde couber&lt;br /&gt;
* Digitar em [[Latex]] de preferencia&lt;br /&gt;
* Entrega: 25/Marco/2014&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Projetos no Top Coder ===&lt;br /&gt;
&lt;br /&gt;
* Criar um login do topcoder (anonimo, so voce sabe)&lt;br /&gt;
* Fazer 2 SRM's (div 1 ou 2) a serem entregues em forma de relatório e apresentados ao professor no futuro. Documente sua solucao (em [[Latex]] de preferencia). &lt;br /&gt;
** Cada aluno deverá escolher um SRM primário, do qual será responsável, e um SRM secundário, em que deverá ajudar um outro aluno.&lt;br /&gt;
** Os SRMs primário deverá ser programado em maior detalhe pelos alunos responáveis, inclusive com pesquisa sobre assuntos que possam ser relevantes&lt;br /&gt;
** Cada aluno irá entregar um relatório e irá fazer um exame oral individual rapido para mostrar que sabe programar os problemas do seus SRMs.&lt;br /&gt;
** Sugestoes para um trabalho bem-feito:&lt;br /&gt;
*** Comente as partes mais obscuras do editorial do seu SRM, se disponivel&lt;br /&gt;
*** Compare sua solucao com a solucao de outro participante mais experiente (um dos primeiros colocados do SRM)&lt;br /&gt;
**** Em que a solucao dele difere da sua? O que ele aparenta ter feito/usado?&lt;br /&gt;
*** Forneca desenhos, diagramas, fluxogramas explicando os conceitos e etapas do algoritmo&lt;br /&gt;
*** Forneca trechos de livros / pesquisa bibliografica de assuntos que mais te interessaram ou que mais foram uteis na solucao de cada problema.&lt;br /&gt;
* Notas&lt;br /&gt;
** Cada trabalho (SRM) terá uma nota final com base na apresentacao oral ao professor e relatorio&lt;br /&gt;
** A nota de cada aluno sera 70% a nota do seu SRM primário mais 30% a nota final do SRM secundário&lt;br /&gt;
** Atencao: O peso deste trabalho poderá suplantar o da P2 caso os alunos estejam de acordo.&lt;br /&gt;
&lt;br /&gt;
==== Duplas p/ Trabalho ====&lt;br /&gt;
* Colocar aqui o nome dos integrantes e o SRM(s) escolhidos (isto pode ser alterado no futuro se desejado)&lt;br /&gt;
* Nao pode haver repeticao de SRMs&lt;br /&gt;
* Evitar repetir os colegas primarios/secundarios (mas se for necessario repetir, tudo bem)&lt;br /&gt;
&lt;br /&gt;
/------------- 2014 ----------------/&lt;br /&gt;
&lt;br /&gt;
Ana Carolina Castro (Primária) e Ciro Chang (Secundário): SRM 220 DIV2&lt;br /&gt;
&lt;br /&gt;
Ciro Chang (Primário) e Ana Carolina Castro(Secundária): SRM 382 DIV2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/------------- 2013 ----------------/&lt;br /&gt;
&lt;br /&gt;
Caio(Primário) e Pedro(Secundário): SRM 145 DIV2&lt;br /&gt;
&lt;br /&gt;
Gustavo(Primário) e Marcos(Secundário): SRM 147 DIV2&lt;br /&gt;
&lt;br /&gt;
Marcos(Primário) e Gustavo(Secundário): SRM 149 DIV2&lt;br /&gt;
&lt;br /&gt;
Pedro(Primário) e Caio(Secundário): SRM 144 DIV1&lt;br /&gt;
&lt;br /&gt;
Rafael Ferrari(Primário) e Rafael Erthal(Secundário): SRM 152 DIV2&lt;br /&gt;
&lt;br /&gt;
Rafael Erthal(Primário) e Rafael Ferrari(Secundário): SRM 174 DIV2&lt;br /&gt;
&lt;br /&gt;
Lucas Oliveira(Primário) e Guilherme Carneiro(Secundário): SRM 144 DIV2&lt;br /&gt;
&lt;br /&gt;
Guilherme Carneiro(Primário) e Lucas Oliveira(Secundário): SRM 217 DIV2&lt;br /&gt;
&lt;br /&gt;
==== Bonus TopCoder ====&lt;br /&gt;
Opcionalmente, pontos extras na media serao concedido a alunos que participarem de SRM's oficiais de acordo com os seguintes criterios:&lt;br /&gt;
* '''Para receber o bonus o aluno tera que obter nota na P1 acima de 6'''&lt;br /&gt;
* Alunos que participarem de um SRM oficial e relatarem os problemas  e solucoes num relatorio curto irao receber ate 1 ponto adicional na media&lt;br /&gt;
* Alunos que competirem entre si e obteve primeiro lugar na sala (num mesmo SRM) irao receber ate 2 pontos adicionais na media, contanto que o numero de participantes da sala seja igual ou maior que 3&lt;br /&gt;
* Alunos que resolverem todos os problemas dentro do tempo oficial do SRM irao obter 3 pontos adicionais na media&lt;br /&gt;
* Alunos que obtiverem top 5 geral no SRM irao passar com media 10&lt;br /&gt;
* '''Voces tem varias chances!'''&lt;br /&gt;
** Calendario de SRMs do topcoder (horario EST de nova yorque) [http://community.topcoder.com/tc?module=Static&amp;amp;d1=calendar&amp;amp;d2=thisMonth]&lt;br /&gt;
&lt;br /&gt;
=== Tarefas de 2013 ===&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 1 (em aula) - 2013 ====&lt;br /&gt;
* Enunciado: flood fill algorithm / labirinto&lt;br /&gt;
* Data: primeira aula&lt;br /&gt;
* Alunos que entregaram&lt;br /&gt;
** ((lista pendente))&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 2 - 2013 ====&lt;br /&gt;
* Enunciado: Topological Sort&lt;br /&gt;
* Estudar e comentar o funcionamento do codigo fonte do comando GNU tsort do unix&lt;br /&gt;
* Pesquisar como funciona a arvore utilizada no codigo&lt;br /&gt;
* Note que o algoritmo eh simples mas nao eh trivial de implementar bem&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 3 - 2013 ====&lt;br /&gt;
* Implementar o mergesort&lt;br /&gt;
* Plotar grafico do tempo de execucao minimo, maximo, e medio para diferentes tamanhos de entradas aleatoreas&lt;br /&gt;
&lt;br /&gt;
=== Tarefas de 2012 ===&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 1 (em aula) - 2012 ====&lt;br /&gt;
* Enunciado: flood fill algorithm / labirinto&lt;br /&gt;
* Data: primeira aula&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 2  - 2012 ====&lt;br /&gt;
* Resumir inicio cap 3 do livro de Kleinberg &amp;amp; Tardos, prestando atencao `as aplicacoes&lt;br /&gt;
* Digitar em [[Latex]] de preferencia&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 3 - 2012 ====&lt;br /&gt;
* Enunciado:  BFS pode ser implementado recursivamente? ficaria a implementação?&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 4 - 2012 ====&lt;br /&gt;
* Enunciado: falar sobre lista de adjacência, matriz de adjacência, lista &amp;quot;direta&amp;quot;, matriz de pixels (confirmar)&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 5 - 2012 ====&lt;br /&gt;
* Enunciado: resumo do 4.1, 4.2 e 4.3 (confirmar)&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 6 (em aula) - 2012 ====&lt;br /&gt;
* Enunciado: escovando bits e bytes&lt;br /&gt;
&lt;br /&gt;
==== Apresentacao  - 2012 ====&lt;br /&gt;
* Conteudo: Agendamento de intervalos, algoritmos de cache, estrategias Greedy.&lt;br /&gt;
&lt;br /&gt;
== Criterio de Avaliacao ==&lt;br /&gt;
&lt;br /&gt;
* Trabalhos: 30% da media&lt;br /&gt;
* O criterio final e simplificado ficou (favor avisar se precisar adicionar detalhes ou corrigir no caso de erro/discrepancia):&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
      M_p = (P1 + P2)/2   &lt;br /&gt;
      M = 0.7*M_p + 0.3*T (atualizado de 10% para 30% com acordo dos alunos), onde T é a nota dos trabalhos&lt;br /&gt;
      Se M &amp;gt;= 5, passa --&amp;gt; M&lt;br /&gt;
      Sub: repoe menor de P1, P2 (apenas se alguem faltou alguma prova ou quiser melhorar nota - mas quem entregar ira substituir)&lt;br /&gt;
      M_sub = media com sub&lt;br /&gt;
      Se M_sub &amp;gt;= 5, passou --&amp;gt; M_sub&lt;br /&gt;
&lt;br /&gt;
      Adendo (em acordo com os alunos): a M_sub = M_f pois sera considerada a mesma prova e a prova final nao mas faz efeito real com trabalhos a 30%.  Quem for usar a prova como Sub ira substituir a nota independentemente do resultado.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''A prova final passa a nao ser mais obrigatoria.''&lt;br /&gt;
&lt;br /&gt;
[[Category:IPRJ]] [[Category:Lab Macambira]]&lt;/div&gt;</summary>
		<author><name>AnaFromBR</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Projeto_e_Analise_de_Algoritmos&amp;diff=33046</id>
		<title>Projeto e Analise de Algoritmos</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Projeto_e_Analise_de_Algoritmos&amp;diff=33046"/>
		<updated>2014-05-28T20:58:49Z</updated>

		<summary type="html">&lt;p&gt;AnaFromBR: /* Duplas p/ Trabalho */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta é a pagina principal de um curso de projeto de algoritmos ministrado em 2014 no [http://pt.wikipedia.org/wiki/IPRJ IPRJ]/[http://pt.wikipedia.org/wiki/IPRJ UERJ], de utilidade geral para a formacao de programadores de nivel intermediario e avancado.&lt;br /&gt;
&lt;br /&gt;
* Links para o curso de '''[[PAA2012|2012]]''', '''[[PAA2012|2013]]'''.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Grafo-cidades-rj-sp-ms.png|right|550px]]&lt;br /&gt;
== Informacoes gerais ==&lt;br /&gt;
* Instrutor: prof. [http://www.lems.brown.edu/~rfabbri Ricardo Fabbri], Ph.D.&lt;br /&gt;
* Periodo: 1o. Semestre de 2014, voltado ao 7o. periodo de Engenharia da Computacao&lt;br /&gt;
* Tercas e Quintas, 10:40-12:20am, sala 209 e Lab Inf #??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pre-requisitos ===&lt;br /&gt;
* Sera assumido um primeiro curso em algoritmos e estruturas de dados, porem nao e' obrigatorio.&lt;br /&gt;
&lt;br /&gt;
== Conteudo aproximado ==&lt;br /&gt;
* Enfase no projeto (design) de algoritmos&lt;br /&gt;
* Enfase em grafos&lt;br /&gt;
* Uso do C++ e' preferivel&lt;br /&gt;
* Enfase no uso do TopCoder para exercicios&lt;br /&gt;
* Algoritmos gulosos / greedy&lt;br /&gt;
* Programacao dinamica&lt;br /&gt;
* Fluxo em redes (Network flows)&lt;br /&gt;
&lt;br /&gt;
== Recursos principais ==&lt;br /&gt;
* Grupo de discussao: [http://uerj.tk uerj.tk]&lt;br /&gt;
=== Bibliografia ===&lt;br /&gt;
* Livro principal: &amp;quot;Algorithm Design&amp;quot; - Jon Kleinberg &amp;amp; Eva Tardos (ver [http://uerj.tk uerj.tk]) http://www.aw-bc.com/info/kleinberg/assets/images/cover.jpg&lt;br /&gt;
** Trata-se do melhor livro para estudar para uma entrevista. O Autor desenvolveu ideias das mais famosas relacionados ao '''PageRank do Google''' [http://citeseer.ist.psu.edu/viewdoc/summary;jsessionid=F4971BF0251DAD6EBF655902AAD9BA17?doi=10.1.1.120.3875]&lt;br /&gt;
* Livro interessante com foco em algoritmos geometricos: [http://books.google.com.br/books?id=Ax50ccq_kFAC&amp;amp;dq=algorithmic+geometry&amp;amp;source=gbs_navlinks_s Algorithmic Geometry]&lt;br /&gt;
&lt;br /&gt;
=== Top Coder ===&lt;br /&gt;
&lt;br /&gt;
* Inicie em http://community.topcoder.com/tc&lt;br /&gt;
* Clique em &amp;quot;Register Now&amp;quot; ou &amp;quot;Login&amp;quot;&lt;br /&gt;
* Clique em '''O(n)''' no canto superior esquerdo para iniciar a Arena http://blog.theroyweb.com/wp-content/uploads/2009/06/topcoderalglink.png&lt;br /&gt;
* No ubuntu linux, abra o nautilus (navegador de arquivo) no diretorio onde foi baixado o ContestAppletProd.jnlp&lt;br /&gt;
* Clique no ContestApplestProd.jnlp com o botao direito do mouse, e selecione &amp;quot;abrir com Java Webstart&amp;quot; ou &amp;quot;Iced Tea&amp;quot;&lt;br /&gt;
** Caso nao tenha essa opcao, instale os pacotes iced-tea* usando o synaptic ou outro gerenciador de pacotes&lt;br /&gt;
* Faca o Login&lt;br /&gt;
* Selecione Practice Rooms -&amp;gt; SRMs  -&amp;gt; problemas Div 1. Os Div 2 sao mais dificeis e deixe-os para depois.&lt;br /&gt;
* Mais informacoes em [http://blog.theroyweb.com/topcoder-quickstart-tutorial Topcoder Quickstart Tutorial]&lt;br /&gt;
* Meu template C++ para o topcoder: http://sourceforge.net/p/labmacambira/utils/ci/master/tree/templates/topcoder/a.cc&lt;br /&gt;
* Veja tambem os Editoriais, em que os melhores programadores explicam as solucoes de alguns SRM's e outras competicoes&lt;br /&gt;
** http://apps.topcoder.com/wiki/display/tc/Algorithm+Problem+Set+Analysis&lt;br /&gt;
&lt;br /&gt;
=== Aulas - Slides ===&lt;br /&gt;
* [http://www.lems.brown.edu/~rfabbri/stuff/01-busca-em-grafos.odp busca em grafos] (atualizado em 8/apr/2012) - cai na P1&lt;br /&gt;
* [http://www.lems.brown.edu/~rfabbri/stuff/02-greedy-etc.odp algoritmos greedy / gulosos] - cai na P1&lt;br /&gt;
* [http://www.lems.brown.edu/~rfabbri/stuff/03-analise-e-divide_and_conquer.odp analise e divide-and-conquer] (atualizado em 20/jun/2012) - cai na P1&lt;br /&gt;
* [http://www.lems.brown.edu/~rfabbri/stuff/04-dynamic-programming.odp dynamic programming / programacao dinamica] (atualizado em 20-26/jun/2013) - cai na P1&lt;br /&gt;
* [http://www.lems.brown.edu/~rfabbri/stuff/05-network-flow.odp network flow / fluxo em redes -- Parte 1] (atualizado em 20/jun/2013) - cai na P2&lt;br /&gt;
* escovando bits&lt;br /&gt;
&lt;br /&gt;
=== Provas ===&lt;br /&gt;
* P1: 27/jun/2013 [http://www.lems.brown.edu/~rfabbri/stuff/prova-p1-PAA2012.pdf (prova anterior: 2012)]&lt;br /&gt;
* P2: &lt;br /&gt;
* Sub/Final:  [http://www.lems.brown.edu/~rfabbri/stuff/prova-sub-PAA2012.pdf (prova anterior: 2012)]&lt;br /&gt;
&lt;br /&gt;
== Recursos adicionais ==&lt;br /&gt;
* [http://www.cs.princeton.edu/~wayne/kleinberg-tardos/ Slides de aula em Princeton]&lt;br /&gt;
* Site de material extra-oficial e troca p2p entre alunos: [http://uerj.tk uerj.tk]&lt;br /&gt;
* [[Lab Macambira]]: grupo de desenvolvedores de software livre e ajuda com Linux e atividades extra-curriculares de programacao.&lt;br /&gt;
** Confira a sala de bate papo no IRC #labmacambira (freenode) [http://labmacambira.sf.net] para discussao sobre software livre, linux, e afins.&lt;br /&gt;
** Para discussoes gerais, podemos criar nossa propria sala de bate-papo, veja #iprj&lt;br /&gt;
** [[Configuring Ubuntu for Programming]]&lt;br /&gt;
&lt;br /&gt;
== Tarefas ==&lt;br /&gt;
'''Somente serao aceitos arquivos eletronicos no formato PDF ou outro formato aberto como .odt'''&lt;br /&gt;
&lt;br /&gt;
As tarefas devem ser formatadas com notacao matematica adequada, preferencialmente em [[Latex]].&lt;br /&gt;
&lt;br /&gt;
Somente serao aceitos arquivos eletronicos no formato PDF ou outro formato aberto como .odt&lt;br /&gt;
&lt;br /&gt;
Quando a tarefa involver qualquer programacao, o aluno devera enviar o codigo fonte. O codigo junto com a documentacao devera estar dentro de um unico diretorio comprimido com .zip ou tar, com o nome do aluno, disciplina e data.&lt;br /&gt;
&lt;br /&gt;
=== Tarefas de 2014 ===&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 1, Importancia de Grafos - 18/mar/2014 ====&lt;br /&gt;
* Resumir inicio cap 3 do livro de Kleinberg &amp;amp; Tardos, prestando atencao `as aplicacoes&lt;br /&gt;
** Focar nas secoes 3.1 e 3.2&lt;br /&gt;
* Utilizar suas palavras e dar sua opiniao onde couber&lt;br /&gt;
* Digitar em [[Latex]] de preferencia&lt;br /&gt;
* Entrega: 25/Marco/2014&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Projetos no Top Coder ===&lt;br /&gt;
&lt;br /&gt;
* Criar um login do topcoder (anonimo, so voce sabe)&lt;br /&gt;
* Fazer 2 SRM's (div 1 ou 2) a serem entregues em forma de relatório e apresentados ao professor no futuro. Documente sua solucao (em [[Latex]] de preferencia). &lt;br /&gt;
** Cada aluno deverá escolher um SRM primário, do qual será responsável, e um SRM secundário, em que deverá ajudar um outro aluno.&lt;br /&gt;
** Os SRMs primário deverá ser programado em maior detalhe pelos alunos responáveis, inclusive com pesquisa sobre assuntos que possam ser relevantes&lt;br /&gt;
** Cada aluno irá entregar um relatório e irá fazer um exame oral individual rapido para mostrar que sabe programar os problemas do seus SRMs.&lt;br /&gt;
** Sugestoes para um trabalho bem-feito:&lt;br /&gt;
*** Comente as partes mais obscuras do editorial do seu SRM, se disponivel&lt;br /&gt;
*** Compare sua solucao com a solucao de outro participante mais experiente (um dos primeiros colocados do SRM)&lt;br /&gt;
**** Em que a solucao dele difere da sua? O que ele aparenta ter feito/usado?&lt;br /&gt;
*** Forneca desenhos, diagramas, fluxogramas explicando os conceitos e etapas do algoritmo&lt;br /&gt;
*** Forneca trechos de livros / pesquisa bibliografica de assuntos que mais te interessaram ou que mais foram uteis na solucao de cada problema.&lt;br /&gt;
* Notas&lt;br /&gt;
** Cada trabalho (SRM) terá uma nota final com base na apresentacao oral ao professor e relatorio&lt;br /&gt;
** A nota de cada aluno sera 70% a nota do seu SRM primário mais 30% a nota final do SRM secundário&lt;br /&gt;
** Atencao: O peso deste trabalho poderá suplantar o da P2 caso os alunos estejam de acordo.&lt;br /&gt;
&lt;br /&gt;
==== Duplas p/ Trabalho ====&lt;br /&gt;
* Colocar aqui o nome dos integrantes e o SRM(s) escolhidos (isto pode ser alterado no futuro se desejado)&lt;br /&gt;
* Nao pode haver repeticao de SRMs&lt;br /&gt;
* Evitar repetir os colegas primarios/secundarios (mas se for necessario repetir, tudo bem)&lt;br /&gt;
&lt;br /&gt;
/------------- 2014 ----------------/&lt;br /&gt;
&lt;br /&gt;
Ana Carolina Castro (Primária) e Ciro Chang (Secundário): SRM 220 DIV2&lt;br /&gt;
Ciro Chang (Primário) e Ana Carolina Castro(Secundária): SRM 382 DIV2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/------------- 2013 ----------------/&lt;br /&gt;
&lt;br /&gt;
Caio(Primário) e Pedro(Secundário): SRM 145 DIV2&lt;br /&gt;
&lt;br /&gt;
Gustavo(Primário) e Marcos(Secundário): SRM 147 DIV2&lt;br /&gt;
&lt;br /&gt;
Marcos(Primário) e Gustavo(Secundário): SRM 149 DIV2&lt;br /&gt;
&lt;br /&gt;
Pedro(Primário) e Caio(Secundário): SRM 144 DIV1&lt;br /&gt;
&lt;br /&gt;
Rafael Ferrari(Primário) e Rafael Erthal(Secundário): SRM 152 DIV2&lt;br /&gt;
&lt;br /&gt;
Rafael Erthal(Primário) e Rafael Ferrari(Secundário): SRM 174 DIV2&lt;br /&gt;
&lt;br /&gt;
Lucas Oliveira(Primário) e Guilherme Carneiro(Secundário): SRM 144 DIV2&lt;br /&gt;
&lt;br /&gt;
Guilherme Carneiro(Primário) e Lucas Oliveira(Secundário): SRM 217 DIV2&lt;br /&gt;
&lt;br /&gt;
==== Bonus TopCoder ====&lt;br /&gt;
Opcionalmente, pontos extras na media serao concedido a alunos que participarem de SRM's oficiais de acordo com os seguintes criterios:&lt;br /&gt;
* '''Para receber o bonus o aluno tera que obter nota na P1 acima de 6'''&lt;br /&gt;
* Alunos que participarem de um SRM oficial e relatarem os problemas  e solucoes num relatorio curto irao receber ate 1 ponto adicional na media&lt;br /&gt;
* Alunos que competirem entre si e obteve primeiro lugar na sala (num mesmo SRM) irao receber ate 2 pontos adicionais na media, contanto que o numero de participantes da sala seja igual ou maior que 3&lt;br /&gt;
* Alunos que resolverem todos os problemas dentro do tempo oficial do SRM irao obter 3 pontos adicionais na media&lt;br /&gt;
* Alunos que obtiverem top 5 geral no SRM irao passar com media 10&lt;br /&gt;
* '''Voces tem varias chances!'''&lt;br /&gt;
** Calendario de SRMs do topcoder (horario EST de nova yorque) [http://community.topcoder.com/tc?module=Static&amp;amp;d1=calendar&amp;amp;d2=thisMonth]&lt;br /&gt;
&lt;br /&gt;
=== Tarefas de 2013 ===&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 1 (em aula) - 2013 ====&lt;br /&gt;
* Enunciado: flood fill algorithm / labirinto&lt;br /&gt;
* Data: primeira aula&lt;br /&gt;
* Alunos que entregaram&lt;br /&gt;
** ((lista pendente))&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 2 - 2013 ====&lt;br /&gt;
* Enunciado: Topological Sort&lt;br /&gt;
* Estudar e comentar o funcionamento do codigo fonte do comando GNU tsort do unix&lt;br /&gt;
* Pesquisar como funciona a arvore utilizada no codigo&lt;br /&gt;
* Note que o algoritmo eh simples mas nao eh trivial de implementar bem&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 3 - 2013 ====&lt;br /&gt;
* Implementar o mergesort&lt;br /&gt;
* Plotar grafico do tempo de execucao minimo, maximo, e medio para diferentes tamanhos de entradas aleatoreas&lt;br /&gt;
&lt;br /&gt;
=== Tarefas de 2012 ===&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 1 (em aula) - 2012 ====&lt;br /&gt;
* Enunciado: flood fill algorithm / labirinto&lt;br /&gt;
* Data: primeira aula&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 2  - 2012 ====&lt;br /&gt;
* Resumir inicio cap 3 do livro de Kleinberg &amp;amp; Tardos, prestando atencao `as aplicacoes&lt;br /&gt;
* Digitar em [[Latex]] de preferencia&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 3 - 2012 ====&lt;br /&gt;
* Enunciado:  BFS pode ser implementado recursivamente? ficaria a implementação?&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 4 - 2012 ====&lt;br /&gt;
* Enunciado: falar sobre lista de adjacência, matriz de adjacência, lista &amp;quot;direta&amp;quot;, matriz de pixels (confirmar)&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 5 - 2012 ====&lt;br /&gt;
* Enunciado: resumo do 4.1, 4.2 e 4.3 (confirmar)&lt;br /&gt;
&lt;br /&gt;
==== Tarefa 6 (em aula) - 2012 ====&lt;br /&gt;
* Enunciado: escovando bits e bytes&lt;br /&gt;
&lt;br /&gt;
==== Apresentacao  - 2012 ====&lt;br /&gt;
* Conteudo: Agendamento de intervalos, algoritmos de cache, estrategias Greedy.&lt;br /&gt;
&lt;br /&gt;
== Criterio de Avaliacao ==&lt;br /&gt;
&lt;br /&gt;
* Trabalhos: 30% da media&lt;br /&gt;
* O criterio final e simplificado ficou (favor avisar se precisar adicionar detalhes ou corrigir no caso de erro/discrepancia):&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
      M_p = (P1 + P2)/2   &lt;br /&gt;
      M = 0.7*M_p + 0.3*T (atualizado de 10% para 30% com acordo dos alunos), onde T é a nota dos trabalhos&lt;br /&gt;
      Se M &amp;gt;= 5, passa --&amp;gt; M&lt;br /&gt;
      Sub: repoe menor de P1, P2 (apenas se alguem faltou alguma prova ou quiser melhorar nota - mas quem entregar ira substituir)&lt;br /&gt;
      M_sub = media com sub&lt;br /&gt;
      Se M_sub &amp;gt;= 5, passou --&amp;gt; M_sub&lt;br /&gt;
&lt;br /&gt;
      Adendo (em acordo com os alunos): a M_sub = M_f pois sera considerada a mesma prova e a prova final nao mas faz efeito real com trabalhos a 30%.  Quem for usar a prova como Sub ira substituir a nota independentemente do resultado.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''A prova final passa a nao ser mais obrigatoria.''&lt;br /&gt;
&lt;br /&gt;
[[Category:IPRJ]] [[Category:Lab Macambira]]&lt;/div&gt;</summary>
		<author><name>AnaFromBR</name></author>
	</entry>
</feed>