Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
(RubyConf 2016) Computer Science: The Good Parts
Search
Jeff Cohen
November 09, 2016
Programming
0
310
(RubyConf 2016) Computer Science: The Good Parts
My keynote talk from RubyConf 2016 in Cincinnati.
Jeff Cohen
November 09, 2016
Tweet
Share
More Decks by Jeff Cohen
See All by Jeff Cohen
Modern Cryptography for Absolute Beginner
jeffcohen
0
170
Computer Science: The Good Parts
jeffcohen
0
130
Computer Science: The Good Parts (2016)
jeffcohen
3
200
Computer Science: The Good Parts
jeffcohen
1
190
Secrets Revealed: Web Development is for Everyone
jeffcohen
0
440
Coding for MBA's
jeffcohen
0
72
Other Decks in Programming
See All in Programming
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
970
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.4k
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
440
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
130
ASP.NET Core の OpenAPIサポート
h455h1
0
140
ASP. NET CoreにおけるWebAPIの最新情報
tomokusaba
0
120
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
190
[JAWS-UG横浜 #80] うわっ…今年のServerless アップデート、少なすぎ…?
maroon1st
0
130
快速入門可觀測性
blueswen
0
500
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
140
Azure AI Foundryのご紹介
qt_luigi
1
220
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
320
Featured
See All Featured
Side Projects
sachag
452
42k
Designing for Performance
lara
604
68k
YesSQL, Process and Tooling at Scale
rocio
170
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Practical Orchestrator
shlominoach
186
10k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Navigating Team Friction
lara
183
15k
KATA
mclloyd
29
14k
RailsConf 2023
tenderlove
29
980
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Optimizing for Happiness
mojombo
376
70k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Transcript
Computer Science: The Good Parts Jeffrey Cohen @jeffcohen jeffcohenonline.com
None
Data Structures
Data Structures
Linked List
60 31 5 45 80 70 74 99 87 68
Binary Tree
Data Structures
Graph
None
None
None
None
None
None
Algorithms
Babbage and Lovelace
Apollo 11
Margaret Hamilton Source code of the Apollo Guidance Computer
Complexity A "green" test suite is not an indicator of
sustainability. Some implementations are more complex than others. • Time • Space
O(n) def exists?(name_to_find, names) names.each do |name| return true if
name == name_to_find end return false end
def exists?(name_to_find, names) names.each do |name| return true if name
== name_to_find end return false end O(n) 0 100 200 300 O(n)
O(log n) def exists?(name_to_find, sorted_names) midpoint = sorted_names.length
/ 2 return true if sorted_names[midpoint].name == name_to_find if name < sorted_names[midpoint].name search(name_to_find, sorted_names[0, midpoint]) else search(name_to_find, sorted_names[midpoint, -1]) end return false end
def exists?(name_to_find, sorted_names) midpoint = sorted_names.length / 2
return true if sorted_names[midpoint].name == name_to_find if name < sorted_names[midpoint].name search(name_to_find, sorted_names[0, midpoint]) else search(name_to_find, sorted_names[midpoint, -1]) end return false end O(log n) 0 100 200 300 O(log n) O(n)
Atom.io blog post
O(n2) def make_combinations(items) items.map do |item| items.map { |inner_item| [item,
inner_item] } end end [1,2,3] => [[1,1], [1,2], [1,3], [2, 1], [2, 2], [2, 3], [3, 1], [3, 2], [3, 3]]
O(n2) def make_combinations(items) items.map do |item| items.map { |inner_item| [item,
inner_item] } end end 0 100 200 300 O(n2) O(n) O(log n)
The Future
Alan Turing
Alan Turing Computer science is not computer programming
Alan Turing It's a way of thinking
Grace Hopper
Grace Hopper
Grace Hopper Humans are allergic to change. They love to
say, "We've always done it this way." I try to fight that. That's why I have a clock on my wall that runs counter-clockwise.
Grace Hopper A ship in port is safe; but that
is not what ships are built for. Sail out to sea and do new things.
Questions? Thoughts? Find me on twitter @jeffcohen jeffcohenonline.com