Aprendendo a Aprender - Evento de Verão em Montes claros

150
Aprendendo a Aprender Fabio Akita @akitaonrails

description

Esta não deixa de ser uma apresentação um pouco sobre o que é ser um Railer. Mas também é uma discussão sobre a Ciência da Computação, onde estamos, onde estivemos e para onde podemos ir. Dedicado a alunos de cursos de Computação.

Transcript of Aprendendo a Aprender - Evento de Verão em Montes claros

Page 1: Aprendendo a Aprender - Evento de Verão em Montes claros

Aprendendo a Aprender

Fabio Akita @akitaonrails

Page 2: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 3: Aprendendo a Aprender - Evento de Verão em Montes claros

?

Page 4: Aprendendo a Aprender - Evento de Verão em Montes claros

+Fácil

Page 5: Aprendendo a Aprender - Evento de Verão em Montes claros

+Elegante

Page 6: Aprendendo a Aprender - Evento de Verão em Montes claros

Johannes Vermeer

Page 7: Aprendendo a Aprender - Evento de Verão em Montes claros

Johannes Vermeer

Page 8: Aprendendo a Aprender - Evento de Verão em Montes claros

Johannes Vermeer

Page 9: Aprendendo a Aprender - Evento de Verão em Montes claros

Johannes Vermeer

Page 10: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 11: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 12: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 13: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 14: Aprendendo a Aprender - Evento de Verão em Montes claros

Ciência da Computação

Page 15: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 16: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 17: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 18: Aprendendo a Aprender - Evento de Verão em Montes claros

11 3

Page 19: Aprendendo a Aprender - Evento de Verão em Montes claros

11 3

5 6

Page 20: Aprendendo a Aprender - Evento de Verão em Montes claros

11 3

5 6

2 12

Page 21: Aprendendo a Aprender - Evento de Verão em Montes claros

11 3

5 6

2 12

1 24

Page 22: Aprendendo a Aprender - Evento de Verão em Montes claros

11 3

5 6

2 12

1 24

3 + 6 + 24 = 33

Page 23: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 24: Aprendendo a Aprender - Evento de Verão em Montes claros

57 5

Page 25: Aprendendo a Aprender - Evento de Verão em Montes claros

57 5

28 10

Page 26: Aprendendo a Aprender - Evento de Verão em Montes claros

57 5

28 10

14 20

Page 27: Aprendendo a Aprender - Evento de Verão em Montes claros

57 5

28 10

14 20

7 40

Page 28: Aprendendo a Aprender - Evento de Verão em Montes claros

57 5

28 10

14 20

7 40

3 80

Page 29: Aprendendo a Aprender - Evento de Verão em Montes claros

57 5

28 10

14 20

7 40

3 80

1 160

Page 30: Aprendendo a Aprender - Evento de Verão em Montes claros

57 5

28 10

14 20

7 40

3 80

1 160

5+40+80+160= 285

Page 31: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 32: Aprendendo a Aprender - Evento de Verão em Montes claros

Longinus

Page 33: Aprendendo a Aprender - Evento de Verão em Montes claros

Charles Babbage (1791-1871)

Page 34: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 35: Aprendendo a Aprender - Evento de Verão em Montes claros

John von Neumann (1903 – 1957)

Page 36: Aprendendo a Aprender - Evento de Verão em Montes claros

Alan Mathison Turing (1912 – 1954)

Page 37: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 38: Aprendendo a Aprender - Evento de Verão em Montes claros

“The Imitation Game" (2014 - Benedict Cumberbatch)

Page 39: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 40: Aprendendo a Aprender - Evento de Verão em Montes claros

people = 20count = 0people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a endendputs count # => 190

Page 41: Aprendendo a Aprender - Evento de Verão em Montes claros

people = 20count = 0people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a endendputs count # => 190

Page 42: Aprendendo a Aprender - Evento de Verão em Montes claros

people = 20count = 0people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a endendputs count # => 190

