Projeto e Analise de Algoritmos: mudanças entre as edições
Linha 91: | Linha 91: | ||
Lucas Oliveira e José Eduardo = SRMs 536 DIV 2 e 149 DIV 2 | Lucas Oliveira e José Eduardo = SRMs 536 DIV 2 e 149 DIV 2 | ||
Iwyson: SRM 187 DIV1 e | Iwyson e Romulo: SRM 187 DIV1 e 144 | ||
Marcos Belchior e Izabela Bastos : SRM 209 DIV2 SRM 281 DIV2 | Marcos Belchior e Izabela Bastos : SRM 209 DIV2 SRM 281 DIV2 |
Edição das 12h50min de 1 de julho de 2012
Esta eh a pagina principal de um curso de projeto de algoritmos sendo ministrado no IPRJ/UERJ, de utilidade geral para a formacao de programadores de nivel intermediario e avancado.
Informacoes gerais
- Instrutor: prof. Ricardo Fabbri
- Periodo: 1o. Semestre de 2012, voltado ao 7o. periodo de Engenharia da Computacao
- Tercas e Quartas, 9:40-11:30am, sala 211 e Lab Inf 01
Pre-requisitos
- Sera assumido um primeiro curso em algoritmos e estruturas de dados, porem nao e' obrigatorio.
Conteudo aproximado
- Enfase no projeto (design) de algoritmos
- Enfase em grafos
- Uso do C++ e' preferivel
- Enfase no uso do TopCoder para exercicios
- Algoritmos gulosos / greedy
- Programacao dinamica
- Fluxo em redes (Network flows)
Recursos principais
- Grupo de discussao: uerj.tk
Bibliografia
- Livro principal: "Algorithm Design" - Jon Kleinberg & Eva Tardos (ver uerj.tk)
Top Coder
- Inicie em http://community.topcoder.com/tc
- Clique em "Register Now" ou "Login"
- Clique em O(n) no canto superior esquerdo para iniciar a Arena
- No ubuntu linux, abra o nautilus (navegador de arquivo) no diretorio onde foi baixado o ContestAppletProd.jnlp
- Clique no ContestApplestProd.jnlp com o botao direito do mouse, e selecione "abrir com Java Webstart" ou "Iced Tea"
- Caso nao tenha essa opcao, instale os pacotes iced-tea* usando o synaptic ou outro gerenciador de pacotes
- Faca o Login
- Selecione Practice Rooms -> SRMs -> problemas Div 1. Os Div 2 sao mais dificeis e deixe-os para depois.
- Mais informacoes em Topcoder Quickstart Tutorial
- Meu template C++ para o topcoder: http://hera.ethymos.com.br:1080/reacpad/p/paa
- Veja tambem os Editoriais, em que os melhores programadores explicam as solucoes de alguns SRM's e outras competicoes
Aulas - Slides
- busca em grafos - 26/mar - 4/apr (atualizado em 8/apr)
- algoritmos greedy / gulosos
- analise e divide-and-conquer (atualizado em 20/jun)
- dynamic programming / programacao dinamica (atualizado em 20-26/jun)
Recursos adicionais
- Slides de aula em Princeton
- Site de material extra-oficial e troca p2p entre alunos: uerj.tk
- Lab Macambira: grupo de desenvolvedores de software livre e ajuda com Linux e atividades extra-curriculares de programacao.
- Confira a sala de bate papo no IRC #labmacambira (freenode) [1] para discussao sobre software livre, linux, e afins.
- Para discussoes gerais, podemos criar nossa propria sala de bate-papo.
- Configuring Ubuntu for Programming
Tarefas
Somente serao aceitos arquivos eletronicos no formato PDF ou outro formato aberto como .odt
As tarefas devem ser formatadas com notacao matematica adequada, preferencialmente em Latex.
Somente serao aceitos arquivos eletronicos no formato PDF ou outro formato aberto como .odt
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.
Tarefa 1 (em aula)
- Enunciado: flood fill algorithm
- Data: primeira aula, 14/mar/2012
- Alunos que entregaram
- Eduardo Neves Goulart
- Lucas Vieira Souza
- Izabela Bastos Noe
- Lucas da Silva Oliveira
- José Eduardo de A. Agres
- Dario Antonio Sanches
- Marcos Belchior
- Romulo Henrique
Tarefa 2
- Resumir inicio cap 3 do livro de Kleinberg & Tardos, prestando atencao `as aplicacoes
- Digitar em Latex de preferencia
Top Coder
- Criar um login do topcoder (anonimo, so voce sabe)
- Fazer 2 SRM's (a serem entregues no futuro). Documente sua solucao (em Latex de preferencia). Esses SRMs devem ser tais que nao ha' editorial a respeito no topcoder.
- Um dos SRMs devera ser resolvido em maior detalhe, inclusive com pesquisa sobre assuntos que possam ser relevantes
Duplas p/ Trabalho
- Colocar aqui o nome dos integrantes e o SRM(s) escolhidos (isto pode ser alterado no futuro se desejado)
Lucas Oliveira e José Eduardo = SRMs 536 DIV 2 e 149 DIV 2
Iwyson e Romulo: SRM 187 DIV1 e 144
Marcos Belchior e Izabela Bastos : SRM 209 DIV2 SRM 281 DIV2
Lucas Vieira e Dayany Espindola = ???
Eduardo Neves e André Portes = ???