>> [音樂播放]
>> [掌聲]
>> 戴維·J·馬蘭：這是CS50， 哈佛大學的介紹
對智力 計算機科學的企業
和編程的藝術。
現在，如果你是在那些 每年都會坐在這裡
在你的心中有點緊張的，這樣的 你不覺得你屬於這裡，
你認為最 有人坐在你身邊
了解遠遠超過你，確實是 比你更舒適的電腦
科學或電腦 更一般地，實現
學生現在誰是78％ 採取CS50有沒有現成的經驗。
>> 的確，有100個點有 在顯示器上，78其中
是純綠色的，這意味著你， 如果你的人口中，
是非常好的公司這裡開始了。
如果你是代替中 CS50的學生22％誰做的確實
有之前的經驗，​​無論是在 高中或其他程序，
認識到你，也將 在使用過程中受到挑戰。
>> 我們不僅有不同的軌道 學生不舒服，更
在部分舒適的一致好評，我們 也有所謂的黑客版本
大部分習題的 將挑戰那些學生
與額外的經驗 探索類似的材料
但是從更 複雜的觀點。
>> 但是，什麼是計算機科學？
那麼，最終什麼事情 當你探索這個領域的事情是沒有
與其說你在哪裡結束 相對於你的同學，
但如果你自己最終在 對，你在這裡開始為期12週
零一周。
現在電腦science--好，讓我們 把它的computation--科學
這裡計算的是真的只是一個 的說法，服用一些花哨的輸入方式，
產生一些輸出，並 通過運行算法這樣，
的指令集用於解決 這些輸入的一些問題
為了產生某些輸出或 解決方案中，你有興趣。
>> 所以，我們最近有 一次旅行了
加州會見的校友。
她的名字是蘇珊·沃西基。
她想說話 你在這裡的視頻
要證明是多麼適用 電腦甚至只是味道
科學的 入門級就可以。
即使你沒有去追求 計算機科學的領域，
甚至工程， 或STEM更一般地，
你會看到，其實，如何在一定 當然，這樣影響了她的生活。
而她才剛剛把它當她 是一位資深你們是哈佛學院。
>> 如果我們能夠把燈光調暗了蘇珊。
蘇珊沃西基：你好，世界。
我是蘇珊·沃西基。
我的YouTube的首席執行官。
我花了CS50當我 在1990年的高級哈佛大學。
我其實是歷史 文學專業。
>> 而我大三暑假， 我意識到，也許我
想學的東西 電腦。
所以，我回來了。
我把CS50。
這是很難的，但它是 最令人驚訝的I類了。
>> 它改變了我如何看待一切。
當我從哈佛畢業 在1990年，我去了矽谷。
我找到了一份工作。
我一直在努力 在高科技至今。
戴維·J·馬蘭：現在什麼蘇珊 沒有提到在這段視頻中，
這竟是她 車庫，谷歌本身是
由Larry和Sergey創辦。
>> 現在，我們也達到了我們的朋友 在code.org，一個組織，
在過去一年中一直 讓人們特別是
興奮的計算機科學 和編程，尤其如此。
但值得一提的是，編程 是不是計算機科學本身。
計算機科學是不是編程。
而編程只是一個 tool--與大家
將一切太清楚 按學期end--熟悉
例如，你可以不適用 只是在未來的CS課程
但是從那裡任何領域 你來了，在人文，
社會科學，自然科學 學，或類似物。
>> 事實上，讓其他幾個 校友和他們的同事
說話的適用性 等待著的領域。
>> 比爾蓋茨：我13歲的時候我 第一次拿到進入電腦。
>> 多爾西：我的父母 1984年我買了蘋果
當我8歲了。
>> 馬克·扎克伯格：我是 小學六年級。
>> 揚聲器1：我學會了在大學的代碼。
>> 魯奇SANGHVI：大一的時候，第一個 學期，介紹計算機科學。
>> 比爾蓋茨：我寫了一個程序 這起井字腳趾。
>> 德魯休斯頓：我認為這是 很卑微。
我覺得第一個程序 我寫信問之類的東西，
什麼是你最喜歡的顏色？
或者，你多大了？
ELENA SILENOK：我第一次聽說 如何使一個綠色的圓
和一個紅色方塊出現在屏幕上。
加布紐維爾：第一 當時我其實是有
東西上來，說，你好，世界。
我做了一個電腦做的。
這只是驚人的。
>> 馬克·扎克伯格：學習如何 以程序沒有啟動過
如想學習 所有的計算機科學
或者試圖掌握這個 紀律之類的東西。
這只是起步，因為我 想做這一個簡單的事情。
我想要做的東西， 有趣的是為我自己和我的姐妹們。
>> 我寫了這個小程序。
然後基本上只是 加一點點吧。
然後，當我需要 學習新的東西，
我看著它，無論是在 一本書或在互聯網上，
然後加一點點吧。
>> 德魯休斯頓：這真的沒有什麼不同 彈奏樂器或東西
或者玩一種運動。
戴維·J·馬蘭：好吧。
因此，讓我們現在實際上 在下潛更深一點。
什麼是這些輸入和輸出 我們在這裡討論的？
>> 所以，怎麼樣簡單的東西？
你可能知道，即使你有 隨著計算機技術的熟悉不
無論如何，這台計算機以某種方式使用 並明白只有零和一。
但如何才能使這可能是給予怎樣 很多今天的台式機和筆記本都
可以嗎？
>> 一天的DNA中，僅 字母表示理解
是0或1。
那麼，考慮一下。
我們人類，傾向於使用 十進位制。 “DEC”的意思10。
而這10因為我們有 10個數字，從0到9。
>> 現在的計算機，相比之下， 傾向於使用二進制。
“碧”的含義2。
因此，他們往往只有零和一的使用。
但事實證明，即使是 只是用0和1的
是一個足夠大的字母表 與代表最
你想要的任何一塊數據， 無論它是一個數字，
無論它是一個字母，無論是 在屏幕上的圖形或視頻。
>> 舉個例子，我們人類如何 通常在這裡解釋這個數字。
這是短短三年 位，一個，兩個，三個。
但是我們知道這個號碼 天生現在123。
但是，為什麼會這樣呢？
>> 好吧，如果你想回來 或許小學，
你可能被教導想 這些數字中的列之中，
其中一個是在數百 處，這兩個是在十位，
和三是在那些地方。
為什麼是實際有用嗎？
嗯，想想 超級簡單的算術題
我們都曾有過 現在做了多年。
實際上，如果你有 一個在百位，
你快數學100 1次加10倍2--
因為二是在幾十 place--加1次3--
因為3是在個位。
當然，所以，如果我們 實際上乘了這一點，
我們真正代表 與此pattern-- 1
2 three--是100加20加 3，這當然是123。
>> 現在二進制和計算機真的， 從根本上說同一種語言
我們做的。
他們只是有一個較小的字母表。
所以電腦只有零 和那些在他們的處置。
因此，而我們人類有本質 10在這些places--的權力
10到零，10到1，十 兩個，給你110和100
分別。
>> 因為計算機只具有兩個值 他們能夠理解，零和一，
他們必須使用不同的值 在這些列中，一個，兩個，四個。
如果我們堅持下來了，八， 16，32，64，等等。
但在圖形和 心態是完全一樣的。
>> 因此，通過這樣的邏輯，任何人，怎麼會 我去約相當於數
1二進制？
如果你從來沒有想過 這之前，什麼是你的直覺說什麼？
>> 聽眾：一。
戴維·J·馬蘭：一。
沒錯。
我們只需要一個人在 那些地方，因為在零
足以給我們 既不四，也不是2。
所以一時間一等於之一。
現在事情變得有點有趣。
如果我想代表 二進制數two--但是，
再次，即使你從來沒有 之前講這種語言，
我們怎麼表示的二進制 值我們人類所知道的2？
零壹零。
只要把一個在 您希望它列。
>> 現在，它變得相當 易可能了。
所以，如果我要代表three-- 沒有3的專欄。
所以，再一次，我現在可以添加這些值 一起放一個人在這裡。
因此，2次1加1 次1，當然，3。
>> 現在，事情得到一點樂趣 在那些現在變成零。
並代表4，我得到這個。
如果我們慢慢增加 這裡 - 這將是5。
這將是6。
這將是7。
>> 但現在我似乎有 碰到一個問題。
我怎麼可能去代表 eight--將是下一個值。
是的，所以我們需要一個新的位。
而且，事實上，如果你 以前聽到這句話，
位，這只是短暫的 二進制數位，0或1。
>> 所以，我碰巧代表 只有三個這樣的位位置。
但是，如果我有沒有存儲的一種方式 三個不同的位，而是四個，
我肯定可以代表 8，然後9，然後
10，甚至高。
>> 但是，然後調用 質疑我們如何
去代表這些 東西擺在首位。
這是一件事畫 他們在這裡載玻片上，
但你如何代表他們 如果你是一個機械裝置？
什麼是計算機操作的 表示輸入和輸出
從根本上定義的計算 在一天結束？
>> 那麼，什麼樣的東西 超級簡單的這樣嗎？
這只是一個燈泡。
我可以觸發此 燈泡去
通過將一些電 並允許電子
流過，從而改變其 國家或它的價值，可以這麼說。
例如，這是 一個老同學的檯燈
這裡有一個這樣的 燈泡裡面它。
而現在它不是 真正做任何有用的事。
但只要我將它 插入電源插座
然後用這個switch--或 我們甚至可以稱之為晶體管
或把它想成such-- 現在我可以代表
此值，其中，燈泡的 明顯地關閉，或者該值。
該值或該值。
這個值等等。
>> 因此，一台電腦裡面，大概 小得多的硬件部分，
但是，在該端 一天只需
使用electricity-- 也許是捕捉它 -
然後要么保持的東西 或保留的東西了。
當然，這是不 特別有趣的事情
只是一個單一的燈泡。
>> 事實上，有多高，我可以算的 二進制這個檯燈嗎？
>> 聽眾：一。
>> 戴維·J·馬蘭：一，對不對？
我需要更多的檯燈，如果我 其實要算高。
但我們可以做的比這更好的。
因為燈泡的 我們已經把這些東西
其實票友燈泡 比昔日允許。
而它們實際上是 聯網的燈泡。
和公司的串 做這些事情，這些天。
>> 但事實證明， 這其中尤其是
配備了一個功能即 你可以改變它的顏色。
因此，例如，如果 裝飾你的寢室
與一些這些光 燈泡，這取決於你的心情，
取決於誰進來， 根據天氣，
根據不同的時間 一天，你其實可以
改變的顏色 燈泡在你的房間。
那是因為這些光 燈泡和其他類似的有什麼
所謂的API，應用程序 編程接口，該接口
是一個話題，你會很好 熟悉了學期結束。
>> 而這僅僅是一個幻想， 的說法神秘的方式，
您可以設定這些光 燈泡做你的出價。
你可以向他們發送消息 就像你，一個人，
可以將消息發送到Web服務器 他說，給我今天的新聞
或者給我的電子郵件。
>> 您可以發送更多的奧術 消息，這些燈泡
也就是說，打開和關閉。
但是，這並不是那麼有趣。
你可以說，開啟紅， 變綠，打開藍色，
所有具有相同的燈泡。
你甚至可以與多一點 精明，說，把自己的藍色
當它是一個黑暗的日子 外，例如。
實際上，它可以修補成 天氣的API，並找出
天氣是什麼，或時間 的當天，或其他這樣的觸發器。
>> 所以，實際上，兩個 CS50自己的工作人員，
丹·布拉德利和安塞爾 達夫在這裡，請購買
我們一大堆這些燈泡。
和他們建立了CS50的 第一個二進制燈泡，
我們已經表示這裡 - 與這些俏皮的小magnets--
各種佔位符，我們 提到只是有點前。
>> 所以來這裡的路上是 個位，二，四。
而且，我們也沒有看到比這高。
但是，當然，他們是兩個大國。
八，16，32，64和128。
所以，如果我現在想成為一個小票友 不是用這個老同學開關，
我這裡有對這款iPad 一個超級簡單的界面
丹·布拉德利，前 學生現在教的傢伙，
使用一些HTML程序性 和JavaScript，這
是標記和編程 分別的語言。
你可以大概 see--即使在back--
還有一個很大的優點和一大負， 加一個按鈕為每個這些燈泡的。
什麼這是怎麼回事，讓我 確實是，比如，單擊加號
而現在所代表的 當然，有什麼號？
之一。
我可以再次打它。
二。
三。
四。
五。
六。
七。
>> 在這裡，現在我們得到了側翻， 但是我們有一個四號位這個時候，
所以現在我們有八個。
所以我們可以很長一段時間做到這一點。
事實上，順便說一句， 我們有多高可以指望？
任何人嗎？
>> 聽眾：255。
>> 戴維·J·馬蘭：255，對不對？
不要太擔心數學的 現在，但是這是一個相當不錯的數字。
但它實際上並不只是約束 有多少條信息，
像字母或圖形 我們可以代表。
>> 但不管現在。
我要繼續前進 然後將它們全部關閉。
如果我可以，我想詢問 一個志願者，我們的第一個volunteer--
哦，hello--在舞台上。
美中不足的是，你必須要 舒適的出現，因為你清楚
在所有的同學面前， 以及在互聯網上。
讓我看起來有點超出the-- 怎麼樣在這裡的白襯衫？
和手了。
上來吧。
你叫什麼名字？
>> 聽眾：成龍。
>> 戴維·J·馬蘭：成龍。
成龍大哥，拜託了。
所以什麼也就此 iPad是一款名為遊戲模式按鈕。
而這種遊戲模式是 要允許我輸入
提前一個特定的小數 數字，這些數字我們人類
熟悉。
然後，你將面臨挑戰 這裡使用的按鈕
在top--之一 這些bulbs--的
真正搞清楚 燈泡的圖案
表示所討論的數目。
>> 我很抱歉，再次你叫什麼名字？
>> 聽眾：成龍。
>> 戴維·J·馬蘭：成龍。
好吧。
很高興見到你。
>> 因此，讓我繼續前進，計劃在 讓全世界都看到數字15。
我們會保持它在小先到這裡。
而我要進入遊戲模式。
我要去指定， 給我們的15號。
>> 行。
現在大家watching--如果 你想也許受不了這種方式，
因為它會排隊up--繼續前進， 切換沿頂部的八個按鈕
打開燈泡上 或關閉您認為合適的。
>> 聽眾：確定。
>> 戴維·J·馬蘭。也沒有作弊 通過點擊加15倍。
哦，我們將做到這一點。
>> 聽眾：哦，等等。
我很抱歉。
>> 戴維·J·馬蘭：你也可以打開 在燈泡上分別
與每個上頂這些按鈕。
聽眾：哦，好吧。
因此，這將是like--
戴維·J·馬蘭：確定。
所以現在我們有八個。
因此，讓我們停下來的 觀眾在這裡搞。
什麼號碼是成龍 目前代理？
11。
因此，我們快到了。
並以優異的。
因此，我們有我們的第一個冠軍。
恭喜。
>> 而且我們認為我們會擁有 一些神話般的贈品。
如果你想成為一個這樣的 這裡的宿舍在校園裡，
您可以自己有一個最終方案 現在使用這個API，感謝成龍。
所以now--
>> [掌聲]
>> - - 如果我們可以，多了一個 如本左右。
呵呵，現在每個人都希望有燈泡。
對於所謂的黑客版， 我們要斜起來A--哦，
是的，不置可否。
我覺得你來了，現在 如果你的手是怎麼回事了。
你叫什麼名字？
>> 聽眾：亞歷克斯。
戴維·J·馬蘭：亞歷克斯，拜託在這裡。
因此，對於亞歷克斯，我們要 計劃在稍大一些。
也許是為了。
數字50。
>> 聽眾：確定。
戴維·J·馬蘭：但是，如 í說 - 你可能
要站在這裡讓 這些按鈕排隊
正如你所expect--但我確實 調用此黑客版。
So--祝你好運！
>> [笑]
>> 你將能夠把 它們趕走，如果你 - 確定。
優秀的。
太好了。
恭喜。
>> [掌聲]
我想我要了。
恭喜亞歷克斯為好。
行。
>> 所以，最終的外賣 這裡是希望，坦率地說，
該simplicity--的 簡約與
你可以得到一些不錯的光 燈泡，顯然是在[聽不清]。
但他們表示， 最終，同樣的想法
與我們人類 已經太熟悉了。
所以，什麼才是下一個 步驟是在級數
試圖做一些事情 有趣的數據
和表示輸入，不只是 號碼，但也許是字母或更多？
>> 嗯，事實證明， 計算機世界，多年來，
只需通過一個任意的，而是 映射的數字一致的標準
在字母表中的字母。
舉例來說，這裡是一個 摘自該映射。
這就是所謂的ASCII碼。
A-S-C-I-I。而這僅僅是一個 表映射大寫letters--
在這個case--為十進制數字。
>> 但是，有什麼寓意？
好吧，如果你真的想代表 像電子郵件或一些文字
在網頁上，你 顯然是想展示
的人的信 字母，而不是數字。
所以根據 該程序的上下文
一個用戶使用，如果是 Web瀏覽器或電子郵件客戶端，
數字可以肯定是 解釋為字母。
也就是說，比特圖案可以 容易被解釋為字母。
>> 還等什麼，我們可以有 是字母A為
表示為65，B 被表示為66。
因此，如果我們有一個超級 總之一句話，似喜，
什麼是計算機最終將 店小數，但真正的二進制，
使用比特一些序列，利用 在某些方面有點用電，
將兩個數字72和73。
>> 但比特圖案 代表這些值。
因此，這些則是我們如何 代表我們的投入和產出。
而我只想說，我們可以 做更複雜的交涉
最終與東西 圖形，視頻，音樂和更多
正如我們將在後​​面看到這兩個字。
>> 讓剛剛離開後 算法，這些套
指令與 我們解決實際問題。
我們通過在輸入的算法。
而這些算法產生 產出，希望正確的輸出
並希望，也 有效地收集輸出。
換句話說，這是一件事 正確實現的東西。
這是另一回事實現 東西好或有效率。
>> 例如，一個示範 我們很喜歡在使用過程中
就是這一個。
但是，這些事情會越來越 越來越難找。
但是，這確實是一個老同學 電話本，裡面其中
有1000多頁的 名稱和電話號碼。
如果我想查 有人在這個電話本，
我可以簡單地做一個 很天真的算法。
我可以打開的第一頁， 我可以開始去尋找，比如，有人
名為邁克·史密斯。
如果他不是第一個 頁，我進步到第二，
然後到第三，然後 第四，等等，
直到我終於找到邁克·史密斯。
>> 現在是算法正確嗎？
>> 聽眾：是的。
>> 戴維·J·馬蘭：是的。
如果他在那裡，我會 最終找到了他。
但它可以說不是很 高效，肯定不會快，
因為，我的上帝，我為什麼 浪費我的時間翻轉
通過所有這些網頁時，我可以 當然做到這一點身體更快？
>> 好了，有輕微的優化，所以 說話，可能是沒有一個頁面的時候，
但二，四，六，八，10。
仍然是正確的？
>> 聽眾：第
>> 戴維·J·馬蘭：所以沒有，如果我的 例如跳過邁克·史密斯。
但是，只要我背踏板 一個頁面，如果我衝他，
也許我們可以糾正一下 否則可能是一個疑難雜症。
>> 但它是更好嗎？
它是更快？
我的意思是，是的。
這是字面上快一倍 如果我做兩頁的時間。
所以，如果我本來有1000頁， 現在我只需要翻轉500倍，
沒有充分1,000頁，以獲得 潛在地，在最壞的情況下
到手機的端 書，如果有人
像邁克·史密斯還是有人用 以後的名字實際上可能。
>> 但是，當然，我們 人類肯定不是
會做的，當然 此時未在我們的生活中。
什麼是合理的 人類有可能會做什麼？
聽眾：直行至第九城市的s。
戴維·J·馬蘭：直行到S的？
我怎麼直行到S的？
>> 聽眾：撕成兩半。
戴維·J·馬蘭：嗯， 沒有標記。
所以，是的，如果確有 標籤或與S的粘性標籤，
我們要跳就在那裡。
但它是相當無害。
所以，盡我所能做的就是大致 在S部分或者是大致
成的中間。
但關鍵外賣 now--和直覺
你已經採取 授予年probably--
是什麼，現在你 了解這個問題呢？
>> 聽眾：[聽不清]
>> 戴維·J·馬蘭：邁克·史密斯肯定 未在此問題的一半
因為史密斯來了之後，中間 這大概是M個部分，
它似乎是。
所以，你可能已經看到 Visitas，我們現在可以從字面上
撕成兩半這個問題。
聽眾：嗚！
戴維·J·馬蘭：這是 越來越容易。
[掌聲]
你去那裡。
[笑]
現在我根本 有同樣的問題，
但它字面上的一半大。
我還在尋找邁克·史密斯。
而且我敢說，我仍然可以 尋找他以同樣的方式，
分裂成兩半問題 再次，撕裂的問題又來了
在上半年，現在讓我用 有問題的四分之一大小，
極大地扔一半路程， 一次又一次地重複這個過程
又一次，低頭 在每個點看
如果邁克·史密斯是 有問題的頁面。
>> 現在，如果我這樣做的權利， 最終我會發現自己
只用一個頁面上的麥克·史密斯 是，如果他確實是在電話簿。
當然，我可以 永遠不再叫邁克。
但這裡的問題是，如果我們開始 有000頁，我的第一個算法，
翻動頁面，可能有千times-- 肯定少，因為它是
一個S名字，而不是Z名稱，但作為 多達1,000頁可能。
>> 第二種算法，效果更好。
500頁。
第三算法，雖然 多少個步驟將它
採取分1000頁 電話簿中的一半這樣呢？
10，給予或採取。
因此，只有通過翻轉 電話簿，潛水和征服，
可以這麼說，10倍，我會 我一路下跌到只有一個單一的頁面。
>> 因此，我們可以捕捉到這種直覺 現在有點圖解
如果你只是考慮 這個超級簡單的圖形。
我們在x軸或水平 軸，是我的問題的大小，
的電話簿中的頁數。
和計算機科學家 一般喜歡叫
n的問題，這裡的大小 n是只是一些變量
represents--在這 case--頁數。
>> 垂直或y軸，這裡是 將要解決的時候，
可能的翻頁次數， 幾秒鐘，也許數
或數分鐘，無論 您的度量單位是。
所以，這條紅線 表示第一算法，
因為有一個一對一的 數之間的關係
的時候頁面和金額需要。
>> 如果Verizon的兩倍數量 明年電話簿頁面，
我跑步的時間 - 所需的時間來執行
首先算法 - 加倍在最壞的情況下。
但第二個算法， 這裡我用兩個翻轉，
需要的時間更短 給定大小的問題。
所以，如果我有這麼多 頁面這裡 - 公告
該黃色的線 建議少去解決的時間。
事實上，它代表著， 我們會說，正了兩個。
>> 但是，什麼是第三個形狀 最後曲線將會是什麼樣的？
是的，它的確會look--í 不知道你要說的話。
但是，讓我們看看有什麼 你會說。
>> 聽眾：喜歡。
>> 戴維·J·馬蘭：這是怎麼回事的樣子 這一點，對數slope-- exactly--
因此，你有這個奇怪的斜率。
它不再是一條直線。
這有什麼令人信服的關於那就是 儘管該圖現在切斷，
你可以在你的推斷 介意的綠線不
要增加在 高那麼多
你再繼續 向下的水平軸。
>> 事實上，Verizon公司，為 舉例來說，可能會增加一倍
在電話的頁面數 今年和明年的書
從1000到2000 網頁，但沒什麼大不了的。
有了這個第三個也是最後， 有一個直觀的算法
的分裂和征服。
它會帶我多少 步驟明年找人
喜歡邁克·史密斯？
>> 聽眾：一。
>> 戴維·J·馬蘭：這裡有一個。
他們可以翻兩番，它是 要帶我短短兩年多的步驟
等等。
所以這是證明 到底有一番精心的設計
而對於一些欣賞什麼 您的輸入是可以做的更好。
現在我們正在作弊 在這個意義上點點
我們正在利用一個假設。
什麼是我的假設 我們的電話本
這讓我分而治之 在這個直觀仍然是正確的方法是什麼？
>> 聽眾：[聽不清]
戴維·J·馬蘭：是的。
因此，它被訂購。
它是由按字母順序排列 該電話號簿公司。
如果它是按照隨機的順序，即 是的電話簿地獄，
但它肯定不會 容易以該算法
我用的，因為你永遠不會 剛剛發生過邁克·史密斯
如果你一直在劃分 上半年那樣的偶然。
>> 現在讓我們正式 什麼是清晰直觀。
所謂的東西 偽代碼是我們將
開始我們的一些初步問題。
這是描述一個通用的方法 一個算法或計算機程序，
不使用C或C + +或Java， 或任何特定的語言，
但只使用英語，與 而任何人可能很熟悉。
>> 我們可以寫的偽代碼 對於這個問題，如下所示。
步驟一，拿起電話簿。
第二步，打開電話本的中間。
第三步，看名字。
第四步，如果史密斯是其中names--
>> 而現在，這是一個 有趣的構造。
這是一個決策點。
這是在一個岔路口，如果你 將一個分支，可以這麼說。
所以，我要縮進 只是按照慣例step--
不five--這是 比方說，我會打電話給邁克。
所以這個缺口，完全 任意人約定，但它的
只不過是傳達語義 如果史密斯的名字中，
那麼我應該叫邁克。
>> 與此同時，在第六步，通知 該壓痕不見了。
所以其他人在其他叉 路，其他的路我會旅行。
所以，如果還有史密斯 本書前面，有什麼
我的下一步可能會是在這裡？
聽眾：你去左邊。
戴維·J·馬蘭：是啊，所以去 電話簿的左半部分。
扔掉的右半邊，如果 史密斯早在書上。
所以中間開 書的左半邊。
>> 然後第八步，去線三條。
這是一個奇怪的循環，我 誘導，遞歸可以這麼說。
但上，在未來更多。
>> 我用我同樣的算法， 我一樣的偽代碼，
再次解決同樣的問題 因為這是唯一改變的
是問題的大小，而不是 我的目的，而不是人
我在尋找。
因此，我可以重複使用的算法 我已經定義。
>> 否則，如果史密斯後來是 在book--你可能
guess--開放至中間 書的右半邊。
再次，去線三條。
Else--什麼是線下決賽 在這個方案將是？
如果他不是中 我在頁面上的名稱
對，如果他在不早 這本書，他是不是以後
在這本書中，我怎麼知道 是真正的邁克·史密斯嗎？
聽眾：他不是在書裡。
戴維·J·馬蘭：他不是在書裡。
所以，最好的，我能做的也只是 放棄和停止這一計劃。
好吧。
所以在這一點上，讓我們一 快速瀏覽一些什麼等待著。
而事實上，我在這裡參加 由多個CS50人員。
如果這些人能全部 在這裡和我一起在舞台上。
>> [掌聲]
>> 你要知道，這只是 CS50的工作人員的一個子集，
每一年，因為我們有近100名工作人員 在課程助理的角色成員，
教學研究員，等等。
上來吧。
因此，他們將和我們一起在這裡 笨拙的只是一瞬間
為我們給出了一個旋風之旅是什麼 你應該期望在這裡的課程。
>> 因此，首先，我們有SAT / UNS 如在使用過程中的分級選項。
這是故意的意思 為一種選擇，由此
如果你是一個有點不安 在過程之中，
而你怕failure--即使 坦率地失敗意味著傷害你的GPA，
得到一個B和一個不A--是 正是，肯定是一個網關
當然像CS50等 入門課程，
該分級選項的目的是讓。
>> 我衷心鼓勵 students--尤其是
如果在fence--啟動 當然SAT / UNS，甚至保持SAT / UNS。
但你一定可以切換到信 在該術語由第五週一級。
>> 坦率地說，回來時，我 才上大一，1995年，
我自己根本就沒拿CS50 因為我沒有起床的神經
真正邁入教室。
這似乎是一個域名過於 陌生的我，真的只有
對於我的那些朋友， 坦率地說，誰曾編程
因為它們是六 也許10歲。
而這只是因為我 能夠利用CS50在我的一天
在相當於版本 SAT / UNS--通過/失敗回到day--
即使我拿了50。
並以某種方式或其他，我 在這裡再次與大家今天。
>> 同時現在還有什麼你 應該記住約50
是同時招生。
相反，有傳言稱 你可能聽說過，
可以，其實，同時 報名參加CS50和其他類
在滿足相同或重疊的部分 時間CS50的講座就在這裡。
請參閱課程綱要的詳情 實施物。
>> 講座，同時，有違 什麼是正式在編錄，
通常只 滿足一小時。
有時，我們可能會遇到長一點。
但請記住， 在CS50的演講目標
是為您提供 一個概念的概述，
希望一些示威活動， 甚至一些贈品，
什麼樣的等待 之後的一周。
>> 因此在演講中，我們將探討 這些主題和例子在一起，
使學生在舞台上，和 經常在舞台上的工作人員了，因為我們可以，
在短短每週幾個小時。
部分，同時，將 這些人這裡 - 提供許多
他們的教學研究員，有些 其中當然assistants--意志
可以每週發生。
>> 什麼是關鍵，以保持 注意的是，我們
不要have--沒有什麼不同首先 夜，音樂類別 -
部分對於不同的軌道 學生不舒服，更
舒適，介於兩者之間。
坦率地說，你知道，如果 你不太舒服。
你可能知道，如果 你更舒適。
如果你真的不知道，你是 通過定義在兩者之間。
所以，當談到時間段 在一個星期左右，每教學大綱，
我們會問你這個問題。
而且，您可以自行選擇基於 在自己的舒適程度
和與students--與綠色 dots--的舒適程度給你類似。
>> 同時，我們有問題 集，這將最終
定義你在這個過程中的經驗。
他們通常提供 在多個版本。
我們預期大部分標準版 每個學生在使用過程中應對
而且所謂的黑客版 ，提供任何形式的額外信貸
奪標但真正的吹牛的權利 說，你嘗試和解決
課程的黑客版的 接近類似的材料
但是從更複雜的角度。
>> 我們提供的 標準版，因為，
再次，超級多數 學生，不
只有穿行，這是 視頻率領過程的工作人員
真正引導您通過 當然，面臨的問題和可能的設計
實現。
而且我們還經過了 事實上，報價屍體解剖，
因此，如果你想知道 你怎麼可以有
或者應該已經解決了一些 問題，教學人員
將引導您完成 那些對視頻以及。
>> 與此同時，等待太有 5晚天的事實
我們會讓您 最低分數。
我們當然明白，作為交換 對於工作量預計50
你，生活的方式獲得 有時，如果不五倍。
因此，這將提供 你有點彈性，
從，說，延長你的最後期限 週四中午至週五中午。
請參閱課程綱要的 實施細則物。
>> 現在有什麼正等待？
而這只是發生 我現在究竟有多長
我在你們站在這裡，在舞台上。
>> [笑]
>> 戴維·J·馬蘭：但是我們會得到 不久高潮完成。
那麼是什麼在等待條款 問題集？
我們都很好，也許是玩笑話 去年做你的前輩。
在第一個問題集 去年，我們推出
從無到有，圖形 編程語言
您可以按字面編程 拖放拼圖，
像這樣的，是 讓人聯想到構造
看到短短一個星期 因此，當我們切換
到一個更傳統的 語言，被稱為C。
>> 去年，我們進行 這個問題集，
涉及的密碼， 的信息的擾頻
保持它來自政府或朋友 眼睛，你不希望看到它。
編碼在這裡是一個 消息很快你
將能夠解密或解擾。
>> 突圍是一個問題 其中，設置在去年，
你使用這些新發現的編程 技能，以真正實現
遊戲wherein--你 還記得從childhood--
目標是要抨擊 磚是頭頂上的屏幕
在這裡，積累了 一路上得分，
並實現自己的算法 與此溶液最終
讓你玩遊戲。
同時，在後面的 學期，我們將為您
的143091英文單詞的字典。
而你將面臨挑戰 編寫一個程序，
拼寫檢查，證件，由 加載了許多話到內存
盡可能高效。
一般來說，你蝕 對你的同學
如果你選擇成為一個有點 在領先榜的挑戰
看看誰可以用最少的 運行時間的秒，
和最少數量 兆的內存，
居然微調你的程序 是令人難以置信的資源有效的不
只是時間。
>> 去年，我們也期待在年底 的學期在web編程。
事實上，我們會做一遍這個 一年多的習題集，
向您介紹的技術和 心態與您可以申請
這些編程技巧 網站，動態網站，
實際上解決網站 的問題和不同的表現
並且不是簡單的靜態 網站的靜態信息。
>> 最後一個項目，最終 將限定，雖然
課程的高潮 為學生，其中
你將面臨的挑戰是落實 最感興趣的東西
你，既然這麼長時間，不知何故 借鑒過程中的經驗教訓。
>> 而當你在看到 在開始錄像，
我們將結束與學期 CS50 Hackathon，它如果不熟悉，
將開始在下午7:00一晚 最終在上午07時，第二天早上。
晚上9:00左右，我們將 為了在第一頓晚餐。
各地上午1:00，我們將 為了在第二個晚餐。
如果你還在 站在上午05時，我們
將穿梭巴士你 到IHOP吃早餐。
>> 該CS50展，同時，一個事件 到2000以及教師，學生，
與來自全國各地的校園工作人員將 來看看你的成就
在使用過程中和最終 項目及作品
您在您的筆記本電腦的創造， 台式機，甚至可能是燈泡。
>> 同時，辦公時間 和所述支撐結構。
現在它會一直是個 更好的時間來把你抱起。
>> 辦公時間將於四夜 一個星期多小時，每天晚上
用的通常為20〜30 執勤過程中的工作人員立即
為您提供貼心 支持單對單的機會
隨著課程的習題集。
輔導過會 用，特別是
讓學生少comfortable--或 敢說至少comfortable--為誰
辦公時間是不 大部分培育環境
而且肯定不是 最無壓力。
特別是當最後期限緊迫， 我們將主動配對，你自己
與職員一起工作 一些定期為您的需求
和他們的日程安排允許​​。
>> 和工作人員。
請允許我介紹Davon，搶， 和Gabriel，今年的頭。
如果您想每個喜歡say--
>> [掌聲]
--a字。
[掌聲]
Davon在這裡是 當然的經理，這
是指在他的全職角色 他有助於與執行
和CS50的物流。
DAVON：是啊，嗨，伙計們。
你會看到很多我在上班時間。
我會教節。
如果你前面拍的電子郵件， 我可能會得到回應。
所以我會看到很多關於你的學期。
並歡迎CS50。
>> 戴維·J·馬蘭：現在加布里埃爾，誰 本人是剛上大一，去年，
但在過去的幾年中有 一直經營他自己的版本CS50的
在巴西，因此他下載 所有課程的內容 - 對
這顯然是 拍攝並放置online--
這樣他就可以把它翻譯為 葡萄牙再教100多名
他的同學在中 一兩年過程中，
教授在他的母語 該課程的課程。
>> GABRIEL：你好。
>> [掌聲]
GABRIEL：你好，我是加布里埃爾。
我是當然的頭TF。
我希望你會喜歡CS50。
這是CS50。
>> 戴維·J·馬蘭：現在的羅布。
哦，你想介紹一下嗎？
>> 羅伯：不，我不知道。
[笑]
戴維·J·馬蘭：和Rob博登。
[笑]
羅伯：你好，我是羅布。
這是我的第五個年頭 參與該過程。
每年，它只是一個 好類，
所以你們都清楚 將是真棒。
我希望大家有它的樂趣。
我將有它的樂趣。
所以，看到你身邊。
>> 戴維·J·馬蘭：和 時間不容許我們 -
>> [掌聲]
>> 時間不允許我們 介紹給大家
在舞台上和所有的同事 誰是購物類今天。
但是，請允許我介紹 貝琳達和CS50之謎
天，這等待這 星期六，這
是第一的 當然的大型活動。
>> 這其中尤其指 錘家點
該計算機科學是最終 不是編程，而是
有關解決問題的更普遍。
和益智一天，你會 看，會帶給你
和你的同學together-- 我們希望這個星期六。
>> 貝琳達：確定。
嗨，伙計們。
所以感謝。
所以，作為我們的傑出隊長 說，我的名字的貝琳達。
我是一名大二的學生，在昆西家。
>> 我就是喜歡你們，把 CS50去年，真的很喜歡它。
我有一個死穴 你們在第三排。
我很自豪地說，我現在 在承諾的關係
與CS50 [聽不清]。
行。
這是一個笑話我的跛腳版本。
>> 總之，讓人感動的， 只是想邀請
你們所有的i實驗室，哈佛商學院或蕁麻疹。
我們將要為 益智日從12:00到3:00。
而且這對你有很大的機會 男人滿足你的同胞的CS的朋友，
解決一些非CS拼圖，就像船長 說過了，也吃了一些免費的食物，
賺了一些真棒獎品，如 禮品卡，75元的人，
和also--是什麼呢？
Wii U的什麼？
Wii U的？
是的。
對於我們的抽獎活動。
真棒。
所以，我會下課後留下來。
如果你們有什麼 的問題，讓我知道。
>> 戴維·J·馬蘭：你會看到，超越 這沒有什麼今天做。
第一個問題集 將熄滅週五
但是，今天給我們帶來的家，我想 為您介紹具體多了一個
工作人員介紹，科爾頓成員 奧格登在這裡，他的手現在
你上面的保護， 這個MIDI控制器
給點意見進一步推敲家 在計算機科學中，也
具有適用性遠遠超出工程 和莖和計算機科學本身，
即使是這樣的領域如音樂延伸。
>> 科爾頓有好心offered--我想 其中之一是要解決的重點。
安德魯，如果我們能夠召喚焦點 在這裡只是一瞬間。
>> 科爾頓什麼做 預先計劃
該裝置中，此按鈕墊 你看到的生動描述了這裡，
作為MIDI控制器， 其中每個這些按鈕
被連接到一個特定的音符 或聲音，更普遍的記錄，
這樣，通過播放這些圖案 按鈕，很像比特圖案，
可以代表其他 更高層次的概念。
他將能夠最終 帶我們回家今天在這裡？
事不宜遲，如果 我們可以把燈光調暗，
並把後面的科爾頓在屏幕上。
>> 聽眾：嗚！
>> 戴維·J·馬蘭：這是CS50。
>> [音樂播放]
>> [掌聲]
>> 這就是它的CS50。
我們會看到你週五
一些蛋糕等待著你的耳堂。
>> [音樂播放]