Page 43: Aprendendo a Aprender - Evento de Verão em Montes claros

people = 20puts (people * (people - 1) / 2) # => 190

Page 44: Aprendendo a Aprender - Evento de Verão em Montes claros

require 'benchmark'people = 10_000Benchmark.bm do |x| x.report do count = 0 people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a end end puts count end x.report do puts (people * (people - 1) / 2) endend

Page 45: Aprendendo a Aprender - Evento de Verão em Montes claros

require 'benchmark'people = 10_000Benchmark.bm do |x| x.report do count = 0 people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a end end puts count end x.report do puts (people * (people - 1) / 2) endend

Page 46: Aprendendo a Aprender - Evento de Verão em Montes claros

require 'benchmark'people = 10_000Benchmark.bm do |x| x.report do count = 0 people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a end end puts count end x.report do puts (people * (people - 1) / 2) endend

Page 47: Aprendendo a Aprender - Evento de Verão em Montes claros

require 'benchmark'people = 10_000Benchmark.bm do |x| x.report do count = 0 people.times do |person_a| people.times do |person_b| count += 1 if person_b > person_a end end puts count end x.report do puts (people * (people - 1) / 2) endend

Page 48: Aprendendo a Aprender - Evento de Verão em Montes claros

user system total real 190 0.000000 0.000000 0.000000 ( 0.000043) 190 0.000000 0.000000 0.000000 ( 0.000008)

Page 49: Aprendendo a Aprender - Evento de Verão em Montes claros

user system total real49995000 6.310000 0.000000 6.310000 ( 6.354882)49995000 0.000000 0.000000 0.000000 ( 0.000011)

Page 50: Aprendendo a Aprender - Evento de Verão em Montes claros

“The Social Network" (2010)

Page 51: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 52: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 53: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 54: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 55: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 56: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 57: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 58: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 59: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 60: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 61: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 62: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 63: Aprendendo a Aprender - Evento de Verão em Montes claros

http://u.akita.ws/naousesqllike

Page 64: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 65: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 66: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 67: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 68: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 69: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 70: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 71: Aprendendo a Aprender - Evento de Verão em Montes claros

“I made up the term ‘object-oriented’, and I can tell you

I didn’t have C++ in mind”

- Alan Kay

Page 72: Aprendendo a Aprender - Evento de Verão em Montes claros

soma = 1 + 2

Page 73: Aprendendo a Aprender - Evento de Verão em Montes claros

soma = 1 + 2

soma = 1.+(2)

Page 74: Aprendendo a Aprender - Evento de Verão em Montes claros

soma = 1 + 2

soma = 1.+(2)

soma = 1.send(:+, 2)

Page 75: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 76: Aprendendo a Aprender - Evento de Verão em Montes claros

Ole-Johan Dahl e Kristen Nygaard

Page 77: Aprendendo a Aprender - Evento de Verão em Montes claros

require 'prime'gerador_de_primos = Fiber.new do numero = 1 loop do Fiber.yield(numero) if numero.prime? numero += 1 endend

Page 78: Aprendendo a Aprender - Evento de Verão em Montes claros

require 'prime'gerador_de_primos = Fiber.new do numero = 1 loop do Fiber.yield(numero) if numero.prime? numero += 1 endend

gerador_de_primos.resume=> 2

Page 79: Aprendendo a Aprender - Evento de Verão em Montes claros

require 'prime'gerador_de_primos = Fiber.new do numero = 1 loop do Fiber.yield(numero) if numero.prime? numero += 1 endend

gerador_de_primos.resume=> 2gerador_de_primos.resume=> 3

Page 80: Aprendendo a Aprender - Evento de Verão em Montes claros

require 'prime'gerador_de_primos = Fiber.new do numero = 1 loop do Fiber.yield(numero) if numero.prime? numero += 1 endend

gerador_de_primos.resume=> 2gerador_de_primos.resume=> 3gerador_de_primos.resume=> 5

