1 00:00:00,000 --> 00:00:15,059 >> [音樂] 2 00:00:15,059 --> 00:00:19,170 >> 這是哈佛CS50-- 大學介紹 3 00:00:19,170 --> 00:00:22,070 到智能 計算機科學的企業 4 00:00:22,070 --> 00:00:23,800 和藝術節目。 5 00:00:23,800 --> 00:00:27,020 我的名字是大衛·馬蘭和 我只是在想今天上午, 6 00:00:27,020 --> 00:00:33,120 它已經令人驚訝的今天20年 自從我上次坐的地方你們現在要做的。 7 00:00:33,120 --> 00:00:33,840 >> 那是1996年。 8 00:00:33,840 --> 00:00:37,550 我是一個大二了,我正在 CS50的第一次。 9 00:00:37,550 --> 00:00:40,890 而我什至沒有得到鼓起勇氣 把它自己大一的時候, 10 00:00:40,890 --> 00:00:42,500 部分原因是時間。 11 00:00:42,500 --> 00:00:44,782 計算機科學給我 是那種喜歡,MEH。 12 00:00:44,782 --> 00:00:46,990 我是一個有點怪胎成長 ,但我真的不 13 00:00:46,990 --> 00:00:49,180 有任何知識產權 在什麼似乎興趣 14 00:00:49,180 --> 00:00:51,920 僅僅是一大堆 編程的人所有的時間。 15 00:00:51,920 --> 00:00:53,904 >> 而且我很害怕是誠實的。 16 00:00:53,904 --> 00:00:56,820 本課程和計算機科學更多 通常具有和在一定程度上 17 00:00:56,820 --> 00:01:01,230 還有一個領域的這種聲譽 當心,如果僅僅是因為我們許多人 18 00:01:01,230 --> 00:01:04,410 不熟悉它並不能確定它。 19 00:01:04,410 --> 00:01:08,480 它真的直到我逛過 這個類大二fall-- 20 00:01:08,480 --> 00:01:10,880 即使這樣,我只招收 因為professor-- 21 00:01:10,880 --> 00:01:13,950 我的第一個導師之一,布賴恩 Kernighan的現在Princeton-- 22 00:01:13,950 --> 00:01:15,700 讓我走班通失敗。 23 00:01:15,700 --> 00:01:18,020 事實上,這就是為什麼 今天我們允許和鼓勵 24 00:01:18,020 --> 00:01:20,030 學生參加此類SAT /不飽和度。 25 00:01:20,030 --> 00:01:22,040 >> 也只有這樣,由 學期結束 26 00:01:22,040 --> 00:01:24,870 我才意識到一樣,哇,這 沒有這樣一個陌生的領域。 27 00:01:24,870 --> 00:01:26,850 實際上,這是一個 非常賦權領域, 28 00:01:26,850 --> 00:01:28,970 而更令人興奮, 特別是後來, 29 00:01:28,970 --> 00:01:32,809 因為我把課程 話劇藝術101和拉丁 30 00:01:32,809 --> 00:01:34,600 然後最終 研究生院考古學, 31 00:01:34,600 --> 00:01:37,860 我才真正開始看 此領域中,計算機的交點 32 00:01:37,860 --> 00:01:41,979 科學與人文科學, 自然科學,藝術,醫藥, 33 00:01:41,979 --> 00:01:42,520 和類似物。 34 00:01:42,520 --> 00:01:44,420 所以這就是只是這麼 整齊的有關計算機科學 35 00:01:44,420 --> 00:01:46,930 最終,因為我們希望您 see--是它的適用性 36 00:01:46,930 --> 00:01:50,280 這些等領域,以及如何 採取一些今天和本學期的的 37 00:01:50,280 --> 00:01:53,070 理念和實用技巧 回到你自己的域名, 38 00:01:53,070 --> 00:01:58,200 實際上探討此交匯 的文科和理科。 39 00:01:58,200 --> 00:02:02,690 >> 因此,73%的你,如果最後 今年是任何跡象顯示, 40 00:02:02,690 --> 00:02:04,390 以前從未採取了CS課程。 41 00:02:04,390 --> 00:02:06,389 所以,如果像我一樣,你是 有點感覺了 42 00:02:06,389 --> 00:02:09,190 害怕,或者坦白地說你不 知道為什麼你甚至在這裡。 43 00:02:09,190 --> 00:02:11,510 也許你只是跟著一些 在桑德斯的朋友現在。 44 00:02:11,510 --> 00:02:12,490 這是完全正常。 45 00:02:12,490 --> 00:02:15,059 這裡的目標是勾 你和向你保證 46 00:02:15,059 --> 00:02:17,100 如果你看 左邊和右邊, 47 00:02:17,100 --> 00:02:21,480 你會看到有同學 很少或盡可能多的經驗 48 00:02:21,480 --> 00:02:22,890 你自己可能有。 49 00:02:22,890 --> 00:02:25,280 事實上,我們將分享 今天有人統計後 50 00:02:25,280 --> 00:02:28,120 至於什麼樣的人口統計 類典型的模樣。 51 00:02:28,120 --> 00:02:31,440 >> 而作為補充reassurance--這個我們 做意味著自從我接手課程 52 00:02:31,440 --> 00:02:33,252 幾年ago--在 課程的教學大綱 53 00:02:33,252 --> 00:02:35,460 是this--什麼最終 在這個過程中的問題 54 00:02:35,460 --> 00:02:38,040 與其說你在哪裡結束 達相對於你的同學, 55 00:02:38,040 --> 00:02:43,110 但如果你在11個星期的結束 學期結束了相對於自己 56 00:02:43,110 --> 00:02:46,280 0週,這是 在這裡我們今天在這裡。 57 00:02:46,280 --> 00:02:48,704 而這也正是我意識到 所有這些年前。 58 00:02:48,704 --> 00:02:50,620 我知道很多 班說,但它的 59 00:02:50,620 --> 00:02:52,450 在計算機科學中尤其如此。 60 00:02:52,450 --> 00:02:55,320 在一天結束時,此字段 是陌生的,因為它是我的 61 00:02:55,320 --> 00:02:58,590 並可能對你,實在是 只是解決問題。 62 00:02:58,590 --> 00:03:01,324 正因為如此,它確實有這 適用於獲取等領域。 63 00:03:01,324 --> 00:03:03,490 而事實上,如果我們試圖 蒸餾這意味著什麼, 64 00:03:03,490 --> 00:03:06,897 這是解決問題 在本質上,我敢說。 65 00:03:06,897 --> 00:03:09,480 有input--所以無論它 是,你試圖解決的問題。 66 00:03:09,480 --> 00:03:12,264 有輸出,這是希望 解決這個問題。 67 00:03:12,264 --> 00:03:14,180 然後,當我們將 說,在計算機科學, 68 00:03:14,180 --> 00:03:17,310 有這個黑盒子的 中間的那個你不一定 69 00:03:17,310 --> 00:03:19,450 要關心它是如何工作的。 70 00:03:19,450 --> 00:03:22,230 你自己可能最終 實現那是什麼盒子裡。 71 00:03:22,230 --> 00:03:25,194 但對於今天的目的且更加 一般在生活中,你所關心 72 00:03:25,194 --> 00:03:26,610 的是,這些問題得到解決。 73 00:03:26,610 --> 00:03:29,340 >> 而這是什麼課程 最終的就是探索 74 00:03:29,340 --> 00:03:31,700 的交點 這些輸入和輸出, 75 00:03:31,700 --> 00:03:34,410 這些所謂的 算法,我們很快就會看到, 76 00:03:34,410 --> 00:03:37,450 實現什麼 底下還有,油煙機。 77 00:03:37,450 --> 00:03:40,487 但這些投入和這些outputs-- 這是什麼實際上意味著? 78 00:03:40,487 --> 00:03:43,570 那麼,在這一天結束時,我們需要 表示信息的一些方法。 79 00:03:43,570 --> 00:03:46,660 這是在一個計算機尤其如此, 其中花哨和複雜,因為它 80 00:03:46,660 --> 00:03:48,160 似乎,是一個非常愚蠢的設備。 81 00:03:48,160 --> 00:03:52,240 這需要electricity--無論從 電纜或電池作為input-- 82 00:03:52,240 --> 00:03:55,820 然後它產生一些 在屏幕上preprogramed響應。 83 00:03:55,820 --> 00:03:57,970 >> 但是,我們如何從中獲取 開始到結束嗎? 84 00:03:57,970 --> 00:03:59,470 那麼,什麼是一個亟待解決的問題? 85 00:03:59,470 --> 00:04:01,050 好吧,也許我們可能在 任何學期的開始, 86 00:04:01,050 --> 00:04:02,841 嘗試點名 在一個房間裡是這樣的。 87 00:04:02,841 --> 00:04:04,750 所以,我可能會做這樣一,二,三名。 88 00:04:04,750 --> 00:04:07,060 或者,也許,如果我做到了 要排序的追踪 89 00:04:07,060 --> 00:04:10,560 myself--的跟踪things-- 我可能很快用完手指。 90 00:04:10,560 --> 00:04:14,650 所以,我可能只是做散marks-- 1 人,二,三,四,五,六, 91 00:04:14,650 --> 00:04:15,431 七,八。 92 00:04:15,431 --> 00:04:17,930 而我們每個人都有可能 做到了這一點,無論是在你的手中 93 00:04:17,930 --> 00:04:19,680 或在一張紙上。 94 00:04:19,680 --> 00:04:22,140 而這其實只是 所謂一元notation-- 95 00:04:22,140 --> 00:04:26,130 在這裡,如果你只有一個字母 在字母表中,一個或哈希 96 00:04:26,130 --> 00:04:29,440 標記在這種情況下,對於每一個 要計數輸入, 97 00:04:29,440 --> 00:04:32,330 你需要放下其中之一 letters--這些標誌之一。 98 00:04:32,330 --> 00:04:32,510 >> 好吧。 99 00:04:32,510 --> 00:04:34,790 這是所有罰款和好, 不是所有的複雜。 100 00:04:34,790 --> 00:04:37,800 但電腦是不是全部 該更複雜。 101 00:04:37,800 --> 00:04:40,770 事實上,大多數人可能 知道即使你不是真的 102 00:04:40,770 --> 00:04:44,080 認為這是什麼意思,那 電腦只懂得零 103 00:04:44,080 --> 00:04:45,870 和ones--的所謂的二元系統。 104 00:04:45,870 --> 00:04:49,390 我們人類,相反,是這樣 更為複雜的範圍內 105 00:04:49,390 --> 00:04:51,770 據我們了解,通過花枝招展零。 106 00:04:51,770 --> 00:04:55,740 >> 但即使是二進制文件,首先 一眼望去,不是所有的熟悉, 107 00:04:55,740 --> 00:05:00,330 事實證明,這就像系統 和想法,我們已經知道了。 108 00:05:00,330 --> 00:05:02,420 因此,例如,考慮一下。 109 00:05:02,420 --> 00:05:03,896 這僅僅是一個碼元的序列。 110 00:05:03,896 --> 00:05:05,770 和所有的你,當 看了一眼它,大概 111 00:05:05,770 --> 00:05:09,380 想123--什麼 真的很有趣那裡。 112 00:05:09,380 --> 00:05:11,940 但為什麼這個數字,123? 113 00:05:11,940 --> 00:05:14,440 這些只是對字形 在screen--只是模式 114 00:05:14,440 --> 00:05:16,387 有人可能會得出或打字。 115 00:05:16,387 --> 00:05:18,970 但是,如果你像我一樣,你 大概從小學記憶 116 00:05:18,970 --> 00:05:21,610 有幾分 這裡列或場所。 117 00:05:21,610 --> 00:05:25,340 還有的人的地點和 十位和百位。 118 00:05:25,340 --> 00:05:29,820 其原因,這是123和 不只是三個符號的格局 119 00:05:29,820 --> 00:05:33,090 是因為,當然,如果我們 有數以百計的地方之一, 120 00:05:33,090 --> 00:05:36,610 你做100次一個數學, 然後兩人在十位。 121 00:05:36,610 --> 00:05:41,390 所以這是10次2,然後在三個 在一個人的地方,這是1次3。 122 00:05:41,390 --> 00:05:45,670 而當你添加所有這些起來, 當然,你會得到100加20加3。 123 00:05:45,670 --> 00:05:48,220 >> 所以我們開始時只有一個模式 的symbols--的alphabet-- 124 00:05:48,220 --> 00:05:51,670 但後​​來我們被映射到意義 它通過這些列的方式。 125 00:05:51,670 --> 00:05:54,450 那麼,事實證明, 電腦是真的不 126 00:05:54,450 --> 00:05:56,300 從你我所有的不同。 127 00:05:56,300 --> 00:06:01,840 但是,而不是使用的10次冪, 所以speak-- 1,10,100,1000, 128 00:06:01,840 --> 00:06:04,330 萬到位等 forth--他們實際上 129 00:06:04,330 --> 00:06:08,930 只是使用的權力2-- 所以一,二,四,然後 130 00:06:08,930 --> 00:06:12,810 如果我們把更多的數字,8,16, 32,64,128,等等。 131 00:06:12,810 --> 00:06:16,050 所以這是怎樣一個計算機 將代表數字0, 132 00:06:16,050 --> 00:06:17,300 就像我們人類。 133 00:06:17,300 --> 00:06:21,660 >> 0,0,0--你可能猜到 什麼零和一的格局, 134 00:06:21,660 --> 00:06:24,610 如果一台計算機只能 說話0或1--什麼 135 00:06:24,610 --> 00:06:29,110 模式將代表 數我們人類所知道的1? 136 00:06:29,110 --> 00:06:30,590 Yeah-- 0,0,1。 137 00:06:30,590 --> 00:06:31,090 好吧。 138 00:06:31,090 --> 00:06:35,900 所以,0,0,1是我們如何代表 1,所以你可能會再傾斜 139 00:06:35,900 --> 00:06:39,510 代表數字2,如果你有 四的地方,這兩個的地方 140 00:06:39,510 --> 00:06:48,290 作為一個地方,你可能會說,好吧, 如果我們在自己的地方有一個1, 141 00:06:48,290 --> 00:06:50,430 現在我們要 數到2,你可能 142 00:06:50,430 --> 00:06:53,310 做到這一點,留給這是一個零。 143 00:06:53,310 --> 00:06:56,397 但當然這不是如何 十進制系統的工作原理無論是。 144 00:06:56,397 --> 00:06:58,230 如果你把一個數字 這兩個欄目, 145 00:06:58,230 --> 00:06:59,563 你必須做算術。 146 00:06:59,563 --> 00:07:01,930 那麼什麼號碼我做 意外只是代表什麼? 147 00:07:01,930 --> 00:07:06,710 >> 所以這是3,因為2次1加1 次1,當然,給了我們三種。 148 00:07:06,710 --> 00:07:08,340 所以,這將是兩個。 149 00:07:08,340 --> 00:07:12,730 位排序的翻轉,可以這麼說,為0 成為一個,很像一個9角色過 150 00:07:12,730 --> 00:07:14,840 當你攜帶1變成0。 151 00:07:14,840 --> 00:07:16,510 然後,這將是三道的。 152 00:07:16,510 --> 00:07:20,170 Four--另一個有趣的事情 發生,其中的那些翻轉 153 00:07:20,170 --> 00:07:21,750 你隨身攜帶的1,可以這麼說。 154 00:07:21,750 --> 00:07:23,320 因此,這當然,為4。 155 00:07:23,320 --> 00:07:25,160 >> 但是,如果你快進了, 這是怎麼回事的最大數量 156 00:07:25,160 --> 00:07:26,660 是計算機能夠代表什麼呢? 157 00:07:26,660 --> 00:07:30,420 158 00:07:30,420 --> 00:07:32,380 所以它只是在這種情況下七,對不對? 159 00:07:32,380 --> 00:07:35,570 因為你必須在四一, 一個在這兩個,一個在所述一個。 160 00:07:35,570 --> 00:07:36,900 所以這是4加2加1。 161 00:07:36,900 --> 00:07:37,972 所以,讓你七。 162 00:07:37,972 --> 00:07:39,680 事實上,它會 乍一看 163 00:07:39,680 --> 00:07:43,750 計算機能夠算 不高於此。 164 00:07:43,750 --> 00:07:45,210 >> 但是,這當然是不正確的。 165 00:07:45,210 --> 00:07:48,243 什麼是我們人類做的時候,我們希望 算不是像999高? 166 00:07:48,243 --> 00:07:51,000 167 00:07:51,000 --> 00:07:53,900 只需攜帶一個公正 加的第四位到左側。 168 00:07:53,900 --> 00:07:55,070 所以,我們確實可以。 169 00:07:55,070 --> 00:07:57,900 我們可以有一個八的 放置和第16的位置, 170 00:07:57,900 --> 00:08:02,000 和32的地方,64 128--你 可以只保留事情到無窮。 171 00:08:02,000 --> 00:08:04,640 因此,這些零和ones-- 的所謂的二元系統 - 172 00:08:04,640 --> 00:08:10,290 什麼是計算機科學家會 一般叫了一下,還是二進制數字。 173 00:08:10,290 --> 00:08:13,590 >> 但是現在,我們如何從一開始 概念或這些東西的圖形 174 00:08:13,590 --> 00:08:14,620 一個實際的計算機? 175 00:08:14,620 --> 00:08:17,170 我們似乎在這裡跳過了一步。 176 00:08:17,170 --> 00:08:20,210 那麼,在最後唯一的輸入 一天,我的筆記本電腦在這裡 177 00:08:20,210 --> 00:08:22,060 是電的這種流動。 178 00:08:22,060 --> 00:08:24,560 即使它是一個漫長的 既然你想過時間 179 00:08:24,560 --> 00:08:26,580 或者從來沒有想過 電力是如何工作的, 180 00:08:26,580 --> 00:08:30,909 有一個在流動的電子或 出來,這是我的一種投入。 181 00:08:30,909 --> 00:08:34,659 >> 所以,如果這一切,我們是 讓作為輸入這裡, 182 00:08:34,659 --> 00:08:36,830 我們可以做什麼用這些信息? 183 00:08:36,830 --> 00:08:40,040 好了,我們可能會認為一個零的 只是一個沒有電。 184 00:08:40,040 --> 00:08:42,540 沒有什麼是flowinw,沒有什麼是 動,什麼也沒有發生。 185 00:08:42,540 --> 00:08:44,690 這只是默認state--為零。 186 00:08:44,690 --> 00:08:48,200 但是,如果有電流淌,為什麼 不要我們只是隨意,但全球範圍內 187 00:08:48,200 --> 00:08:50,250 始終,把那個叫之一。 188 00:08:50,250 --> 00:08:54,760 >> 所以,簡單地通過無電, 我們有一個零,是電力, 189 00:08:54,760 --> 00:08:57,520 我們有一個one--沒有權力,是權力。 190 00:08:57,520 --> 00:09:01,520 並以這種方式,使用的東西 多個物理或電子 191 00:09:01,520 --> 00:09:05,340 我們開始實施的這個概念 東西要么是1或0。 192 00:09:05,340 --> 00:09:07,230 事實上,我們可以做它在這裡。 193 00:09:07,230 --> 00:09:10,590 所以在這裡,我不是三個,但 八塊光燈泡,其每一個 194 00:09:10,590 --> 00:09:11,810 有它自己的交換機。 195 00:09:11,810 --> 00:09:15,760 >> 所以,如果我想代表 七位數這裡, 196 00:09:15,760 --> 00:09:18,510 我可能會打開這三個燈泡。 197 00:09:18,510 --> 00:09:21,470 事實上,裡面的 我的電腦是數以百萬計, 198 00:09:21,470 --> 00:09:25,650 數十億的東西,只是 小於,稱為晶體管, 199 00:09:25,650 --> 00:09:27,330 開關,你只需打開和關閉。 200 00:09:27,330 --> 00:09:30,420 所以這些都是big--比較 我laptop--內big--開關 201 00:09:30,420 --> 00:09:32,150 有很多,很多,很多, 更多的交換機。 202 00:09:32,150 --> 00:09:35,160 但他們做的是完全that-- 打開一些東西,把東西掉。 203 00:09:35,160 --> 00:09:38,076 正因為如此,一個計算機可以代表 與百萬或數十億 204 00:09:38,076 --> 00:09:40,480 晶體管,地段和 大量的零和一。 205 00:09:40,480 --> 00:09:43,160 而且還有其他的硬件仍然是 讓您存儲信息長期, 206 00:09:43,160 --> 00:09:45,243 所以,當你拉 插,你不會失去它。 207 00:09:45,243 --> 00:09:46,900 但是,這是另一天的故事。 208 00:09:46,900 --> 00:09:51,170 >> 那麼,我們可以用這些位? 209 00:09:51,170 --> 00:09:54,309 也許我們只是拿 壓過的我 - 210 00:09:54,309 --> 00:09:56,600 可能有人要來 在這裡,並提供了一個演示? 211 00:09:56,600 --> 00:09:57,516 我第一次看到這個手。 212 00:09:57,516 --> 00:09:58,709 你叫什麼名字? 213 00:09:58,709 --> 00:09:59,250 MADAY:Maday。 214 00:09:59,250 --> 00:10:00,542 DAVID MALAN:Maday,上來吧。 215 00:10:00,542 --> 00:10:01,250 很高興見到你。 216 00:10:01,250 --> 00:10:02,390 MADAY:很高興見到你。 217 00:10:02,390 --> 00:10:02,930 >> DAVID MALAN:這邊走。 218 00:10:02,930 --> 00:10:04,182 我不會有嘴唇你。 219 00:10:04,182 --> 00:10:04,682 好吧。 220 00:10:04,682 --> 00:10:11,090 所以在這裡,我們有,notice--之一,two-- 我們將編輯out--一,二,四, 221 00:10:11,090 --> 00:10:13,350 八,16,32,64,128。 222 00:10:13,350 --> 00:10:14,220 這是經過深思熟慮的。 223 00:10:14,220 --> 00:10:17,370 有八位這裡 - 二進制digits--零和一。 224 00:10:17,370 --> 00:10:21,460 和一點是measure--一個有用的單位 不是有用的測量單位 225 00:10:21,460 --> 00:10:21,999 到自身。 226 00:10:21,999 --> 00:10:24,290 通常你至少需要 這些東西八,又名 227 00:10:24,290 --> 00:10:24,790 一個字節。 228 00:10:24,790 --> 00:10:26,230 所以我們這裡有位字節。 229 00:10:26,230 --> 00:10:31,130 >> 因此,如果我們想與你來挑戰, 例如,拼寫出,在二進制 230 00:10:31,130 --> 00:10:33,230 這個值這裡 - 42。 231 00:10:33,230 --> 00:10:35,140 要採取的一個刺? 232 00:10:35,140 --> 00:10:36,034 >> MADAY:[聽不清]。 233 00:10:36,034 --> 00:10:38,700 DAVID MALAN:是的,只需輕輕一按 白色的小開關在前面。 234 00:10:38,700 --> 00:10:41,290 而你要拼 出42,和待價而沽 235 00:10:41,290 --> 00:10:44,061 這是CS50壓力 球,如果你得到這個。 236 00:10:44,061 --> 00:10:44,560 好吧。 237 00:10:44,560 --> 00:10:46,420 所以,你有32個。 238 00:10:46,420 --> 00:10:48,430 我們將需要42。 239 00:10:48,430 --> 00:10:51,410 所以這是一個八,所以這是40。 240 00:10:51,410 --> 00:10:54,160 而excellent--非常好做。 241 00:10:54,160 --> 00:10:55,186 謝謝。 242 00:10:55,186 --> 00:10:58,790 >> [掌聲] 243 00:10:58,790 --> 00:10:59,290 好吧。 244 00:10:59,290 --> 00:11:00,623 因此,我們又多了一個壓力球。 245 00:11:00,623 --> 00:11:03,595 我們如果我們可以的做一次。 246 00:11:03,595 --> 00:11:05,368 另外一個志願者? 247 00:11:05,368 --> 00:11:07,970 無壓力球,無壓力球。 248 00:11:07,970 --> 00:11:08,470 好。 249 00:11:08,470 --> 00:11:11,640 在這裡在中間, 你想下來? 250 00:11:11,640 --> 00:11:14,100 好吧。 251 00:11:14,100 --> 00:11:15,552 我知道。 252 00:11:15,552 --> 00:11:16,360 在那裡,我們走了。 253 00:11:16,360 --> 00:11:20,818 >> 因此,數字這裡 - 下來吧。 254 00:11:20,818 --> 00:11:21,567 你叫什麼名字? 255 00:11:21,567 --> 00:11:21,984 >> DAVEY:戴維。 256 00:11:21,984 --> 00:11:22,820 >> DAVID MALAN:戴維。 257 00:11:22,820 --> 00:11:23,320 好。 258 00:11:23,320 --> 00:11:24,810 上來吧,戴維。 259 00:11:24,810 --> 00:11:25,890 很高興見到你。 260 00:11:25,890 --> 00:11:28,639 而我們要去有你 spell--如果你能留在那裡 261 00:11:28,639 --> 00:11:32,810 只是一個moment--是數字50。 262 00:11:32,810 --> 00:11:36,293 但是,但是,但是卻,但是,這些都是 小學磁鐵的一個原因。 263 00:11:36,293 --> 00:11:39,370 264 00:11:39,370 --> 00:11:43,327 只是有點困難,沒事吧? 265 00:11:43,327 --> 00:11:44,160 目前仍然八強。 266 00:11:44,160 --> 00:11:46,820 267 00:11:46,820 --> 00:11:47,320 好吧。 268 00:11:47,320 --> 00:11:48,486 那麼,我們有嗎? 269 00:11:48,486 --> 00:11:51,356 我們有32個。 270 00:11:51,356 --> 00:11:54,344 尼斯。 271 00:11:54,344 --> 00:11:58,610 32加16給我們48--如此接近。 272 00:11:58,610 --> 00:12:00,390 與精彩。 273 00:12:00,390 --> 00:12:02,831 恭喜戴維為好。 274 00:12:02,831 --> 00:12:05,720 >> [掌聲] 275 00:12:05,720 --> 00:12:06,516 >> 好吧。 276 00:12:06,516 --> 00:12:09,390 因此,我們可以長期做這一切的一天, 它沒有得到所有的東西更多 277 00:12:09,390 --> 00:12:10,800 有趣和更具挑戰性。 278 00:12:10,800 --> 00:12:13,250 但是,這真的是point-- 是怎麼比較簡單 279 00:12:13,250 --> 00:12:16,930 它是,在一天結束時,什麼 計算機確實存儲信息, 280 00:12:16,930 --> 00:12:21,740 存儲投入和最終 存儲或代表那些輸出。 281 00:12:21,740 --> 00:12:23,750 但僅靠數字不 那麼有趣。 282 00:12:23,750 --> 00:12:26,069 >> 所以人類,若干年前, 決定了,你知道嗎? 283 00:12:26,069 --> 00:12:27,860 這將是很好的,如果 電腦不只是 284 00:12:27,860 --> 00:12:31,030 計算器算術 操作,但實際上可能 285 00:12:31,030 --> 00:12:35,209 做的事情,如文字處理,或 電子郵件,或更現代的化身 286 00:12:35,209 --> 00:12:36,500 這些種類的技術。 287 00:12:36,500 --> 00:12:40,680 這樣一來,世界決定 隨意,但普遍, 288 00:12:40,680 --> 00:12:44,380 如果你想存儲的資本 在計算機字母A,你知道嗎? 289 00:12:44,380 --> 00:12:47,730 就讓我們都同意存儲 零和ones--的一些模式 290 00:12:47,730 --> 00:12:52,422 bits--最終 代表十進制數65。 291 00:12:52,422 --> 00:12:53,630 我們只都同意這一點。 292 00:12:53,630 --> 00:12:56,620 >> 66將代表B, 67將代表C, 293 00:12:56,620 --> 00:13:00,210 這裡面的的其他模式串 零和一,或底層號碼 294 00:13:00,210 --> 00:13:02,224 這將是 其他字母依然。 295 00:13:02,224 --> 00:13:04,390 所以,如果你有種精神 這個吸收了一會兒, 296 00:13:04,390 --> 00:13:10,900 我特意提出了一個通過 我,其中H 72,我是73。 297 00:13:10,900 --> 00:13:15,830 如果計算機然後,在的情況下 字處理程序或電子郵件, 298 00:13:15,830 --> 00:13:19,620 引擎蓋下顯露有 bits--模式這些模式 299 00:13:19,620 --> 00:13:22,500 代表位 72,然後73,然後33-- 300 00:13:22,500 --> 00:13:26,640 什麼可能這個咒語在該程序? 301 00:13:26,640 --> 00:13:28,150 >> 所以喜,然後什麼。 302 00:13:28,150 --> 00:13:31,460 我們不一定知道,但確確實實 33--沒有在圖表上先前已經 303 00:13:31,460 --> 00:13:33,170 只是一個感嘆號。 304 00:13:33,170 --> 00:13:38,870 所以72是H,73是我,發生了33 是一個感嘆號依然。 305 00:13:38,870 --> 00:13:41,719 但是,這一切優秀和良好, 而事實上現今,而不是 306 00:13:41,719 --> 00:13:43,760 只需用七八 位,這要感謝的東西 307 00:13:43,760 --> 00:13:46,530 所謂的Unicode相 為ASCII早在一天, 308 00:13:46,530 --> 00:13:50,010 我們實際上可以代表更 有趣的角色不僅僅是 309 00:13:50,010 --> 00:13:52,980 這些原始英文字母偏頗。 310 00:13:52,980 --> 00:13:56,030 但是,我們也可以代表甚至 整潔的東西喜歡的顏色。 311 00:13:56,030 --> 00:13:59,750 >> 如果你曾經聽過的縮寫 RGB,紅,綠,藍,這 312 00:13:59,750 --> 00:14:03,510 只是意味著一台電腦 通常使用三套bits-- 313 00:14:03,510 --> 00:14:06,760 某些數目的位表示 一個號碼,你要多少紅, 314 00:14:06,760 --> 00:14:08,940 另一組的比特為 多少綠色的你想要的, 315 00:14:08,940 --> 00:14:11,430 而另一組數字 多少藍你想要的。 316 00:14:11,430 --> 00:14:14,457 因此,一個大的數字意味著大量的 紅,數量少意味著沒有紅。 317 00:14:14,457 --> 00:14:16,290 所以這些都是種 這裡的中間值。 318 00:14:16,290 --> 00:14:20,180 >> 所以給我一些紅色的,給我一些 綠色,給我的藍一點點。 319 00:14:20,180 --> 00:14:24,260 如果你混合這三個色調 顏色一起的,在這種情況下, 320 00:14:24,260 --> 00:14:26,850 你得到這個黑暗的樹蔭 黃色或棕色。 321 00:14:26,850 --> 00:14:32,330 但是八個這種模式加 八加eight--所以24 bits-- 322 00:14:32,330 --> 00:14:36,550 從左到右,是如何在計算機 將代表特定的顏色。 323 00:14:36,550 --> 00:14:38,090 現在,這只是一個屏幕上的一個點。 324 00:14:38,090 --> 00:14:42,230 如果你看起來真的收於電視的 計算機,你會看到點或像素。 325 00:14:42,230 --> 00:14:45,420 如果你有一整個網格 像素,水平和垂直方向, 326 00:14:45,420 --> 00:14:46,630 你有圖像。 327 00:14:46,630 --> 00:14:49,029 然後,如果你拿 一個圖像,然後洗 328 00:14:49,029 --> 00:14:52,070 展示自己的另一個形象,另一 圖像,另一個圖像,另一個圖像, 329 00:14:52,070 --> 00:14:54,760 真快,你當然得電影。 330 00:14:54,760 --> 00:14:56,109 >> 因此注意到我們開始的地方。 331 00:14:56,109 --> 00:14:57,650 我們開始與這些零和一。 332 00:14:57,650 --> 00:15:00,570 我們從那裡工作為十進制 數字,我們如何代表他們。 333 00:15:00,570 --> 00:15:02,070 現在我們有英文字母。 334 00:15:02,070 --> 00:15:05,664 但在其他情況下等待,我們可以使用 幾個比特和表示顏色。 335 00:15:05,664 --> 00:15:07,830 只要你有 表示顏色的能力, 336 00:15:07,830 --> 00:15:11,200 你有代表的能力 圖片和GIF動畫 337 00:15:11,200 --> 00:15:13,780 及其他這樣的字符在屏幕上。 338 00:15:13,780 --> 00:15:17,160 而當你有一大堆的 圖像飛被人一次, 339 00:15:17,160 --> 00:15:21,480 它看起來像電影, 所以你得到的視頻也是如此。 340 00:15:21,480 --> 00:15:23,460 >> 因此,使用這些非常 簡單的基本難道我們 341 00:15:23,460 --> 00:15:28,070 有代表的方式 最終,這些媒體形式的所有。 342 00:15:28,070 --> 00:15:30,450 而我們又抽象 一次又一次,直到我們 343 00:15:30,450 --> 00:15:33,467 從最低水平得到 這個最高水平。 344 00:15:33,467 --> 00:15:35,550 所以這給了我們這個 抽象的總體思路。 345 00:15:35,550 --> 00:15:36,990 但是,我們從這裡開始。 346 00:15:36,990 --> 00:15:38,790 >> 在這裡,現在,我們不妨 表示在一個計算機 347 00:15:38,790 --> 00:15:41,920 我們與零和的投入, 我們在零和一輸出, 348 00:15:41,920 --> 00:15:43,640 但所發生的盒子裡面? 349 00:15:43,640 --> 00:15:46,080 這就是計算機 科學變得有趣。 350 00:15:46,080 --> 00:15:49,770 這就是你真正把你 自己的心來承擔解決問題。 351 00:15:49,770 --> 00:15:52,590 現在,我們可以規定,對於 本學期剩下的,是的。 352 00:15:52,590 --> 00:15:53,870 我知道如何二進制的作品。 353 00:15:53,870 --> 00:15:57,942 我記得ASCII或Unicode-- 映射到letters--作品。 354 00:15:57,942 --> 00:15:59,650 它肯定代表 有理由相信,我們 355 00:15:59,650 --> 00:16:03,470 可能代表紅色和綠色和 藍,和代表多媒體為好。 356 00:16:03,470 --> 00:16:05,390 但是,這是有趣的東西。 357 00:16:05,390 --> 00:16:09,790 這是什麼使一個人 能夠解決的問題。 358 00:16:09,790 --> 00:16:11,980 >> 和一個這樣的問題 我們喜歡做的事,事實上, 359 00:16:11,980 --> 00:16:15,345 正在出席,或 算法這樣做。 360 00:16:15,345 --> 00:16:16,470 再次,我可能做到這一點。 361 00:16:16,470 --> 00:16:19,580 我可以做一,二,三,四 五,六,七,八九歲。 362 00:16:19,580 --> 00:16:21,520 我可以把它寫 下降到跟踪它。 363 00:16:21,520 --> 00:16:23,769 但是,這只是我如何會 表示的信息。 364 00:16:23,769 --> 00:16:27,550 或者我能做到這一點faster--二,四, 六,八,十,12,14,16,18,20, 365 00:16:27,550 --> 00:16:30,380 22--感覺兩倍 以最快的速度,但它仍然是 366 00:16:30,380 --> 00:16:32,050 要採取一個整體大量的時間。 367 00:16:32,050 --> 00:16:35,990 >> 但事實證明,如果我們還充分利用 另一個resource--確實電腦 368 00:16:35,990 --> 00:16:38,940 這些日子有多個CPU或大腦。 369 00:16:38,940 --> 00:16:41,970 原來電腦可以 同時做很多事情, 370 00:16:41,970 --> 00:16:44,460 而事實上,我們在這個房間裡, 可能代表正是這一點。 371 00:16:44,460 --> 00:16:47,130 >> 所以這是一個小社會 尷尬,但如果你願意我的幽默 372 00:16:47,130 --> 00:16:51,550 只是一個三步驟的過程,讓 我的地方請大家那裡只是 373 00:16:51,550 --> 00:16:54,640 站起來一會兒。 374 00:16:54,640 --> 00:16:57,380 站起來。 375 00:16:57,380 --> 00:17:01,580 所以想給自己,數 one--所以大家在這個房間裡, 376 00:17:01,580 --> 00:17:05,010 但誰沒有人 成人之美,都在思考一個數字。 377 00:17:05,010 --> 00:17:06,510 所以這是你的號碼現在。 378 00:17:06,510 --> 00:17:09,399 這是第一步驟,或作為 計算機科學家或程序員 379 00:17:09,399 --> 00:17:11,827 通常會做的,我們要去 要從零開始計數。 380 00:17:11,827 --> 00:17:14,410 如果最小的數,我們可以 這些燈泡代表 381 00:17:14,410 --> 00:17:17,410 為零,只需讓他們 所有的時候,我還不如乾脆 382 00:17:17,410 --> 00:17:19,271 從開始計數 零是而不是一個。 383 00:17:19,271 --> 00:17:21,020 所以這就是 計算機科學家做的。 384 00:17:21,020 --> 00:17:23,750 所以零一步,站起來 想到頭號。 385 00:17:23,750 --> 00:17:26,339 下一步驟是this--對 了與有人站在 386 00:17:26,339 --> 00:17:27,660 並添加您的數字加在一起。 387 00:17:27,660 --> 00:17:30,660 388 00:17:30,660 --> 00:17:32,850 精彩。 389 00:17:32,850 --> 00:17:37,640 >> 因此,在這個時刻, 從字面上大家參與 390 00:17:37,640 --> 00:17:41,930 正在考慮2號,除了 一個奇怪的人,如果我們有 391 00:17:41,930 --> 00:17:43,450 奇數的人在房間裡。 392 00:17:43,450 --> 00:17:50,640 現在這裡的第三步驟是要 是你this--應該坐下。 393 00:17:50,640 --> 00:17:54,490 其中一個,你應該坐下來, 如果你仍然屹立不倒, 394 00:17:54,490 --> 00:17:56,590 回到步驟之一。 395 00:17:56,590 --> 00:18:44,799 396 00:18:44,799 --> 00:18:45,790 好吧。 397 00:18:45,790 --> 00:19:00,760 398 00:19:00,760 --> 00:19:01,650 好吧。 399 00:19:01,650 --> 00:19:03,880 因此,越來越多的人 應該坐下。 400 00:19:03,880 --> 00:19:08,280 注意,這已引起 一個loop--某種循環。 401 00:19:08,280 --> 00:19:11,983 你們有些人應該是笨拙卡住, 來回第一步之間 402 00:19:11,983 --> 00:19:14,180 和二,一和二,一和二。 403 00:19:14,180 --> 00:19:21,190 404 00:19:21,190 --> 00:19:21,810 沒關係。 405 00:19:21,810 --> 00:19:22,630 我們的第一個錯誤。 406 00:19:22,630 --> 00:19:24,740 我們會處理這一點。 407 00:19:24,740 --> 00:19:25,320 好吧。 408 00:19:25,320 --> 00:19:27,370 讓我嘗試以刺激順水推舟。 409 00:19:27,370 --> 00:19:31,454 >> 理論上,只有一個人站在 大家都繼續交配。 410 00:19:31,454 --> 00:19:33,870 但讓​​我加快速度 隨著人們仍然屹立不倒。 411 00:19:33,870 --> 00:19:35,480 你在想什麼號碼? 412 00:19:35,480 --> 00:19:36,070 46。 413 00:19:36,070 --> 00:19:36,570 好。 414 00:19:36,570 --> 00:19:37,820 來吧,坐下。 415 00:19:37,820 --> 00:19:39,190 你們仍然站立。 416 00:19:39,190 --> 00:19:42,130 誰在還站著? 417 00:19:42,130 --> 00:19:45,240 你在想什麼號碼? 418 00:19:45,240 --> 00:19:46,160 好。 419 00:19:46,160 --> 00:19:47,900 >> 因此,我們會回來給你。 420 00:19:47,900 --> 00:19:49,630 在後面? 421 00:19:49,630 --> 00:19:50,790 那是什麼? 422 00:19:50,790 --> 00:19:53,100 22。 423 00:19:53,100 --> 00:19:56,540 確定別人了top--是嗎? 424 00:19:56,540 --> 00:19:57,720 34。 425 00:19:57,720 --> 00:19:58,300 好。 426 00:19:58,300 --> 00:20:02,780 在這裡我right--在這裡? 427 00:20:02,780 --> 00:20:06,820 132,非常漂亮。 428 00:20:06,820 --> 00:20:08,380 22? 429 00:20:08,380 --> 00:20:08,990 >> 好。 430 00:20:08,990 --> 00:20:10,031 又是誰的還站著? 431 00:20:10,031 --> 00:20:11,000 在這裡? 432 00:20:11,000 --> 00:20:14,520 46,很不錯。 433 00:20:14,520 --> 00:20:16,890 72。 434 00:20:16,890 --> 00:20:18,220 我再也不能拖延。 435 00:20:18,220 --> 00:20:20,520 是嗎? 436 00:20:20,520 --> 00:20:22,490 30,美觀大方。 437 00:20:22,490 --> 00:20:24,120 在這裡? 438 00:20:24,120 --> 00:20:26,200 23? 439 00:20:26,200 --> 00:20:27,270 23。 440 00:20:27,270 --> 00:20:30,920 >> 我認為這是每個人 除了你們,沒有壓力。 441 00:20:30,920 --> 00:20:32,860 等一下。 442 00:20:32,860 --> 00:20:33,360 28? 443 00:20:33,360 --> 00:20:37,500 444 00:20:37,500 --> 00:20:38,281 只是八強。 445 00:20:38,281 --> 00:20:38,780 好。 446 00:20:38,780 --> 00:20:41,030 只是八強。 447 00:20:41,030 --> 00:20:42,580 到這裡? 448 00:20:42,580 --> 00:20:44,570 30。 449 00:20:44,570 --> 00:20:47,344 23。 450 00:20:47,344 --> 00:20:47,843 24。 451 00:20:47,843 --> 00:20:50,810 452 00:20:50,810 --> 00:20:52,310 18。 453 00:20:52,310 --> 00:20:54,690 這是最壞的實施 這個算法永遠。 454 00:20:54,690 --> 00:20:55,190 好。 455 00:20:55,190 --> 00:20:59,760 所以其他人? 456 00:20:59,760 --> 00:21:00,421 還有誰? 457 00:21:00,421 --> 00:21:00,920 好。 458 00:21:00,920 --> 00:21:03,300 多一個。 459 00:21:03,300 --> 00:21:04,400 16? 460 00:21:04,400 --> 00:21:04,900 好。 461 00:21:04,900 --> 00:21:05,510 16。 462 00:21:05,510 --> 00:21:06,010 好吧。 463 00:21:06,010 --> 00:21:09,070 所以,如果我沒有錯過任何人 這裡的眩光,當我敲回車, 464 00:21:09,070 --> 00:21:13,091 我們將看到,算法的 總人數的桑德斯中。 465 00:21:13,091 --> 00:21:16,340 因為再次,它好像每個人都 當你坐下來,通過你的號碼了 466 00:21:16,340 --> 00:21:19,215 給別人,給別人, 給別人,因此,在理論上, 467 00:21:19,215 --> 00:21:22,304 最終,只有一個尷尬 人要罰站。 468 00:21:22,304 --> 00:21:22,970 但是,這很好。 469 00:21:22,970 --> 00:21:24,290 我們手動加快東西。 470 00:21:24,290 --> 00:21:27,590 這是特別難得一見 在這個特殊的空間。 471 00:21:27,590 --> 00:21:34,200 >> 和人的總數 我們認為這裡有546是。 472 00:21:34,200 --> 00:21:37,330 總數有人遞給我 通過教學研究員, 473 00:21:37,330 --> 00:21:40,660 誰做舊 學校緩慢的方式,是820。 474 00:21:40,660 --> 00:21:43,660 >> [笑] 475 00:21:43,660 --> 00:21:47,170 >> [掌聲] 476 00:21:47,170 --> 00:21:48,670 >> 沒關係。 477 00:21:48,670 --> 00:21:50,740 所以那麼肯定,有這些錯誤。 478 00:21:50,740 --> 00:21:51,460 這很好。 479 00:21:51,460 --> 00:21:53,810 等回想起這 在第一時間的東西 480 00:21:53,810 --> 00:21:55,420 你寫的不一定工作。 481 00:21:55,420 --> 00:21:57,620 這發生在我這裡。 482 00:21:57,620 --> 00:22:00,844 但是,讓我們現在考慮我們如何 應用此相同的想法的東西 483 00:22:00,844 --> 00:22:03,760 你可能已經見過的,這 這是老派技術這裡 - 484 00:22:03,760 --> 00:22:05,130 一個真正的大電話簿。 485 00:22:05,130 --> 00:22:09,380 並假設該電話簿 有1000頁和1000名 486 00:22:09,380 --> 00:22:11,360 和數字字母順序在它的內部。 487 00:22:11,360 --> 00:22:14,860 >> 嗯,我們可以種應用相似 主意,這個非常實際的問題, 488 00:22:14,860 --> 00:22:16,270 只是在利用我。 489 00:22:16,270 --> 00:22:18,810 我只是有種被騙 通過利用大家 490 00:22:18,810 --> 00:22:23,240 有很多很多不同的CPU 或大腦執行某種算法。 491 00:22:23,240 --> 00:22:25,440 但是,如果它只是小 以前的我,我還是可以 492 00:22:25,440 --> 00:22:29,630 利用一個想法相同的本質 分治的問題 493 00:22:29,630 --> 00:22:32,970 一遍又一遍,這樣你一半, 一半的你,你一半,你一半, 494 00:22:32,970 --> 00:22:35,830 理論上保持坐下, 直到我們被留下,理論上 495 00:22:35,830 --> 00:22:36,990 只有一個人。 496 00:22:36,990 --> 00:22:39,810 >> 因此,在這個老同學 技術 - 我們不 497 00:22:39,810 --> 00:22:43,030 需要這個map--這 老派的技術, 498 00:22:43,030 --> 00:22:47,300 我們可能會開始找人 喜歡邁克·史密斯,一次一個頁面。 499 00:22:47,300 --> 00:22:49,410 而我看​​到沒有,邁克不在這裡。 500 00:22:49,410 --> 00:22:51,110 我仍然在A部分。 501 00:22:51,110 --> 00:22:53,900 最後,我發現 自己在B部分。 502 00:22:53,900 --> 00:22:56,910 這是一種算法 - 一步一步的指示。 503 00:22:56,910 --> 00:22:59,890 從頭開始,一個頁面 在一個時間,找邁克·史密斯。 504 00:22:59,890 --> 00:23:03,410 這是correct--這 算法或方法? 505 00:23:03,410 --> 00:23:04,550 >> 是的,這是正確的。 506 00:23:04,550 --> 00:23:06,840 如果麥克在這裡,最終 我會得到他。 507 00:23:06,840 --> 00:23:08,139 但它的效率不高。 508 00:23:08,139 --> 00:23:09,180 這顯然很慢。 509 00:23:09,180 --> 00:23:11,340 因此,我可以利用 同樣twosies接近。 510 00:23:11,340 --> 00:23:15,350 我能做到幾分二, 四,六,八,十,十二。 511 00:23:15,350 --> 00:23:16,330 它的快兩倍。 512 00:23:16,330 --> 00:23:18,290 我會去麥克 如果他有速度更快。 513 00:23:18,290 --> 00:23:20,770 這是對的嗎? 514 00:23:20,770 --> 00:23:22,320 是的,但我聽到了little--沒有。 515 00:23:22,320 --> 00:23:24,200 現在,我聽到了沒有。 516 00:23:24,200 --> 00:23:24,700 是啊。 517 00:23:24,700 --> 00:23:26,190 還有一個潛在的錯誤。 518 00:23:26,190 --> 00:23:29,374 也許只是邁克不慎 夾在兩頁之間, 519 00:23:29,374 --> 00:23:31,290 因為我飛過 這兩個位於一個時間。 520 00:23:31,290 --> 00:23:33,580 所以,至少我們需要一些 這種條件修復。 521 00:23:33,580 --> 00:23:35,330 我需要說,哎, 如果我打的人 522 00:23:35,330 --> 00:23:39,190 名字為T,而不是一個S開始, 我更好的雙回至少一個頁面。 523 00:23:39,190 --> 00:23:40,767 因此,車在第一,但可以解決的。 524 00:23:40,767 --> 00:23:43,850 但是沒有人會去尋找 邁克·史密斯通過1000頁的電話 525 00:23:43,850 --> 00:23:45,290 同時預訂一頁。 526 00:23:45,290 --> 00:23:48,486 什麼是正常的人怎麼辦呢? 527 00:23:48,486 --> 00:23:50,860 你會去到S的, 如果你知道S其中的。 528 00:23:50,860 --> 00:23:54,230 你可以粗略地去中間 或接近尾聲略傾斜。 529 00:23:54,230 --> 00:23:56,850 而我在這裡往下看, 我在M部分。 530 00:23:56,850 --> 00:23:58,952 但是你怎麼知道 這個問題現在, 531 00:23:58,952 --> 00:24:02,160 我們並不一定知道前 與我們所有的人只是計算自己 532 00:24:02,160 --> 00:24:03,030 等效? 533 00:24:03,030 --> 00:24:06,010 那麼,邁克顯然將 要在這一半的書 534 00:24:06,010 --> 00:24:07,920 如果他在這裡,因為在所有它的排序。 535 00:24:07,920 --> 00:24:10,160 >> 所以你可以很dramatically-- 536 00:24:10,160 --> 00:24:11,250 >> [喘氣] 537 00:24:11,250 --> 00:24:12,300 >> 我知道。 538 00:24:12,300 --> 00:24:16,940 >> [掌聲] 539 00:24:16,940 --> 00:24:19,450 >> 它實際上是很容易的,如果 你做下來脊椎那裡。 540 00:24:19,450 --> 00:24:22,070 但是你可以再扔 問題的一半的路程。 541 00:24:22,070 --> 00:24:25,950 現在,我留下了相同的problem-- 找到邁克·史密斯在接受電話book-- 542 00:24:25,950 --> 00:24:29,610 但現在的電話簿在m啟動 並進入Z,但它的一半大。 543 00:24:29,610 --> 00:24:30,890 >> 但是,這是何等的令人印象深刻。 544 00:24:30,890 --> 00:24:34,170 就像在理論上,你們這些傢伙,當 大家坐下來只有一半的時間, 545 00:24:34,170 --> 00:24:37,150 這個問題得到了一半大, 一半大,一遍又一遍。 546 00:24:37,150 --> 00:24:40,260 所以有這個問題成為了 同樣的問題,但一半大。 547 00:24:40,260 --> 00:24:42,670 現在,這是一個250頁的問題。 548 00:24:42,670 --> 00:24:45,340 當我意識到,哦,我 在T節意外。 549 00:24:45,340 --> 00:24:46,590 太遠了,我走了。 550 00:24:46,590 --> 00:24:48,500 我可以拋出一半 的電話本了。 551 00:24:48,500 --> 00:24:50,410 現在,我到一個 問題的四分之一。 552 00:24:50,410 --> 00:24:53,910 >> 而且可以重複,重複, 重複,直到,在理論上,你 553 00:24:53,910 --> 00:24:55,460 只剩下一個頁面。 554 00:24:55,460 --> 00:24:59,010 如果邁克是在該網頁上, 我現在可以解決這個問題。 555 00:24:59,010 --> 00:25:00,810 但如何迅速沒我解決呢? 556 00:25:00,810 --> 00:25:05,420 在第一種情況下,花了我喜歡 也許1000步找到邁克·史密斯。 557 00:25:05,420 --> 00:25:09,260 它可能採取我 - 我拿起電話本 558 00:25:09,260 --> 00:25:11,440 於是我開始尋找 一個頁面的時間, 559 00:25:11,440 --> 00:25:13,480 和邁克可能是1000頁之後。 560 00:25:13,480 --> 00:25:16,020 >> 第二條本辦法也許 花了我500步, 561 00:25:16,020 --> 00:25:17,960 因為我飛 通過兩個一次。 562 00:25:17,960 --> 00:25:21,082 而第三種方法雖然, 這是特別強大。 563 00:25:21,082 --> 00:25:23,790 但是,讓我們考慮一下我們實際 做這種第三種方法。 564 00:25:23,790 --> 00:25:27,590 我要什麼,我會打電話給這些剛 陳述在這裡,一次一個。 565 00:25:27,590 --> 00:25:28,560 拿起電話簿。 566 00:25:28,560 --> 00:25:30,130 打開到電話簿的中間。 567 00:25:30,130 --> 00:25:31,419 看名字。 568 00:25:31,419 --> 00:25:33,960 然後,事情變得有點 更有趣的智力, 569 00:25:33,960 --> 00:25:35,170 如果仍然簡單。 570 00:25:35,170 --> 00:25:38,350 如果史密斯是其中 即當前頁面上的名字, 571 00:25:38,350 --> 00:25:40,170 然後做一些有條件。 572 00:25:40,170 --> 00:25:41,840 這就像在一個岔路口。 573 00:25:41,840 --> 00:25:42,660 呼叫邁克。 574 00:25:42,660 --> 00:25:44,930 如果邁克是名中 在該網頁上,叫麥克。 575 00:25:44,930 --> 00:25:49,720 但只能做四線如果線 樹,如果你願意,是真實的。 576 00:25:49,720 --> 00:25:51,590 在回答這個問題是肯定的。 577 00:25:51,590 --> 00:25:55,520 >> 否則,如果史密斯早在book-- 換句話說,如果我在M節 578 00:25:55,520 --> 00:25:58,540 我期待有人來 左邊,那麼我應該怎麼辦 579 00:25:58,540 --> 00:26:00,300 是非常類似的東西。 580 00:26:00,300 --> 00:26:03,440 然後,我應該開到中間 的書的左半部。 581 00:26:03,440 --> 00:26:07,930 於是往左走,然後 回到第二步。 582 00:26:07,930 --> 00:26:09,290 看名字在那裡。 583 00:26:09,290 --> 00:26:12,779 >> 因此,換句話說,做同樣的事情, 但是,一個問題一個已經減半。 584 00:26:12,779 --> 00:26:13,570 你知道還有什麼? 585 00:26:13,570 --> 00:26:16,470 如果史密斯後來在書 基於我期待在頁面上, 586 00:26:16,470 --> 00:26:18,790 開放的中間 書的右半 587 00:26:18,790 --> 00:26:22,050 然後再回去 步驟二,else-- 588 00:26:22,050 --> 00:26:24,000 這裡有一個第四種可能性。 589 00:26:24,000 --> 00:26:28,830 邁克的這裡或向左 或向右或不存在。 590 00:26:28,830 --> 00:26:30,570 在這裡,我們更好地考慮這一點。 591 00:26:30,570 --> 00:26:33,360 而事實上,如果你曾經 您的計算機崩潰只是你, 592 00:26:33,360 --> 00:26:36,822 即有時但不總是,在 只是人類程序員的結果不 593 00:26:36,822 --> 00:26:39,280 實現哦拍,有 其實這第四個場景。 594 00:26:39,280 --> 00:26:41,650 如果你不寫代碼 處理這種情況, 595 00:26:41,650 --> 00:26:43,220 有時候你不知道 哪些電腦可以做。 596 00:26:43,220 --> 00:26:44,770 事實上一個程序可能會崩潰。 597 00:26:44,770 --> 00:26:47,550 >> 但是,在這種情況下,我想 這件事,和我說,別的不干了, 598 00:26:47,550 --> 00:26:49,850 因為這是第四 邏輯可能的情況。 599 00:26:49,850 --> 00:26:51,950 現在,讓我們只需添加 一些詞彙,所以我們 600 00:26:51,950 --> 00:26:55,320 可以開始折騰圍繞該條款 在其他方面非常直觀。 601 00:26:55,320 --> 00:26:57,870 所有的事情我已經只是 以黃色突出顯示在這裡, 602 00:26:57,870 --> 00:27:00,140 我只是要去 函數或過程。 603 00:27:00,140 --> 00:27:01,590 他們只是一種行動。 604 00:27:01,590 --> 00:27:04,900 所以回暖,開放的,看 在,打電話,開,開, 605 00:27:04,900 --> 00:27:09,170 quit--這些都只是行動,否則我們將 叫他們更正式,功能。 606 00:27:09,170 --> 00:27:11,410 >> 同時,現在在黃, 我強調的東西 607 00:27:11,410 --> 00:27:14,084 that--就讓我們開始打電話 這些條件或分支機構。 608 00:27:14,084 --> 00:27:16,750 這些點決定在哪裡 你可能會走這條路,這樣一來, 609 00:27:16,750 --> 00:27:18,100 或一些其它方向仍。 610 00:27:18,100 --> 00:27:19,430 因此,那些會的條件。 611 00:27:19,430 --> 00:27:20,930 而現在這個有點票友。 612 00:27:20,930 --> 00:27:24,600 讓我們把這些問題 布爾表達式, 613 00:27:24,600 --> 00:27:26,530 有人用姓布爾之後。 614 00:27:26,530 --> 00:27:28,340 >> 和布爾表達式 只是事 615 00:27:28,340 --> 00:27:30,290 這是真或假,是或否。 616 00:27:30,290 --> 00:27:35,870 因此,它的回答你的問題 關心,以便在條件 617 00:27:35,870 --> 00:27:39,210 使decision--得到一個答案, 然後去左或右,或東西 618 00:27:39,210 --> 00:27:40,450 否則乾脆。 619 00:27:40,450 --> 00:27:42,860 >> 然後最後,這些 線這裡 - 回去 620 00:27:42,860 --> 00:27:44,737 步驟二,回去 步驟two--我們可以 621 00:27:44,737 --> 00:27:46,320 實現這個想法的方式不同。 622 00:27:46,320 --> 00:27:49,028 然後,那些有 編程經驗,可能會做 623 00:27:49,028 --> 00:27:50,670 或者可以想像不同的這樣做。 624 00:27:50,670 --> 00:27:53,170 但是今天的目的,這是 只是重要的想法。 625 00:27:53,170 --> 00:27:55,400 這是什麼誘發 我們一般會打電話 626 00:27:55,400 --> 00:28:00,110 一個loop--某種週期的,因為 它使我再做些什麼。 627 00:28:00,110 --> 00:28:03,340 >> 所以,現在,我們只考慮 怎麼好這種算法。 628 00:28:03,340 --> 00:28:03,899 這是正確的。 629 00:28:03,899 --> 00:28:06,940 如果麥克在書中,這是一個 這四個連連scenarios-- 630 00:28:06,940 --> 00:28:08,023 又一次,我們會找到他的。 631 00:28:08,023 --> 00:28:08,890 但是,它有多好? 632 00:28:08,890 --> 00:28:10,150 好了,我們沒有 太正式在這裡。 633 00:28:10,150 --> 00:28:12,066 但是,我們剛剛繪製 東西,x和y,以獲得 634 00:28:12,066 --> 00:28:14,470 這個問題的形狀感。 635 00:28:14,470 --> 00:28:17,160 >> 在x軸這裡是 我的問題的規模。 636 00:28:17,160 --> 00:28:20,256 他們y軸位置 將要解決的時間。 637 00:28:20,256 --> 00:28:21,630 因此,也許這就是頁數。 638 00:28:21,630 --> 00:28:24,400 也許這是秒 turns--任何網頁。 639 00:28:24,400 --> 00:28:27,290 然而,你要算的 這是什麼畫面將代表。 640 00:28:27,290 --> 00:28:30,630 而這第一個算法,我要去 描述只是一個直線。 641 00:28:30,630 --> 00:28:33,120 如果有n個網頁 電話簿,然後將其 642 00:28:33,120 --> 00:28:36,010 可能要花費許多 作為n步找邁克。 643 00:28:36,010 --> 00:28:38,930 如果Verizon公司或電話公司 增加了一個更多的頁面,明年 644 00:28:38,930 --> 00:28:42,170 它可能需要我多step-- 時間一個單位找邁克。 645 00:28:42,170 --> 00:28:44,230 所以這是僅此一比一的比例。 646 00:28:44,230 --> 00:28:45,970 這是一個直線的斜率。 647 00:28:45,970 --> 00:28:49,110 >> 與此同時,第二 算法 - 如果我 648 00:28:49,110 --> 00:28:51,570 在時間 - 2去二, 四,六,八,或double-- 649 00:28:51,570 --> 00:28:54,550 通過網頁去兩次 在一個時間,每次兩個, 650 00:28:54,550 --> 00:28:55,710 它仍然是直線。 651 00:28:55,710 --> 00:28:58,720 現在有一到兩 比,但只是有點低。 652 00:28:58,720 --> 00:29:02,240 所以,如果有這麼多的網頁 在此圖中黃色, 653 00:29:02,240 --> 00:29:04,800 這可能需要我這個 許多步驟或秒, 654 00:29:04,800 --> 00:29:07,980 否則它會帶我 兩倍的紅線。 655 00:29:07,980 --> 00:29:10,190 >> 但是,綠線是真正的外賣。 656 00:29:10,190 --> 00:29:12,290 這是我們一般什麼 調用logorithm--日誌 657 00:29:12,290 --> 00:29:13,840 的n,其中n是頁數。 658 00:29:13,840 --> 00:29:16,450 但它是重要的形狀 今天,因為我們沒有 659 00:29:16,450 --> 00:29:17,950 別想繪製點。 660 00:29:17,950 --> 00:29:19,830 >> 想想一個極端的情況。 661 00:29:19,830 --> 00:29:23,070 假設Verizon公司明天的雙打 在該電話本的頁數, 662 00:29:23,070 --> 00:29:24,900 從1000至2000。 663 00:29:24,900 --> 00:29:28,440 在第一算法,我 可能會浪費額外的1000 664 00:29:28,440 --> 00:29:32,080 步驟尋找邁克,只是因為 Verizon的一倍書的大小。 665 00:29:32,080 --> 00:29:34,740 算法 - 這第二個可能 帶我一個額外的500步。 666 00:29:34,740 --> 00:29:38,370 1000多頁,我走兩頭在 時間 - 500多個步驟,找到邁克。 667 00:29:38,370 --> 00:29:41,020 >> 但是,第三算法 是種神奇。 668 00:29:41,020 --> 00:29:44,270 Verizon的雙打數量 從1000至2000頁, 669 00:29:44,270 --> 00:29:47,730 但究竟有多少更多的步驟做 它帶我去找邁克? 670 00:29:47,730 --> 00:29:51,220 這只是一個,因為我可以 撕電話簿一次 671 00:29:51,220 --> 00:29:55,280 從2000頁問題一 1000頁的問題,瞧。 672 00:29:55,280 --> 00:29:57,030 我已經採取了大規模的咬出來。 673 00:29:57,030 --> 00:29:59,405 >> 如果你去非常極端的, 假設該電話簿 674 00:29:59,405 --> 00:30:03,600 公司有什麼樣的瘋狂 4十億頁電話簿。 675 00:30:03,600 --> 00:30:07,020 那麼它多少步可能需要 找到邁克·史密斯在4十億 676 00:30:07,020 --> 00:30:09,990 頁電話簿? 677 00:30:09,990 --> 00:30:16,450 這是一個大數目,但只有4十億到 2十億至1十億至500億美元, 678 00:30:16,450 --> 00:30:18,720 250 million--仍 聽起來像大的數字, 679 00:30:18,720 --> 00:30:20,980 但我很快 得到一個較小值。 680 00:30:20,980 --> 00:30:24,790 >> 而事實上,如果我做數學題 好吧,我只能分4個十億 681 00:30:24,790 --> 00:30:28,750 前了大約32倍 我踏踏實實地只有一個。 682 00:30:28,750 --> 00:30:31,640 因此,如果這電話簿分別為4 十億頁長,沒什麼大不了的。 683 00:30:31,640 --> 00:30:35,270 在幾秒鐘內,也許32 秒,我可以一分為它 684 00:30:35,270 --> 00:30:39,560 並最終找到麥克或 斷定他不在那裡。 685 00:30:39,560 --> 00:30:42,219 這就是一個企業的本質 算法 - 一個好的算法。 686 00:30:42,219 --> 00:30:44,260 這就是之一 像這樣一類的目標, 687 00:30:44,260 --> 00:30:47,350 正在試圖找出我怎麼 只是正確地解決問題沒有, 688 00:30:47,350 --> 00:30:52,360 就像我一直都知道怎麼做這件事 在時間 - 頁面,但正確和幸福。 689 00:30:52,360 --> 00:30:55,034 如何設計好 解決問題的辦法? 690 00:30:55,034 --> 00:30:57,200 因此,讓我們花點時間在這裡 現在給你一個感覺 691 00:30:57,200 --> 00:31:00,260 CS50的過程itself--介紹 幾場的工作人員。 692 00:31:00,260 --> 00:31:02,010 就在二點之前,我們將 短暫休息 693 00:31:02,010 --> 00:31:03,520 使那些您 誰是購物能 694 00:31:03,520 --> 00:31:05,130 逃避並採取 看一些其他類 695 00:31:05,130 --> 00:31:06,580 看著這個網絡的其餘部分。 696 00:31:06,580 --> 00:31:09,250 但現在,讓我來介紹 CS50,類本身, 697 00:31:09,250 --> 00:31:11,330 特別是什麼新鮮事。 698 00:31:11,330 --> 00:31:13,960 >> 因此,在過去的春天,我們 花了相當多的時間 - 699 00:31:13,960 --> 00:31:17,911 課程的工作人員和我 - 思考 它是什麼,我們希望CS50是, 700 00:31:17,911 --> 00:31:19,910 和重返第一 的原則,可以這麼說, 701 00:31:19,910 --> 00:31:22,760 要考慮什麼是我們想要的 本課程的樣子,並 702 00:31:22,760 --> 00:31:23,740 像它的學生。 703 00:31:23,740 --> 00:31:26,480 所以你會看到問題 設置零為好,邀請 704 00:31:26,480 --> 00:31:28,780 看看那個 URL其中概述 705 00:31:28,780 --> 00:31:33,270 一些背後的動機 以下2016年秋季的特點。 706 00:31:33,270 --> 00:31:35,570 >> 所以,你可能已經收集 從TL:DR講義, 707 00:31:35,570 --> 00:31:39,060 今天的課程,以及從 課程目錄,今年CS50, 708 00:31:39,060 --> 00:31:42,540 你只是將出席 today--這樣的工作做好done-- 709 00:31:42,540 --> 00:31:45,960 並在11月21日最後一次演講。 710 00:31:45,960 --> 00:31:49,150 而你是受歡迎的,但預計不會 參加這些講座在中間, 711 00:31:49,150 --> 00:31:51,180 因為我們在做什麼 今年,正在拍攝 712 00:31:51,180 --> 00:31:52,661 在實時過程中的材料。 713 00:31:52,661 --> 00:31:54,660 所以一切都將保持 當前和合併 714 00:31:54,660 --> 00:31:57,410 作為最好的,我們can--時事 和交談的人可能 715 00:31:57,410 --> 00:32:00,400 在工業上具有在 世界,但使該材料 716 00:32:00,400 --> 00:32:03,892 可用的,作為結果,即使先前已經 完整的全文成績單 717 00:32:03,892 --> 00:32:05,850 和檢索性 其他資源的鏈接。 718 00:32:05,850 --> 00:32:07,930 >> 事實上,我們已經 聲稱了一段時間 719 00:32:07,930 --> 00:32:10,830 而我們現在相信這一點, 我們可以創建,數字化, 720 00:32:10,830 --> 00:32:15,170 更逼真,更引人注目 教育經驗,而不是 721 00:32:15,170 --> 00:32:19,110 到這裡聚會大約23倍 在人,聽見有人喜歡我 722 00:32:19,110 --> 00:32:22,925 簡單談談計算機科學, 相對於卡合更積極。 723 00:32:22,925 --> 00:32:25,800 所以,你在使用過程中的教學大綱看 本學期的草圖在這裡, 724 00:32:25,800 --> 00:32:27,840 隨著當宣講會 被拍攝下來,到你 725 00:32:27,840 --> 00:32:29,710 歡迎,但預計不會, 當他們將 726 00:32:29,710 --> 00:32:31,640 在球場上的網站上公佈。 727 00:32:31,640 --> 00:32:34,300 >> 而我們會在這裡做 週三下週開始, 728 00:32:34,300 --> 00:32:37,362 很多更緊密,只有 誰不想參加那些人, 729 00:32:37,362 --> 00:32:39,820 是所謂的穿行, 在那裡我和課程的頭 730 00:32:39,820 --> 00:32:41,730 實際上讓事情 一點更貼心 731 00:32:41,730 --> 00:32:44,313 到這裡的樂隊 節中,仍然有一些技術 732 00:32:44,313 --> 00:32:46,365 並通過走 本週的習題集, 733 00:32:46,365 --> 00:32:50,020 並為您提供particularly--如果中間 那些少comfortable--更加 734 00:32:50,020 --> 00:32:52,790 您可能要指導或 需要一周的挑戰。 735 00:32:52,790 --> 00:32:55,820 同樣,對於那些誰不能 參加那些人,沒什麼大不了的。 736 00:32:55,820 --> 00:32:58,486 會有由類似地導致 課程的高級職員之一, 737 00:32:58,486 --> 00:33:02,650 Zamalya,同樣的機會嵌入式 在習題自己。 738 00:33:02,650 --> 00:33:04,960 >> 問題今年台 將在週五公佈 739 00:33:04,960 --> 00:33:08,080 不再做七天後, 但10天later--故意 740 00:33:08,080 --> 00:33:10,910 重疊的每個問題 設置,這樣才能更好地適應, 741 00:33:10,910 --> 00:33:13,050 我們希望,潮起潮落 在學生的時間表, 742 00:33:13,050 --> 00:33:16,550 尤其是在期中考試或競技 或學者或課外活動 743 00:33:16,550 --> 00:33:18,465 往往來去 尤其是期中。 744 00:33:18,465 --> 00:33:21,340 這應該給你多一點 自由裁量權是否你面前 745 00:33:21,340 --> 00:33:25,690 與CS50或背部負荷加載週 它在接下來的週末吧。 746 00:33:25,690 --> 00:33:28,817 所以,看該課程的教學大綱 此處其時間表。 747 00:33:28,817 --> 00:33:30,900 你會發現其中也 今年的變化, 748 00:33:30,900 --> 00:33:34,082 對於那些更熟悉 編程在過去, 749 00:33:34,082 --> 00:33:36,290 我們將啟動該學期 我們今天會在划痕, 750 00:33:36,290 --> 00:33:39,730 尤其是注重語言 所謂C,然後過渡不 751 00:33:39,730 --> 00:33:43,430 到PHP,而是一個叫做語言 對學期結束的Python 752 00:33:43,430 --> 00:33:46,565 在web編程的情況下, 隨著SQL和JavaScript, 753 00:33:46,565 --> 00:33:48,930 HTML,CSS,並且還更。 754 00:33:48,930 --> 00:33:51,790 >> 而在回答常見問題, 它的確是這樣的 755 00:33:51,790 --> 00:33:55,520 即CS並不像我那麼可怕一次 以為是,但它是許多工作 756 00:33:55,520 --> 00:33:57,280 因為我聽說它可能是。 757 00:33:57,280 --> 00:34:03,210 但是,這是說,這裡有一些 從2015年秋季學生身上的統計, 758 00:34:03,210 --> 00:34:06,460 從而水平藍線 代表的時間的平均數量 759 00:34:06,460 --> 00:34:06,960 報導。 760 00:34:06,960 --> 00:34:10,570 你會看到的平均 六至10〜12--也許16 761 00:34:10,570 --> 00:34:14,580 左右等,但與 高方差予以明確。 762 00:34:14,580 --> 00:34:18,570 因此意識到,不僅有 學生更舒適,減少 763 00:34:18,570 --> 00:34:22,150 舒服在使用過程中, 但相應的支持 764 00:34:22,150 --> 00:34:25,699 結構得到那些學生 通過成功的學期。 765 00:34:25,699 --> 00:34:29,409 >> 事實上,在回答常見問題,應 你把CS50作為第一年? 766 00:34:29,409 --> 00:34:30,139 絕對。 767 00:34:30,139 --> 00:34:32,690 而事實上,我很遺憾 沒有發現我的方式 768 00:34:32,690 --> 00:34:35,170 或者發現了一個新的領域 第一年為好。 769 00:34:35,170 --> 00:34:39,149 你應該採取與CS50 其他課程,一定會與well-- 770 00:34:39,149 --> 00:34:41,940 和一般建議我們不妨 給學生,這CS50可能是 771 00:34:41,940 --> 00:34:44,929 不是那種類或介紹類 你應該採取三個 772 00:34:44,929 --> 00:34:47,199 其他或其他四名P-設置課程。 773 00:34:47,199 --> 00:34:50,583 但是,如果你正在做另外兩個P-集 班,別的東西,和CS50, 774 00:34:50,583 --> 00:34:51,499 絕對的管理。 775 00:34:51,499 --> 00:34:54,900 我有很多學生在 過去這樣做相當成功。 776 00:34:54,900 --> 00:34:57,490 >> 並讓你往那 終點線成功, 777 00:34:57,490 --> 00:35:00,260 它的過程中有sections-- 不同軌道的學生 778 00:35:00,260 --> 00:35:03,100 不太舒服,更舒適, 和介於兩者之間, 779 00:35:03,100 --> 00:35:04,850 因此在使用過程中的 第一個問題集, 780 00:35:04,850 --> 00:35:06,360 你會被要求來形容自己。 781 00:35:06,360 --> 00:35:09,151 如果你是在那些較少 舒適,它的那種東西 782 00:35:09,151 --> 00:35:10,420 您剛才寧知。 783 00:35:10,420 --> 00:35:13,010 事實上,這一直是該 在CS50人口不斷增長 784 00:35:13,010 --> 00:35:14,090 了好幾年。 785 00:35:14,090 --> 00:35:17,680 >> 由於去年秋天對 例如,所述類的58% 786 00:35:17,680 --> 00:35:20,560 言必稱 在那些不那麼舒服, 787 00:35:20,560 --> 00:35:23,210 用在那些9% 舒服,然後 788 00:35:23,210 --> 00:35:25,900 其他學生那裡 紅描述自己 789 00:35:25,900 --> 00:35:27,890 如介於兩者之間。 790 00:35:27,890 --> 00:35:31,980 你會總體看到這裡的主題 和調度部的,所有這些都 791 00:35:31,980 --> 00:35:34,820 均以人, 實時,與課程的 792 00:35:34,820 --> 00:35:38,320 教學研究員驚人的工作人員 當然助理,其中一些人 793 00:35:38,320 --> 00:35:39,660 你會在短短的時刻見面。 794 00:35:39,660 --> 00:35:42,993 >> 自己的部分,因為你會看到,會 是週一和週二和週三, 795 00:35:42,993 --> 00:35:45,910 這樣才能讓你潛水 在搞,如果你打完 796 00:35:45,910 --> 00:35:48,110 選擇,在使用過程中的 那個星期早些時候的演講。 797 00:35:48,110 --> 00:35:51,420 然後辦公時間,這 當然,每過一年, 798 00:35:51,420 --> 00:35:54,110 已經沒有任何的少 挑戰的課程。 799 00:35:54,110 --> 00:35:57,040 而今年,我們計劃不 僅任職hours-- 1 800 00:35:57,040 --> 00:36:00,300 在為幫助,人的機遇 學生在週三週四 801 00:36:00,300 --> 00:36:03,790 週日,最後那些 在下午的設計是 802 00:36:03,790 --> 00:36:06,910 降低一些應力那 與深夜總是出現 803 00:36:06,910 --> 00:36:10,180 加上一個期限對settting looming-- 但辦公時間也將提供 804 00:36:10,180 --> 00:36:14,920 週一和週二和 星期三和星期五和星期六, 805 00:36:14,920 --> 00:36:17,080 感謝我們的朋友HSA。 806 00:36:17,080 --> 00:36:20,330 >> CS50現在有自己的空間 學生和工作人員CS50, 807 00:36:20,330 --> 00:36:23,070 67之上奧本山街, 正確的,在哈佛廣場。 808 00:36:23,070 --> 00:36:26,340 該願景這是CS50的 課題組中科院整個星期, 809 00:36:26,340 --> 00:36:29,052 在大多數幾乎 天,將在那裡尋求支持。 810 00:36:29,052 --> 00:36:30,760 所以,如果你有一些 上的p組質詢 811 00:36:30,760 --> 00:36:33,093 或者你感覺有點 堵塞或有點困惑, 812 00:36:33,093 --> 00:36:35,640 和Heck,你有一個小時 類之間的一個半小時​​, 813 00:36:35,640 --> 00:36:38,920 尤其是在square--你能 流行的和有問題的回答 814 00:36:38,920 --> 00:36:41,720 有這混亂clarified-- 非常的精神, 815 00:36:41,720 --> 00:36:45,490 你熟悉的數學 部門自身的數學問題中心, 816 00:36:45,490 --> 00:36:49,300 但圍繞每個時鐘幾乎 [?克卡?]我們將在網上發布。 817 00:36:49,300 --> 00:36:52,400 >> 家教也可用於那些 學生,自由地從課程的 818 00:36:52,400 --> 00:36:54,750 自己的員工,如果你想 更貼心的一對一, 819 00:36:54,750 --> 00:36:58,940 或者只有兩三個同學,工作 隨著病程的工作人員之一。 820 00:36:58,940 --> 00:37:02,320 而事實上,這些在這裡都只是 有些課程的工作人員, 821 00:37:02,320 --> 00:37:04,120 其中一些你會 在短短的時刻見面。 822 00:37:04,120 --> 00:37:07,440 事實上,CS50自身 頭助教, 823 00:37:07,440 --> 00:37:09,790 和頭部課程 助理,導師, 824 00:37:09,790 --> 00:37:12,998 可以上來吧,讓 他們打招呼。 825 00:37:12,998 --> 00:37:22,498 >> [掌聲] 826 00:37:22,498 --> 00:37:23,456 解說1:[聽不清]。 827 00:37:23,456 --> 00:37:51,842 828 00:37:51,842 --> 00:37:57,856 >> [掌聲] 829 00:37:57,856 --> 00:37:58,814 解說2:[聽不清]。 830 00:37:58,814 --> 00:38:17,240 831 00:38:17,240 --> 00:38:27,238 >> [掌聲] 832 00:38:27,238 --> 00:38:28,196 解說3:[聽不清]。 833 00:38:28,196 --> 00:38:58,951 834 00:38:58,951 --> 00:39:03,120 >> [掌聲] 835 00:39:03,120 --> 00:39:06,740 >> DAVID MALAN:,讓我們 帶來CS50的董事會兩個最 836 00:39:06,740 --> 00:39:09,730 高級職員,羅布和Zamayla為好。 837 00:39:09,730 --> 00:39:15,120 >> [掌聲] 838 00:39:15,120 --> 00:39:17,226 >> 事實上,無論是羅布和 Zamayla一直伴隨著我們 839 00:39:17,226 --> 00:39:19,940 這麼久了,我能夠 進入CS50的檔案 840 00:39:19,940 --> 00:39:22,470 找到這個非常SD 他們的參與進尺 841 00:39:22,470 --> 00:39:25,402 在舞台上自己幾年前。 842 00:39:25,402 --> 00:39:26,110 羅伯:[聽不清]。 843 00:39:26,110 --> 00:39:53,660 844 00:39:53,660 --> 00:39:59,247 >> [掌聲] 845 00:39:59,247 --> 00:40:00,080 ZAMAYLA:[聽不清] 846 00:40:00,080 --> 00:40:50,888 847 00:40:50,888 --> 00:40:52,467 >> [掌聲] 848 00:40:52,467 --> 00:40:53,425 DAVID MALAN:謝謝。 849 00:40:53,425 --> 00:40:56,160 850 00:40:56,160 --> 00:40:58,030 所以除了這些 這裡的團隊成員, 851 00:40:58,030 --> 00:41:01,662 CS50擁有一支近100 工作人員,所有的人 852 00:41:01,662 --> 00:41:04,370 將可用於部分 和辦公時間和這麼多。 853 00:41:04,370 --> 00:41:06,920 並作為羅布說太,這是 最顯著檢修 854 00:41:06,920 --> 00:41:09,534 在10年CS50的那 我一直在[聽不清]。 855 00:41:09,534 --> 00:41:12,200 [聽不清]特別是重點 在提供一個支撐結構, 856 00:41:12,200 --> 00:41:14,050 修剪帶走了大量的 這一直是大頭 857 00:41:14,050 --> 00:41:16,870 積累在10年內 迭代開發 858 00:41:16,870 --> 00:41:18,120 在球場上的習題集。 859 00:41:18,120 --> 00:41:21,470 >> 所以今年,不僅在課堂上,但 還在使用過程中的問題的形式 860 00:41:21,470 --> 00:41:24,800 集,你應該找事情 更精簡,修邊機,多 861 00:41:24,800 --> 00:41:26,700 比更便於管理 在過去的幾年,因為我們 862 00:41:26,700 --> 00:41:31,330 擺脫一些這就是行李 通過不斷發展的一年開發的性質 863 00:41:31,330 --> 00:41:32,970 一年後的迭代。 864 00:41:32,970 --> 00:41:35,110 所以今天的新的和改進的開始。 865 00:41:35,110 --> 00:41:37,860 >> 你會遇到更多的 當然公司在[聽不清]的工作人員出來 866 00:41:37,860 --> 00:41:40,186 下午2:30,在那裡我們服務, 作為一個傳統的蛋糕。 867 00:41:40,186 --> 00:41:42,060 有一個多一點的蛋糕 不僅如此,但你 868 00:41:42,060 --> 00:41:44,690 滿足艾琳和Tobias等人還在。 869 00:41:44,690 --> 00:41:46,470 讓我給你 我們聽到前遊 870 00:41:46,470 --> 00:41:49,600 從一些其他工作人員 在類的東西等待為好,。 871 00:41:49,600 --> 00:41:52,730 事實上,我們總是開始CS50的 學期本週六, 872 00:41:52,730 --> 00:41:54,330 什麼叫做CS50益智日。 873 00:41:54,330 --> 00:41:56,710 >> 它無關 計算機科學本身, 874 00:41:56,710 --> 00:41:58,669 但隨著有關問題 解決更普遍。 875 00:41:58,669 --> 00:42:01,210 如果你這樣選擇參加, 每部分的邀請, 876 00:42:01,210 --> 00:42:03,460 你可能已經看到門 掉落或在這裡的舞台上, 877 00:42:03,460 --> 00:42:05,830 這是在團隊中的機會 的兩個或三個或四個, 878 00:42:05,830 --> 00:42:10,680 參與的難題和比薩餅 和獎品,並緩慢 - 本週六, 879 00:42:10,680 --> 00:42:12,560 敬請期待更多。 880 00:42:12,560 --> 00:42:15,082 >> 你會發現太多,每 週五,在火與冰, 881 00:42:15,082 --> 00:42:16,790 不CS50帶來 一大堆學生 882 00:42:16,790 --> 00:42:19,100 午餐,做一個大的 一流的手感更貼心, 883 00:42:19,100 --> 00:42:21,820 一般匯集 校友和來自業界朋友 884 00:42:21,820 --> 00:42:24,710 談論他們已經什麼 自從畢業以來最高。 885 00:42:24,710 --> 00:42:27,820 同樣的,今年,我們將 開創了有史以來第一個50 CS50 886 00:42:27,820 --> 00:42:31,390 編碼contest--一期中 機會,讓大家 887 00:42:31,390 --> 00:42:35,430 在基礎的選擇,有一個 針對同學們鬥智斗勇的挑戰, 888 00:42:35,430 --> 00:42:39,250 再次在兩個或三個或團隊 四個僅使用編程 889 00:42:39,250 --> 00:42:41,920 精明的你就必須下 只是六七後,你的腰帶 890 00:42:41,920 --> 00:42:44,710 類週,參與 在這種競爭 891 00:42:44,710 --> 00:42:50,261 online--如果你想磨練自己 技能都在挑戰更多。 892 00:42:50,261 --> 00:42:52,760 在學期結束是 所謂CS50 Hackathon-- 893 00:42:52,760 --> 00:42:56,970 開始於7:00一個機會 下午結束於7:00 AM,沿途 894 00:42:56,970 --> 00:43:01,900 是在潛水12日晚小時 到課程的最後project-- 895 00:43:01,900 --> 00:43:04,820 一個機會來設計和 實行最感興趣的東西 896 00:43:04,820 --> 00:43:06,980 你與你的教學 老鄉的指引。 897 00:43:06,980 --> 00:43:09,600 大約9:00 AM做,我們通常 服務比薩餅1:00 AM, 898 00:43:09,600 --> 00:43:13,210 Philippe的,和我們幾個 誰是還醒著上午5:00, 899 00:43:13,210 --> 00:43:16,310 梭乘坐大巴下來 路IHOP早餐。 900 00:43:16,310 --> 00:43:19,340 >> 然後幾天後 是所謂的CS50 fare-- 901 00:43:19,340 --> 00:43:23,450 學期展覽在結束 多遠這麼多的慶祝活動 902 00:43:23,450 --> 00:43:28,200 CS50的學生都來自 週零一路週 903 00:43:28,200 --> 00:43:32,610 並牢記那些73% 同學們和你今年有 904 00:43:32,610 --> 00:43:34,840 以前從未採取了CS類。 905 00:43:34,840 --> 00:43:39,226 實際上,再次強調為多,這裡 從CS50的工作人員多了一些面孔。 906 00:43:39,226 --> 00:43:40,184 揚聲器4:[聽不清]。 907 00:43:40,184 --> 00:43:45,909 908 00:43:45,909 --> 00:43:46,867 SPEAKER 5:[聽不清]。 909 00:43:46,867 --> 00:43:51,332 910 00:43:51,332 --> 00:43:52,290 揚聲器6:[聽不清]。 911 00:43:52,290 --> 00:43:55,276 912 00:43:55,276 --> 00:43:56,234 揚聲器7:[聽不清]。 913 00:43:56,234 --> 00:44:01,727 914 00:44:01,727 --> 00:44:02,643 SPEAKER 8:[聽不清] 915 00:44:02,643 --> 00:44:10,066 916 00:44:10,066 --> 00:44:11,024 揚聲器9:[聽不清]。 917 00:44:11,024 --> 00:44:14,475 918 00:44:14,475 --> 00:44:15,461 >> 揚聲器4:[聽不清]。 919 00:44:15,461 --> 00:44:16,461 >> 揚聲器10:[聽不清]。 920 00:44:16,461 --> 00:44:21,456 921 00:44:21,456 --> 00:44:23,438 揚聲器11:[聽不清]。 922 00:44:23,438 --> 00:44:24,438 SPEAKER 12:[聽不清]。 923 00:44:24,438 --> 00:44:30,438 924 00:44:30,438 --> 00:44:31,396 SPEAKER 13:[聽不清] 925 00:44:31,396 --> 00:44:37,360 926 00:44:37,360 --> 00:44:40,342 >> 揚聲器14:[聽不清]。 927 00:44:40,342 --> 00:44:42,863 >> SPEAKER 13:[聽不清]。 928 00:44:42,863 --> 00:44:43,821 SPEAKER 15:[聽不清] 929 00:44:43,821 --> 00:44:48,785 930 00:44:48,785 --> 00:44:49,785 SPEAKER 16:[聽不清]。 931 00:44:49,785 --> 00:44:53,761 932 00:44:53,761 --> 00:44:55,252 >> 揚聲器11:[聽不清] 933 00:44:55,252 --> 00:44:57,773 934 00:44:57,773 --> 00:44:58,731 SPEAKER 5:[聽不清]。 935 00:44:58,731 --> 00:45:11,250 936 00:45:11,250 --> 00:45:15,130 DAVID MALAN:有些團隊 是自己購物類。 937 00:45:15,130 --> 00:45:17,760 但是,如果這些成員 CS50的工作人員都在這裡, 938 00:45:17,760 --> 00:45:19,230 能來最多只是一瞬間。 939 00:45:19,230 --> 00:45:23,450 CS50的轉錄因子和CA和[?工作人員?] 會員這裡 - 這些只是少數 940 00:45:23,450 --> 00:45:28,880 其中的faces--一個你剛才 看見了,和幾個other--和其他幾個人 941 00:45:28,880 --> 00:45:30,020 仍然。 942 00:45:30,020 --> 00:45:33,242 我們為什麼不繼續前進,讓 你們五分鐘的休息時間。 943 00:45:33,242 --> 00:45:35,450 如果你需要逃避到 店類,這很好。 944 00:45:35,450 --> 00:45:38,900 五分鐘後,我們將重新開始, 採取一看Scratch--第一 945 00:45:38,900 --> 00:45:42,420 我們的編程語言,滿足 在此過程中的工作人員多一些, 946 00:45:42,420 --> 00:45:45,020 並注重最終 在問題設置為零。 947 00:45:45,020 --> 00:45:46,710 因此,我們會回來的五分鐘。 1 00:45:46,864 --> 00:45:47,370 >> 好吧。 2 00:45:47,370 --> 00:45:48,590 所以我們又回來了。 3 00:45:48,590 --> 00:45:51,330 而在我們剩下的 今天的時間,我們的目標 4 00:45:51,330 --> 00:45:54,320 是公平的競爭環境 在一些術語方面, 5 00:45:54,320 --> 00:45:55,297 在一些觀念方面。 6 00:45:55,297 --> 00:45:57,380 因為事實上,按照 一些早期的圖表, 7 00:45:57,380 --> 00:46:00,130 那裡將是一個範圍 在類的經驗水平, 8 00:46:00,130 --> 00:46:03,210 其中一些人的學生 前採取了一些節目, 9 00:46:03,210 --> 00:46:04,200 其中一些人還沒有。 10 00:46:04,200 --> 00:46:07,430 所以這個第一個問題 置,並與該第一語言 11 00:46:07,430 --> 00:46:10,830 我們有機會啟動 拿今天之後批出 12 00:46:10,830 --> 00:46:12,960 一些常用的詞彙和概念。 13 00:46:12,960 --> 00:46:15,590 >> 我們會通過的方式做到這一點 課程的第一languages​​-- 14 00:46:15,590 --> 00:46:21,070 除了C和Python和 JavaScript和SQL和HTML和CSS, 15 00:46:21,070 --> 00:46:24,450 我們將首先著眼 和公正的問題設置為零 16 00:46:24,450 --> 00:46:28,160 這個圖形語言,稱為 從無到有,由麻省理工學院媒體實驗室開發 17 00:46:28,160 --> 00:46:30,880 下山的路,幫助 學生和孩子尤其是 18 00:46:30,880 --> 00:46:35,070 表達自己algorithmically-- 的方式與什麼更一致 19 00:46:35,070 --> 00:46:37,300 我們不妨稱之為計算思維。 20 00:46:37,300 --> 00:46:40,985 >> 這是一個非常有用的語言,因為 很快下週在一個星期內, 21 00:46:40,985 --> 00:46:44,360 我們過渡到一個更 所謂的傳統和神秘語言 22 00:46:44,360 --> 00:46:46,370 C,這是純粹的文本。 23 00:46:46,370 --> 00:46:48,930 你只用鍵盤 為了寫指令 24 00:46:48,930 --> 00:46:50,230 像這些在屏幕上。 25 00:46:50,230 --> 00:46:52,840 但是,即使你從來沒見過 編程語言之前, 26 00:46:52,840 --> 00:46:55,170 在剛剛一眼 這一點,所有的無論是神秘的, 27 00:46:55,170 --> 00:47:00,010 你可能猜到 大概打印Hello World。 28 00:47:00,010 --> 00:47:02,050 但是有一個很大的 句法開銷那裡。 29 00:47:02,050 --> 00:47:05,770 有怪異的哈希 符號或散列標籤往上頂。 30 00:47:05,770 --> 00:47:08,900 有尖括號,一些 括號,大括號,半colon-- 31 00:47:08,900 --> 00:47:11,880 這裡只有這麼多的視覺 語法的方式獲得。 32 00:47:11,880 --> 00:47:13,940 我們先從課程 劃傷,從而獲得 33 00:47:13,940 --> 00:47:17,600 過去所有這些智力 無趣的雜念, 34 00:47:17,600 --> 00:47:20,290 而專注於創意。 35 00:47:20,290 --> 00:47:22,540 >> 事實上,這可能是之前。 36 00:47:22,540 --> 00:47:24,830 此,為此,週須後。 37 00:47:24,830 --> 00:47:26,760 此,在該圖形 語言划痕, 38 00:47:26,760 --> 00:47:29,870 是你將如何實現相同的 program--運行時,一個程序, 39 00:47:29,870 --> 00:47:31,340 簡單地說,你好世界。 40 00:47:31,340 --> 00:47:34,740 而關於划痕是很不錯 它的這種圖形化編程 41 00:47:34,740 --> 00:47:38,780 使用拼圖或環境 塊,只有一起互鎖 42 00:47:38,780 --> 00:47:40,440 如果它使邏輯意義這樣做。 43 00:47:40,440 --> 00:47:43,810 並與划痕就可以開發 動畫和互動遊戲 44 00:47:43,810 --> 00:47:47,270 和藝術,以及任何數目的東西 你可能想像你自己的心靈, 45 00:47:47,270 --> 00:47:51,200 而僅僅通過實現它們 拖放拼圖。 46 00:47:51,200 --> 00:47:54,265 >> 事實上,我們將有能力 表達一些同樣的想法 47 00:47:54,265 --> 00:47:56,890 我只是提了一下 以前,在邁克·史密斯的背景下 48 00:47:56,890 --> 00:48:00,670 和搜索電話book--事 類似的功能,只是動作, 49 00:48:00,670 --> 00:48:03,070 這樣的事情做循環 事連連, 50 00:48:03,070 --> 00:48:05,170 變量,這是 這是我們來介紹, 51 00:48:05,170 --> 00:48:08,086 但它也許是熟悉的 algebra--只是一些一種佔位符 52 00:48:08,086 --> 00:48:10,840 存放一些價值你可能 需要later--布爾表達式, 53 00:48:10,840 --> 00:48:13,720 如果這些是否或真 從之前假的問題。 54 00:48:13,720 --> 00:48:17,117 條件是在那些叉 road--這些分支可以這麼說。 55 00:48:17,117 --> 00:48:19,700 然後還有一些發燒友 特點我們可以看到即使在今天, 56 00:48:19,700 --> 00:48:22,850 所謂的陣列和線程, 事件,我們會再重訪 57 00:48:22,850 --> 00:48:24,460 時間在不同的語言。 58 00:48:24,460 --> 00:48:26,790 但划痕讓我們 探索所有這些。 59 00:48:26,790 --> 00:48:30,779 所以在這裡划痕中,這個紫 塊是一個功能是什麼通常 60 00:48:30,779 --> 00:48:31,570 將會是什麼樣的。 61 00:48:31,570 --> 00:48:35,620 有一些這紫一塊拼圖 字像說,這是動作, 62 00:48:35,620 --> 00:48:38,490 然後它可能具有一個 參數或parameter--某種​​方式 63 00:48:38,490 --> 00:48:41,140 一種定制的 那是什麼呢塊 64 00:48:41,140 --> 00:48:45,182 所以,它不是通過預先確定 MIT這是什麼紫塊說。 65 00:48:45,182 --> 00:48:47,390 事實上,你會看到一個 那一刻,我是能夠輸入 66 00:48:47,390 --> 00:48:49,931 的話就像世界您好,或 您好大衛,或HELLO Zamayla, 67 00:48:49,931 --> 00:48:53,750 或我想做的事情,在參數 該拼圖piece--白盒測試 68 00:48:53,750 --> 00:48:54,251 那裡。 69 00:48:54,251 --> 00:48:57,166 同時,如果我想要一個循環,我們將 看到有拼圖的 70 00:48:57,166 --> 00:48:58,640 看起來有點橙這樣。 71 00:48:58,640 --> 00:49:01,690 而它們的形狀樣的建議 事情頻頻發生 72 00:49:01,690 --> 00:49:02,680 在一個週期。 73 00:49:02,680 --> 00:49:06,800 >> 所以,如果我換一個打招呼的世界塊 用刮中永遠阻止, 74 00:49:06,800 --> 00:49:10,307 它只是要保持打招呼 世界永遠的,毫不誇張。 75 00:49:10,307 --> 00:49:12,390 同時,還有另一種 在划痕循環型 76 00:49:12,390 --> 00:49:14,348 我們將see--重演 block--在哪裡,如果你 77 00:49:14,348 --> 00:49:17,940 提前知道有多少次 你希望循環執行 78 00:49:17,940 --> 00:49:21,850 次在fact--你有限數量的 可以通過在數字輸入指定 79 00:49:21,850 --> 00:49:25,380 或者甚至堵塞在一個變量, 像X或Y作為我們拭目以待。 80 00:49:25,380 --> 00:49:27,690 >> 事實上,變量,如 我在此情況下,這 81 00:49:27,690 --> 00:49:30,109 一個共同的名字為 整型變量 82 00:49:30,109 --> 00:49:31,900 只是存儲number-- 整數可能是, 83 00:49:31,900 --> 00:49:35,470 在這裡使用的橙色塊 設置一個變量像我到零。 84 00:49:35,470 --> 00:49:38,900 下面是一個綠色的例子 在划痕布爾表達式。 85 00:49:38,900 --> 00:49:43,700 雖然這看起來像一個數學 公式,數學不等式這樣 86 00:49:43,700 --> 00:49:45,320 真的是布爾表達式。 87 00:49:45,320 --> 00:49:46,570 這是真或假。 88 00:49:46,570 --> 00:49:48,300 我是小於50。 89 00:49:48,300 --> 00:49:51,815 它要么是或否的答案 或真或假的答案。 90 00:49:51,815 --> 00:49:53,940 而我們通常會打電話 這些布爾表達式。 91 00:49:53,940 --> 00:49:55,148 它不必須是50。 92 00:49:55,148 --> 00:49:57,970 它可以為x小於y, 大於y,等於y-- 93 00:49:57,970 --> 00:50:00,020 任何數量的其他 問題可能會問。 94 00:50:00,020 --> 00:50:03,250 >> 現在,乍一看,這可能看起來 突然很大膽在這裡,它是。 95 00:50:03,250 --> 00:50:06,540 但聰明的概念,它是 與以前相當熟悉。 96 00:50:06,540 --> 00:50:09,370 比說如果x小於y,為多。 97 00:50:09,370 --> 00:50:12,230 否則,如果x大於 比Y,然後說那麼多。 98 00:50:12,230 --> 00:50:14,260 別人說x等於為y。 99 00:50:14,260 --> 00:50:17,220 因此,我們有一個例子 第三scenario--的有 100 00:50:17,220 --> 00:50:20,600 只有第三possibility-- x是 大於,小於或等於。 101 00:50:20,600 --> 00:50:22,420 因此,我們必須在客場三路叉。 102 00:50:22,420 --> 00:50:26,290 >> 並注意什麼很酷這裡 - 划痕, 這似乎只有一個謎題 103 00:50:26,290 --> 00:50:28,840 件,在這種情況下,如果else塊。 104 00:50:28,840 --> 00:50:32,090 然而,這似乎意味著你可以 只有在路雙向叉子。 105 00:50:32,090 --> 00:50:34,631 你可以去左或右,但 什麼關於第三種方案? 106 00:50:34,631 --> 00:50:35,760 如果x等於ÿ什麼? 107 00:50:35,760 --> 00:50:36,500 沒什麼大不了。 108 00:50:36,500 --> 00:50:39,640 取一拼圖,把 它的另一個內 109 00:50:39,640 --> 00:50:45,759 創建語義等值 如果,否則,如果,else--現在你 110 00:50:45,759 --> 00:50:47,300 在路上你的三路叉。 111 00:50:47,300 --> 00:50:49,091 正如我們看到的, 刮拼圖 112 00:50:49,091 --> 00:50:51,820 可拉伸和成長,因此 作為對他們擠更多的東西。 113 00:50:51,820 --> 00:50:54,420 你不必適合 一切都在它的默認大小。 114 00:50:54,420 --> 00:50:56,690 >> 這是我們要 很快看到被稱為數組。 115 00:50:56,690 --> 00:51:00,880 這就像一個列表中 - 一些方式 存儲的多條信息 116 00:51:00,880 --> 00:51:02,886 在一個變量中,不只是一個數字。 117 00:51:02,886 --> 00:51:05,760 這些我們可以看到代表 所謂多線程。 118 00:51:05,760 --> 00:51:08,280 事實上,所有的 Mac和PC,這些天 119 00:51:08,280 --> 00:51:10,810 支持多線程, 這意味著你可以從字面上 120 00:51:10,810 --> 00:51:12,390 在同一時間做多件事情。 121 00:51:12,390 --> 00:51:15,390 您可以安裝Microsoft Word起來的 前景,在一些作文的工作。 122 00:51:15,390 --> 00:51:17,160 你可能有一個瀏覽器 在後台開口 123 00:51:17,160 --> 00:51:18,720 G-mail或Facebook或類似物。 124 00:51:18,720 --> 00:51:22,730 您的計算機可以做多件事情 今天,因為它是多線程的, 125 00:51:22,730 --> 00:51:26,390 和方案,他們在 特別是還多線程。 126 00:51:26,390 --> 00:51:28,970 >> 有東西叫做事件 以及在划痕的世界裡, 127 00:51:28,970 --> 00:51:32,640 再有一種方法也使 我們自己定制拼圖,如果事情 128 00:51:32,640 --> 00:51:34,810 事先不實際存在。 129 00:51:34,810 --> 00:51:38,260 因此,讓我們這個激勵如下。 130 00:51:38,260 --> 00:51:40,580 幾年前,當我 首先發現划痕, 131 00:51:40,580 --> 00:51:43,530 當我實際上是一個 在麻省理工學院的研究生,我們 132 00:51:43,530 --> 00:51:45,640 我們大夥兒做的功課。 133 00:51:45,640 --> 00:51:47,614 我implemented-- 其中,回想起來, 134 00:51:47,614 --> 00:51:50,780 是一個非常錯誤的決定,因為它是 在世界上最令人氣憤的歌 135 00:51:50,780 --> 00:51:53,321 聽八小時 而在您的工作homework-- 136 00:51:53,321 --> 00:51:57,180 但有些事我呼籲奧斯卡時間, 這也許是一個熟悉的歌曲。 137 00:51:57,180 --> 00:51:59,820 >> CS50s擁有喬丹林,一 我們更多的高級職員, 138 00:51:59,820 --> 00:52:03,920 已經升級了其2015年和 現在2016年,因為早在一天, 139 00:52:03,920 --> 00:52:06,610 我擁有了一切只是去 進入奧斯卡的垃圾桶。 140 00:52:06,610 --> 00:52:09,320 現在,我們支持回收和堆肥。 141 00:52:09,320 --> 00:52:12,050 >> 但畫的圖畫 什麼,我們可以在這裡做 142 00:52:12,050 --> 00:52:14,130 並激勵一些 較低級別的例子, 143 00:52:14,130 --> 00:52:16,400 我們可以得到一個其他 志願者剛剛上了 144 00:52:16,400 --> 00:52:18,331 玩我的第一次 家庭作業永遠不會消失? 145 00:52:18,331 --> 00:52:18,830 上來吧。 146 00:52:18,830 --> 00:52:19,250 你叫什麼名字? 147 00:52:19,250 --> 00:52:20,030 >> 亨利:亨利。 148 00:52:20,030 --> 00:52:22,660 >> DAVID MALAN:亨利​​,上來吧。 149 00:52:22,660 --> 00:52:24,190 上來吧。 150 00:52:24,190 --> 00:52:27,070 頭部無論哪種方式,和 你會看到一個時刻, 151 00:52:27,070 --> 00:52:29,870 我要繼續前進並擊中了 在右上角的綠色標誌 152 00:52:29,870 --> 00:52:31,100 角落,這意味著去。 153 00:52:31,100 --> 00:52:33,320 小停止標誌圖標 會說停, 154 00:52:33,320 --> 00:52:35,490 這就是當你開始 並停止該程序。 155 00:52:35,490 --> 00:52:36,450 很高興見到你。 156 00:52:36,450 --> 00:52:36,950 好吧。 157 00:52:36,950 --> 00:52:39,100 所以,我們要看到的說明 在短短的瞬間在屏幕上。 158 00:52:39,100 --> 00:52:41,450 而僅僅通過玩這個遊戲 幾秒 - 相信我, 159 00:52:41,450 --> 00:52:43,670 我們不打算要想玩 一路的end--你會 160 00:52:43,670 --> 00:52:45,470 得到的程序在做什麼的感覺。 161 00:52:45,470 --> 00:52:49,170 而不僅僅是專注於亨利 處於這場比賽中,焦點是好是壞 162 00:52:49,170 --> 00:52:52,600 並且又如何能夠實現我 最初再由喬丹。 163 00:52:52,600 --> 00:52:54,640 換句話說,在這裡是變量? 164 00:52:54,640 --> 00:52:55,520 在哪裡循環? 165 00:52:55,520 --> 00:52:56,520 在哪裡的功能呢? 166 00:52:56,520 --> 00:53:00,700 我們會看到,如果我們不看 這些引擎蓋下方。 167 00:53:00,700 --> 00:53:03,660 >> 只需點擊並拖動垃圾桶 以合適的紙槽。 168 00:53:03,660 --> 00:54:02,100 >> [音樂] 169 00:54:02,100 --> 00:54:02,600 好吧。 170 00:54:02,600 --> 00:54:03,160 這是非常好的。 171 00:54:03,160 --> 00:54:04,286 為什麼我們不存在停止。 172 00:54:04,286 --> 00:54:04,786 謝謝。 173 00:54:04,786 --> 00:54:05,830 恭喜亨利。 174 00:54:05,830 --> 00:54:07,002 謝謝。 175 00:54:07,002 --> 00:54:10,690 >> [掌聲] 176 00:54:10,690 --> 00:54:12,450 >> 試想一下,調試該程序。 177 00:54:12,450 --> 00:54:15,880 如果有一個問題的兩種 分進入song--但如此 178 00:54:15,880 --> 00:54:17,430 這是怎麼回事這裡真的嗎? 179 00:54:17,430 --> 00:54:20,900 由於複雜的,因為它可能 開始似乎隨著時間的推移, 180 00:54:20,900 --> 00:54:22,910 的確越來越多 東西霏霏, 181 00:54:22,910 --> 00:54:25,370 有什麼有趣的左右 這種example--的 182 00:54:25,370 --> 00:54:27,270 我們會看到一些 others--是,如果你 183 00:54:27,270 --> 00:54:30,416 看過去的複雜性或 遊戲的複雜性, 184 00:54:30,416 --> 00:54:33,040 有一個很簡單的建築 該演奏成所有的塊, 185 00:54:33,040 --> 00:54:35,840 如果他們提煉出那些 積木,都十分便利 186 00:54:35,840 --> 00:54:37,401 和可執行你們自己。 187 00:54:37,401 --> 00:54:39,150 例如,它的 過了一段時間,但我 188 00:54:39,150 --> 00:54:42,900 很肯定我最初做的時候 使得本場比賽的第一次 189 00:54:42,900 --> 00:54:44,787 是我完全像個拖再拖。 190 00:54:44,787 --> 00:54:47,120 我根本不注重 邏輯或拼圖, 191 00:54:47,120 --> 00:54:50,810 我專注於圖形和發現 街道後和垃圾桶 192 00:54:50,810 --> 00:54:51,540 和所有的。 193 00:54:51,540 --> 00:54:53,456 但是,這些都是必要的 成分在第一。 194 00:54:53,456 --> 00:54:57,220 一旦我完成了拖延, 佈局總體框架, 195 00:54:57,220 --> 00:55:00,337 我決定,我只想做一個 一塊從天上落下垃圾的。 196 00:55:00,337 --> 00:55:02,170 我們將看到划痕 支持東西叫做 197 00:55:02,170 --> 00:55:06,386 sprites--字符,可以 對因此他們不同的服飾 198 00:55:06,386 --> 00:55:07,010 看起來不同。 199 00:55:07,010 --> 00:55:09,660 >> 所以,我把一個垃圾桶 服裝上的這樣一個精靈。 200 00:55:09,660 --> 00:55:12,007 我只是需要它 從天上掉下來。 201 00:55:12,007 --> 00:55:14,590 所以事實證明,從無到有, 最喜歡的編程語言, 202 00:55:14,590 --> 00:55:18,099 支持隨機數字或 技術上偽隨機數, 203 00:55:18,099 --> 00:55:20,390 以便通過拖和 某些下探拼圖, 204 00:55:20,390 --> 00:55:22,890 我能夠有垃圾桶 首先來自於左側。 205 00:55:22,890 --> 00:55:25,580 再下一次下跌,從 右,然後從中間。 206 00:55:25,580 --> 00:55:28,060 和所有的遊戲都只是 有垃圾從空中落下。 207 00:55:28,060 --> 00:55:29,770 你不能在它指向或點擊它。 208 00:55:29,770 --> 00:55:31,103 你不能打開垃圾箱。 209 00:55:31,103 --> 00:55:32,160 你不能做任何事情。 210 00:55:32,160 --> 00:55:34,450 但它是一個小步 對我的終極願景。 211 00:55:34,450 --> 00:55:36,720 >> 在這之後,我居然 實施某種 212 00:55:36,720 --> 00:55:41,230 傳感所以如果你沒有點擊 並拖動一塊垃圾 213 00:55:41,230 --> 00:55:44,350 在垃圾桶,奧斯卡 將蓋子打開和關閉。 214 00:55:44,350 --> 00:55:47,650 沒有什麼會發生在垃圾桶裡,但 至少所述蓋將打開和關閉。 215 00:55:47,650 --> 00:55:49,642 所以,再檢查,第二步中的兩個。 216 00:55:49,642 --> 00:55:52,100 這是發生了什麼事情是 在這兩個問題的關鍵設置為零 217 00:55:52,100 --> 00:55:55,970 和編程更一般地,是 採取這些非常謹慎的嬰兒的步驟。 218 00:55:55,970 --> 00:55:59,390 因為它不僅讓你 老實說,感覺完成了多 219 00:55:59,390 --> 00:56:01,250 quickly--它的 在世界上最糟糕的事情 220 00:56:01,250 --> 00:56:06,149 嘗試實施所有奧斯卡時間, 然後小時後打綠旗, 221 00:56:06,149 --> 00:56:08,440 並沒有什麼作品如預期 因為你在哪裡,甚至 222 00:56:08,440 --> 00:56:11,150 開始調試或 故障排除程序? 223 00:56:11,150 --> 00:56:12,470 這只是壓倒。 224 00:56:12,470 --> 00:56:16,792 >> 所以,真正擁抱這個想法 再次採取steps--嬰兒的步驟 225 00:56:16,792 --> 00:56:19,000 和again--建立 東西是,在最後, 226 00:56:19,000 --> 00:56:23,672 真是令人印象深刻和複雜的,但 起初,是不是幾乎一樣如此。 227 00:56:23,672 --> 00:56:24,630 事實上,讓我們做到這一點。 228 00:56:24,630 --> 00:56:28,989 讓我先走還有 - 本身划痕 存在於Scratch.MIT.edu在網絡上, 229 00:56:28,989 --> 00:56:30,780 你會被告知為 在問題再多 230 00:56:30,780 --> 00:56:34,200 設置為零,規範 這已經是在CS50的網站。 231 00:56:34,200 --> 00:56:35,725 >> 但是,這是什麼划痕本身。 232 00:56:35,725 --> 00:56:38,210 而且也真的只是 三個主要領域。 233 00:56:38,210 --> 00:56:40,980 在左上方有 是所謂的階段。 234 00:56:40,980 --> 00:56:41,810 這是划痕。 235 00:56:41,810 --> 00:56:43,710 默認的服裝是一隻貓。 236 00:56:43,710 --> 00:56:46,950 這是矩形世界 你可以move--上,下,左, 237 00:56:46,950 --> 00:56:48,130 右側和一些其他的東西。 238 00:56:48,130 --> 00:56:51,839 在中間這是我們的類別 還是我們的拼圖托盤, 239 00:56:51,839 --> 00:56:53,630 和不同的顏色 意味著不同的事情。 240 00:56:53,630 --> 00:56:56,520 如果你閒逛,你會看到 之類的東西循環和條件 241 00:56:56,520 --> 00:56:58,160 和變量等成分。 242 00:56:58,160 --> 00:57:00,060 >> 然後在這裡是腳本的區域。 243 00:57:00,060 --> 00:57:03,020 這是我可以拖放 這些拼圖做的事情。 244 00:57:03,020 --> 00:57:04,690 因此,讓我們做一這樣的事情。 245 00:57:04,690 --> 00:57:06,630 讓我先走還有 - 我知道它在哪裡。 246 00:57:06,630 --> 00:57:10,110 所以,我要立即點擊 在那裡,我知道的東西都準備好要, 247 00:57:10,110 --> 00:57:13,140 但指向和點擊和 四處是不可避免的。 248 00:57:13,140 --> 00:57:15,320 因此,當綠旗點擊, 我想要做什麼? 249 00:57:15,320 --> 00:57:17,100 我要做到這一點。 250 00:57:17,100 --> 00:57:20,699 我要拖到這個謎題紫 件,問好兩秒鐘, 251 00:57:20,699 --> 00:57:21,490 讓我放大]。 252 00:57:21,490 --> 00:57:23,865 >> 而我要改變這種 是我希望它be--什麼 253 00:57:23,865 --> 00:57:26,471 世界你好兩秒鐘的罰款。 254 00:57:26,471 --> 00:57:28,970 現在,我要點擊 綠色食品標誌,或者如果我真正想要的, 255 00:57:28,970 --> 00:57:31,820 我可以全屏幕,然後回來。 256 00:57:31,820 --> 00:57:34,060 這將只是保持 一切在一個窗口。 257 00:57:34,060 --> 00:57:36,141 綠色flag--世界你好。 258 00:57:36,141 --> 00:57:36,640 好吧。 259 00:57:36,640 --> 00:57:38,789 不是所有的有趣。 260 00:57:38,789 --> 00:57:40,080 因此,讓我繼續前進,做到這一點。 261 00:57:40,080 --> 00:57:41,038 讓我試試另一個。 262 00:57:41,038 --> 00:57:44,740 當綠旗clicked--讓我們 做類似聲音。 263 00:57:44,740 --> 00:57:46,880 並注意出 免費你得到的盒子 264 00:57:46,880 --> 00:57:49,910 一隻貓的聲音,因為是默認的精靈。 265 00:57:49,910 --> 00:57:52,380 所以,現在讓我去前進, 打到現在綠色環保標誌。 266 00:57:52,380 --> 00:57:53,224 >> [喵喵叫] 267 00:57:53,224 --> 00:57:54,490 >> 胡。 268 00:57:54,490 --> 00:57:55,370 這是可愛的。 269 00:57:55,370 --> 00:57:57,040 我編程。 270 00:57:57,040 --> 00:57:58,550 所以我做了什麼? 271 00:57:58,550 --> 00:58:00,430 這是一個程序的等價物。 272 00:58:00,430 --> 00:58:01,600 這顯然是超級簡單。 273 00:58:01,600 --> 00:58:05,300 它並沒有真正採取所有的東西 努力和麻省理工學院做了大部分的工作, 274 00:58:05,300 --> 00:58:07,890 但我已經調用的函數。 275 00:58:07,890 --> 00:58:08,940 我已經使用的功能。 276 00:58:08,940 --> 00:58:12,480 我做了一些動作,只使用 一個紫色的一塊拼圖。 277 00:58:12,480 --> 00:58:15,960 >> 好吧,如果我想要做的 3叫聲在一排? 278 00:58:15,960 --> 00:58:18,570 讓我繼續前進,做兩三個。 279 00:58:18,570 --> 00:58:20,910 並注意當你 懸停附近的一塊拼圖, 280 00:58:20,910 --> 00:58:22,970 顯得有點白線 諸如此類的磁性, 281 00:58:22,970 --> 00:58:25,190 它會捕捉 在一起的時候你放手。 282 00:58:25,190 --> 00:58:26,600 讓我們來看看這裡發生了什麼。 283 00:58:26,600 --> 00:58:27,920 >> [喵喵叫] 284 00:58:27,920 --> 00:58:32,390 285 00:58:32,390 --> 00:58:34,510 >> 有一個錯誤。 286 00:58:34,510 --> 00:58:35,650 我只聽到一喵。 287 00:58:35,650 --> 00:58:37,440 為什麼會這樣呢? 288 00:58:37,440 --> 00:58:39,001 是嗎? 289 00:58:39,001 --> 00:58:39,500 是啊。 290 00:58:39,500 --> 00:58:41,650 我們真的不聽到它, 但是這是很好的直覺。 291 00:58:41,650 --> 00:58:43,400 他們都打在同一時間。 292 00:58:43,400 --> 00:58:44,000 為什麼? 293 00:58:44,000 --> 00:58:46,587 那麼,電腦正要 做什麼你告訴它做的事。 294 00:58:46,587 --> 00:58:48,670 所以,如果你說,播放聲音, 播放聲音,播放聲音, 295 00:58:48,670 --> 00:58:52,887 但你不告訴它發揮到及至 大功告成,玩到大功告成, 296 00:58:52,887 --> 00:58:54,970 這將通過吹 該計劃真快 297 00:58:54,970 --> 00:58:56,830 而且只做你告訴它做的事。 298 00:58:56,830 --> 00:58:59,040 >> 所以,我真的需要修復 這幾種方式。 299 00:58:59,040 --> 00:59:00,623 我可以做到這一點,擺脫了這一點。 300 00:59:00,623 --> 00:59:04,180 讓我試試這個謎題其他 piece--播放聲音喵直到完成, 301 00:59:04,180 --> 00:59:07,072 然後將三 這些和單擊播放。 302 00:59:07,072 --> 00:59:09,430 >> [喵喵叫] 303 00:59:09,430 --> 00:59:13,350 >> 這不是真的very-- 感謝你 - 很自然的。 304 00:59:13,350 --> 00:59:16,590 那麼,為什麼我 - 讓 我去這裡控制。 305 00:59:16,590 --> 00:59:17,090 尼斯。 306 00:59:17,090 --> 00:59:22,230 等待一秒鐘,現在讓我回去 對聲音和播放聲音,直到完成, 307 00:59:22,230 --> 00:59:24,620 然後讓我等待一秒鐘。 308 00:59:24,620 --> 00:59:28,692 然後讓我去送一 更多的聲音,在這裡我們去。 309 00:59:28,692 --> 00:59:31,350 >> [喵喵叫] 310 00:59:31,350 --> 00:59:35,930 >> 多一點自然的,但 這不是很有效。 311 00:59:35,930 --> 00:59:39,830 就像我開始厭煩,都是 簡單來說,點擊來回 312 00:59:39,830 --> 00:59:42,724 真正複製我的work-- 幾乎複製和粘貼。 313 00:59:42,724 --> 00:59:44,640 事實上,如果我控制 點擊或右鍵點擊, 314 00:59:44,640 --> 00:59:46,500 我可能只是複製和粘貼。 315 00:59:46,500 --> 00:59:49,870 什麼會是一個更好的構造使用? 316 00:59:49,870 --> 00:59:51,090 什麼想法來自之前? 317 00:59:51,090 --> 00:59:51,990 >> 是啊,這樣一個循環。 318 00:59:51,990 --> 00:59:54,580 而事實上,如果我們周圍戳, 我們可能會發現這一點。 319 00:59:54,580 --> 00:59:57,730 讓我去活動或者說控制。 320 00:59:57,730 --> 00:59:59,650 所以repeat--我不 希望它是10倍。 321 00:59:59,650 --> 01:00:01,370 這是怎麼回事招人煩快。 322 01:00:01,370 --> 01:00:03,380 但我會重複三次。 323 01:00:03,380 --> 01:00:06,355 讓我回去聲 直到把它完成播放聲音。 324 01:00:06,355 --> 01:00:08,480 讓我回去控制 而只是等待一秒鐘。 325 01:00:08,480 --> 01:00:10,271 和通知,您可能 覺得不適合, 326 01:00:10,271 --> 01:00:13,520 但如果再次磁你讓它 在單元的地方,它會增長到填滿。 327 01:00:13,520 --> 01:00:14,971 它是什麼,現在玩嗎? 328 01:00:14,971 --> 01:00:18,500 >> [喵喵叫] 329 01:00:18,500 --> 01:00:19,000 好。 330 01:00:19,000 --> 01:00:19,660 尼斯。 331 01:00:19,660 --> 01:00:22,540 而這也正是將被稱為 一個程序,也是正確的。 332 01:00:22,540 --> 01:00:27,590 它meowed相當三次 自然地,但它設計得更好。 333 01:00:27,590 --> 01:00:29,580 我使用較少的冗餘。 334 01:00:29,580 --> 01:00:30,970 我沒有複製和粘貼任何東西。 335 01:00:30,970 --> 01:00:32,470 我只是用一個更好的主意。 336 01:00:32,470 --> 01:00:35,340 >> 現在,這仍然不是所有的 有趣的傷痕累累不做 337 01:00:35,340 --> 01:00:35,930 任何東西。 338 01:00:35,930 --> 01:00:37,388 因此,讓我們做別的事情來代替。 339 01:00:37,388 --> 01:00:38,670 讓我們做一些事情永遠。 340 01:00:38,670 --> 01:00:39,420 你知道嗎? 341 01:00:39,420 --> 01:00:40,470 運動似乎很有趣。 342 01:00:40,470 --> 01:00:45,760 讓我們動他10 步驟,現在打比賽。 343 01:00:45,760 --> 01:00:46,570 >> 好。 344 01:00:46,570 --> 01:00:49,300 嗯,我們可以種阻力 他回來了,他仍然 345 01:00:49,300 --> 01:00:51,250 運行,因為他永遠這樣做。 346 01:00:51,250 --> 01:00:53,150 所以循環是做 它在說的事, 347 01:00:53,150 --> 01:00:54,650 但是這並不是那麼有趣。 348 01:00:54,650 --> 01:00:55,310 我們開工吧。 349 01:00:55,310 --> 01:00:59,870 讓我補充一個控制模塊,並使用一個 的首次這些條件。 350 01:00:59,870 --> 01:01:03,119 >> 所以它要移動10 steps-- 10個點,10個像素的screen-- 351 01:01:03,119 --> 01:01:04,660 然後它會問這個問題。 352 01:01:04,660 --> 01:01:09,340 如果事情是真的,那麼做 這事塊中。 353 01:01:09,340 --> 01:01:13,060 因此,原來傳感有一個整體 一堆布爾expressions--的 354 01:01:13,060 --> 01:01:16,580 Yes(是)的問題沒有或真 假form--讓我這樣做。 355 01:01:16,580 --> 01:01:19,260 >> 如果touching--然後有 這個小下拉菜單。 356 01:01:19,260 --> 01:01:20,410 我可以將其參數化。 357 01:01:20,410 --> 01:01:23,010 如果觸摸edge--讓我們 做這樣的事情。 358 01:01:23,010 --> 01:01:27,310 所以,如果觸摸edge-- 讓我回去運動。 359 01:01:27,310 --> 01:01:32,281 而我們為什麼不只是 轉身180度? 360 01:01:32,281 --> 01:01:32,780 好吧。 361 01:01:32,780 --> 01:01:35,070 所以永遠,移動10步。 362 01:01:35,070 --> 01:01:37,670 如果你接觸 邊,轉180度。 363 01:01:37,670 --> 01:01:39,720 而這還不是該計劃的結束 因為你在一個被永遠擋, 364 01:01:39,720 --> 01:01:42,053 所以它會再次去 一遍又一遍又一遍。 365 01:01:42,053 --> 01:01:43,980 因此,讓我們看看會發生什麼。 366 01:01:43,980 --> 01:01:44,785 好。 367 01:01:44,785 --> 01:01:48,270 一個小馬車,但那種清涼。 368 01:01:48,270 --> 01:01:51,710 >> 我們可以添加到此一些無聊的事 那是不是所有的智力 369 01:01:51,710 --> 01:01:52,270 有趣。 370 01:01:52,270 --> 01:01:57,210 但是,如果我們打這個小 麥克風button--哎喲。 371 01:01:57,210 --> 01:01:58,480 讓我打掃一下。 372 01:01:58,480 --> 01:02:01,540 讓我加強這方面的作為 他們會說在電視上。 373 01:02:01,540 --> 01:02:05,400 清理一下,保存, 現在去到腳本。 374 01:02:05,400 --> 01:02:07,500 >> 現在,讓我去的聲音。 375 01:02:07,500 --> 01:02:09,002 讓我給它一個名字。 376 01:02:09,002 --> 01:02:12,440 我會打電話給這個哎喲。 377 01:02:12,440 --> 01:02:13,840 現在播放聲音哎喲。 378 01:02:13,840 --> 01:02:16,520 請注意,它出現在 小下拉菜單。 379 01:02:16,520 --> 01:02:17,612 讓我們來看看。 380 01:02:17,612 --> 01:02:20,444 >> [哎喲] 381 01:02:20,444 --> 01:02:24,377 >> [笑] 382 01:02:24,377 --> 01:02:25,835 但是,我們可以動態牛逼了改變。 383 01:02:25,835 --> 01:02:28,106 我們可以兩倍煩人。 384 01:02:28,106 --> 01:02:31,760 >> [哎喲] 385 01:02:31,760 --> 01:02:35,332 >> 或者,如果我們使它像 在時間 - 1000步 386 01:02:35,332 --> 01:02:39,900 387 01:02:39,900 --> 01:02:40,670 >> 好。 388 01:02:40,670 --> 01:02:42,295 所以,我們要獨自離開的那一個。 389 01:02:42,295 --> 01:02:45,290 如此反复,建築blocks--我 開始與一些超級簡單, 390 01:02:45,290 --> 01:02:47,930 然後我增加了一個功能, 增加了一個功能,增加了一個功能。 391 01:02:47,930 --> 01:02:50,721 而我不再需要擔心 如何在第一的這些功能 392 01:02:50,721 --> 01:02:53,690 被實現為我繼續 在上面一層的東西。 393 01:02:53,690 --> 01:02:55,430 所以,事實上,讓我做另外一個在這裡。 394 01:02:55,430 --> 01:03:00,580 讓我繼續前進,打開一個文件 我帶來了進步,所謂的羊。 395 01:03:00,580 --> 01:03:03,970 >> 因此它具有略微不同 字符,看起來像這樣。 396 01:03:03,970 --> 01:03:07,370 讓我看看,如果我不能 使用計數器做些什麼 397 01:03:07,370 --> 01:03:09,310 在此case--所謂變量。 398 01:03:09,310 --> 01:03:15,540 我要繼續前進,Events--下 讓我得到一個綠色的旗幟點擊。 399 01:03:15,540 --> 01:03:19,030 然後讓我去的數據,我知道 從僅僅玩弄之前, 400 01:03:19,030 --> 01:03:20,214 就是變量。 401 01:03:20,214 --> 01:03:21,880 而且我要繼續前進,這拖累。 402 01:03:21,880 --> 01:03:25,144 >> 因此,一個變量,名為計數器, 我將其初始化為零。 403 01:03:25,144 --> 01:03:27,560 我可以稱之為anything-- x或 y或z--但在編程, 404 01:03:27,560 --> 01:03:30,410 調用東西語義 有用的方法,如櫃檯, 405 01:03:30,410 --> 01:03:34,540 描述它是什麼,它是一個 不少方便以後閱讀你的代碼。 406 01:03:34,540 --> 01:03:37,460 讓我繼續前進,得到 一個永遠阻塞在這裡。 407 01:03:37,460 --> 01:03:41,289 並讓我去長相 頁面,並做了說塊。 408 01:03:41,289 --> 01:03:44,330 但是,什麼是酷的變量是我 不必只是在一些類型 409 01:03:44,330 --> 01:03:47,850 像世界你好,我們已經過 完成後,我可以改為向數據 410 01:03:47,850 --> 01:03:50,690 並拖動我的變量,甚至 雖然外形並不完全 411 01:03:50,690 --> 01:03:53,000 看起來像它應該適合, 它會增長到填滿。 412 01:03:53,000 --> 01:03:58,396 而我只想說一個計數器 second-- spoiler--他要算。 413 01:03:58,396 --> 01:04:00,380 我們會說這一秒。 414 01:04:00,380 --> 01:04:02,840 然後我會去 讓他等待一秒鐘, 415 01:04:02,840 --> 01:04:04,650 所以這不算漲得太快。 416 01:04:04,650 --> 01:04:08,430 然後最後,變更計數器 通過換句話說one--, 417 01:04:08,430 --> 01:04:13,520 遞增一個計數器 附加價值,永遠做到這一點。 418 01:04:13,520 --> 01:04:16,129 >> 所以羊太像一個 程序員,從0計數。 419 01:04:16,129 --> 01:04:20,350 420 01:04:20,350 --> 01:04:23,740 如果我們等待足夠長, 他將永遠做到這一點。 421 01:04:23,740 --> 01:04:27,740 但是,這並不完全正確,因為 事實上,正如我們將在一個星期內發現, 422 01:04:27,740 --> 01:04:31,871 更一般整數和計算機, 技術上只有一個finite--好, 423 01:04:31,871 --> 01:04:33,829 而計算機上,當 他們表示整數, 424 01:04:33,829 --> 01:04:35,670 只有比特的數量有限。 425 01:04:35,670 --> 01:04:37,860 這些燈泡有 只能算這麼高 426 01:04:37,860 --> 01:04:39,239 你出的燈泡了。 427 01:04:39,239 --> 01:04:41,590 和一台電腦也是如此, 只有這麼多的內存, 428 01:04:41,590 --> 01:04:44,640 只是有這麼多的晶體管, 所以它只能算這麼高。 429 01:04:44,640 --> 01:04:47,409 >> 因此,原來的羊, 我認為,可以算為2十億 430 01:04:47,409 --> 01:04:48,409 什麼蠻大的。 431 01:04:48,409 --> 01:04:50,325 因此,我們不打算 等待這種情況發生。 432 01:04:50,325 --> 01:04:54,850 但最終一些bug會發生 可以有一些非常現實世界 433 01:04:54,850 --> 01:04:55,970 後果。 434 01:04:55,970 --> 01:04:58,861 但是,除了羊,那 只是引入了一個變量。 435 01:04:58,861 --> 01:05:01,110 讓我們繼續前進,開拓 這是我事先做 436 01:05:01,110 --> 01:05:07,430 這裡所說的寵物Cat-- 寵物貓在這裡。 437 01:05:07,430 --> 01:05:10,420 並注意這裡的幾 塊,但是當綠旗 438 01:05:10,420 --> 01:05:12,474 點擊後,永遠做以下。 439 01:05:12,474 --> 01:05:15,265 如果你去摸鼠標 pointer--使光標在屏幕上, 440 01:05:15,265 --> 01:05:18,529 在arrow--玩喵喵聲 然後等待兩秒鐘。 441 01:05:18,529 --> 01:05:19,570 而就在這樣做永遠。 442 01:05:19,570 --> 01:05:22,619 只要堅持等待 看是否pointer-- 443 01:05:22,619 --> 01:05:24,710 如果貓觸摸指針。 444 01:05:24,710 --> 01:05:26,060 >> 所以,我打遊戲。 445 01:05:26,060 --> 01:05:26,920 什麼也沒有發生。 446 01:05:26,920 --> 01:05:28,980 但是,當我將光標移到貓, 447 01:05:28,980 --> 01:05:31,960 >> [喵喵叫] 448 01:05:31,960 --> 01:05:34,750 >> 如果我將其移開,不 再撫摸貓。 449 01:05:34,750 --> 01:05:38,090 因此,一些條件邏輯 嵌套在一個循環內。 450 01:05:38,090 --> 01:05:43,070 怎麼樣這個例子中,故意 所謂沒有寵貓? 451 01:05:43,070 --> 01:05:45,253 這是什麼打算做什麼? 452 01:05:45,253 --> 01:05:47,880 >> [喵喵叫] 453 01:05:47,880 --> 01:05:50,215 >> 你為什麼不應該寵物貓? 454 01:05:50,215 --> 01:05:59,440 >> [喵喵叫] 455 01:05:59,440 --> 01:06:00,699 >> 好。 456 01:06:00,699 --> 01:06:03,880 所以這是的,如果別人的例子。 457 01:06:03,880 --> 01:06:06,482 這是一個決策點和 因為它是坐在環, 458 01:06:06,482 --> 01:06:07,690 他們都得到檢查。 459 01:06:07,690 --> 01:06:08,280 這是真的? 460 01:06:08,280 --> 01:06:08,760 這是真的? 461 01:06:08,760 --> 01:06:09,250 這是真的? 462 01:06:09,250 --> 01:06:09,791 這是真的? 463 01:06:09,791 --> 01:06:11,880 最終,一個 那些將要應用 464 01:06:11,880 --> 01:06:16,480 所以你聽到的要么喵或 在這種情況下,獅子的吼聲。 465 01:06:16,480 --> 01:06:21,400 >> 好吧,讓我們做一個稍微看上一眼 我事先太...線程進行。 466 01:06:21,400 --> 01:06:25,210 這樣一個線程僅僅是一個 一台計算機可以做的事情。 467 01:06:25,210 --> 01:06:29,349 因此,一個多線程程序是一個程序 可同時做多件事情。 468 01:06:29,349 --> 01:06:31,140 和所有的這些實施例 迄今有 469 01:06:31,140 --> 01:06:35,980 只是一個劇本,所以speak-- 一個程序像這樣在這裡。 470 01:06:35,980 --> 01:06:38,810 但是請注意這個程序有 2精靈,兩個字符。 471 01:06:38,810 --> 01:06:40,020 一個是鳥。 472 01:06:40,020 --> 01:06:40,870 一個是貓。 473 01:06:40,870 --> 01:06:45,080 >> 並注意當我點擊這些下跌 左,他們每個人都有自己的腳本 474 01:06:45,080 --> 01:06:47,120 或與之相關聯的程序。 475 01:06:47,120 --> 01:06:49,420 而這兩項的 計劃,通知,啟動 476 01:06:49,420 --> 01:06:52,600 同當綠旗clicked-- 讓我們來看看在cat-- 477 01:06:52,600 --> 01:06:54,030 當綠旗點擊。 478 01:06:54,030 --> 01:06:58,220 所以事實上,當我打到現在的發揮, 兩件事情會立刻發生。 479 01:06:58,220 --> 01:07:01,750 貓和鳥都 要同時操作 480 01:07:01,750 --> 01:07:03,815 創造這種效果。 481 01:07:03,815 --> 01:07:05,440 你可能想像發生了什麼。 482 01:07:05,440 --> 01:07:08,340 有一個循環和鳥 和貓是在一個循環。 483 01:07:08,340 --> 01:07:11,270 鳥只是喜歡彈跳 我是當我說哎喲之前。 484 01:07:11,270 --> 01:07:13,040 但貓顯然具有優勢。 485 01:07:13,040 --> 01:07:16,040 還有另一種感應塊 故意指向貓 486 01:07:16,040 --> 01:07:19,836 在這種情況下,這裡的鳥。 487 01:07:19,836 --> 01:07:22,960 因此,我們可以梳理出,通過查看 通過這些塊,發生了什麼。 488 01:07:22,960 --> 01:07:25,460 但這裡的關鍵因素之一。 489 01:07:25,460 --> 01:07:28,520 鳥,讓這個遊戲是不是 完全boring--或本animation-- 490 01:07:28,520 --> 01:07:30,060 開始於一個隨機的方向。 491 01:07:30,060 --> 01:07:32,890 和計算機正在復甦 90和180之間的數 492 01:07:32,890 --> 01:07:36,110 基本上,因此它是一個略 每一次不同的動畫。 493 01:07:36,110 --> 01:07:39,480 >> 然後注意到這裡,如果 貓接觸小鳥,然後 494 01:07:39,480 --> 01:07:42,030 玩獅子4 sound--轟鳴聲。 495 01:07:42,030 --> 01:07:46,330 但同時在鳥的 調色板,我們有這個。 496 01:07:46,330 --> 01:07:49,229 永遠,如果不接觸貓, 只是不停的往前三個步驟。 497 01:07:49,229 --> 01:07:50,770 然後這裡的另一個拼圖。 498 01:07:50,770 --> 01:07:52,030 如果你是在邊緣,反彈。 499 01:07:52,030 --> 01:07:54,840 所以鳥是正中下懷 在意自己的業務, 500 01:07:54,840 --> 01:07:57,330 只是飛來飛去,並 彈跳,它真的 501 01:07:57,330 --> 01:08:01,780 該份條件邏輯貓 以確定它是否已經抓到了小鳥。 502 01:08:01,780 --> 01:08:02,280 好吧。 503 01:08:02,280 --> 01:08:08,800 因此,讓我們做另外一個在這裡, 這個被稱為喜喜喜。 504 01:08:08,800 --> 01:08:15,100 而這一次在這裡少了點 這一個永遠循環。 505 01:08:15,100 --> 01:08:18,925 但是notice--我們怎麼停 這很煩人的程序? 506 01:08:18,925 --> 01:08:21,600 507 01:08:21,600 --> 01:08:22,640 敲空格鍵。 508 01:08:22,640 --> 01:08:27,990 因為如果我這樣做, 左手program-- 509 01:08:27,990 --> 01:08:31,550 察覺到它的不斷listening-- 關鍵是空間按。 510 01:08:31,550 --> 01:08:34,090 如果空格鍵按下, 如果是這樣,它有什麼作用? 511 01:08:34,090 --> 01:08:35,980 它非常普遍的技術。 512 01:08:35,980 --> 01:08:38,590 它設置等於某個值的變量。 513 01:08:38,590 --> 01:08:39,741 但是,切換該值。 514 01:08:39,741 --> 01:08:41,490 [?所以外觀?] 基於所述shape--我 515 01:08:41,490 --> 01:08:43,160 有一個變量,我 提前編寫了一個名為 516 01:08:43,160 --> 01:08:44,770 靜音,這只是說yes或no。 517 01:08:44,770 --> 01:08:45,880 是否設置為靜音或沒有? 518 01:08:45,880 --> 01:08:46,990 對或錯? 519 01:08:46,990 --> 01:08:51,580 和通知,我說如果this-- 靜音是零,然後換到一個, 520 01:08:51,580 --> 01:08:53,840 否則設置靜音為零。 521 01:08:53,840 --> 01:08:55,540 所以只是價值翻轉從零到一。 522 01:08:55,540 --> 01:08:58,320 我可以done--改變 從兩到三和三比二 523 01:08:58,320 --> 01:09:00,162 或四,五或四到六個。 524 01:09:00,162 --> 01:09:01,870 但沒關係 我用的號碼, 525 01:09:01,870 --> 01:09:04,090 只要我保持 改變它的對面。 526 01:09:04,090 --> 01:09:07,290 >> 而大多數任何程序員只想 選擇零和one--虛假和真實, 527 01:09:07,290 --> 01:09:09,510 關閉並on--來表示這一點。 528 01:09:09,510 --> 01:09:10,930 這是仍在運行。 529 01:09:10,930 --> 01:09:12,190 如果我再敲空格鍵 530 01:09:12,190 --> 01:09:13,590 >> [SEAL聲音] 531 01:09:13,590 --> 01:09:15,440 >> 該程序仍在運行。 532 01:09:15,440 --> 01:09:18,400 因為有這等腳本 上面寫著,永遠做到以下幾點。 533 01:09:18,400 --> 01:09:21,390 534 01:09:21,390 --> 01:09:24,770 如果靜音變量等於 zero--所以如果你沒有靜音 535 01:09:24,770 --> 01:09:29,609 是logic--如果它是假的 或者沒有,則播放聲音, 536 01:09:29,609 --> 01:09:30,650 因為你沒有靜音。 537 01:09:30,650 --> 01:09:33,358 您應該演奏的聲音,然後 想喜喜喜兩秒鐘 538 01:09:33,358 --> 01:09:35,790 然後等待,並做到這一點 一遍又一遍又一遍。 539 01:09:35,790 --> 01:09:40,760 >> 因此在這種方式我們有一種方法 中場休息的人對程序進行交互。 540 01:09:40,760 --> 01:09:43,120 並且它們不必 像日期為其他。 541 01:09:43,120 --> 01:09:46,280 事實上,戳around-- 沒有雙關語intended-- 542 01:09:46,280 --> 01:09:49,250 有人花了一個巨大的量 實施時間在互聯網上 543 01:09:49,250 --> 01:09:51,580 PokemonGo在划痕。 544 01:09:51,580 --> 01:09:55,440 它甚至geolocates你 劍橋或奧爾斯頓在這裡。 545 01:09:55,440 --> 01:10:03,120 所以,如果你想看到過什麼人 能做的就是this--很花哨的菜單。 546 01:10:03,120 --> 01:10:04,780 請點擊此處。 547 01:10:04,780 --> 01:10:07,430 >> 這是我與我的箭頭鍵了。 548 01:10:07,430 --> 01:10:09,446 我打算在這之後去。 549 01:10:09,446 --> 01:10:09,946 點擊。 550 01:10:09,946 --> 01:10:12,949 551 01:10:12,949 --> 01:10:14,240 現在你點擊PokeBall。 552 01:10:14,240 --> 01:10:17,130 553 01:10:17,130 --> 01:10:20,260 我的意思是,我覺得你 應該點擊PokeBall。 554 01:10:20,260 --> 01:10:20,760 好吧。 555 01:10:20,760 --> 01:10:22,680 所以,我做到了。 556 01:10:22,680 --> 01:10:23,950 我可以在這裡走了過來。 557 01:10:23,950 --> 01:10:27,790 而這個人實施一些 PokeBalls在這裡 - 3 PokeBalls。 558 01:10:27,790 --> 01:10:29,950 >> 我們會發布一個鏈接到這個 網上這樣你就可以玩了。 559 01:10:29,950 --> 01:10:32,364 但通知有剛 一些基本的構建塊。 560 01:10:32,364 --> 01:10:33,780 它看起來有很多票友,它是。 561 01:10:33,780 --> 01:10:35,905 這是令人印象深刻,更 比我們通常會 562 01:10:35,905 --> 01:10:37,740 期待,當然,對於問題設定為零。 563 01:10:37,740 --> 01:10:40,809 我不知道多久 這個人上網時間。 564 01:10:40,809 --> 01:10:41,850 但是,這一切都只是一個循環。 565 01:10:41,850 --> 01:10:43,180 有一個聲音播放。 566 01:10:43,180 --> 01:10:44,850 有一些類型的循環 聽了我是否 567 01:10:44,850 --> 01:10:47,558 擊中向上或向下 箭頭或左和右, 568 01:10:47,558 --> 01:10:49,834 然後如果是這樣,它的移動 它的一些數目的像素。 569 01:10:49,834 --> 01:10:51,750 然後如果我點擊 另一個精靈,有 570 01:10:51,750 --> 01:10:53,390 某種情況是否存在。 571 01:10:53,390 --> 01:10:54,806 是啊,這是越來越過於激烈。 572 01:10:54,806 --> 01:10:56,100 我們要停下來。 573 01:10:56,100 --> 01:10:57,750 這是所有的基本組成部分。 574 01:10:57,750 --> 01:11:01,530 有其他沒有其他成分 比那些我們已經看過了。 575 01:11:01,530 --> 01:11:04,670 >> 然而在這裡,讓我做 最後一個組的例子 576 01:11:04,670 --> 01:11:06,960 用於繪製的圖片太 你可以做這裡。 577 01:11:06,960 --> 01:11:10,481 這裡是一個非常簡單的程序, 少了點this--咳,咳,咳。 578 01:11:10,481 --> 01:11:12,480 與僅基於什麼 我們已經看了到目前為止, 579 01:11:12,480 --> 01:11:14,570 哪裡是顯而易見的 機會改善。 580 01:11:14,570 --> 01:11:15,570 這個程序是正確的。 581 01:11:15,570 --> 01:11:17,980 它咳嗽三次, 這就是我的本意。 582 01:11:17,980 --> 01:11:19,650 但它的執行不力。 583 01:11:19,650 --> 01:11:20,600 它的設計很差。 584 01:11:20,600 --> 01:11:22,000 為什麼? 585 01:11:22,000 --> 01:11:22,500 是啊。 586 01:11:22,500 --> 01:11:23,230 這不是一個循環。 587 01:11:23,230 --> 01:11:24,610 而且它是沒有這麼多 這不是一個循環, 588 01:11:24,610 --> 01:11:26,400 那就是有很多冗餘。 589 01:11:26,400 --> 01:11:28,830 有被複製和 粘貼代碼,可以這麼說。 590 01:11:28,830 --> 01:11:31,830 而可能的解決方案 確實是一個循環。 591 01:11:31,830 --> 01:11:34,350 因此,讓我先走 並呼籲改善。 592 01:11:34,350 --> 01:11:36,250 而我要在這裡拖這些。 593 01:11:36,250 --> 01:11:39,986 讓我先走,並得到一個重複 塊,這一變化為三個。 594 01:11:39,986 --> 01:11:41,860 我要扔掉 其中的一些塊。 595 01:11:41,860 --> 01:11:43,150 >> 你會發現它非常直觀。 596 01:11:43,150 --> 01:11:45,691 拖放和事 出現並最終消失。 597 01:11:45,691 --> 01:11:49,170 而且我可以拖動該在這裡了, 現在我有一個更清潔的版本依然。 598 01:11:49,170 --> 01:11:50,730 但是,你知道嗎? 599 01:11:50,730 --> 01:11:52,940 有這樣的機會 現在abstraction-- 600 01:11:52,940 --> 01:11:56,350 開始以限定新的詞彙 麻省理工學院沒有預料到的。 601 01:11:56,350 --> 01:11:59,110 有等待和重複 永遠,如果, 602 01:11:59,110 --> 01:12:02,590 但如果我想要什麼介紹 這個詞咳嗽作為一個塊? 603 01:12:02,590 --> 01:12:06,230 如果我想要一個拼圖 他們的生活目的就是咳嗽? 604 01:12:06,230 --> 01:12:10,720 >> 好吧,讓我們來看看這個版本 在這裡,我提出如下。 605 01:12:10,720 --> 01:12:13,579 奇妙的是,我已經創建 這一塊拼圖在這裡, 606 01:12:13,579 --> 01:12:14,870 其中刮允許你這樣做。 607 01:12:14,870 --> 01:12:16,787 事實上C和Python的 和JavaScript 608 01:12:16,787 --> 01:12:18,370 打算讓你做這一點。 609 01:12:18,370 --> 01:12:21,830 您可以創建自己的自定義 你打電話給你想要的作品。 610 01:12:21,830 --> 01:12:24,890 在這種情況下,咳嗽感覺 像一個合理的定義。 611 01:12:24,890 --> 01:12:27,880 然後用這些碎片倒 在這裡你能定義是什麼意思。 612 01:12:27,880 --> 01:12:30,290 >> 我拖著從下降 此調色板這裡 - 更多 613 01:12:30,290 --> 01:12:33,500 blocks--這個大紫 塊,在那裡我的咳嗽類型 614 01:12:33,500 --> 01:12:35,290 作為我的新拼圖的名稱。 615 01:12:35,290 --> 01:12:39,920 然後我說,任何時候用戶 稱這種新的咳嗽一塊拼圖, 616 01:12:39,920 --> 01:12:41,770 做一個發言權和等待。 617 01:12:41,770 --> 01:12:46,160 所以,在這裡我重複塊, 我只能咳嗽三次。 618 01:12:46,160 --> 01:12:49,972 >> 而且我認為,特別是 如果現在你隱藏這個細節。 619 01:12:49,972 --> 01:12:51,430 誰在乎咳嗽怎麼實現? 620 01:12:51,430 --> 01:12:54,390 我所關心的一個 程序員,我可止咳。 621 01:12:54,390 --> 01:12:56,280 我不在乎怎麼說的實現。 622 01:12:56,280 --> 01:12:58,620 我只關心的 貓能說些什麼。 623 01:12:58,620 --> 01:13:02,720 我可以抽象掉的細節, 只專注於屏幕上這裡什麼。 624 01:13:02,720 --> 01:13:04,400 但我可以進一步藉此一步。 625 01:13:04,400 --> 01:13:08,070 >> 請注意,在這裡,我有 實施循環三次。 626 01:13:08,070 --> 01:13:11,560 但是,如果不是我搶這個版本? 627 01:13:11,560 --> 01:13:14,640 而如果不是 這裡這個版本, 628 01:13:14,640 --> 01:13:18,730 我只是改變我的拼圖拿 參數,並輸入你們自己? 629 01:13:18,730 --> 01:13:21,100 而且輸入可以是 一些像三個。 630 01:13:21,100 --> 01:13:24,580 所以,現在,如果我寫一個程序 我想貓咳嗽, 631 01:13:24,580 --> 01:13:28,270 其實,我可以告訴拼圖 拼湊多少次咳嗽, 632 01:13:28,270 --> 01:13:31,990 因為這裡的底部,票友 這些定制拼圖版 633 01:13:31,990 --> 01:13:34,500 讓我指定 咳,其實需要 634 01:13:34,500 --> 01:13:36,951 一個input--需要一個像這樣的論點。 635 01:13:36,951 --> 01:13:37,700 你知道嗎? 636 01:13:37,700 --> 01:13:38,890 也許我知道,等一下。 637 01:13:38,890 --> 01:13:40,680 咳嗽是same-- 這是從根本上 638 01:13:40,680 --> 01:13:42,120 同樣的想法打噴嚏。 639 01:13:42,120 --> 01:13:44,040 這只是一個不同的 字在屏幕上。 640 01:13:44,040 --> 01:13:46,550 我可以抽象掉 進一步貫徹 641 01:13:46,550 --> 01:13:48,750 的這個最終版本 咳嗽,乍一看 642 01:13:48,750 --> 01:13:50,660 方法是更複雜的期待。 643 01:13:50,660 --> 01:13:52,140 但是請注意我做了什麼。 644 01:13:52,140 --> 01:13:55,930 我現在已經generalized--泛型化 真的 - 這拼圖 645 01:13:55,930 --> 01:13:59,900 被稱為說字n次。 646 01:13:59,900 --> 01:14:04,410 >> 現在我有兩個新的拼圖 到這裡定義的咳嗽n次。 647 01:14:04,410 --> 01:14:06,790 又是什麼止咳的功能呢? 648 01:14:06,790 --> 01:14:08,420 什麼是我的自定義拼圖嗎? 649 01:14:08,420 --> 01:14:11,996 它只是調用發言權塊, 傳遞我想說的話, 650 01:14:11,996 --> 01:14:13,870 傳遞數 多少次我想說的話。 651 01:14:13,870 --> 01:14:18,210 因為現在我可以實現 簡單地說ACHOO打噴嚏, 652 01:14:18,210 --> 01:14:20,320 在這種情況下,一些次數。 653 01:14:20,320 --> 01:14:22,360 >> 所以我分層和層次感。 654 01:14:22,360 --> 01:14:25,690 再次,這裡的關鍵是不 我是如何實現它,但事實 655 01:14:25,690 --> 01:14:28,070 如果我只是從字面上 這些移動關閉屏幕, 656 01:14:28,070 --> 01:14:31,280 怎麼看怎麼簡單,如果不 漂亮的我的計劃現在看起來。 657 01:14:31,280 --> 01:14:33,930 因為它做的事情 說,我已經抽象 658 01:14:33,930 --> 01:14:37,640 走什麼是黑盒子裡面。 它正好是一個紫色的盒子在這裡, 659 01:14:37,640 --> 01:14:41,430 但我已經離開受阻裡面有什麼 因為我不關心它是如何工作。 660 01:14:41,430 --> 01:14:43,650 我剛才它的工作原理在意。 661 01:14:43,650 --> 01:14:46,375 >> 事實上,在問題 設置為零,這正是 662 01:14:46,375 --> 01:14:49,250 那種想法的層次感你會 要探索的機會。 663 01:14:49,250 --> 01:14:53,510 這正是機會 適用於解決問題的技巧, 664 01:14:53,510 --> 01:14:55,550 什麼是可能是一個 陌生的環境。 665 01:14:55,550 --> 01:14:57,890 而無論你沒有編程 前或編程, 666 01:14:57,890 --> 01:14:59,500 你會發現,有 一個小東西 667 01:14:59,500 --> 01:15:00,874 在這種環境中的每一個人。 668 01:15:00,874 --> 01:15:02,770 並與問題集 之一,一個星期的時間, 669 01:15:02,770 --> 01:15:06,630 我們將過渡到聚焦 在被稱為高級語言 670 01:15:06,630 --> 01:15:09,290 C--或相當的低級 所謂的高級語言 671 01:15:09,290 --> 01:15:11,347 C--這更 功能強大,即使它的 672 01:15:11,347 --> 01:15:12,930 有點乍一看更加神秘。 673 01:15:12,930 --> 01:15:16,740 >> 你會每今天的TL意識到:DR, 這個問題設置具有較短 674 01:15:16,740 --> 01:15:19,880 時間會比將來的窗口,只需 因為你應該還算找到它 675 01:15:19,880 --> 01:15:20,420 無障礙。 676 01:15:20,420 --> 01:15:22,211 而不是擔心,如果 您添加上課遲到。 677 01:15:22,211 --> 01:15:23,920 我們將解決這個不久。 678 01:15:23,920 --> 01:15:28,480 而之前我們休會的蛋糕,讓我們 只有一兩分鐘的樣子完成 679 01:15:28,480 --> 01:15:30,500 什麼,你在這裡等待著CS50。 680 01:15:30,500 --> 01:15:40,950 681 01:15:40,950 --> 01:17:20,803 [音樂] 682 01:17:20,803 --> 01:17:21,302 好吧。 683 01:17:21,302 --> 01:17:22,690 以上就是CS50。 684 01:17:22,690 --> 01:17:23,650 我們很快就會看到你。 685 01:17:23,650 --> 01:17:25,526 蛋糕現在擔任。 686 01:17:25,526 --> 01:17:28,998 687 01:17:28,998 --> 01:18:14,267 [音樂] 688 01:18:14,267 --> 01:18:16,350 揚聲器17:你聽說過 的休假,首席? 689 01:18:16,350 --> 01:18:29,490 690 01:18:29,490 --> 01:18:31,920 揚聲器18:或許有 更引擎蓋下。 691 01:18:31,920 --> 01:18:38,279