Projeto e Analise de Algoritmos: mudanças entre as edições
Linha 93: | Linha 93: | ||
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 e Romulo: SRM 262 DIV2 e | Iwyson e Romulo: SRM 262 DIV2 e 491 DIV2 | ||
Marcos Belchior e Izabela Bastos : SRM 535 DIV2 SRM 281 DIV2 | Marcos Belchior e Izabela Bastos : SRM 535 DIV2 SRM 281 DIV2 |
Edição das 09h48min de 12 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) - cai na P2
- dynamic programming / programacao dinamica (atualizado em 20-26/jun) - cai na P2
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
Projeto no 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 262 DIV2 e 491 DIV2
Marcos Belchior e Izabela Bastos : SRM 535 DIV2 SRM 281 DIV2
Lucas Vieira e Dayany Espindola = ???
Eduardo Neves e André Portes = ???
Hamilton e Paulo = ???
Criterio de Avaliacao
- Trabalhos: 30% da media (antes era 10%)
- P2: Quarta-feira dia 11 de Julho
- Sub: Sexta-feira dia 13 de Julho 10:30am - 12pm