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
340
(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
140
Computer Science: The Good Parts (2016)
jeffcohen
3
220
Computer Science: The Good Parts
jeffcohen
1
200
Secrets Revealed: Web Development is for Everyone
jeffcohen
0
450
Coding for MBA's
jeffcohen
0
85
Other Decks in Programming
See All in Programming
実践 Dev Containers × Claude Code
touyu
1
210
What's new in Adaptive Android development
fornewid
0
140
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
200
管你要 trace 什麼、bpftrace 用下去就對了 — COSCUP 2025
shunghsiyu
0
420
Langfuseと歩む生成AI活用推進
licux
3
250
変化を楽しむエンジニアリング ~ いままでとこれから ~
murajun1978
0
730
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
2.2k
TanStack DB ~状態管理の新しい考え方~
bmthd
2
140
decksh - a little language for decks
ajstarks
4
21k
令和最新版手のひらコンピュータ
koba789
14
7.8k
バイブコーディングの正体——AIエージェントはソフトウェア開発を変えるか?
stakaya
5
960
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
970
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
The Pragmatic Product Professional
lauravandoore
36
6.8k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Building Applications with DynamoDB
mza
96
6.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Making Projects Easy
brettharned
117
6.3k
Optimizing for Happiness
mojombo
379
70k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
KATA
mclloyd
32
14k
Thoughts on Productivity
jonyablonski
69
4.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
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