Grandes ideias na teoria da ciência da computação

42
GREAT IDEAS GREAT IDEAS IN THEORETICAL COMPUTER SCIENCE IN THEORETICAL COMPUTER SCIENCE

Transcript of Grandes ideias na teoria da ciência da computação

Page 1: Grandes ideias na teoria da ciência da computação

GREAT IDEASGREAT IDEASIN THEORETICAL COMPUTER SCIENCEIN THEORETICAL COMPUTER SCIENCE

Page 2: Grandes ideias na teoria da ciência da computação

EQUIPEEQUIPEDiego TavaresDiego TavaresRaiff AndersonRaiff Anderson

Tárcito LuaTárcito LuaVictor BatistaVictor Batista

GREAT IDEASGREAT IDEAS IN THEORETICAL COMPUTER SCIENCE IN THEORETICAL COMPUTER SCIENCE

Page 3: Grandes ideias na teoria da ciência da computação

O QUE É CIÊNCIA DA

COMPUTAÇÃO ?

Page 4: Grandes ideias na teoria da ciência da computação

• Computação não é apenas estudar programação

• O computador é uma ferramenta• Conjunto de ferramentas e ideias para a

compreensão de sistemas

O QUE É O QUE É CIÊNCIA DA COMPUTAÇÃOCIÊNCIA DA COMPUTAÇÃO??

Page 5: Grandes ideias na teoria da ciência da computação

• Maturidade matemática• Exercitar o raciocínio lógico• Estar preparado para estudar conteúdos

novos todo o tempo

O QUE É NECESSÁRIO O QUE É NECESSÁRIO PARA ENTENDER PARA ENTENDER COMPUTAÇÃO?COMPUTAÇÃO?

Page 6: Grandes ideias na teoria da ciência da computação

• O Bacharel em Ciência da Computação é o profissional capacitado a solucionar problemas do mundo real, por meio da construção de modelos computacionais e de sua implementação.

• Capacidade para aplicar seus conhecimentos de forma independente e inovadora, acompanhando a evolução de setor e contribuindo na busca de soluções nas diferentes áreas de aplicação da computação;

http://www.di.ufpb.br/node/14

O CIENTISTA O CIENTISTA DA COMPUTAÇÃODA COMPUTAÇÃO

Page 7: Grandes ideias na teoria da ciência da computação

FÍSICA X COMPUTAÇÃO

Page 8: Grandes ideias na teoria da ciência da computação

• A física é a ciência que estuda a natureza e seus fenômenos em seus aspectos mais gerais.

• Físicos buscam por irregularidades para encapsulá-las em leis gerais.

• Cientistas da computação geralmente trabalham no sentido oposto.

FÍSICA FÍSICA VERSUS VERSUS COMPUTAÇÃOCOMPUTAÇÃO

Page 9: Grandes ideias na teoria da ciência da computação

QUESTÕESMOTIVACIONAISMOTIVACIONAIS

Page 10: Grandes ideias na teoria da ciência da computação

• O que é um algoritmo?• O que é um programa?• Você sabia que existem diferentes tipos de

infinitos?

QUESTÕES QUESTÕES MOTIVACIONAISMOTIVACIONAIS

Page 11: Grandes ideias na teoria da ciência da computação

CRIANDO UM SITEDE APOSTAS ONLINE

Page 12: Grandes ideias na teoria da ciência da computação

• Criando um jogo de roleta online• Como será o jogo?• Como o jogador ganha ou perde?• Qual a probabilidade de ganhar?• O que pode dar errado?

CRIANDO UM SITE DE CRIANDO UM SITE DE APOSTAS ONLINEAPOSTAS ONLINE

Page 13: Grandes ideias na teoria da ciência da computação

FACTORINGFACTORING IS HARD IS HARD

Page 14: Grandes ideias na teoria da ciência da computação

FACTORINGFACTORING IS HARD IS HARD

Page 15: Grandes ideias na teoria da ciência da computação

• Computador Quântico?

O que Fazer então? O que Fazer então?

Page 16: Grandes ideias na teoria da ciência da computação

O que Fazer então? O que Fazer então?

Page 17: Grandes ideias na teoria da ciência da computação

• Alguns processos são extremamente difíceis de serem revertidos.

Física e ComputaçãoFísica e Computação

