Projeto e Analise de Algoritmos: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
(→‎Aulas: programacao dinamica)
Linha 43: Linha 43:
* [http://www.lems.brown.edu/~rfabbri/stuff/02-greedy-etc.odp algoritmos greedy / gulosos]
* [http://www.lems.brown.edu/~rfabbri/stuff/02-greedy-etc.odp algoritmos greedy / gulosos]
* [http://www.lems.brown.edu/~rfabbri/stuff/03-analise-e-divide_and_conquer.odp analise e divide-and-conquer] (incompleto - aulas em andamento)
* [http://www.lems.brown.edu/~rfabbri/stuff/03-analise-e-divide_and_conquer.odp analise e divide-and-conquer] (incompleto - aulas em andamento)
* [http://www.lems.brown.edu/~rfabbri/stuff/04-dynamic-programming.odp dynamic programming / programacao dinamica] (atualizado em 20/jun)


== Recursos adicionais ==
== Recursos adicionais ==

Edição das 11h36min de 20 de junho 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

Bibliografia

  • Livro principal: "Algorithm Design" - Jon Kleinberg & Eva Tardos (ver uerj.tk) cover.jpg

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 topcoderalglink.png
  • 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

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 545 DIV 1 e 149 DIV 2

Iwyson: SRM 187 DIV1 e ???