SCC 218 -Algoritmos Avançados e Aplicações

BCC - Bacharelado em Ciências da Computação
2º Semestre - 2020
ICMC - USP - São Carlos

João do E.S. Batista Neto - jbatista *** icmc usp br (SALA 4-222)

Monitor : Fabio Fogarin -> fbfdestro *** usp.br

Monitor : Andre Souza -> andre.moreira.souza *** usp.br

horário atendimento: Ainda a definir. Vcs preferem um horário fixo ou marcar por e-mail ?

Salas Virtuais (Google Meet)


Código das turmas no RUN.CODES


Índice


Programa


Permitir o contato do aluno com problemas clássicos e novos de computação que envolvam a análise de soluções variadas e os mais diversos paradigmas de programação.
Apresentação dos paradigmas de força-bruta, dividir e conquistar, transformar e conquistar, reduzir e conquistar, programação dinâmica e backtracking. Solução de problemas com árvores e grafos, e manipulação de strings.

[Índice]
 

Cronograma Semanal


Agosto: 28
Setembro: 04 11 18 25
Outubro: 02 09 16 23 30
Novembro 06 13 20 27
Dezembro 06 13 20 27

[Índice]
 

Conteúdo Semanal


Aula 1
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA B aqui

  • Apresentação da Disciplina: conteúdo, projetos, avaliação, datas importantes, etc aqui

  • Material de apoio de disciplinas correlacionadas
  • O problema de Stable-Matching (ou casamento estável) aqui
  • Um exemplo gráfico da execução do algoritmo aqui
  • Um exemplo gráfico da execução do algoritmo (versao animada) aqui

  • Momento Cultural Vejam que vídeo interessante. Podemos discutir isso depois...
  • Aula 2
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA B aqui

  • Paradigma 1: Algoritmos Gulosos

  • Complementos
  • Aula 3 - BackTracking e Força Bruta
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA B aqui

  • Paradigma 2: Força Bruta - BackTracking

  • Complementos
  • Aula 4 - BackTracking (Parte2)
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA B aqui

  • Paradigma 2: BackTracking (parte 2)

  • Complementos - Dicas importantes para resolver o exercício do 8 Puzzle...
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA B aqui

  • Aula 5 - Divisão e Conquista
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA B aqui

  • Paradigma 3: Divisão e Conquista
  • Aula 6 - Divisão e Conquista (complemento)
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA B aqui

  • Paradigma 3: Divisão e Conquista
  • Aula 7 - Programação Dinâmica (parte 1)
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA B aqui

  • Paradigma 4: Programação Dinâmica
  • Aula 8 - Programação Dinâmica (parte 2)
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA A aqui

  • Link vídeo TURMA B (LIS) aqui
  • Link chat TURMA B (LIS) aqui

  • Link vídeo TURMA A (LIS) aqui
  • Link chat TURMA B (LIS) aqui

  • LIS: LIS código (ERRATA do código feito na turma B). Foi corrigido no vídeo da turma A

  • LIS: Longest Increasing Subsequence
  • WSSP: Weighted SubSet Sum
  • KnapSack Problem: Knapsack Problem
  • Aula 9 - Programação Dinâmica (parte 3)
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA A aqui

  • Edit Distance: Ou Dist. Levenshtein

  • Código feito em sala Aqui
  • Aula 10 - Processamento de Strings
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA A aqui

  • Processamento de Strings um pouco de teoria
  • Processamento de Strings codigo feito em aula....
  • Aula 11 - Teoria dos Números
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA A aqui

  • Aula dia 11/12 explicação sobre o exercício factorFactorial
  • Link vídeo TURMA B aqui
  • Link chat TURMA B aqui
  • Link vídeo TURMA B (extra) aqui

  • Link vídeo TURMA A aqui
  • Link chat TURMA A aqui

  • Um pouco de Teoria dos Números (Primos)
  • Teoria dos Números código feito na Primeira Aula (código crivo, fatores primos, etc
  • Teoria dos Números código modificado, fatores primos SEM calcular CRIVO e o programa do crivo para valores muito altos

  • Exercício 10139 (aula11-exer2) Algumas obs importantes. Por favor leia !
  • Projetos/Trabalhos


  • Verifique sempre o run.codes. Note que existem 2 turmas no run.codes para esta disciplina

  • [Índice]
     

    Critério de Avaliação.


  • Veja material PDF na aula 1 Está tudo lá


  • [Índice]
     

    Listas de Exercícios




    [Índice]
     

    Bibliografia


    Kleinberg and Tardos. Algorithm Design
    Anany Levitin. The Design and Analysis of Algorithms
    Felix Halim. Competitive Programming
    Cormen. Introduction to Algorithms
    Skiena. The algorithm Design Manual


    [Índice]