1 00:00:00,000 --> 00:00:00,479 2 00:00:00,479 --> 00:00:10,830 >> [音樂播放] 3 00:00:10,830 --> 00:00:12,080 [MUSIC - 羅西尼,“RANZ DES VACHES“威廉告訴] 4 00:00:12,080 --> 00:00:24,222 5 00:00:24,222 --> 00:00:25,472 >> [MUSIC - 英文BEAT“三月 旋轉頭“] 6 00:00:25,472 --> 00:02:24,538 7 00:02:24,538 --> 00:02:31,510 >> [掌聲和歡呼聲] 8 00:02:31,510 --> 00:02:33,520 >> DAVID馬蘭:所以這是CS50。 9 00:02:33,520 --> 00:02:34,730 我的名字是大衛·馬蘭。 10 00:02:34,730 --> 00:02:39,250 和73%,你有沒有現成的經驗 隨著計算機科學, 11 00:02:39,250 --> 00:02:41,300 相反,你可能會想到什麼。 12 00:02:41,300 --> 00:02:45,290 所以今天,我們認為我們會蠶食 ,缺乏熟悉,但也 13 00:02:45,290 --> 00:02:48,970 給你的感覺,對於那些你 更舒適,指示 14 00:02:48,970 --> 00:02:50,550 你可以去這個學期。 15 00:02:50,550 --> 00:02:51,890 >> 因此,讓我們開始。 16 00:02:51,890 --> 00:02:55,490 我真的不知道裡面有什麼, 一台電腦,即使你一樣,我 17 00:02:55,490 --> 00:02:56,780 每天都使用它。 18 00:02:56,780 --> 00:03:00,000 但它的一些怎樣的箱子,而且也 投入不是很多。 19 00:03:00,000 --> 00:03:01,350 微創,有,是什麼? 20 00:03:01,350 --> 00:03:03,120 可能是電源線。 21 00:03:03,120 --> 00:03:06,640 >> 事實上,這一種成分, 電力,我們似乎能夠 22 00:03:06,640 --> 00:03:09,490 做相當多的這些天。 23 00:03:09,490 --> 00:03:12,130 但是,在一天結束時,我們 有代表的東西 24 00:03:12,130 --> 00:03:12,860 我們關心。 25 00:03:12,860 --> 00:03:15,240 我們有代表信息 以某種形式。 26 00:03:15,240 --> 00:03:18,365 你可能至少隱約 熟悉的想法二進制或 27 00:03:18,365 --> 00:03:21,370 位以某種方式或其他,電腦 降低到零和一。 28 00:03:21,370 --> 00:03:26,320 但我們可以擁抱,至少 放一點光? 29 00:03:26,320 --> 00:03:28,880 >> 所以,我有這些小 這裡的檯燈。 30 00:03:28,880 --> 00:03:30,450 這裡我有一個電源插座。 31 00:03:30,450 --> 00:03:33,930 我要提出這裡面 我的電腦中的至少一個 32 00:03:33,930 --> 00:03:37,300 這些事情,一些能夠 被打開或關閉。 33 00:03:37,300 --> 00:03:40,200 在這種情況下,它確實是一個檯燈, 但在較低的水平,它的東西 34 00:03:40,200 --> 00:03:41,500 稱為“晶體管”。 35 00:03:41,500 --> 00:03:44,730 >> 但是,在我們的世界,這是一個檯燈,所以 我要繼續前進,並堵塞這 36 00:03:44,730 --> 00:03:47,990 到我這裡的電力。 37 00:03:47,990 --> 00:03:52,970 我要求使用這個簡單的, 設備簡單,這個簡單的開關,我 38 00:03:52,970 --> 00:03:54,850 可以代表信息。 39 00:03:54,850 --> 00:03:58,090 例如,現在,我 代表什麼,對不對? 40 00:03:58,090 --> 00:04:01,820 我代表什麼,我會打電話給0或 假的,相反的東西 41 00:04:01,820 --> 00:04:03,130 實際上存在。 42 00:04:03,130 --> 00:04:07,050 但如果我只是把這個開關, 現在,我代表1。 43 00:04:07,050 --> 00:04:10,720 因此,使用這種非常簡單的 內存,如果你願意,我可以代表 44 00:04:10,720 --> 00:04:11,450 信息。 45 00:04:11,450 --> 00:04:14,350 >> 不幸的是,現在我的電腦 不能做所有的東西。 46 00:04:14,350 --> 00:04:17,430 它只能表示兩個值 在整個世界 - 47 00:04:17,430 --> 00:04:18,620 0或1。 48 00:04:18,620 --> 00:04:21,839 但是,什麼是一個顯而易見的解決方案,現在, 如果我們要擴大我們的電腦 49 00:04:21,839 --> 00:04:25,120 內存和代表更多 不只是0和1? 50 00:04:25,120 --> 00:04:27,060 >> 好吧,讓我們抓住另一個等位。 51 00:04:27,060 --> 00:04:30,260 讓我們抓住另一台交換機,另一個 晶體管,但是你會喜歡 52 00:04:30,260 --> 00:04:31,130 想想吧。 53 00:04:31,130 --> 00:04:34,170 讓我繼續前進,堵塞這 進入我的電腦為好。 54 00:04:34,170 --> 00:04:38,270 我要索賠,現在,由 多使用了一點電力和 55 00:04:38,270 --> 00:04:42,290 越來越這些開關 的時候,我可以代表更多這樣的 56 00:04:42,290 --> 00:04:43,020 信息。 57 00:04:43,020 --> 00:04:44,660 >> 所以,現在,這是1。 58 00:04:44,660 --> 00:04:48,120 如果我想現在代表 2,我能做到這一點。 59 00:04:48,120 --> 00:04:51,510 約定,但通常情況下,當我們將 最終會看到,有我這樣做。 60 00:04:51,510 --> 00:04:55,260 因此,這是0,這是1。 61 00:04:55,260 --> 00:04:56,720 這將是2。 62 00:04:56,720 --> 00:04:59,920 毫不奇怪的是,這將是3。 63 00:04:59,920 --> 00:05:02,610 >> 因此,以這種方式,還可以 我們指望更進一步? 64 00:05:02,610 --> 00:05:06,500 如果我得到第三位,第三開關, 什麼是最高的數目,我現在能 65 00:05:06,500 --> 00:05:09,720 計數到0? 66 00:05:09,720 --> 00:05:12,020 所以,如果我從0開始的,對不對? 67 00:05:12,020 --> 00:05:15,980 因為如果我把這個光 實際上堵塞這第三個和最後 68 00:05:15,980 --> 00:05:20,090 這裡光線轉變成我的電源插座, 那麼我有能力代表 69 00:05:20,090 --> 00:05:24,930 這裡的任何兩個值,二值化 在這裡,這裡的兩個值 - 70 00:05:24,930 --> 00:05:32,610 這樣我就可以代表2倍,2倍 2,或8個可能的值。 71 00:05:32,610 --> 00:05:36,340 如果我開始為0,所以會計 這是0,1,2,3,4,5,6,7。 72 00:05:36,340 --> 00:05:37,480 >> 所以這個二進制。 73 00:05:37,480 --> 00:05:39,420 這真的是那樣簡單。 74 00:05:39,420 --> 00:05:41,930 我認為,這實際上是 相當熟悉的大多數 75 00:05:41,930 --> 00:05:43,180 每個人都在這個房間裡。 76 00:05:43,180 --> 00:05:45,710 讓我繼續前進,打開一個 小的文本編輯器。 77 00:05:45,710 --> 00:05:49,040 >> 您可能還記得從小學 我們有像數百 78 00:05:49,040 --> 00:05:51,970 的地方,十位, 和那些地方。 79 00:05:51,970 --> 00:05:55,040 並記得,如果你有一些小數 像隨機號碼, 80 00:05:55,040 --> 00:05:59,470 像123,你基本上 寫出來的形式 81 00:05:59,470 --> 00:06:00,450 這三列。 82 00:06:00,450 --> 00:06:04,070 為什麼是1,2,3是什麼 我們知道123嗎? 83 00:06:04,070 --> 00:06:11,220 那麼,在最左邊的列,我們有 100加兩個10秒,所以這是120, 84 00:06:11,220 --> 00:06:14,250 加上三個1,所以這是123。 85 00:06:14,250 --> 00:06:17,990 >> 現在這個世界上,我們只是照亮 完全一樣的 86 00:06:17,990 --> 00:06:21,150 你已經熟悉多年, 但現在,我們列 87 00:06:21,150 --> 00:06:22,060 是不是權力10。 88 00:06:22,060 --> 00:06:23,780 他們只是權力2。 89 00:06:23,780 --> 00:06:27,830 而這的地方,這 將是三三兩兩的地方,這是 90 00:06:27,830 --> 00:06:29,540 將是四肢位。 91 00:06:29,540 --> 00:06:33,260 >> 因為我只用最簡單的 機制來扭轉乾坤 92 00:06:33,260 --> 00:06:37,100 開啟和關閉 - 電力流動 或用電不流淌 - 93 00:06:37,100 --> 00:06:40,880 我不太有相同的表達 範圍為0到9。 94 00:06:40,880 --> 00:06:43,270 我們要保持它超級簡單 在這個世界上的電腦。 95 00:06:43,270 --> 00:06:45,060 我只有0或1 - 96 00:06:45,060 --> 00:06:47,890 或關閉,或真或假。 97 00:06:47,890 --> 00:06:52,610 >> 還等什麼,我現在 是1,1,1,因為每個這些 98 00:06:52,610 --> 00:06:54,000 燈亮起。 99 00:06:54,000 --> 00:06:59,600 嗯,這給了我一個4加2,所以 6,加上一個1,這是7。 100 00:06:59,600 --> 00:07:03,450 和ERGO這三個序列 位表示數字7。 101 00:07:03,450 --> 00:07:06,330 >> 所以,這一切的時候,裡面的 計算機上,已被任意數量的 102 00:07:06,330 --> 00:07:08,090 晶體管,任意的比特數。 103 00:07:08,090 --> 00:07:10,380 但是,在一天結束時,我們 可以代表信息 104 00:07:10,380 --> 00:07:12,560 簡單。 105 00:07:12,560 --> 00:07:16,770 不幸的是,現在我們只算 高達7在CS50迄今為止,但 106 00:07:16,770 --> 00:07:18,550 希望我們可以做一點 比此更好。 107 00:07:18,550 --> 00:07:19,550 事實上,我們能做到。 108 00:07:19,550 --> 00:07:23,570 >> 假設只是我們作為人類 擅自決定,我們將 109 00:07:23,570 --> 00:07:28,750 相關聯的數字,如1和2,3, 4,5,6,7,與特定的字母 110 00:07:28,750 --> 00:07:29,410 字母表。 111 00:07:29,410 --> 00:07:32,350 由於歷史原因,我要去 開始有些武斷,但我 112 00:07:32,350 --> 00:07:36,880 會說,人類,我們要 決定為標準,全球範圍內, 113 00:07:36,880 --> 00:07:43,200 65代表數以字母A 66將代表B.點,點,點。 114 00:07:43,200 --> 00:07:45,140 90將代表字母Z 115 00:07:45,140 --> 00:07:48,000 >> 讓我們假設,如果我們真的把一些 想到了進去,我們能想出 116 00:07:48,000 --> 00:07:50,860 驚嘆號與數字 和小寫字母,而事實上, 117 00:07:50,860 --> 00:07:52,710 其他人都為我們做到這一點。 118 00:07:52,710 --> 00:07:56,410 所以,現在我們有位,我們可以 代表數字,數字 119 00:07:56,410 --> 00:08:00,130 我們可以代表字母,並與 信我們現在可以開始撰寫 120 00:08:00,130 --> 00:08:02,650 電子郵件和打印字符 在屏幕上。 121 00:08:02,650 --> 00:08:05,850 >> 因此,讓我邀請了,如果我能, 8個勇敢的志願者 - 122 00:08:05,850 --> 00:08:09,200 誰不介意不僅出現 攝像頭,但在互聯網上 - 123 00:08:09,200 --> 00:08:13,130 來這裡,代表八個這樣的 位,而不是這三種。 124 00:08:13,130 --> 00:08:14,380 因此,如何對一,二? 125 00:08:14,380 --> 00:08:16,290 如何約三個? 126 00:08:16,290 --> 00:08:20,230 如何四光 藍色,五就結束了嗎? 127 00:08:20,230 --> 00:08:21,250 關於有人在這裡嗎? 128 00:08:21,250 --> 00:08:25,320 在前面六,七在前面, 和前八,以及。 129 00:08:25,320 --> 00:08:29,050 >> 所以,我正巧有備而來 一大堆紙條。 130 00:08:29,050 --> 00:08:34,150 這些紙片是數字 代表哪些列 131 00:08:34,150 --> 00:08:35,809 你們要代表。 132 00:08:35,809 --> 00:08:36,740 所以,你會是 - 你叫什麼名字? 133 00:08:36,740 --> 00:08:37,570 >> 學生:安娜·利亞。 134 00:08:37,570 --> 00:08:40,370 >> 國寶馬蘭:安娜·利亞 將〜128秒的列。 135 00:08:40,370 --> 00:08:41,059 你是誰? 136 00:08:41,059 --> 00:08:41,510 >> 學生:克里斯。 137 00:08:41,510 --> 00:08:43,620 >> 國寶馬蘭:克里斯將 是64S欄。 138 00:08:43,620 --> 00:08:44,070 你是誰? 139 00:08:44,070 --> 00:08:44,540 >> 學生:丹。 140 00:08:44,540 --> 00:08:46,970 >> 國寶馬蘭:丹 是32S欄。 141 00:08:46,970 --> 00:08:47,470 >> 學生:Pramit。 142 00:08:47,470 --> 00:08:49,430 >> 國寶馬蘭:Pramit的 16列。 143 00:08:49,430 --> 00:08:50,290 >> 學生:莉蓮。 144 00:08:50,290 --> 00:08:51,904 >> 國寶馬蘭:莉蓮將787-8。 145 00:08:51,904 --> 00:08:52,768 >> 學生:吉爾。 146 00:08:52,768 --> 00:08:55,025 >> 國寶馬蘭:吉爾會 是的4s列。 147 00:08:55,025 --> 00:08:55,400 >> 學生:瑪麗。 148 00:08:55,400 --> 00:08:57,000 >> 國寶馬蘭:瑪麗將是2秒,? 149 00:08:57,000 --> 00:08:57,470 >> 學生:大衛。 150 00:08:57,470 --> 00:08:59,220 >> 國寶馬蘭:大衛將 是1S柱。 151 00:08:59,220 --> 00:09:02,030 所以,如果你們能加強一點 著讓每個人都可以看到。 152 00:09:02,030 --> 00:09:05,370 你們沒有看到的是, 這些紙條是一個 153 00:09:05,370 --> 00:09:09,760 即將小小抄 這些8位指示為 154 00:09:09,760 --> 00:09:12,380 舉手或不 舉手。 155 00:09:12,380 --> 00:09:14,100 如果他們的手,他們 較1。 156 00:09:14,100 --> 00:09:17,120 如果他們的手撐下來,他們 代表一個0。 157 00:09:17,120 --> 00:09:21,410 >> 同時,我們的觀眾應該是 能夠弄清楚,在此基礎上 158 00:09:21,410 --> 00:09:26,490 測繪,什​​麼三個字母的單詞,這些 人來說,拼出來。 159 00:09:26,490 --> 00:09:29,700 因此,在短短的時刻,你要 關閉的背面的第一行讀 160 00:09:29,700 --> 00:09:32,880 你小抄,你要么 要提高或沒有舉手。 161 00:09:32,880 --> 00:09:35,710 如果你是一個1,你提出,如果 你是0,你站在那裡 162 00:09:35,710 --> 00:09:38,594 笨拙,就像這樣。 163 00:09:38,594 --> 00:09:40,386 去。 164 00:09:40,386 --> 00:09:43,945 什麼樣的數量,首先, 這些傢伙是代表? 165 00:09:43,945 --> 00:09:47,140 166 00:09:47,140 --> 00:09:48,860 >> 66。 167 00:09:48,860 --> 00:09:49,560 66,對不對? 168 00:09:49,560 --> 00:09:52,400 我們有一個1在64S欄, 一個1在2S列。 169 00:09:52,400 --> 00:09:56,340 這給了我66,所以出現 代表B.所以 170 00:09:56,340 --> 00:09:57,075 你們有拼寫 - 171 00:09:57,075 --> 00:09:58,300 OK,這就足夠了。 172 00:09:58,300 --> 00:09:59,430 B. 173 00:09:59,430 --> 00:10:01,610 >> 所以,現在讓我們走上 我們的第二個字母。 174 00:10:01,610 --> 00:10:03,530 去。 175 00:10:03,530 --> 00:10:06,860 誰是最快的,在數學在這裡? 176 00:10:06,860 --> 00:10:07,750 因此,79。 177 00:10:07,750 --> 00:10:11,840 同樣,如果我們添加的所有列 有一個1,目前,只是 178 00:10:11,840 --> 00:10:14,840 像我們以前那樣用最簡單的 7的例子,我們現在 179 00:10:14,840 --> 00:10:16,140 得到79號。 180 00:10:16,140 --> 00:10:19,910 根據我們的映射是 字母O,所以我們幾乎沒有。 181 00:10:19,910 --> 00:10:22,590 B,O.最後,走了。 182 00:10:22,590 --> 00:10:26,420 183 00:10:26,420 --> 00:10:30,120 >> 他們代表了什麼呢? 184 00:10:30,120 --> 00:10:31,370 減共識。 185 00:10:31,370 --> 00:10:34,660 186 00:10:34,660 --> 00:10:36,460 這只是一個絕對的雜音。 187 00:10:36,460 --> 00:10:40,090 是的,它實際上是87。 188 00:10:40,090 --> 00:10:40,490 好。 189 00:10:40,490 --> 00:10:44,480 >> 因此,如果我們現在映射備份 - 讓我們 開始調用我們的ASCII表, 190 00:10:44,480 --> 00:10:46,450 美國標準 信息交換。 191 00:10:46,450 --> 00:10:47,700 這給我們的信 - 192 00:10:47,700 --> 00:10:51,260 193 00:10:51,260 --> 00:10:54,810 不“博”,但“弓”。這是一個完美的 你們採取了弓的線索 194 00:10:54,810 --> 00:10:56,100 背部和頭部。 195 00:10:56,100 --> 00:10:56,980 非常感謝。 196 00:10:56,980 --> 00:10:57,886 >> [掌聲] 197 00:10:57,886 --> 00:10:59,136 >> 國寶MALAN:你可以留住他們。 198 00:10:59,136 --> 00:11:01,850 199 00:11:01,850 --> 00:11:05,942 實際上,雖然會有人 像檯燈,也? 200 00:11:05,942 --> 00:11:07,300 >> [HOOT從觀眾] 201 00:11:07,300 --> 00:11:08,390 >> 國寶馬蘭:檯燈? 202 00:11:08,390 --> 00:11:10,850 >> [笑] 203 00:11:10,850 --> 00:11:11,860 >> DAVID馬蘭:真的嗎? 204 00:11:11,860 --> 00:11:13,230 檯燈為大家? 205 00:11:13,230 --> 00:11:14,310 好的。 206 00:11:14,310 --> 00:11:20,990 所以非常簡單的開始 原則,我們現在已經不能只算 207 00:11:20,990 --> 00:11:24,750 從0一路攀升至7日,我們已經 只是投入更多的假設 208 00:11:24,750 --> 00:11:28,080 位或更多的燈或多個晶體管 這個問題,我們可以 209 00:11:28,080 --> 00:11:32,680 代表越做越大的數字, ERGO越做越大範圍 210 00:11:32,680 --> 00:11:33,780 字母,英語等。 211 00:11:33,780 --> 00:11:37,770 只是讓我們今天的信心 同樣我們可以開始 212 00:11:37,770 --> 00:11:42,220 代表圖形和視頻的,任何人 其他媒體,我們數 213 00:11:42,220 --> 00:11:43,610 今天熟悉。 214 00:11:43,610 --> 00:11:49,240 >> 因此,這是CS50,並在這個類 旁邊的你,再次,很多 215 00:11:49,240 --> 00:11:53,050 同學們少 你體驗。 216 00:11:53,050 --> 00:11:57,730 我提到這一點,只是因為相當 通常,包括最近為一體的 217 00:11:57,730 --> 00:12:01,860 大一諮詢活動和 去年春天的大二學生諮詢 218 00:12:01,860 --> 00:12:06,420 活動中,我們經常聽到學生的聲明 上來時,好了,到CS表 219 00:12:06,420 --> 00:12:10,070 我一直在思考採取這一 介紹類,但我不是一個真正的 220 00:12:10,070 --> 00:12:11,120 電腦的人。 221 00:12:11,120 --> 00:12:13,220 或者,但大家肯定 知道比我多。 222 00:12:13,220 --> 00:12:17,340 我把這個最大的字體 可能,傳達這個消息, 223 00:12:17,340 --> 00:12:18,730 這不是事實的情況下。 224 00:12:18,730 --> 00:12:21,100 >> 如果你想知道,應該 事實上,我會​​在這裡? 225 00:12:21,100 --> 00:12:25,950 實現,不僅是這門課程的 標題介紹電腦 226 00:12:25,950 --> 00:12:31,740 科學,它是計算機概論 科學一,所以確實是有 227 00:12:31,740 --> 00:12:33,170 第二次這樣的介紹。 228 00:12:33,170 --> 00:12:35,390 所以,其實你不 在錯誤的地方。 229 00:12:35,390 --> 00:12:39,000 而在今天我的目標是 緩和任何這樣的顧慮,你 230 00:12:39,000 --> 00:12:42,430 可能有,但也來畫一個 什麼樣的店圖片 231 00:12:42,430 --> 00:12:45,720 學生少,更舒適 都在這個過程中。 232 00:12:45,720 --> 00:12:49,320 >> 但首先,一個字一個講義 你也有今天,其中 233 00:12:49,320 --> 00:12:50,780 一些常見問題。 234 00:12:50,780 --> 00:12:54,290 它已經有一段時間我們的願景 現在引入一個新的分級 235 00:12:54,290 --> 00:12:57,010 到這門課程的選項 - 即,SAT / UNSAT。 236 00:12:57,010 --> 00:13:01,930 哲學對我來說,它是很多很多, 更重要的是 237 00:13:01,930 --> 00:13:05,050 在這個類中的學生從事與 材料,受到挑戰 238 00:13:05,050 --> 00:13:09,800 材料,並擔心遠遠少於約 力學的實際分數 239 00:13:09,800 --> 00:13:12,590 和信學期的成績 結束,而是真正擁抱 240 00:13:12,590 --> 00:13:13,970 當然,它的材料。 241 00:13:13,970 --> 00:13:18,140 真的,這種感覺,更普遍的是, 什麼有趣起來, 242 00:13:18,140 --> 00:13:21,390 感覺到有挑戰和獎勵,但 沒有失敗的恐懼。 243 00:13:21,390 --> 00:13:25,030 >> 而事實上,這也是一個經常性 在這方面和其他入門的主題 244 00:13:25,030 --> 00:13:28,680 在其他領域的課程,你有 當它涉及到這個誠惶誠恐 245 00:13:28,680 --> 00:13:31,040 把一個人的腳趾 不熟悉的水域。 246 00:13:31,040 --> 00:13:34,880 我早在1995年, 是大一新生。 247 00:13:34,880 --> 00:13:37,990 我非常致力於成為 一個州長集中在這裡。 248 00:13:37,990 --> 00:13:41,060 但我始終長大帶著幾分 在計算機科學的興趣。 249 00:13:41,060 --> 00:13:42,180 我總是很好奇。 250 00:13:42,180 --> 00:13:47,610 >> 但在當時,甚至,我有這種恐懼 甚至踏上CS50,這麼多 251 00:13:47,610 --> 00:13:49,420 所以,我什至沒有購物 它大一。 252 00:13:49,420 --> 00:13:53,460 唯一的原因,我把一隻腳踩在 門大二的時候是因為我 253 00:13:53,460 --> 00:13:55,340 被允許把它的通過/失敗。 254 00:13:55,340 --> 00:13:58,920 但是,即使通過/失敗,我需要得到 鼓起勇氣預約 255 00:13:58,920 --> 00:14:01,970 教授與當時Kernehan, 把這個大的紙,問 256 00:14:01,970 --> 00:14:04,470 他為他的簽名和他的 允許探索 257 00:14:04,470 --> 00:14:05,700 這些陌生的水域。 258 00:14:05,700 --> 00:14:09,030 >> 但得益於近年來 這樣做時,CS50,當我們 259 00:14:09,030 --> 00:14:12,500 用於合格/不合格,同樣會 你的同學數十或數百 260 00:14:12,500 --> 00:14:15,970 都上來了,上帝保佑,在 桑德斯面前這種形式,即 261 00:14:15,970 --> 00:14:19,520 在一些頭腦表示無力, 我敢說,執行 262 00:14:19,520 --> 00:14:20,800 是你的同齡人的水平。 263 00:14:20,800 --> 00:14:23,410 這是荒謬的,但我認為 有這種心態。 264 00:14:23,410 --> 00:14:27,210 而且也從來沒有在這種文化 SAT /不滿足,或通過/失敗更多 265 00:14:27,210 --> 00:14:30,610 一般來說,在這個過程中, 還是真的在這個校園裡。 266 00:14:30,610 --> 00:14:32,310 >> 所以今年我們改變了這一切。 267 00:14:32,310 --> 00:14:35,630 我會欣喜若狂的一半 這個類或結束 268 00:14:35,630 --> 00:14:38,700 佔用了CS50 SAT / UNSAT。 269 00:14:38,700 --> 00:14:42,130 在一年的時間裡,這將是美好的 如果幾乎每個人都。 270 00:14:42,130 --> 00:14:44,410 此後,或許我們將繼續努力 在哈佛大學的字母等級 271 00:14:44,410 --> 00:14:45,480 學院更普遍。 272 00:14:45,480 --> 00:14:48,900 但是現在,我們將做到這一點在我們的 自己的球,我會由衷地 273 00:14:48,900 --> 00:14:53,400 鼓勵您閱讀這些常見問題 您認為合適的提問,使 274 00:14:53,400 --> 00:14:58,000 希望你,不像我,不是很 有同樣的恐懼因素時, 275 00:14:58,000 --> 00:15:01,040 探索大概是什麼 一個陌生的地方。 276 00:15:01,040 --> 00:15:02,786 >> 那麼,什麼是CS50? 277 00:15:02,786 --> 00:15:06,150 這是一個引進的 知識產權企業的計算機 278 00:15:06,150 --> 00:15:07,700 科學與藝術的編程。 279 00:15:07,700 --> 00:15:08,770 但是這究竟是什麼意思? 280 00:15:08,770 --> 00:15:12,510 >> 那麼,迄今為止,我們談到很簡單 代表信息。 281 00:15:12,510 --> 00:15:15,070 但是,假如我們真正想要 用它做什麼。 282 00:15:15,070 --> 00:15:17,890 我們需要引入的概念 我們就這麼叫的一種算法。 283 00:15:17,890 --> 00:15:21,540 算法的一個程序,一個進程, 一組指令,用於 284 00:15:21,540 --> 00:15:22,780 做一些事情。 285 00:15:22,780 --> 00:15:25,620 >> 算法可以是 超級簡單的。 286 00:15:25,620 --> 00:15:28,660 比如,中,例如,其中一些 你可能熟悉的是這樣的 287 00:15:28,660 --> 00:15:29,350 這裡的事情。 288 00:15:29,350 --> 00:15:32,510 所以這本書越來越 過時,但曾幾何時, 289 00:15:32,510 --> 00:15:34,720 包含了一大堆的名字 和電話號碼。 290 00:15:34,720 --> 00:15:37,710 的確,如果我想找到 有人在這個電話簿 - 291 00:15:37,710 --> 00:15:39,800 說,一個叫邁克·史密斯 - 292 00:15:39,800 --> 00:15:43,810 我能找到邁克·史密斯在任何數量 相當簡單的方式。 293 00:15:43,810 --> 00:15:47,700 我可以從頭開始, 移動到第1頁,不存在。 294 00:15:47,700 --> 00:15:49,240 第2頁,不存在。 295 00:15:49,240 --> 00:15:49,960 第3頁。 296 00:15:49,960 --> 00:15:53,430 是算法, 過程中,是否正確? 297 00:15:53,430 --> 00:15:54,620 >> 因此,它是正確的,對不對? 298 00:15:54,620 --> 00:15:58,070 我做樣的白痴 這種方式,但最終我會 299 00:15:58,070 --> 00:16:02,670 找到姓S,希望麥克 在這一節中,我將成為 300 00:16:02,670 --> 00:16:04,100 做我的算法。 301 00:16:04,100 --> 00:16:05,440 但可以肯定它不是直觀。 302 00:16:05,440 --> 00:16:08,020 幾乎每個合理的人在此 房間也不會那樣做。 303 00:16:08,020 --> 00:16:10,180 你會怎麼做呢? 304 00:16:10,180 --> 00:16:11,480 >> 你已經直 到中間,對不對? 305 00:16:11,480 --> 00:16:12,000 大致中間。 306 00:16:12,000 --> 00:16:16,310 而你知道,哦,這些都是女士 於是,姓氏是史密斯,麥克·史密斯 307 00:16:16,310 --> 00:16:19,050 是不是清楚,然後在 書的左半部分。 308 00:16:19,050 --> 00:16:21,040 他一定是朝 在右邊的s。 309 00:16:21,040 --> 00:16:24,090 而在這一點上,雖然我們大多數人 不這樣做,我們就可以在現實中 310 00:16:24,090 --> 00:16:27,125 這個問題,從字面上撕成兩半。 311 00:16:27,125 --> 00:16:27,640 >> [歡呼和掌聲] 312 00:16:27,640 --> 00:16:28,950 >> DAVID馬蘭:謝謝你。 313 00:16:28,950 --> 00:16:30,150 >> [歡呼和掌聲] 314 00:16:30,150 --> 00:16:34,660 >> 國寶MALAN:你可以從字面上顛覆這個 問題的一半,留下我, 315 00:16:34,660 --> 00:16:36,120 從字面上看,有問題的一半大。 316 00:16:36,120 --> 00:16:39,750 因此,如果這個電話簿 - 大概是 - 約1000頁,現在 317 00:16:39,750 --> 00:16:40,840 它只有500。 318 00:16:40,840 --> 00:16:44,710 如果我這樣做,我再次意識到,哦, 該死的,我走的太遠,我在TS 319 00:16:44,710 --> 00:16:46,480 節中,我同樣可以 - 320 00:16:46,480 --> 00:16:48,030 比喻或字面上 - 321 00:16:48,030 --> 00:16:50,260 翻錄電話簿 - 它實際上是 容易得多。 322 00:16:50,260 --> 00:16:53,610 我可以從字面上撕裂電話簿 一半,現在離開我 323 00:16:53,610 --> 00:16:55,186 不是1000,不是500 - 324 00:16:55,186 --> 00:16:56,680 250頁。 325 00:16:56,680 --> 00:17:00,210 我可以去125,其中半數, 一半一半, 326 00:17:00,210 --> 00:17:04,760 直到最後我會留下 只有一個單一頁面上。 327 00:17:04,760 --> 00:17:06,430 >> [笑] 328 00:17:06,430 --> 00:17:07,589 >> 國寶馬蘭:這是 第一部分失敗。 329 00:17:07,589 --> 00:17:10,400 一個單一的頁面上 邁克希望。 330 00:17:10,400 --> 00:17:14,630 現在,這些不同的算法可以 排序評估或評估 331 00:17:14,630 --> 00:17:15,270 方式不同。 332 00:17:15,270 --> 00:17:17,300 第一個是非常線性的,對不對? 333 00:17:17,300 --> 00:17:18,500 打開網頁,看看邁克。 334 00:17:18,500 --> 00:17:19,630 打開網頁,看看邁克。 335 00:17:19,630 --> 00:17:20,560 這是非常線性。 336 00:17:20,560 --> 00:17:23,339 如果有一個頁面在手機 本書中,它可能會採取我 337 00:17:23,339 --> 00:17:27,380 一個第二,一個單位時間, 但我們的計算時間。 338 00:17:27,380 --> 00:17:32,470 >> 所以,我可能會得出這樣這條線 這裡的大小,從而 339 00:17:32,470 --> 00:17:34,700 問題增加從左至右 - 340 00:17:34,700 --> 00:17:37,480 電話簿變小做大 - 341 00:17:37,480 --> 00:17:41,080 和時間將會增加 垂直軸,更大的 342 00:17:41,080 --> 00:17:42,030 電話簿。 343 00:17:42,030 --> 00:17:46,180 因此,n是只是一個普通的變量 計算機科學家用來代表 344 00:17:46,180 --> 00:17:48,210 一定的價值,一些數字。 345 00:17:48,210 --> 00:17:50,740 所以n的線性增加。 346 00:17:50,740 --> 00:17:53,040 ,它的規模翻番的電話簿 要帶我的兩倍多 347 00:17:53,040 --> 00:17:54,780 時間,最有可能的是,找到邁克。 348 00:17:54,780 --> 00:17:56,390 >> 現在,我本來是智能 這一點,對不對? 349 00:17:56,390 --> 00:17:57,800 我得到迅速無聊。 350 00:17:57,800 --> 00:17:58,910 可以這樣做三三兩兩。 351 00:17:58,910 --> 00:18:01,870 所以兩頁,然後四, 六,八。 352 00:18:01,870 --> 00:18:05,220 我可以通過它開始飛 快一點,儘管輕微風險 353 00:18:05,220 --> 00:18:09,210 超調邁克,但該曲線是不 將是所有不同。 354 00:18:09,210 --> 00:18:12,550 它仍然將是一條直線 線,但速度稍快。 355 00:18:12,550 --> 00:18:13,710 >> 但是我做了什麼? 356 00:18:13,710 --> 00:18:15,845 其實,我做了一件 從根本上更好。 357 00:18:15,845 --> 00:18:21,990 我實現了,我們會打電話給數 時間日誌,這個綠色的n 358 00:18:21,990 --> 00:18:27,730 行有很多,很多,很多 直邊少。 359 00:18:27,730 --> 00:18:33,050 而相反,它表明,因為它排序 曾經如此逐漸趨於無窮大, 360 00:18:33,050 --> 00:18:36,700 我其實可以採取1000頁 電話簿,其規模翻番 361 00:18:36,700 --> 00:18:39,610 明年 - 因為想了很多 越來越多的人進入城鎮。 362 00:18:39,610 --> 00:18:43,250 >> 所以,現在我已經得到了2000頁,但如何 很多步,更聰明 363 00:18:43,250 --> 00:18:45,200 算法要採取? 364 00:18:45,200 --> 00:18:46,060 只有一個問題。 365 00:18:46,060 --> 00:18:48,060 我的意思是,這是一個強大的東西。 366 00:18:48,060 --> 00:18:51,400 如果我們去到4000頁,明年 這是要帶我 367 00:18:51,400 --> 00:18:53,020 只有兩個更多的步驟。 368 00:18:53,020 --> 00:18:56,500 所以,你可以扔掉越做越大 我的問題,不像網頁 369 00:18:56,500 --> 00:18:59,560 投擲越做越大的問題 在谷歌和Facebook的每一天 370 00:18:59,560 --> 00:19:01,590 這個世界,它不 這樣一個大問題。 371 00:19:01,590 --> 00:19:05,840 因為我把更多的思考和關懷 我的算法來解決 372 00:19:05,840 --> 00:19:07,020 有效的問題。 373 00:19:07,020 --> 00:19:09,260 >> 事實上,這將是一個 本課程的目標。 374 00:19:09,260 --> 00:19:11,230 你會的,一路走來, 學習如何編程。 375 00:19:11,230 --> 00:19:13,360 您將學習如何編程 任何數量的語言。 376 00:19:13,360 --> 00:19:16,670 但是在一天結束的時候,當然是 解決問題和獲得 377 00:19:16,670 --> 00:19:20,490 更好地解決問題 - ,如 這樣的情況下,解決問題 378 00:19:20,490 --> 00:19:22,030 更有效率。 379 00:19:22,030 --> 00:19:23,990 >> 現在,因此,到目前為止,我們已經做到了這一點 相當直觀。 380 00:19:23,990 --> 00:19:27,420 讓我們的介紹相當的東西 一般稱為偽代碼。 381 00:19:27,420 --> 00:19:29,150 所以,我們最終會得到的, 在這個過程中, 382 00:19:29,150 --> 00:19:30,570 各種編程語言。 383 00:19:30,570 --> 00:19:34,280 但今天我們會做類似英語 語法,其中你只是客氣的說 384 00:19:34,280 --> 00:19:37,330 你是什​​麼意思,但你永遠是這樣 簡潔,你不用擔心 385 00:19:37,330 --> 00:19:38,960 語法和完整的句子。 386 00:19:38,960 --> 00:19:41,600 你只是表達自己 盡量簡潔。 387 00:19:41,600 --> 00:19:45,400 >> 因此,偽代碼類似英語 語法代表 388 00:19:45,400 --> 00:19:46,750 一種編程語言。 389 00:19:46,750 --> 00:19:51,170 為此,讓我提出, 我們現在模擬的過程中,我們只是 390 00:19:51,170 --> 00:19:54,990 計數的東西一點點描述 不同,這一次採取了 391 00:19:54,990 --> 00:19:59,040 看在這5分鐘的視頻製作 在TED的朋友, 392 00:19:59,040 --> 00:20:03,170 定義什麼是偽代碼,定義了什麼 算法的思想,甚至 393 00:20:03,170 --> 00:20:07,030 雖然這個例子中,你將要看到的 ,本身,超級簡單,它的 394 00:20:07,030 --> 00:20:09,820 要開始給我們的精神 模型中,詞彙,其中 395 00:20:09,820 --> 00:20:14,588 做多,複雜得多 算法相當快。 396 00:20:14,588 --> 00:20:15,576 >> [開始播放視頻] 397 00:20:15,576 --> 00:20:29,920 >> [音樂播放] 398 00:20:29,920 --> 00:20:31,100 >> 旁白:什麼是算法? 399 00:20:31,100 --> 00:20:34,730 在計算機科學中,算法是一個 解決一些指令集 400 00:20:34,730 --> 00:20:36,620 問題一步一步來。 401 00:20:36,620 --> 00:20:39,650 通常情況下,算法執行 電腦,但我們人類有 402 00:20:39,650 --> 00:20:41,230 算法,以及。 403 00:20:41,230 --> 00:20:43,290 例如,你將如何去 清點人數 404 00:20:43,290 --> 00:20:44,750 在一個房間裡的人嗎? 405 00:20:44,750 --> 00:20:47,980 好吧,如果你像我一樣,你可能會 在每個人點,一個在 406 00:20:47,980 --> 00:20:50,120 一時間,從0計數。 407 00:20:50,120 --> 00:20:52,970 1,2,3,4,等等。 408 00:20:52,970 --> 00:20:54,140 >> 嗯,這是一種算法。 409 00:20:54,140 --> 00:20:57,600 事實上,我們試圖表達的 更正式一點的偽代碼 - 410 00:20:57,600 --> 00:21:00,700 類似英語的語法類似於 一種編程語言。 411 00:21:00,700 --> 00:21:02,580 讓N等於0。 412 00:21:02,580 --> 00:21:06,970 每個人在房間,設置 N等於N加1。 413 00:21:06,970 --> 00:21:08,400 >> 如何解釋這個偽代碼? 414 00:21:08,400 --> 00:21:12,840 ,線一條聲明,可以這麼說, 一個變量N和初始化 415 00:21:12,840 --> 00:21:14,250 其值設置為0。 416 00:21:14,250 --> 00:21:17,550 這意味著,在開始 我們的算法,東西 417 00:21:17,550 --> 00:21:19,650 我們點的值為0。 418 00:21:19,650 --> 00:21:22,620 畢竟,在我們重新開始計數, 我們還沒有算什麼呢。 419 00:21:22,620 --> 00:21:25,340 調用此變量N 僅僅是一個慣例。 420 00:21:25,340 --> 00:21:26,890 我可以把它稱為幾乎所有東西。 421 00:21:26,890 --> 00:21:30,560 >> 線兩條demarks的開始 循環中,一個序列的步驟,將 422 00:21:30,560 --> 00:21:32,310 重複一定的次數。 423 00:21:32,310 --> 00:21:35,910 因此,在我們的例子中,我們正在採取步驟 計數在房間裡的人。 424 00:21:35,910 --> 00:21:38,730 之下線兩條線3條, 這究竟是如何描述 425 00:21:38,730 --> 00:21:40,160 我們會去計數。 426 00:21:40,160 --> 00:21:43,440 縮進意味著它 一行三人將重複。 427 00:21:43,440 --> 00:21:47,380 >> 那麼,什麼的偽說 之後,從0開始,對於每個 428 00:21:47,380 --> 00:21:50,690 人在房間裡,我們將 N的增加1。 429 00:21:50,690 --> 00:21:53,050 現在是這樣的算法是否正確? 430 00:21:53,050 --> 00:21:54,580 好吧,讓我們一鼓作氣,有點。 431 00:21:54,580 --> 00:21:57,270 它的工作原理,如果有 兩個人在房間裡? 432 00:21:57,270 --> 00:21:58,170 讓我們來看看。 433 00:21:58,170 --> 00:22:00,260 >> 第一行中,我們初始化N到0。 434 00:22:00,260 --> 00:22:03,660 對於這兩種人的, 我們再增加N的1。 435 00:22:03,660 --> 00:22:07,310 因此,第一次通過 循環中,我們更新n從0到1。 436 00:22:07,310 --> 00:22:11,070 在第二行通過同一 循環中,我們更新n從1到2。 437 00:22:11,070 --> 00:22:15,780 因此通過此算法結束,n為2時 這的確匹配的數量 438 00:22:15,780 --> 00:22:16,700 房間裡的人。 439 00:22:16,700 --> 00:22:17,760 >> 到目前為止,一切都不錯。 440 00:22:17,760 --> 00:22:19,610 怎麼樣一個角落裡的情況下,雖然? 441 00:22:19,610 --> 00:22:22,590 假設有0人 在房間裡 - 除了我, 442 00:22:22,590 --> 00:22:24,170 誰做計數。 443 00:22:24,170 --> 00:22:27,150 第一行中,我們初始化N到0。 444 00:22:27,150 --> 00:22:30,280 不過,這一次,行三不 執行,因為沒有一個 445 00:22:30,280 --> 00:22:31,370 人在房間裡。 446 00:22:31,370 --> 00:22:35,260 所以N保持為0,相匹配的 房間裡的人的數量。 447 00:22:35,260 --> 00:22:36,420 很簡單,不是嗎? 448 00:22:36,420 --> 00:22:39,630 >> 但是,計數一次一個 是非常低效的,也沒有嗎? 449 00:22:39,630 --> 00:22:40,920 當然,我們可以做的更好。 450 00:22:40,920 --> 00:22:43,120 為什麼不能指望兩個人在一個時間嗎? 451 00:22:43,120 --> 00:22:49,300 而不是計數1,2,3,4,5,6,7, 8,等等,為什麼不計數,2, 452 00:22:49,300 --> 00:22:51,460 4,6,8,等? 453 00:22:51,460 --> 00:22:53,700 這聽起來甚至更快, 它肯定是。 454 00:22:53,700 --> 00:22:56,240 >> 讓我們來表達這種優化 在偽代碼。 455 00:22:56,240 --> 00:22:57,800 讓N等於0。 456 00:22:57,800 --> 00:23:02,450 對於每一對的人在房內, 設置N等於N加2。 457 00:23:02,450 --> 00:23:04,120 很簡單的變化,對不對? 458 00:23:04,120 --> 00:23:06,750 而不是數人 我們的時間,而不是算 459 00:23:06,750 --> 00:23:08,300 他們兩個在同一時間。 460 00:23:08,300 --> 00:23:10,980 因此,該算法的兩倍 作為作為最後快。 461 00:23:10,980 --> 00:23:12,180 >> 但它是正確的? 462 00:23:12,180 --> 00:23:12,920 讓我們來看看。 463 00:23:12,920 --> 00:23:15,330 它的工作原理,如果有 兩個人在房間裡? 464 00:23:15,330 --> 00:23:17,550 第一行中,我們初始化N到0。 465 00:23:17,550 --> 00:23:20,920 對於一個對人, 我們再增加N的兩個。 466 00:23:20,920 --> 00:23:24,860 因此,該算法的末端,N是2, 這的確匹配的數量 467 00:23:24,860 --> 00:23:25,650 房間裡的人。 468 00:23:25,650 --> 00:23:28,250 >> 假設下一個有 0人在房間裡。 469 00:23:28,250 --> 00:23:30,840 第一行中,我們初始化N到0。 470 00:23:30,840 --> 00:23:34,330 像以前一樣,三線不執行 ,因為沒有任何對 471 00:23:34,330 --> 00:23:35,380 在房間裡的人。 472 00:23:35,380 --> 00:23:38,350 所以N保持為0,這的確 的數目相匹配 473 00:23:38,350 --> 00:23:39,570 房間裡的人。 474 00:23:39,570 --> 00:23:42,280 >> 但是,如果有三個 房間裡的人嗎? 475 00:23:42,280 --> 00:23:44,130 該算法票價如何? 476 00:23:44,130 --> 00:23:44,990 讓我們來看看。 477 00:23:44,990 --> 00:23:47,460 第一行中,我們初始化N到0。 478 00:23:47,460 --> 00:23:50,870 對於那些人一對, 我們再增加N的2。 479 00:23:50,870 --> 00:23:51,800 但是然後呢? 480 00:23:51,800 --> 00:23:54,960 是不是又對人 在房間裡,所以沒有線兩條 481 00:23:54,960 --> 00:23:56,180 不再適用。 482 00:23:56,180 --> 00:24:00,530 因此該算法的末端,N 仍然是2,這是不正確的。 483 00:24:00,530 --> 00:24:03,810 >> 實際上,該算法的說是 越野車,因為它有一個錯誤。 484 00:24:03,810 --> 00:24:05,820 讓我們糾正了一些新的偽代碼。 485 00:24:05,820 --> 00:24:09,670 設n等於0為每對 人在房間。 486 00:24:09,670 --> 00:24:12,550 設置N等於N加2。 487 00:24:12,550 --> 00:24:17,140 如果一個人仍然未成, 設置N等於N加1。 488 00:24:17,140 --> 00:24:20,140 為了解決這個問題,我們已經 介紹,四線, 489 00:24:20,140 --> 00:24:24,520 條件,否則稱為分支 如果有一個只執行 490 00:24:24,520 --> 00:24:26,640 人,我們不能 與另一對。 491 00:24:26,640 --> 00:24:30,440 所以現在,是否有一個或三個 或任何人在奇數 492 00:24:30,440 --> 00:24:33,290 室,該算法 現在指望他們。 493 00:24:33,290 --> 00:24:34,560 >> 我們可以做得更好? 494 00:24:34,560 --> 00:24:38,820 嗯,我們可以指望3S或4S,甚至 5秒和10秒,但除此之外,它 495 00:24:38,820 --> 00:24:41,360 要得到一點點 困難點。 496 00:24:41,360 --> 00:24:44,660 在一天結束時,是否執行 通過電腦或人類, 497 00:24:44,660 --> 00:24:46,750 算法只是一套 的指令 498 00:24:46,750 --> 00:24:48,290 要解決的問題。 499 00:24:48,290 --> 00:24:49,792 這些都是只有三個。 500 00:24:49,792 --> 00:24:52,404 你會解決什麼問題 的算法? 501 00:24:52,404 --> 00:24:52,901 >> [END視頻播放] 502 00:24:52,901 --> 00:24:55,883 >> 國寶馬蘭:這是唯一的一次 我會以卡通的形式出現。 503 00:24:55,883 --> 00:25:01,050 但離開了這個故事, 現在我們可以做的更好? 504 00:25:01,050 --> 00:25:04,680 三五成群,我方要求,我們可以指望 人要快得多,但我們可以 505 00:25:04,680 --> 00:25:06,290 從根本上做比這更好的嗎? 506 00:25:06,290 --> 00:25:07,540 我敢打賭我們能做到。 507 00:25:07,540 --> 00:25:11,980 >> 如果我們引入了一點我們自己的 偽代碼在這裡,我向你求婚 508 00:25:11,980 --> 00:25:14,550 我們能夠實現這樣的一條線。 509 00:25:14,550 --> 00:25:17,280 我們不會指望人們 一,二,三,四。 510 00:25:17,280 --> 00:25:19,470 我們不打算去兩個, 四,六,八。 511 00:25:19,470 --> 00:25:23,390 我們打算這樣做從根本上更好 通過重新思考這個問題,並在此 512 00:25:23,390 --> 00:25:27,080 的情況下,利用一個原本 未充分利用的資源。 513 00:25:27,080 --> 00:25:31,460 >> 在短短的時刻,我希望你能原諒 哄我們站立在 514 00:25:31,460 --> 00:25:34,470 的地方,在這一點上,我們要 請各位在你 515 00:25:34,470 --> 00:25:36,400 心目中的數字1。 516 00:25:36,400 --> 00:25:39,560 然後,你會越來越多地 笨拙,隨著時間的推移,找到 517 00:25:39,560 --> 00:25:42,740 是誰站在別人,結合 您的數字加在一起 518 00:25:42,740 --> 00:25:43,720 通過將它們添加。 519 00:25:43,720 --> 00:25:47,490 你坐就是那麼回事出賽 下第一,其他人 520 00:25:47,490 --> 00:25:48,880 重複。 521 00:25:48,880 --> 00:25:53,090 >> 所以換句話說,播種所有 你有數字1,然後 522 00:25:53,090 --> 00:25:57,800 ,結合那些1到2和2 到4S,與大家越來越 523 00:25:57,800 --> 00:26:02,740 坐了下來,我們應該在年底 這個算法,只有一個貸款 524 00:26:02,740 --> 00:26:07,570 誰沒有坐下的速度不夠快,但靈魂 誰擁有整個觀眾數 525 00:26:07,570 --> 00:26:09,180 在他或她的頭腦。 526 00:26:09,180 --> 00:26:13,730 >> 所以,如果你想,讓我們繼續前進, - 第一個步驟 - 中站起來的地方。 527 00:26:13,730 --> 00:26:15,600 和執行。 528 00:26:15,600 --> 00:26:36,580 >> [人群潺潺] 529 00:26:36,580 --> 00:26:38,820 >> 國寶馬蘭:你知不知道 勞倫是什麼? 530 00:26:38,820 --> 00:26:40,179 729? 531 00:26:40,179 --> 00:27:23,350 >> [人群潺潺] 532 00:27:23,350 --> 00:27:24,340 >> 國寶馬蘭:沒事吧? 533 00:27:24,340 --> 00:27:39,110 >> [人群潺潺] 534 00:27:39,110 --> 00:27:41,365 >> 國寶馬蘭:所有的權利,我們應該 即將結束。 535 00:27:41,365 --> 00:27:44,340 536 00:27:44,340 --> 00:27:47,670 我們看到一個傢伙仍然站在這裡。 537 00:27:47,670 --> 00:27:48,770 還有誰需要進行配對? 538 00:27:48,770 --> 00:27:50,020 如果你們要配對了。 539 00:27:50,020 --> 00:27:53,260 540 00:27:53,260 --> 00:27:56,520 有人往上頂。 541 00:27:56,520 --> 00:27:58,150 我為什麼不伸出援助之手。 542 00:27:58,150 --> 00:28:01,370 對於極少數的人,誰仍然 站立,什麼號碼呢,你 543 00:28:01,370 --> 00:28:02,790 有在你的心中嗎? 544 00:28:02,790 --> 00:28:04,020 >> 學生:78。 545 00:28:04,020 --> 00:28:06,010 >> 國寶馬蘭:78加 - 546 00:28:06,010 --> 00:28:07,840 誰站在這裡嗎? 547 00:28:07,840 --> 00:28:08,370 >> 學生:39。 548 00:28:08,370 --> 00:28:09,590 >> 國寶馬蘭:加39。 549 00:28:09,590 --> 00:28:12,310 再加上還有誰仍然屹立不倒? 550 00:28:12,310 --> 00:28:13,650 81? 551 00:28:13,650 --> 00:28:15,960 OK,還有誰? 552 00:28:15,960 --> 00:28:17,200 另外有81個? 553 00:28:17,200 --> 00:28:17,860 哇。 554 00:28:17,860 --> 00:28:19,210 然後在後面? 555 00:28:19,210 --> 00:28:20,360 >> 學生:49。 556 00:28:20,360 --> 00:28:21,812 >> 國寶馬蘭:49,加? 557 00:28:21,812 --> 00:28:22,950 >> 學生:98。 558 00:28:22,950 --> 00:28:24,980 >> 國寶馬蘭:98加? 559 00:28:24,980 --> 00:28:28,190 那是別人嗎? 560 00:28:28,190 --> 00:28:29,155 12? 561 00:28:29,155 --> 00:28:30,460 良好的工作。 562 00:28:30,460 --> 00:28:33,610 >> [笑] 563 00:28:33,610 --> 00:28:34,690 >> 國寶馬蘭:哦​​,112 - 564 00:28:34,690 --> 00:28:35,410 哦。 565 00:28:35,410 --> 00:28:36,220 幹得好! 566 00:28:36,220 --> 00:28:38,660 >> [笑] 567 00:28:38,660 --> 00:28:42,570 >> [掌聲] 568 00:28:42,570 --> 00:28:43,820 >> 國寶馬蘭:其他任何人 仍然站立? 569 00:28:43,820 --> 00:28:46,710 570 00:28:46,710 --> 00:28:47,260 對不起? 571 00:28:47,260 --> 00:28:48,110 >> 學生:99。 572 00:28:48,110 --> 00:28:49,810 >> 國寶馬蘭:99。 573 00:28:49,810 --> 00:28:52,620 其他人仍然站立? 574 00:28:52,620 --> 00:28:57,290 而這裡的學生總數 實際上是,根據 - 575 00:28:57,290 --> 00:28:59,400 你有多少? 576 00:28:59,400 --> 00:29:03,170 呵呵,實際人數 室,根據帳戶 577 00:29:03,170 --> 00:29:07,660 教學研究員在做什麼 在每個人的方式,為729。 578 00:29:07,660 --> 00:29:11,070 因此,出一屋子的哈佛學生 算自己的人, 579 00:29:11,070 --> 00:29:14,126 答案是637。 580 00:29:14,126 --> 00:29:15,480 >> [笑] 581 00:29:15,480 --> 00:29:16,350 >> 國寶馬蘭:如此接近。 582 00:29:16,350 --> 00:29:17,360 但仍。 583 00:29:17,360 --> 00:29:22,110 OK,所以這是一個教學 此刻,對不對? 584 00:29:22,110 --> 00:29:24,120 現在這是我們形容為一個錯誤。 585 00:29:24,120 --> 00:29:28,120 沿途的某個地方,我們做了一些 算術錯誤,或者是有人坐了下來, 586 00:29:28,120 --> 00:29:29,930 或向左,或出事了。 587 00:29:29,930 --> 00:29:30,930 但是,這很好。 588 00:29:30,930 --> 00:29:33,390 因為,我們甚至還在 八九不離十了。 589 00:29:33,390 --> 00:29:37,480 我認為,我們得到了錯誤的 解答了很多比我快將有 590 00:29:37,480 --> 00:29:39,770 使用線性方法我。 591 00:29:39,770 --> 00:29:42,630 >> 因此,讓我們假設其實我們沒有得到 正確的,但認為現在大概什麼 592 00:29:42,630 --> 00:29:46,870 每次發生的,與我 自己的天真指向算法。 593 00:29:46,870 --> 00:29:48,420 一,二,三。 594 00:29:48,420 --> 00:29:53,010 如果確實有729人或637人 在這裡,我將採取 595 00:29:53,010 --> 00:29:57,720 從字面上637或729勾縫 手指和 596 00:29:57,720 --> 00:29:59,490 我總計數遞增。 597 00:29:59,490 --> 00:30:01,910 我可以做的更好一點 去二,四,六,八, 598 00:30:01,910 --> 00:30:05,660 這樣的速度的兩倍,甚至三倍或 翻兩番,這取決於如何我可以 599 00:30:05,660 --> 00:30:07,110 做到這一點在我的腦海計數。 600 00:30:07,110 --> 00:30:10,720 >> 但是,這種方法了你們 是根本不同的。 601 00:30:10,720 --> 00:30:12,770 因為在開始的時候, 大家站了起來。 602 00:30:12,770 --> 00:30:14,620 因此,所有729。 603 00:30:14,620 --> 00:30:17,370 然後從字面上一半 你坐了下來。 604 00:30:17,370 --> 00:30:19,720 在這之後,另一 你的一半坐了下來。 605 00:30:19,720 --> 00:30:22,650 在這之後,另一 你的一半坐了下來。 606 00:30:22,650 --> 00:30:27,470 >> 和的總次數,你 你們可能已經坐了下來大約是 607 00:30:27,470 --> 00:30:31,740 八,九,十總次數, 這取決於我們的總數是什麼。 608 00:30:31,740 --> 00:30:33,300 我們可以做排序 這是另一種方式。 609 00:30:33,300 --> 00:30:37,740 如果我們有1,024人在房間裡, 總數的時候,你可以 610 00:30:37,740 --> 00:30:41,870 減半1,024人是10。 611 00:30:41,870 --> 00:30:43,370 >> 現在想想,在 其他方向。 612 00:30:43,370 --> 00:30:49,170 假設,可笑的是,我們不得不說, 四十億人在這個房間裡, 613 00:30:49,170 --> 00:30:50,860 稍大的房間。 614 00:30:50,860 --> 00:30:54,550 我們已經多少次 通過此算法,使得半 615 00:30:54,550 --> 00:30:58,110 該類坐下? 616 00:30:58,110 --> 00:31:03,050 它只是要帶32個這樣的 操作,即使在一個類的大小 617 00:31:03,050 --> 00:31:03,770 四十億。 618 00:31:03,770 --> 00:31:04,055 為什麼呢? 619 00:31:04,055 --> 00:31:06,980 因為4億到以下兩個 億元,去到一百萬,去 620 00:31:06,980 --> 00:31:09,925 500萬元,250 萬,點,點,點。 621 00:31:09,925 --> 00:31:14,940 我只能這樣做,師約有32 時間,在這一點上,大家除了 622 00:31:14,940 --> 00:31:17,820 一個人會罰站。 623 00:31:17,820 --> 00:31:21,590 >> 而這,也同樣是一個功能強大的排序 想法越來越多,我們將嘗試 624 00:31:21,590 --> 00:31:24,690 利用在這個過程中,並在 編程和計算機科學 625 00:31:24,690 --> 00:31:29,400 一般來說,這些病菌的想法與 然後,我們可以解決問題了, 626 00:31:29,400 --> 00:31:31,130 更有力。 627 00:31:31,130 --> 00:31:34,610 因此,我們開始很簡單 偽代碼和一個男人在一個房間裡,但 628 00:31:34,610 --> 00:31:38,205 現在整個房間擠滿了人 我們做了從根本上更好。 629 00:31:38,205 --> 00:31:41,460 >> 好吧,讓我們從現在過渡 偽代碼的一些實際代碼。 630 00:31:41,460 --> 00:31:44,200 這種語言,你即將看到的 被稱為JavaScript和 631 00:31:44,200 --> 00:31:46,190 我們會回到這個走向 學期結束。 632 00:31:46,190 --> 00:31:49,960 它是一種編程語言, 使用讓網站和其他類似 633 00:31:49,960 --> 00:31:51,360 軟件的這些日子。 634 00:31:51,360 --> 00:31:54,890 而我們也使用它,這要感謝朋友 我們在斯坦福大學進行編碼 635 00:31:54,890 --> 00:31:56,630 這裡的一些隱藏信息。 636 00:31:56,630 --> 00:31:59,500 這是藝術的隱秘, 可以這麼說,在那裡你可以隱藏 637 00:31:59,500 --> 00:32:03,990 否則出現的信息 噪音或一個完全不同的 638 00:32:03,990 --> 00:32:05,220 圖像完全。 639 00:32:05,220 --> 00:32:10,120 但在這個特殊的圖像嵌入 的確是一個秘密的各種各樣的消息。 640 00:32:10,120 --> 00:32:12,950 >> 因此,讓我繼續前進,拉起 相同的圖像在這裡,這 641 00:32:12,950 --> 00:32:14,270 在Web瀏覽器的時間。 642 00:32:14,270 --> 00:32:17,710 我要揮揮手的一些 今天的細節,特別是 643 00:32:17,710 --> 00:32:21,780 對於那些你誰,這看起來像 只有JavaScript,但希臘,作為一個 644 00:32:21,780 --> 00:32:23,930 完全陌生的語言。 645 00:32:23,930 --> 00:32:26,190 但是,這是一個例子的 一種編程語言。 646 00:32:26,190 --> 00:32:30,660 >> 現在來看,信仰 這第一行代碼 - 647 00:32:30,660 --> 00:32:32,470 和代碼,我只是意味著文本。 648 00:32:32,470 --> 00:32:35,660 我可以從字面上輸入的文本 到Microsoft Word中,如果我有 649 00:32:35,660 --> 00:32:37,630 合適的軟件,然後 用它做什麼。 650 00:32:37,630 --> 00:32:42,120 編程源代碼,編程 代碼,是真的只是文字,它 651 00:32:42,120 --> 00:32:45,420 看起來不同,基於什麼語言 你使用的,不像英語 652 00:32:45,420 --> 00:32:49,200 西班牙和俄羅斯都期待不同 當你輸入你的鍵盤。 653 00:32:49,200 --> 00:32:53,520 >> 所以這第一行,現在 信仰,只需打開一個圖形 654 00:32:53,520 --> 00:32:56,160 互聯網,這種吵鬧的圖形 我們剛才看到的。 655 00:32:56,160 --> 00:32:59,900 這下一行,這裡是一個例子的 循環,我們居然看到了同樣的 656 00:32:59,900 --> 00:33:01,130 在TED視頻行話。 657 00:33:01,130 --> 00:33:03,750 一個循環是再次發生 又一次,即使這 658 00:33:03,750 --> 00:33:08,440 絕對看上去很神秘, 關鍵字,以及一些括號中,並 659 00:33:08,440 --> 00:33:09,510 一些分號。 660 00:33:09,510 --> 00:33:13,070 我們會回來用不了多久, 但循環本質上是有 661 00:33:13,070 --> 00:33:17,310 講程序,遍歷所有 那些嘈雜的點,從左至右 662 00:33:17,310 --> 00:33:18,980 右,從上到下。 663 00:33:18,980 --> 00:33:21,260 >> 因為在一天結束時,一個圖像 喜歡這樣 - 實際上,你可以 664 00:33:21,260 --> 00:33:22,860 樣的這台投影機上看到它 - 665 00:33:22,860 --> 00:33:25,280 真的只是一個網格點。 666 00:33:25,280 --> 00:33:29,730 因此,我們可以識別每個這些點 由一個坐標的x,y,以及與此 667 00:33:29,730 --> 00:33:33,890 程序,我們現在可以開始 做這些點東西。 668 00:33:33,890 --> 00:33:37,540 >> 所以我要繼續前進在這裡, 做的是我要做出一些改變。 669 00:33:37,540 --> 00:33:41,000 首先,我要繼續前進,擺脫 所有,綠色和藍色的 670 00:33:41,000 --> 00:33:43,520 噪音,我要繼續前進 並鍵入以下 671 00:33:43,520 --> 00:33:45,710 誠然,語法晦澀。 672 00:33:45,710 --> 00:33:48,020 IM的圖像。 673 00:33:48,020 --> 00:33:53,380 設置藍色位置X,逗號, 位置Y為0。 674 00:33:53,380 --> 00:33:55,610 換句話說,我想就 關閉所有的藍色 675 00:33:55,610 --> 00:33:56,920 照片中的點數。 676 00:33:56,920 --> 00:33:59,800 >> 我要繼續前進現在點擊 運行/保存“按鈕,你會 677 00:33:59,800 --> 00:34:02,850 右側的通知, 生成的圖像出現。 678 00:34:02,850 --> 00:34:06,120 現在,它的超級綠色,但是這並不 令人驚訝的,因為我從字面上變成 679 00:34:06,120 --> 00:34:11,070 關閉,或者通過使1 0,所有 照片中的藍色。 680 00:34:11,070 --> 00:34:12,540 >> 好了,現在讓我們做多一點。 681 00:34:12,540 --> 00:34:16,989 IM的圖像,X,Y,點setGreen。 682 00:34:16,989 --> 00:34:20,659 只是意味著左迭代 到右,從上到下。 683 00:34:20,659 --> 00:34:23,520 把它關掉的值 為0,以及。 684 00:34:23,520 --> 00:34:24,750 保存。 685 00:34:24,750 --> 00:34:28,100 而在投影機上,你不能真正 真正看到任何東西。 686 00:34:28,100 --> 00:34:31,380 >> 我的筆記本電腦屏幕上,如果我只是在同行中 以正確的方式,我可以看到一個有點 687 00:34:31,380 --> 00:34:33,300 形象,因為他們仍然 一些紅色在那裡。 688 00:34:33,300 --> 00:34:35,540 如果你曾經聽到的縮寫RGB - 689 00:34:35,540 --> 00:34:36,830 紅,綠,藍 - 690 00:34:36,830 --> 00:34:39,110 它指此組合物 使用的圖像 691 00:34:39,110 --> 00:34:40,230 僅這三種顏色。 692 00:34:40,230 --> 00:34:43,159 而現在,我們已經扔掉 全綠,全藍,但 693 00:34:43,159 --> 00:34:44,500 沒有太多的紅色。 694 00:34:44,500 --> 00:34:45,920 >> 所以,讓我殺青的紅色。 695 00:34:45,920 --> 00:34:47,070 我怎樣才能做到這一點呢? 696 00:34:47,070 --> 00:34:49,300 好吧,首先,我要問 這一計劃的一個問題。 697 00:34:49,300 --> 00:34:52,030 我要繼續前進,讓我們稱它為 一個變量,就像代數。 698 00:34:52,030 --> 00:34:54,060 你可以有x或y或z。 699 00:34:54,060 --> 00:34:57,230 我要聲明一個變量 就是說,把這個變量, 700 00:34:57,230 --> 00:35:02,790 暫時的值 圖像的getRed X,Y值。 701 00:35:02,790 --> 00:35:05,870 >> 再次,我們會回來的所有 這些細節在將來。 702 00:35:05,870 --> 00:35:10,630 但現在,只需要信仰 此行是要求程序, 703 00:35:10,630 --> 00:35:12,740 紅色的X,Y值是什麼? 704 00:35:12,740 --> 00:35:14,450 在那個特定的點? 705 00:35:14,450 --> 00:35:15,710 >> 然後我會做一些事來。 706 00:35:15,710 --> 00:35:21,100 然後我會做圖像點集紅色 在X,Y,Y,但這個時候我要去 707 00:35:21,100 --> 00:35:24,760 提高做衝次, 比方說,10。 708 00:35:24,760 --> 00:35:26,870 因此,增加了10倍。 709 00:35:26,870 --> 00:35:29,880 讓我現在縮小 點擊可以運行/保存。 710 00:35:29,880 --> 00:35:36,430 瞧,這是有整個 一次,儘管我們人類的眼睛 711 00:35:36,430 --> 00:35:37,900 不太可能看到它。 712 00:35:37,900 --> 00:35:41,470 >> 所以,現在是真正的代碼, 例如,一種語言,我們就來 713 00:35:41,470 --> 00:35:42,770 回到之前長。 714 00:35:42,770 --> 00:35:46,670 但是實現,特別是那些你 沒有這樣的經歷,這是相當 715 00:35:46,670 --> 00:35:50,280 很快,我們自己將 寫出這樣的代碼存在。 716 00:35:50,280 --> 00:35:54,520 事實上,工具與你 有些熟悉,或許是CS50 717 00:35:54,520 --> 00:35:57,330 自己當然購物工具,這是 實際上一些今年夏天重新開機 718 00:35:57,330 --> 00:36:01,070 CS50自己以前的學生, 現在打開TFS。 719 00:36:01,070 --> 00:36:04,740 >> 因此,這恰好是建立了一個網站 在一個叫做PHP語言。 720 00:36:04,740 --> 00:36:08,510 它使用一個名為mysql的數據庫,事情 我們將得到我們的手 721 00:36:08,510 --> 00:36:10,190 後來在學期臟。 722 00:36:10,190 --> 00:36:14,140 但相信它或沒有,甚至一些 這樣,最終減少對 723 00:36:14,140 --> 00:36:19,480 最簡單的循環和條件 分支,如我們看到的只是一個 724 00:36:19,480 --> 00:36:21,530 剛才在TED視頻。 725 00:36:21,530 --> 00:36:25,180 >> 我想我會做什麼,現在是份額不 只是我們的工作人員取得了 726 00:36:25,180 --> 00:36:28,010 校園,而是東西 以前的一個學生 - 三 727 00:36:28,010 --> 00:36:29,080 學生,其實 - 728 00:36:29,080 --> 00:36:33,950 過去這一年,塞拉利昂,但以理, 山姆,最後一名沒有事先 729 00:36:33,950 --> 00:36:36,370 編程經驗 當他拿著CS50。 730 00:36:36,370 --> 00:36:39,950 而且,他們為他們的最終項目 展出,在CS50博覽會, 731 00:36:39,950 --> 00:36:43,720 應用程序名為wrdly,這是一個 他們的基於Web的程序 732 00:36:43,720 --> 00:36:47,670 這個視頻,我想我會分享 究竟什麼是讓你感受到 733 00:36:47,670 --> 00:36:49,280 可能術語年底。 734 00:36:49,280 --> 00:37:57,170 >> [音樂播放] 735 00:37:57,170 --> 00:38:00,570 >> 國寶馬蘭:這是從週零 第12週在過去的一年。 736 00:38:00,570 --> 00:38:05,470 >> [掌聲] 737 00:38:05,470 --> 00:38:09,520 >> 國寶馬蘭:作為傳情,也真的 磨你的胃口是什麼 738 00:38:09,520 --> 00:38:14,580 可能的話,你可能已經看到了, 或可能很快就會看到,market.cs50.net, 739 00:38:14,580 --> 00:38:17,710 新的工具,課程的團隊 一直在努力,這次在 740 00:38:17,710 --> 00:38:21,530 與哈佛學生 機構,例如,從今年起 741 00:38:21,530 --> 00:38:24,980 並繼續希望到這個 夏天來臨,你就會有一個標準 742 00:38:24,980 --> 00:38:27,890 在校園的機會,購買和 賣你感興趣的東西。 743 00:38:27,890 --> 00:38:32,220 通過HSA合作,你會 也可以掉落物品 744 00:38:32,220 --> 00:38:35,950 HSA在一些實體店 在未來的點,以 745 00:38:35,950 --> 00:38:39,150 代理的事情,尤其當你 畢業後不一定要 746 00:38:39,150 --> 00:38:44,110 丟棄的東西,但實際支付 轉發給鄉親可能會跟隨你的人 747 00:38:44,110 --> 00:38:45,270 在校園裡。 748 00:38:45,270 --> 00:38:46,740 所以來。 749 00:38:46,740 --> 00:38:49,830 >> 但有點更具體而言,一個工具 CS50在最近的問世 750 00:38:49,830 --> 00:38:52,760 年,其中有些人可能是 你熟悉和其他可能 751 00:38:52,760 --> 00:38:57,940 現在,谷歌搜索,你會在CS50.net/2x 找到一個鏈接到一個Chrome擴展 752 00:38:57,940 --> 00:39:01,250 這是示範如何可以 使用JavaScript,同樣的語言,我們 753 00:39:01,250 --> 00:39:06,660 艾菲爾鐵塔前的時刻, 實施2X播放速度 754 00:39:06,660 --> 00:39:09,000 為所有哈佛的iSites視頻。 755 00:39:09,000 --> 00:39:11,880 這是內置 到CS50自己的視頻播放器。 756 00:39:11,880 --> 00:39:14,870 但是它也同樣,如果你​​開始挖 到源代碼中,我們將 757 00:39:14,870 --> 00:39:18,840 愉快,你會怎麼看 你甚至可以解決這樣的問題, 758 00:39:18,840 --> 00:39:23,180 網站加速部件 你已經非常熟悉。 759 00:39:23,180 --> 00:39:26,630 >> 所以一個字現在在球場上, 的期望和什麼樣的未來。 760 00:39:26,630 --> 00:39:29,445 在一般情況下,我們確實會聚集在這裡 在星期一和星期三 - 儘管 761 00:39:29,445 --> 00:39:31,490 這個星期五​​,我們將齊聚一堂,因為 購物週 - 762 00:39:31,490 --> 00:39:34,640 下午1:00至下午2:00,雖然 有時直到2:30。 763 00:39:34,640 --> 00:39:38,700 鑑於,因此,你可能會想要或 下午2:00,必須採取一些類 764 00:39:38,700 --> 00:39:42,480 以後,甚至在此之前,不實現 當然是支持什麼叫做 765 00:39:42,480 --> 00:39:45,900 同時招生,據此,我們將 支持一份請願書,廣告牌和 766 00:39:45,900 --> 00:39:49,400 居民代表您院長,如果 你在此有衝突的地方 767 00:39:49,400 --> 00:39:50,790 下午1:00至2:30的範圍內。 768 00:39:50,790 --> 00:39:54,110 頭到該網址在線 更多的細節。 769 00:39:54,110 --> 00:39:57,750 >> 但是,在所述支撐結構 特點CS50,為學生 770 00:39:57,750 --> 00:40:01,750 越來越不舒服一樣,我們 具有明顯的軌道區段。 771 00:40:01,750 --> 00:40:04,730 這是幾個星期的假,但 用不了多久,你會問到 772 00:40:04,730 --> 00:40:05,770 您的舒適程度。 773 00:40:05,770 --> 00:40:08,590 你在那些不太舒服, 更舒適,或 774 00:40:08,590 --> 00:40:10,520 介於兩者之間? 775 00:40:10,520 --> 00:40:13,150 >> 我們將有三個不同的 迎合的軌道 776 00:40:13,150 --> 00:40:14,470 恰恰是那些觀眾。 777 00:40:14,470 --> 00:40:17,900 所以你應該在任何時候,在長期 甚至覺得像你競爭 778 00:40:17,900 --> 00:40:21,390 反對任何學生有更多 或背景比你少。 779 00:40:21,390 --> 00:40:24,160 事實上,當然,就是要 更協作和多 780 00:40:24,160 --> 00:40:25,650 比這更開放。 781 00:40:25,650 --> 00:40:29,030 >> 在條款的問題集,你會 發現,那就是,除了 782 00:40:29,030 --> 00:40:32,130 每個星期的問題標準版 設置,也往往是“黑客 783 00:40:32,130 --> 00:40:37,010 版“意味著要針對性 在5%至10%左右的 784 00:40:37,010 --> 00:40:40,270 的確是在那些人口 更舒適,更想了解更多 785 00:40:40,270 --> 00:40:43,960 比標準的一個挑戰 版那的pset預計。 786 00:40:43,960 --> 00:40:46,390 那些更多細節 發現在教學大綱。 787 00:40:46,390 --> 00:40:49,430 >> 但也有細節可以發現 課程下旬天。 788 00:40:49,430 --> 00:40:51,570 通常問題集 週四到期。 789 00:40:51,570 --> 00:40:55,550 但是,您可以擴展您的許多 截止日期從週四至今年秋天 790 00:40:55,550 --> 00:41:00,010 週五簡單地滿足我們一半, 可以這麼說,回答幾場熱身 791 00:41:00,010 --> 00:41:03,370 的一周的問題中的一些問題 集,它會自動 792 00:41:03,370 --> 00:41:05,710 然後給你一個額外的24小時。 793 00:41:05,710 --> 00:41:09,120 我們也會下降的最低 得分,每教學大綱。 794 00:41:09,120 --> 00:41:12,170 >> 為了給你的感覺是什麼問題 集 - 因為它的確是 795 00:41:12,170 --> 00:41:15,120 課程的問題集 幾乎每一個最終定義 796 00:41:15,120 --> 00:41:18,760 學生的經驗,更何況比 講座,超過的部分,更多的 797 00:41:18,760 --> 00:41:21,230 所以比大多數其他任何 當然方面。 798 00:41:21,230 --> 00:41:25,140 例如,去年,我們開始, 我們將在今年開始,從零開始。 799 00:41:25,140 --> 00:41:29,150 特別是這個星期五​​,我們將使用, 短短一天的時間,圖形 800 00:41:29,150 --> 00:41:32,260 編程語言,我們會 通過拖動開始編程 801 00:41:32,260 --> 00:41:37,580 僅丟棄的拼圖碎片 組裝身體是否有意義 802 00:41:37,580 --> 00:41:38,990 這樣做的邏輯。 803 00:41:38,990 --> 00:41:43,460 >> 下週,我們會很快過渡到 C,一個相當老了,但非常小, 804 00:41:43,460 --> 00:41:48,510 簡單的語言,使我們能夠 真正從0到60的過程 805 00:41:48,510 --> 00:41:52,290 短短幾個星期,然後過關 那些同樣的技能和知識 806 00:41:52,290 --> 00:41:56,160 基本的編程結構成 更高層次的語言,如PHP, 807 00:41:56,160 --> 00:41:58,240 JavaScript中,而其他人還在。 808 00:41:58,240 --> 00:42:02,560 >> 去年,第三pset的過程中 密碼學, 809 00:42:02,560 --> 00:42:06,380 特定領域的應用,使我們 要求學生實施任何 810 00:42:06,380 --> 00:42:11,140 大量密碼,程序 爭相解讀信息, 811 00:42:11,140 --> 00:42:11,880 加密。 812 00:42:11,880 --> 00:42:16,300 對於黑客版,相比之下, 我們給黑客學生檔案 813 00:42:16,300 --> 00:42:19,900 從一個標準的Unix計算機 用戶名和密碼, 814 00:42:19,900 --> 00:42:22,740 其中後者是加密的, 我們這些挑戰黑客 815 00:42:22,740 --> 00:42:26,850 學生進行解密,盡其所能, 這些密碼,仍然在那 816 00:42:26,850 --> 00:42:27,770 同一個域。 817 00:42:27,770 --> 00:42:30,580 >> 爭奪,一個遊戲,一些 你也許熟悉。 818 00:42:30,580 --> 00:42:34,410 取證片,我們要求學生 一直恢復數據 819 00:42:34,410 --> 00:42:38,530 否則從我自己的數字刪除 相機的閃存卡, 820 00:42:38,530 --> 00:42:42,740 其實寫軟件要弄清楚, 這裡的0和1 821 00:42:42,740 --> 00:42:46,850 ,數碼相機,以前 由JPEG圖形? 822 00:42:46,850 --> 00:42:49,710 >> 去年進行排序的一個挑戰 涉及書面最快的 823 00:42:49,710 --> 00:42:53,160 拼寫檢查的可能,競 對朋友和同學,如果 824 00:42:53,160 --> 00:42:53,860 他們想。 825 00:42:53,860 --> 00:42:56,330 實施赫夫“蓬蓬, 一個壓縮程序。 826 00:42:56,330 --> 00:43:01,930 然後結束本學期CS50 金融,一個基於網絡的應用程序, 827 00:43:01,930 --> 00:43:06,570 您創建了一個ETRADE網站 購買和出售股票,所以 828 00:43:06,570 --> 00:43:09,860 說話,實際上拉動近 實時報價雅虎 829 00:43:09,860 --> 00:43:10,450 融資渠道。 830 00:43:10,450 --> 00:43:13,590 >> 我們沒有做什麼去年 一個問題集,剩下的 831 00:43:13,590 --> 00:43:14,810 仍然喜愛。 832 00:43:14,810 --> 00:43:18,400 如果你從來沒有去 shuttle.cs50.net,你會看到一個用戶 833 00:43:18,400 --> 00:43:19,670 接口有點像這樣。 834 00:43:19,670 --> 00:43:23,530 但兩年前,類 使用谷歌地圖和實施, 835 00:43:23,530 --> 00:43:28,570 谷歌地球插件和一點點 的精明駕駛校園周圍, 836 00:43:28,570 --> 00:43:33,290 因此,本場比賽的目標是, 你可以看到一些面孔, 837 00:43:33,290 --> 00:43:37,530 是推動校園周圍尋找 人員,教學研究員和CAS, 838 00:43:37,530 --> 00:43:40,080 當你做什麼,把他們 到你的穿梭巴士。 839 00:43:40,080 --> 00:43:44,035 實際上他們沒有在這裡似乎是, 所以我們要進入一個作弊的代碼。 840 00:43:44,035 --> 00:43:47,150 >> [笑] 841 00:43:47,150 --> 00:43:48,430 >> 國寶馬蘭:我們走吧。 842 00:43:48,430 --> 00:43:49,240 好的。 843 00:43:49,240 --> 00:43:51,750 這裡現在是工作人員 股價在整個校園。 844 00:43:51,750 --> 00:43:54,530 正如你可以看到,在右手 屏幕的一側,穿梭巴士 845 00:43:54,530 --> 00:43:55,510 擁有空座位。 846 00:43:55,510 --> 00:43:59,000 的目標是寫 代碼與模擬 847 00:43:59,000 --> 00:44:01,790 駕駛拿起下降 關閉乘客。 848 00:44:01,790 --> 00:44:04,960 那一個,也使用的語言 稱為JavaScript。 849 00:44:04,960 --> 00:44:10,030 因此,實現該方案一樣,將 在我們的同樣的軌跡 850 00:44:10,030 --> 00:44:10,910 今年,以及。 851 00:44:10,910 --> 00:44:13,640 >> 現在,在條款,額外的支持, 我們的辦公時間。 852 00:44:13,640 --> 00:44:16,520 正如你可能已經看到在自己的房子 食堂或在安尼伯格, 853 00:44:16,520 --> 00:44:19,280 我們會在房子裡用餐 大廳每週四晚 - 854 00:44:19,280 --> 00:44:24,450 萊弗里特Pfoho,艾略特和安嫩伯格 今年,下午8:00至下午11:00。 855 00:44:24,450 --> 00:44:26,830 而我們認為我們會做好今年 是有點不同的東西。 856 00:44:26,830 --> 00:44:29,650 >> 如果你聽到的傳言去年 這是一個有點太緊張,這 857 00:44:29,650 --> 00:44:32,800 今年的辦公時間,我們將介紹 下週,將是更加有機, 858 00:44:32,800 --> 00:44:36,900 抵達後,你會 派遣到一個特定的表 859 00:44:36,900 --> 00:44:39,860 多個工作人員在那裡等待, 我們會做的事情更 860 00:44:39,860 --> 00:44:40,440 有機 861 00:44:40,440 --> 00:44:43,740 沒有更多的隊列,沒有更多的iPad,但 而有更親密 862 00:44:43,740 --> 00:44:47,300 只是圍著一張桌子交談 八左右的學生,使我們 863 00:44:47,300 --> 00:44:50,880 近似​​的另有的觸感 將是一個小得多的集體。 864 00:44:50,880 --> 00:44:54,120 >> 我們提供的,以及這些事情,我們 稱為演練,視頻拍攝 865 00:44:54,120 --> 00:44:57,330 提前一個課程的教學 的研究員,Zamyla,她 866 00:44:57,330 --> 00:45:00,690 引導您通過本週的問題 套,提供的技巧和竅門 867 00:45:00,690 --> 00:45:02,640 擺在面前的挑戰。 868 00:45:02,640 --> 00:45:06,230 反之,習題集後 由於今年我們還將釋放 869 00:45:06,230 --> 00:45:09,100 小卡子要求驗屍, 實際上走你通過 870 00:45:09,100 --> 00:45:13,630 代表性的解決方案,包括好的和 壞了,通過它,你可以推斷出如何 871 00:45:13,630 --> 00:45:17,550 你可以有或應該有 實施自己的解決方案。 872 00:45:17,550 --> 00:45:20,500 >> 而我們將第一次提供 今年,特別是 873 00:45:20,500 --> 00:45:23,420 這些學生利用自己的人 當然其他 874 00:45:23,420 --> 00:45:28,580 資源,但仍然掙扎 所有太多,當然 875 00:45:28,580 --> 00:45:33,030 本身將這些學生配對, 資源允許,以便與導師 876 00:45:33,030 --> 00:45:35,840 你有一個更親密 比房子食堂的機會 877 00:45:35,840 --> 00:45:38,700 讓一對一的援助。 878 00:45:38,700 --> 00:45:42,780 >> 現在在一些人的最終一瞥 的高端遊戲在望。 879 00:45:42,780 --> 00:45:44,580 你可能熟悉 CS50黑客馬拉松。 880 00:45:44,580 --> 00:45:48,120 那麼,即將在今年12月,從8:00開始 PM至7:00 PM,在開始 881 00:45:48,120 --> 00:45:51,410 讀期間,將有機會 以聚集與同學 - 882 00:45:51,410 --> 00:45:53,130 這將是在晚上9:00左右 - 883 00:45:53,130 --> 00:45:56,550 在此期間,你潛到你的最終 項目的實施旁邊 884 00:45:56,550 --> 00:45:59,910 同學,朋友,和食物。 885 00:45:59,910 --> 00:46:03,680 這將是上午01點左右,當 首批食品抵達。 886 00:46:03,680 --> 00:46:08,470 這是上午4:00左右, 特別是今年在CS50黑客馬拉松。 887 00:46:08,470 --> 00:46:12,000 >> 但真正的高潮當然是 為了CS50展,校園範圍內 888 00:46:12,000 --> 00:46:15,790 展自己的最後項目, 家人和朋友都 889 00:46:15,790 --> 00:46:18,730 邀請,作為我們的招聘人員 我們從行業的朋友。 890 00:46:18,730 --> 00:46:22,170 ,例如,這是一個一瞥 誰參加過2,000人 891 00:46:22,170 --> 00:46:23,160 過去幾年。 892 00:46:23,160 --> 00:46:27,180 像這樣的表達式並不少見, 同樣你 893 00:46:27,180 --> 00:46:29,660 同學們高興的事情 你已經完成。 894 00:46:29,660 --> 00:46:33,170 >> 而實際上,為此,我們有 一開始的長期事件,以及。 895 00:46:33,170 --> 00:46:37,400 如果這樣吸引你的東西,或 你至少好奇什麼 896 00:46:37,400 --> 00:46:41,590 這一點,知道一個新的傳統 當然,被稱為天CS50謎。 897 00:46:41,590 --> 00:46:45,710 這是一對夫婦提起 幾年前真正信號校園 898 00:46:45,710 --> 00:46:48,930 是不是該計算機科學 編程,它肯定不是 899 00:46:48,930 --> 00:46:51,960 擁抱只有那些學生 有以往的經驗。 900 00:46:51,960 --> 00:46:54,200 這是真正的問題解決 更普遍。 901 00:46:54,200 --> 00:46:57,360 >> 所以益智日,在過去的幾年 多年以來,已發展成為一個不錯的 902 00:46:57,360 --> 00:47:00,500 合作夥伴與我們的朋友 臉譜,由此就可以神話般 903 00:47:00,500 --> 00:47:04,830 河對岸的獎品和比薩餅 I-實驗室這個星期六。 904 00:47:04,830 --> 00:47:09,180 有兩個或三個前往該URL 朋友,如果你想參加 905 00:47:09,180 --> 00:47:10,830 在這個新的傳統。 906 00:47:10,830 --> 00:47:14,180 >> 所以我想問問,你保持一個 記住的東西,只是我們已經有了 907 00:47:14,180 --> 00:47:17,070 兩分鐘的剪輯 今天閉幕。 908 00:47:17,070 --> 00:47:19,640 73%以上的是要記住的數字。 909 00:47:19,640 --> 00:47:23,900 蛋糕,也將等待外 耳堂,因為我們在短短休會 910 00:47:23,900 --> 00:47:26,710 夫婦的時刻,這是一個傳統 當然,也是如此。 911 00:47:26,710 --> 00:47:29,860 但是,這是關鍵報價從 課程的教學大綱,要牢記。 912 00:47:29,860 --> 00:47:32,820 最終在這個過程中重要 與其說是你在哪裡結束 913 00:47:32,820 --> 00:47:36,580 相對於你的同學,但 你,在第12週,結束了相對於 914 00:47:36,580 --> 00:47:37,960 自己在星期0。 915 00:47:37,960 --> 00:47:43,670 >> 但窺,我們將離開你 在這裡,今天這是最後一個在這裡 916 00:47:43,670 --> 00:47:47,580 通過我們的但以理,誰做的 剛才wrdly視頻。 917 00:47:47,580 --> 00:47:50,000 我離開你這個一瞥 什麼樣的景象。 918 00:47:50,000 --> 00:47:53,360 我們這樣做,如果我們能有CS50 從前面的房間的工作人員 919 00:47:53,360 --> 00:47:57,280 最多的階段來作畫所有 以更多的視覺畫面 920 00:47:57,280 --> 00:47:59,100 等待你今年 - 921 00:47:59,100 --> 00:48:00,350 越來越尷尬。 922 00:48:00,350 --> 00:48:02,200 923 00:48:02,200 --> 00:48:05,188 我們將結束 這裡的屏幕上。 924 00:48:05,188 --> 00:48:18,634 >> [音樂播放] 925 00:48:18,634 --> 00:48:21,124 >> 國寶馬蘭:這是CS50。 926 00:48:21,124 --> 00:50:00,226 >> [MUSIC - 馬特和KIM,“這是正常的” 927 00:50:00,226 --> 00:50:03,245 >> 揚聲器1:我愛比貓多CS50。 928 00:50:03,245 --> 00:50:06,030 >> 揚聲器2:Whoaaaa! 929 00:50:06,030 --> 00:50:06,990 >> [笑] 930 00:50:06,990 --> 00:50:08,140 >> 國寶馬蘭:那麼,這是CS50。 931 00:50:08,140 --> 00:50:10,050 上週五,我們會看到你。 932 00:50:10,050 --> 00:50:13,370 >> [掌聲和歡呼聲] 933 00:50:13,370 --> 00:50:17,540 >> 旁白:在接下來的CS50,舞台 演示不按計劃進行。 934 00:50:17,540 --> 00:50:19,080 >> DAVID馬蘭:我們希望找到邁克 史密斯在本電話簿。 935 00:50:19,080 --> 00:50:20,380 嗯,你的直覺是什麼? 936 00:50:20,380 --> 00:50:23,750 我可能會跳大致的中間 電話簿,往下看,看到 937 00:50:23,750 --> 00:50:26,830 在M我,我現在知道,邁克 史密斯不是到左邊。 938 00:50:26,830 --> 00:50:27,840 他必須是正確的。 939 00:50:27,840 --> 00:50:30,515 所以在這一點上,我們 可以從字面上撕 - 940 00:50:30,515 --> 00:50:33,300 在這一點上,我們可以從字面上撕裂 - 941 00:50:33,300 --> 00:50:36,490 在這一點上,我們可以比喻 撕電話簿一半。 942 00:50:36,490 --> 00:50:38,954 >> [UKELELE撥弄]