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

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

Embed Size (px)

Citation preview

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