Page 81: Aprendendo a Aprender - Evento de Verão em Montes claros

Gordon Moore - Intel co-founder

Page 82: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 83: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 84: Aprendendo a Aprender - Evento de Verão em Montes claros

Gordon Bell - DEC early employee

Page 85: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 86: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 87: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 88: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 89: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 90: Aprendendo a Aprender - Evento de Verão em Montes claros

Vaticano 2005

Page 91: Aprendendo a Aprender - Evento de Verão em Montes claros

Vaticano 2013

Page 92: Aprendendo a Aprender - Evento de Verão em Montes claros

Vaticano 2005

Page 93: Aprendendo a Aprender - Evento de Verão em Montes claros

Vaticano 2013

Page 94: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 95: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 96: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 97: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 98: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 99: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 100: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 101: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 102: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 103: Aprendendo a Aprender - Evento de Verão em Montes claros

Richard Stallman

Page 104: Aprendendo a Aprender - Evento de Verão em Montes claros

Richard Stallman

James Gosling

Page 105: Aprendendo a Aprender - Evento de Verão em Montes claros

Richard Stallman

James Gosling

Page 106: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 107: Aprendendo a Aprender - Evento de Verão em Montes claros

?

Page 108: Aprendendo a Aprender - Evento de Verão em Montes claros

+Promíscuos

Page 109: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 110: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 111: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 112: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 113: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 114: Aprendendo a Aprender - Evento de Verão em Montes claros

+Sádicos

Page 115: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 116: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 117: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 118: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 119: Aprendendo a Aprender - Evento de Verão em Montes claros

+Críticos

Page 120: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 121: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 122: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 123: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 124: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 125: Aprendendo a Aprender - Evento de Verão em Montes claros

www.codeminer42.com

Page 126: Aprendendo a Aprender - Evento de Verão em Montes claros

www.codeminer42.com

Page 127: Aprendendo a Aprender - Evento de Verão em Montes claros

www.codeminer42.com

Page 128: Aprendendo a Aprender - Evento de Verão em Montes claros

www.codeminer42.com

Page 129: Aprendendo a Aprender - Evento de Verão em Montes claros

www.codeminer42.com

Page 130: Aprendendo a Aprender - Evento de Verão em Montes claros

www.codeminer42.com

Page 131: Aprendendo a Aprender - Evento de Verão em Montes claros

www.codeminer42.com

Page 132: Aprendendo a Aprender - Evento de Verão em Montes claros

www.codeminer42.com

Page 133: Aprendendo a Aprender - Evento de Verão em Montes claros

www.codeminer42.com

Page 134: Aprendendo a Aprender - Evento de Verão em Montes claros

www.codeminer42.com

Page 135: Aprendendo a Aprender - Evento de Verão em Montes claros

www.codeminer42.com

Page 136: Aprendendo a Aprender - Evento de Verão em Montes claros

www.codeminer42.com

Page 137: Aprendendo a Aprender - Evento de Verão em Montes claros

Iniciando

Page 138: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 139: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 140: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 141: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 142: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 143: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 144: Aprendendo a Aprender - Evento de Verão em Montes claros

Douglas Engelbart - 1925 a 2/Jul/2013

Page 145: Aprendendo a Aprender - Evento de Verão em Montes claros

Douglas Engelbart - 1925 a 2/Jul/2013

Page 146: Aprendendo a Aprender - Evento de Verão em Montes claros
Page 147: Aprendendo a Aprender - Evento de Verão em Montes claros

Bons artistas Copiam Grandes artistas Roubam

Page 148: Aprendendo a Aprender - Evento de Verão em Montes claros

Pablo Picasso

Page 149: Aprendendo a Aprender - Evento de Verão em Montes claros

Ciência da Computação

Page 150: Aprendendo a Aprender - Evento de Verão em Montes claros

OBRIGADO!slideshare.net/akitaonrails

codeminer42.com

@akitaonrails