• Nível microscópico: • Nível macroscópico:

Page 18: Grandes ideias na teoria da ciência da computação

Factoring is Hard

• Site de Apostas Online– Realiza-se a implementação com multiplicações por

números grandes e primos.• Não apenas fatorar os números é difícil como também

determinar se o ultimo dígito de um dos fatores é ou não 7.

Page 19: Grandes ideias na teoria da ciência da computação

COMPASS ANDSTRAIGHTEDGESTRAIGHTEDGE

Page 20: Grandes ideias na teoria da ciência da computação

• Algoritmo criado na Grécia antiga usado para criar complexas figuras geométricas usando apenas régua e compasso.

• Analogamente na computação criamos algoritmos que usam um conjunto limitado de operações simples para resolver problemas complexos.

COMPASS AND COMPASS AND STRAIGHTEDGESTRAIGHTEDGE

Page 21: Grandes ideias na teoria da ciência da computação

O ALGORTIMO MDC DE EUCLIDESDE EUCLIDES

Page 22: Grandes ideias na teoria da ciência da computação

Como reduzir uma fração grande como 510/646 ao um termo menor?

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDES

Page 23: Grandes ideias na teoria da ciência da computação

Como reduzir uma fração grande como 510/646 ao um termo menor?

Fatorando !

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDES

Page 24: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDESFatoraçãoFatoração

Page 25: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDESFatoraçãoFatoração

Page 26: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDESFatoraçãoFatoração

Page 27: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDESFatoraçãoFatoração

Page 28: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDES

A observação de A observação de EuclidesEuclides

Page 29: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDESA observação de EuclidesA observação de Euclides

Page 30: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDESA observação de EuclidesA observação de Euclides

B = q.A+rB = q.A+r

Page 31: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDESA observação de EuclidesA observação de Euclides

B = q.A+rB = q.A+rr = B-q.Ar = B-q.A

Page 32: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDESA observação de EuclidesA observação de Euclides

B = q.A+rB = q.A+rr = B-q.Ar = B-q.A

MDC(A,B)=MDC(r,A)MDC(A,B)=MDC(r,A)

Page 33: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDESA observação de EuclidesA observação de Euclides

MDC(510,646) = MDC(136,510)MDC(510,646) = MDC(136,510)

Page 34: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDESA observação de EuclidesA observação de Euclides

MDC(136,510) = MDC(102,136) MDC(136,510) = MDC(102,136)

MDC(102,136) = MDC(34,102) MDC(102,136) = MDC(34,102)

Page 35: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDES

MDC(0,34) = 34MDC(0,34) = 34

Page 36: Grandes ideias na teoria da ciência da computação

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDES

MDC(0,34) = 34MDC(0,34) = 34

Se A for maior que B troque as posiçõesSe A for maior que B troque as posiçõesif(if(AA====00) {) {returnreturn B B;;} else {} else {

returnreturn MDC(A%B,A) MDC(A%B,A);;}}

Page 37: Grandes ideias na teoria da ciência da computação

• Quantos restos teremos que calcular?• Quão menor ficam os números a cada passo?

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDES

Page 38: Grandes ideias na teoria da ciência da computação

• Quantos restos teremos que calcular?• Quão menor ficam os números a cada passo?

B%A < B/2

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDES

Page 39: Grandes ideias na teoria da ciência da computação

• Quantos restos teremos que calcular?• Quão menor ficam os números a cada passo?

B%A < B/2

• Existe uma forma de torna-lo mais eficiente?

O ALGORITMO MDC DE O ALGORITMO MDC DE EUCLIDESEUCLIDES

Page 40: Grandes ideias na teoria da ciência da computação

CONSIDERAÇÕESFINAISFINAIS

Page 41: Grandes ideias na teoria da ciência da computação

• Espera-se que o Cientista da Computação saiba como resolver problemas - uma vez que isto é considerado mais importante do que acumular informações.

• Deve estar preparado para lidar com mudanças e enfrentar desafios.

CONSIDERAÇÕES CONSIDERAÇÕES FINAISFINAIS

Page 42: Grandes ideias na teoria da ciência da computação

GREAT IDEASGREAT IDEASIN THEORETICAL COMPUTER SCIENCEIN THEORETICAL COMPUTER SCIENCE