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
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
150
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
2
440
color-scheme: light dark; を完全に理解する
uhyo
3
310
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
sappoRo.R #12 初心者セッション
kosugitti
0
250
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
710
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
270
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
5.3k
Rails アプリ地図考 Flush Cut
makicamel
1
120
定理証明プラットフォーム lapisla.net
abap34
1
1.8k
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
47
17k
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
120
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
51
7.4k
How GitHub (no longer) Works
holman
314
140k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
A better future with KSS
kneath
238
17k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Docker and Python
trallard
44
3.3k
Practical Orchestrator
shlominoach
186
10k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
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