1 00:00:00,000 --> 00:00:00,479 2 00:00:00,479 --> 00:00:10,830 >> [Odtwarzanie muzyki] 3 00:00:10,830 --> 00:00:12,080 [MUZYKA - Rossiniego, "Ranz DES Vaches "z William Tell] 4 00:00:12,080 --> 00:00:24,222 5 00:00:24,222 --> 00:00:25,472 >> MUSIC [- ENGLISH BEAT "MARZEC Z głowy "skrętnej] 6 00:00:25,472 --> 00:02:24,538 7 00:02:24,538 --> 00:02:31,510 >> [APPLAUSE radości!] 8 00:02:31,510 --> 00:02:33,520 >> DAVID MALAN: Więc to jest CS50. 9 00:02:33,520 --> 00:02:34,730 Nazywam się David Malan. 10 00:02:34,730 --> 00:02:39,250 A 73% z was nie mają wcześniejszego doświadczenia z informatyki, 11 00:02:39,250 --> 00:02:41,300 wbrew temu, co myślisz. 12 00:02:41,300 --> 00:02:45,290 Więc dzisiaj myśleliśmy, że Chip Away w tym brak znajomości, ale także 13 00:02:45,290 --> 00:02:48,970 daje poczucie, dla tych z Was, więcej komfortu, które kierunki 14 00:02:48,970 --> 00:02:50,550 można iść w tym semestrze. 15 00:02:50,550 --> 00:02:51,890 >> Więc zacznijmy od tego. 16 00:02:51,890 --> 00:02:55,490 I naprawdę nie wiem, co jest w środku komputer, nawet jeśli, tak jak ty, ja 17 00:02:55,490 --> 00:02:56,780 używać go na co dzień. 18 00:02:56,780 --> 00:03:00,000 Ale to jest coś w rodzaju pudełka, a tam nie wiele wejść do niego. 19 00:03:00,000 --> 00:03:01,350 Praktycznie, nie ma, co? 20 00:03:01,350 --> 00:03:03,120 Prawdopodobnie kabel zasilający. 21 00:03:03,120 --> 00:03:06,640 >> I rzeczywiście, z tego jednego składnika, energii elektrycznej, ale wydają się być zdolne 22 00:03:06,640 --> 00:03:09,490 robi się trochę w tych dniach. 23 00:03:09,490 --> 00:03:12,130 A na koniec dnia, że mają reprezentować rzeczy 24 00:03:12,130 --> 00:03:12,860 że zależy nam. 25 00:03:12,860 --> 00:03:15,240 Mamy do reprezentowania informacji w innej formie. 26 00:03:15,240 --> 00:03:18,365 A ty jesteś zapewne przynajmniej niejasno zaznajomieni z ideą przez binarne lub 27 00:03:18,365 --> 00:03:21,370 bity czy inny sposób, komputery zredukowana do zer i jedynek. 28 00:03:21,370 --> 00:03:26,320 Ale możemy przyjąć, że i co najmniej włożyć nieco światła na to? 29 00:03:26,320 --> 00:03:28,880 >> Więc mam te małe lampy biurkowe tutaj. 30 00:03:28,880 --> 00:03:30,450 I ma gniazdka elektrycznego tutaj. 31 00:03:30,450 --> 00:03:33,930 I mam zamiar zaproponować, że w środku z mojego komputera jest co najmniej jeden z 32 00:03:33,930 --> 00:03:37,300 te rzeczy, coś stanie z jest włączone lub wyłączone. 33 00:03:37,300 --> 00:03:40,200 W tym przypadku jest to rzeczywiście lampy biurko, ale na niższym poziomie, to jest coś 34 00:03:40,200 --> 00:03:41,500 nazywa tranzystor. 35 00:03:41,500 --> 00:03:44,730 >> Ale w naszym świecie, to biurko lampy, więc Mam zamiar iść do przodu i podłączyć to 36 00:03:44,730 --> 00:03:47,990 do mojej energii elektrycznej tutaj. 37 00:03:47,990 --> 00:03:52,970 I twierdzą, że za pomocą tego prostego, proste urządzenie, ten prosty przełącznik, I 38 00:03:52,970 --> 00:03:54,850 może reprezentować informacji. 39 00:03:54,850 --> 00:03:58,090 Na przykład, w tej chwili, jestem reprezentujących nic, prawda? 40 00:03:58,090 --> 00:04:01,820 Jestem reprezentujących co Zadzwonię 0 lub false, naprzeciwko czegoś 41 00:04:01,820 --> 00:04:03,130 rzeczywiście jest obecny. 42 00:04:03,130 --> 00:04:07,050 Ale jeśli po prostu przełącznik ten, teraz mam reprezentował 1. 43 00:04:07,050 --> 00:04:10,720 Tak więc za pomocą tego bardzo prosty kawałek pamięci, jeśli chcesz, mogę reprezentować 44 00:04:10,720 --> 00:04:11,450 informacje. 45 00:04:11,450 --> 00:04:14,350 >> Teraz, niestety, mój komputer może nie aż tak dużo. 46 00:04:14,350 --> 00:04:17,430 To może reprezentować tylko dwie wartości na całym świecie - 47 00:04:17,430 --> 00:04:18,620 0 lub 1. 48 00:04:18,620 --> 00:04:21,839 Ale to, co jest oczywiste rozwiązanie, teraz, jeśli chcemy rozszerzyć nasz komputer 49 00:04:21,839 --> 00:04:25,120 pamięć i stanowią więcej niż tylko 0 i 1? 50 00:04:25,120 --> 00:04:27,060 >> Cóż, chwyć kolejny taki kawałek. 51 00:04:27,060 --> 00:04:30,260 Chcę złapać kolejny przełącznik, inny tranzystorowe, jednak chcesz 52 00:04:30,260 --> 00:04:31,130 o tym myśleć. 53 00:04:31,130 --> 00:04:34,170 Pozwólcie mi iść do przodu i podłączyć to do mojego komputera, jak również. 54 00:04:34,170 --> 00:04:38,270 A ja zamierzam twierdzić, teraz, że przez używając nieco więcej energii elektrycznej i 55 00:04:38,270 --> 00:04:42,290 toczenia z tych przełączników on i off, mogę reprezentować więcej takich 56 00:04:42,290 --> 00:04:43,020 informacje. 57 00:04:43,020 --> 00:04:44,660 >> Więc teraz, to jest 1. 58 00:04:44,660 --> 00:04:48,120 Jeśli chcę się teraz reprezentują 2, może to zrobić. 59 00:04:48,120 --> 00:04:51,510 Ale zazwyczaj, konwencji, jak my będziemy w końcu zobaczyć, będzie mi to zrobić. 60 00:04:51,510 --> 00:04:55,260 Tak to jest 0, to 1. 61 00:04:55,260 --> 00:04:56,720 To byłoby 2. 62 00:04:56,720 --> 00:04:59,920 I nie jest zaskakujące, to byłoby 3. 63 00:04:59,920 --> 00:05:02,610 >> Tak więc w ten sposób, jeszcze, można liczymy się jeszcze dalej? 64 00:05:02,610 --> 00:05:06,500 Jeśli dostanę trzeci kawałek, przełącznik, trzeci , co jest najwyższą liczbę mogę teraz 65 00:05:06,500 --> 00:05:09,720 liczyć maksymalnie od 0? 66 00:05:09,720 --> 00:05:12,020 Więc 7 czy jestem już od 0, prawda? 67 00:05:12,020 --> 00:05:15,980 Bo jeśli się zwrócić tę światło na i faktycznie podłączyć ten trzeci i ostatni 68 00:05:15,980 --> 00:05:20,090 światło do mojego gniazdka tutaj, to mam zdolność do reprezentowania 69 00:05:20,090 --> 00:05:24,930 żadnych z dwóch wartości tutaj, dwie wartości tu dwie wartości tutaj - 70 00:05:24,930 --> 00:05:32,610 i tak mogę reprezentować 2 razy 2 razy 2, lub osiem możliwych wartości. 71 00:05:32,610 --> 00:05:36,340 A jeśli zacznę rachunkowości na 0, więc to jest 0, 1, 2, 3, 4, 5, 6, 7. 72 00:05:36,340 --> 00:05:37,480 >> Więc to binarny. 73 00:05:37,480 --> 00:05:39,420 To naprawdę jest takie proste. 74 00:05:39,420 --> 00:05:41,930 A ja twierdzą, że jest to rzeczywiście bardzo znany większości 75 00:05:41,930 --> 00:05:43,180 wszyscy w tym pokoju. 76 00:05:43,180 --> 00:05:45,710 Pozwólcie mi iść do przodu i otworzyć mały edytor tekstu tutaj. 77 00:05:45,710 --> 00:05:49,040 >> A może pamiętacie z podstawówki że mieliśmy takie rzeczy jak setki 78 00:05:49,040 --> 00:05:51,970 miejsce, miejsce dziesiątki, i te miejsce. 79 00:05:51,970 --> 00:05:55,040 I przypominają, że jeśli miał jakiś przecinek Numer, jak coś losowego 80 00:05:55,040 --> 00:05:59,470 jak 123, to byłoby w istocie zapisu, która w formie 81 00:05:59,470 --> 00:06:00,450 z trzech kolumn. 82 00:06:00,450 --> 00:06:04,070 I dlaczego jest 1, 2, 3, co wiemy, jak 123? 83 00:06:04,070 --> 00:06:11,220 Cóż, w skrajnej lewej kolumnie, mamy jeden 100 plus dwa 10s, więc to jest 120, 84 00:06:11,220 --> 00:06:14,250 Plus trzy 1s, więc to 123. 85 00:06:14,250 --> 00:06:17,990 >> Teraz ten świat, że właśnie świeci jest dokładnie taki sam, jak 86 00:06:17,990 --> 00:06:21,150 byłeś zna od lat, z wyjątkiem teraz, nasze kolumny 87 00:06:21,150 --> 00:06:22,060 nie kompetencji 10. 88 00:06:22,060 --> 00:06:23,780 Oni są tylko uprawnienia 2. 89 00:06:23,780 --> 00:06:27,830 Tak więc mając na uwadze, że to miejsce, te, ta będzie dwójki miejsce, to jest 90 00:06:27,830 --> 00:06:29,540 będzie miejsce czwórki. 91 00:06:29,540 --> 00:06:33,260 >> A ponieważ jestem tylko przy użyciu najprostszych mechanizmów kolei rzeczy 92 00:06:33,260 --> 00:06:37,100 on i off - prąd płynie lub prąd nie płynie - 93 00:06:37,100 --> 00:06:40,880 I nie bardzo mają same wyraziste Zakres jako 0 do dziewięciu. 94 00:06:40,880 --> 00:06:43,270 Zamierzamy utrzymać to super proste w świecie komputerów. 95 00:06:43,270 --> 00:06:45,060 Mam tylko 0 lub 1 - 96 00:06:45,060 --> 00:06:47,890 lub wyłączyć, fałszywe lub prawdziwe. 97 00:06:47,890 --> 00:06:52,610 >> A więc, co mam teraz reprezentujące Jest 1, 1, 1, ponieważ każda z nich 98 00:06:52,610 --> 00:06:54,000 światła świeci. 99 00:06:54,000 --> 00:06:59,600 Dobrze, że daje mi jeden 4 plus jeden 2, więc to 6 plus jeden 1, i to jest 7. 100 00:06:59,600 --> 00:07:03,450 I ergo robi to sekwencja trzech bity reprezentują liczbę 7. 101 00:07:03,450 --> 00:07:06,330 >> Więc cały ten czas, wewnętrznej stronie Komputer, być dowolna liczba 102 00:07:06,330 --> 00:07:08,090 tranzystory, dowolną liczbę bitów. 103 00:07:08,090 --> 00:07:10,380 A na koniec dnia, że mogą stanowić informacje 104 00:07:10,380 --> 00:07:12,560 jak po prostu jak. 105 00:07:12,560 --> 00:07:16,770 Teraz, niestety, mamy tylko liczy do 7 w CS50 tak daleko, ale 106 00:07:16,770 --> 00:07:18,550 mam nadzieję, że możemy zrobić trochę lepiej. 107 00:07:18,550 --> 00:07:19,550 I rzeczywiście możemy. 108 00:07:19,550 --> 00:07:23,570 >> Załóżmy, że my, jako ludzie, po prostu arbitralnie zadecydował, że będziemy 109 00:07:23,570 --> 00:07:28,750 skojarzyć numer 1 jak i 2, 3, 4, 5, 6, 7, w określonych liter 110 00:07:28,750 --> 00:07:29,410 alfabet. 111 00:07:29,410 --> 00:07:32,350 I ze względów historycznych, mam zamiar początku nieco arbitralnie, ale jestem 112 00:07:32,350 --> 00:07:36,880 powiedzieć, ludzi, będziemy zdecydować, jako standard, na całym świecie, że 113 00:07:36,880 --> 00:07:43,200 65 oznacza liczbę litery A. 66 będzie reprezentować B. kropka kropka, kropka. 114 00:07:43,200 --> 00:07:45,140 90 będzie reprezentować Z. się 115 00:07:45,140 --> 00:07:48,000 >> I załóżmy, jeśli naprawdę umieścić niektóre że do niego, możemy wymyślić 116 00:07:48,000 --> 00:07:50,860 z numerów wykrzykników i małych liter, i rzeczywiście, 117 00:07:50,860 --> 00:07:52,710 inni zrobili to za nas. 118 00:07:52,710 --> 00:07:56,410 Więc teraz mieliśmy bitów, z którymi możemy stanowią numery, numery, z którymi 119 00:07:56,410 --> 00:08:00,130 możemy reprezentują litery, i litery możemy zacząć komponować 120 00:08:00,130 --> 00:08:02,650 maile i znaki drukarskie na ekranie. 121 00:08:02,650 --> 00:08:05,850 >> Więc daj mi zaproszenie, gdybym mógł, osiem odważnych ochotników - 122 00:08:05,850 --> 00:08:09,200 którzy nie przeszkadza pojawiać nie tylko w aparacie, ale w Internecie - 123 00:08:09,200 --> 00:08:13,130 przyjść tutaj i reprezentować osiem takich bity, a nie tych trzech. 124 00:08:13,130 --> 00:08:14,380 Tak jak o jeden, dwa? 125 00:08:14,380 --> 00:08:16,290 Jak o trzy? 126 00:08:16,290 --> 00:08:20,230 Jak o cztery w świetle niebieski, pięć na koniec? 127 00:08:20,230 --> 00:08:21,250 O kogoś tutaj? 128 00:08:21,250 --> 00:08:25,320 Sześć z przodu, siedem z przodu, oraz osiem z przodu, a także. 129 00:08:25,320 --> 00:08:29,050 >> Więc po prostu tak się przyjść przygotowany z całą bandą karteczkach. 130 00:08:29,050 --> 00:08:34,150 I na tych karteczkach są numery , które stanowią, co kolumny 131 00:08:34,150 --> 00:08:35,809 chłopaki będą reprezentować. 132 00:08:35,809 --> 00:08:36,740 Tak będzie - jak masz na imię? 133 00:08:36,740 --> 00:08:37,570 >> STUDENT: Anna Leah. 134 00:08:37,570 --> 00:08:40,370 >> DAVID MALAN: Anna Leah, ty będzie 128S kolumny. 135 00:08:40,370 --> 00:08:41,059 Jesteś? 136 00:08:41,059 --> 00:08:41,510 >> STUDENT: Chris. 137 00:08:41,510 --> 00:08:43,620 >> DAVID MALAN: Chris będzie być 64s kolumna. 138 00:08:43,620 --> 00:08:44,070 Jesteś? 139 00:08:44,070 --> 00:08:44,540 >> STUDENT: Dan. 140 00:08:44,540 --> 00:08:46,970 >> DAVID MALAN: Dan będzie być 32s kolumna. 141 00:08:46,970 --> 00:08:47,470 >> STUDENT: Pramit. 142 00:08:47,470 --> 00:08:49,430 >> DAVID MALAN: Pramit będzie być kolumna 16s. 143 00:08:49,430 --> 00:08:50,290 >> STUDENT: Lillian. 144 00:08:50,290 --> 00:08:51,904 >> DAVID MALAN: Lillian będzie 8s. 145 00:08:51,904 --> 00:08:52,768 >> STUDENT: Jill. 146 00:08:52,768 --> 00:08:55,025 >> DAVID MALAN: Jill będzie być 4s kolumna. 147 00:08:55,025 --> 00:08:55,400 >> STUDENT: Mary. 148 00:08:55,400 --> 00:08:57,000 >> DAVID MALAN: Mary będą 2s, i? 149 00:08:57,000 --> 00:08:57,470 >> STUDENT: David. 150 00:08:57,470 --> 00:08:59,220 >> DAVID MALAN: David będzie być 1s kolumna. 151 00:08:59,220 --> 00:09:02,030 Jeśli więc wy może zwiększyć trochę do przodu, tak, że każdy może zobaczyć. 152 00:09:02,030 --> 00:09:05,370 Co wy nie widzisz, że on z powrotem z tych karteczkach jest 153 00:09:05,370 --> 00:09:09,760 trochę ściągawki, że o to, aby polecić te osiem bitów albo 154 00:09:09,760 --> 00:09:12,380 podnieść rękę czy nie podnieść rękę. 155 00:09:12,380 --> 00:09:14,100 Jeśli ich strony idzie w górę, są stanowi 1. 156 00:09:14,100 --> 00:09:17,120 Jeśli ich ręka pozostaje w dół, są one co stanowi 0. 157 00:09:17,120 --> 00:09:21,410 >> Tymczasem widzowie powinni być w stanie dowiedzieć się, na podstawie tego 158 00:09:21,410 --> 00:09:26,490 mapping, co trzy-letter word nich ludzie są o sprecyzowanie. 159 00:09:26,490 --> 00:09:29,700 Więc za chwilę, będziesz Przeczytaj pierwszą linię off z tyłu 160 00:09:29,700 --> 00:09:32,880 Twój Ściągawka i jesteś albo zamierza podnieść czy nie podnieść rękę. 161 00:09:32,880 --> 00:09:35,710 Jeśli jesteś 1, można podnieść, jeśli jesteś 0, stoisz tam 162 00:09:35,710 --> 00:09:38,594 niezgrabnie, tak po prostu. 163 00:09:38,594 --> 00:09:40,386 Idź. 164 00:09:40,386 --> 00:09:43,945 Jaki numer, a przede wszystkim, są ci goście reprezentujący? 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, prawda? 168 00:09:49,560 --> 00:09:52,400 Mamy 1 w 64s kolumnie, 1 w kolumnie 2s. 169 00:09:52,400 --> 00:09:56,340 To daje mi 66, tak, że pojawia się do reprezentowania B. So 170 00:09:56,340 --> 00:09:57,075 chłopaki wpisany - 171 00:09:57,075 --> 00:09:58,300 OK, wystarczy. 172 00:09:58,300 --> 00:09:59,430 B. 173 00:09:59,430 --> 00:10:01,610 >> Więc teraz przejdźmy na nasz drugi list. 174 00:10:01,610 --> 00:10:03,530 Idź. 175 00:10:03,530 --> 00:10:06,860 Kto jest najszybszy w matematyce tutaj? 176 00:10:06,860 --> 00:10:07,750 Więc 79. 177 00:10:07,750 --> 00:10:11,840 Ponownie, jeśli zsumujemy wszystkie kolumny w którym jest 1, obecnie, po prostu 178 00:10:11,840 --> 00:10:14,840 tak jak to robiliśmy wcześniej z najprostszych przykładów 7, teraz 179 00:10:14,840 --> 00:10:16,140 uzyskać numer 79. 180 00:10:16,140 --> 00:10:19,910 Który według naszych map jest List O. Tak więc jesteśmy prawie na miejscu. 181 00:10:19,910 --> 00:10:22,590 B, O. I wreszcie udać. 182 00:10:22,590 --> 00:10:26,420 183 00:10:26,420 --> 00:10:30,120 >> Co oni reprezentujący teraz? 184 00:10:30,120 --> 00:10:31,370 Mniej konsensus. 185 00:10:31,370 --> 00:10:34,660 186 00:10:34,660 --> 00:10:36,460 To jest po prostu absolutna szmer. 187 00:10:36,460 --> 00:10:40,090 Tak, to w rzeczywistości 87. 188 00:10:40,090 --> 00:10:40,490 Dobra. 189 00:10:40,490 --> 00:10:44,480 >> Więc jeśli teraz map to z powrotem do - miejmy dzwoń nasz ASCII wykresu 190 00:10:44,480 --> 00:10:46,450 American Standard Code dla Information Interchange. 191 00:10:46,450 --> 00:10:47,700 To daje nam list - 192 00:10:47,700 --> 00:10:51,260 193 00:10:51,260 --> 00:10:54,810 nie "bo", ale "łuk". I to jest doskonały cue dla was, aby ukłonić 194 00:10:54,810 --> 00:10:56,100 i głowy na plecy. 195 00:10:56,100 --> 00:10:56,980 Dziękuję bardzo. 196 00:10:56,980 --> 00:10:57,886 >> [APPLAUSE] 197 00:10:57,886 --> 00:10:59,136 >> DAVID MALAN: Możesz zachować je. 198 00:10:59,136 --> 00:11:01,850 199 00:11:01,850 --> 00:11:05,942 Choć rzeczywiście, ktoś miałby jak lampa, biurko, a także? 200 00:11:05,942 --> 00:11:07,300 >> [HOOT z widowni] 201 00:11:07,300 --> 00:11:08,390 >> DAVID MALAN: Lampa biurkowa? 202 00:11:08,390 --> 00:11:10,850 >> [Śmiech] 203 00:11:10,850 --> 00:11:11,860 >> DAVID MALAN: Naprawdę? 204 00:11:11,860 --> 00:11:13,230 Lampy biurkowe dla wszystkich? 205 00:11:13,230 --> 00:11:14,310 Dobrze. 206 00:11:14,310 --> 00:11:20,990 Tak więc zaczynając bardzo najprostszych zasady, mamy teraz nie tylko liczy 207 00:11:20,990 --> 00:11:24,750 się od 0, aż do 7, mamy Zakłada się, że po prostu rzucając więcej 208 00:11:24,750 --> 00:11:28,080 bitów lub więcej światła lub więcej tranzystorów w tym problem, możemy 209 00:11:28,080 --> 00:11:32,680 stanowią coraz większe liczby, a ergo, większe i większe zakresy 210 00:11:32,680 --> 00:11:33,780 alfabety, jak angielski. 211 00:11:33,780 --> 00:11:37,770 I tak weźmy na wierze na dziś że podobnie możemy zacząć 212 00:11:37,770 --> 00:11:42,220 stanowią grafiki i wideo oraz wszelkich liczba innych mediów, które nam 213 00:11:42,220 --> 00:11:43,610 znane dzisiaj. 214 00:11:43,610 --> 00:11:49,240 >> Więc to jest CS50, w tej klasie wraz z was są, ponownie, bardzo wiele 215 00:11:49,240 --> 00:11:53,050 koledzy, którzy mają tak mało doświadczyć, jak ty. 216 00:11:53,050 --> 00:11:57,730 A wspominam o tym tylko dlatego, że dość często, w tym ostatnio w jednym z 217 00:11:57,730 --> 00:12:01,860 studiów wydarzeń i na doradztwo wiosną ubiegłego roku w drugim roku doradzanie 218 00:12:01,860 --> 00:12:06,420 Impreza, często słyszymy studentów zrzekają kiedy zbliża się do stołu CS, dobrze, 219 00:12:06,420 --> 00:12:10,070 Myślałem o zrobieniu tego klasa wstęp, ale nie jestem 220 00:12:10,070 --> 00:12:11,120 Osoba komputer. 221 00:12:11,120 --> 00:12:13,220 Albo, ale każdy z pewnością wie więcej niż ja. 222 00:12:13,220 --> 00:12:17,340 A Ja to w największej czcionki możliwe, aby przekazać ten komunikat 223 00:12:17,340 --> 00:12:18,730 to nie jest w rzeczywistości sprawy. 224 00:12:18,730 --> 00:12:21,100 >> A jeśli zastanawiacie się, o I, w rzeczywistości, być tu? 225 00:12:21,100 --> 00:12:25,950 Uświadom sobie, że nie tylko jest to kurs tych Wprowadzenie tytuł do komputera 226 00:12:25,950 --> 00:12:31,740 Science, jest wprowadzenie do komputera Nauka I. Tak więc jest rzeczywiście 227 00:12:31,740 --> 00:12:33,170 Drugi takie wprowadzenie. 228 00:12:33,170 --> 00:12:35,390 Więc nie jesteś w rzeczywistości, w niewłaściwym miejscu. 229 00:12:35,390 --> 00:12:39,000 A wśród celów mam na dziś to aby rozwiać wszelkie takie, dotyczy ciebie 230 00:12:39,000 --> 00:12:42,430 może mieć, ale także do malowania obraz tego, co jest w sklepie dla 231 00:12:42,430 --> 00:12:45,720 uczniów mniej i bardziej komfortowe zarówno w tym kursie. 232 00:12:45,720 --> 00:12:49,320 >> Ale najpierw słowo na jednej z ulotek masz dzisiaj, wśród których 233 00:12:49,320 --> 00:12:50,780 kilka najczęściej zadawanych pytań. 234 00:12:50,780 --> 00:12:54,290 To była wizja naszego jakiegoś czasu teraz wprowadzić nową klasyfikację 235 00:12:54,290 --> 00:12:57,010 opcja do tego kursu - mianowicie, SAT / UNSAT. 236 00:12:57,010 --> 00:13:01,930 Filozoficznie dla mnie, to jest o wiele, o wiele bardziej ważne, że 237 00:13:01,930 --> 00:13:05,050 uczniów w tej klasie zaangażować materiał, być kwestionowane przez 238 00:13:05,050 --> 00:13:09,800 Materiał i martwić o wiele, wiele mniej o mechanika rzeczywistych wyników 239 00:13:09,800 --> 00:13:12,590 i Ratingi w semestru end, ale naprawdę ogarnąć 240 00:13:12,590 --> 00:13:13,970 Kurs i jego materiał. 241 00:13:13,970 --> 00:13:18,140 A tak naprawdę to czuje, bardziej ogólnie, za to, co jest interesujące dla nich, 242 00:13:18,140 --> 00:13:21,390 czuć zakwestionowane i nagradzane, ale bez strachu przed porażką. 243 00:13:21,390 --> 00:13:25,030 >> I rzeczywiście, to też jest powracającym Tematem w tym i innych wprowadzenie 244 00:13:25,030 --> 00:13:28,680 kursy w innych dziedzinach, które trzeba ten niepokój, jeśli chodzi o 245 00:13:28,680 --> 00:13:31,040 oddanie swoich palców w nieznanych wodach. 246 00:13:31,040 --> 00:13:34,880 Ja sam, w 1995 roku, był studentem pierwszego roku. 247 00:13:34,880 --> 00:13:37,990 Byłem bardzo koncentruje się na byciu Koncentrator Gov tutaj. 248 00:13:37,990 --> 00:13:41,060 A przecież ja zawsze dorastali przy odrobinie interesu w dziedzinie informatyki. 249 00:13:41,060 --> 00:13:42,180 Zawsze byłem ciekaw. 250 00:13:42,180 --> 00:13:47,610 >> Ale wtedy, nawet miałem ten strach nawet wzmocnienie stóp w CS50, tyle 251 00:13:47,610 --> 00:13:49,420 tak, że nawet nie sklep to na pierwszym roku. 252 00:13:49,420 --> 00:13:53,460 I tylko dlatego postawił stopę w roku student drugiego roku, bo drzwi były 253 00:13:53,460 --> 00:13:55,340 zdecydował, że pass / fail. 254 00:13:55,340 --> 00:13:58,920 Ale nawet przeszedł / nie wymaga się, aby uzyskać się na odwagę, by umówić się na spotkanie 255 00:13:58,920 --> 00:14:01,970 z prof Kernehan w momencie, przyniesie to duży arkusz papieru i poproś 256 00:14:01,970 --> 00:14:04,470 go za jego podpisem i jego uprawnienie do zbadania 257 00:14:04,470 --> 00:14:05,700 tych nieznanych wodach. 258 00:14:05,700 --> 00:14:09,030 >> I nie pomagał w ostatnich latach że gdy w ten sposób w CS50, kiedy 259 00:14:09,030 --> 00:14:12,500 Kiedyś zaliczono / nie, podobnie byłoby dziesiątki lub setki kolegami 260 00:14:12,500 --> 00:14:15,970 wymyślić, nie daj Boże, na Przód Sanders z tej formy, która 261 00:14:15,970 --> 00:14:19,520 w niektórych umysłach oznacza niemożność, Śmiem twierdzić, aby wykonać 262 00:14:19,520 --> 00:14:20,800 są na poziomie swoich rówieśników. 263 00:14:20,800 --> 00:14:23,410 Co jest śmieszne, ale uważam, że jest, że mentalność. 264 00:14:23,410 --> 00:14:27,210 I nigdy nie było w tej kulturze z SAT / UNSAT lub pass / fail więcej 265 00:14:27,210 --> 00:14:30,610 ogólnie, w tym oczywiście czy naprawdę na tej uczelni. 266 00:14:30,610 --> 00:14:32,310 >> Tak więc w tym roku zmieniliśmy to. 267 00:14:32,310 --> 00:14:35,630 Byłbym ekstatyczny połowa ta klasa lub więcej zakończony 268 00:14:35,630 --> 00:14:38,700 podejmowania CS50 SAT / UNSAT. 269 00:14:38,700 --> 00:14:42,130 W roku czasu, to byłoby cudowne jeśli prawie wszyscy. 270 00:14:42,130 --> 00:14:44,410 Później być może będziemy pracować w klasach list na Harvardzie 271 00:14:44,410 --> 00:14:45,480 College bardziej ogólnie. 272 00:14:45,480 --> 00:14:48,900 Ale teraz, zrobimy to w ramach naszych własnej kuli, a ja serdecznie 273 00:14:48,900 --> 00:14:53,400 Zachęcamy do przejrzenia te najczęściej zadawane pytania i zadawać pytania jak uważasz, tak że 274 00:14:53,400 --> 00:14:58,000 miejmy nadzieję, że, w przeciwieństwie do mnie, nie dość mają ten sam czynnik strachu, gdy 275 00:14:58,000 --> 00:15:01,040 odkrywania tego, co prawdopodobnie nieznane miejsce. 276 00:15:01,040 --> 00:15:02,786 >> Więc co jest CS50? 277 00:15:02,786 --> 00:15:06,150 To jest wprowadzenie do przedsiębiorstwa komputera intelektualnej 278 00:15:06,150 --> 00:15:07,700 nauka i sztuka programowania. 279 00:15:07,700 --> 00:15:08,770 Ale co to tak naprawdę oznacza? 280 00:15:08,770 --> 00:15:12,510 >> Cóż, jak dotąd, rozmawialiśmy bardzo krótko o przedstawianie informacji. 281 00:15:12,510 --> 00:15:15,070 Ale załóżmy, że naprawdę chcemy aby coś z tym zrobić. 282 00:15:15,070 --> 00:15:17,890 Musimy wprowadzić pojęcie to, co my nazywamy algorytm. 283 00:15:17,890 --> 00:15:21,540 Algorytm jest procedura, proces, Zestaw instrukcji 284 00:15:21,540 --> 00:15:22,780 robić coś. 285 00:15:22,780 --> 00:15:25,620 >> I algorytm może być coś super proste. 286 00:15:25,620 --> 00:15:28,660 Na przykład, przykład z których niektóre z możesz znać to 287 00:15:28,660 --> 00:15:29,350 rzeczą. 288 00:15:29,350 --> 00:15:32,510 Tak więc książka ta tutaj jest coraz bardziej dnia, ale raz na jakiś czas, to 289 00:15:32,510 --> 00:15:34,720 zawierał mnóstwo nazwisk i numery telefonów. 290 00:15:34,720 --> 00:15:37,710 I rzeczywiście, jeśli chcę znaleźć ktoś w tej książce telefonicznej - 291 00:15:37,710 --> 00:15:39,800 powiedzmy, kogoś o imieniu Mike Smith - 292 00:15:39,800 --> 00:15:43,810 Udało mi się znaleźć Mike Smith w dowolnej liczbie sposobów dość proste. 293 00:15:43,810 --> 00:15:47,700 Mógłbym zacząć od początku i przejść do strony 1, nie istnieje. 294 00:15:47,700 --> 00:15:49,240 Strona 2, nie istnieje. 295 00:15:49,240 --> 00:15:49,960 Page 3. 296 00:15:49,960 --> 00:15:53,430 Czy to algorytm, który jest proces, prawda? 297 00:15:53,430 --> 00:15:54,620 >> Tak więc prawdą jest, prawda? 298 00:15:54,620 --> 00:15:58,070 Jestem idiota by to zrobić w że sposób, ale w końcu będę 299 00:15:58,070 --> 00:16:02,670 znaleźć nazwisko S, i mam nadzieję, że Mike jest w tej sekcji, a ja się 300 00:16:02,670 --> 00:16:04,100 zrobić z moim algorytmu. 301 00:16:04,100 --> 00:16:05,440 Ale na pewno nie jest to intuicyjne. 302 00:16:05,440 --> 00:16:08,020 Większość każdy rozsądny człowiek w tym Pokój nie zrobiłby tego. 303 00:16:08,020 --> 00:16:10,180 Co byś zrobił? 304 00:16:10,180 --> 00:16:11,480 >> Można by pójść prosto w środku, prawda? 305 00:16:11,480 --> 00:16:12,000 Mniej więcej do połowy. 306 00:16:12,000 --> 00:16:16,310 I zdajesz sobie sprawę, oh, to Pani Więc Mike Smith, nazwisko jest Smith, 307 00:16:16,310 --> 00:16:19,050 Nie jest, oczywiście, a następnie w lewa połowa książki. 308 00:16:19,050 --> 00:16:21,040 On musi być w kierunku S jest w prawo. 309 00:16:21,040 --> 00:16:24,090 I w tym momencie, że większości z nas nie rób tego w rzeczywistości, możemy 310 00:16:24,090 --> 00:16:27,125 dosłownie oderwać tego problemu w pół. 311 00:16:27,125 --> 00:16:27,640 >> [CHEERING i oklaski] 312 00:16:27,640 --> 00:16:28,950 >> DAVID MALAN: Dziękuję. 313 00:16:28,950 --> 00:16:30,150 >> [CHEERING i oklaski] 314 00:16:30,150 --> 00:16:34,660 >> DAVID MALAN: Można dosłownie wyrwać tego Problem w pół, pozostawiając mnie, 315 00:16:34,660 --> 00:16:36,120 dosłownie pół problem, jak duży. 316 00:16:36,120 --> 00:16:39,750 Więc jeśli ta książka telefoniczna była - i to prawdopodobnie był - o 1000 stron, teraz 317 00:16:39,750 --> 00:16:40,840 to tylko 500. 318 00:16:40,840 --> 00:16:44,710 Jeśli zrobić to ponownie i zdaję sobie sprawę, oh, cholera, ja poszedłem za daleko, jestem w Ts 319 00:16:44,710 --> 00:16:46,480 sekcja, mogę podobnie - 320 00:16:46,480 --> 00:16:48,030 w przenośni i dosłownie - 321 00:16:48,030 --> 00:16:50,260 zgrać książkę telefoniczną - to było faktycznie znacznie łatwiejsze, że czas. 322 00:16:50,260 --> 00:16:53,610 Mogę dosłownie zgrać książkę telefoniczną w połowie, zostawiając mnie teraz z 323 00:16:53,610 --> 00:16:55,186 nie 1000, nie 500 - 324 00:16:55,186 --> 00:16:56,680 250 stron. 325 00:16:56,680 --> 00:17:00,210 I mogę go 125, a połowa, że ​​i połowę tego, a połowa, że 326 00:17:00,210 --> 00:17:04,760 aż w końcu będę z lewej tylko jednej stronie. 327 00:17:04,760 --> 00:17:06,430 >> [Śmiech] 328 00:17:06,430 --> 00:17:07,589 >> DAVID MALAN: To część I nie on. 329 00:17:07,589 --> 00:17:10,400 Jedna strona, na której Mike mam nadzieję, że jest. 330 00:17:10,400 --> 00:17:14,630 Teraz te mogą być różne algorytmy rodzaj oceny lub oceny w 331 00:17:14,630 --> 00:17:15,270 różne sposoby. 332 00:17:15,270 --> 00:17:17,300 Pierwszy był bardzo liniowa, prawda? 333 00:17:17,300 --> 00:17:18,500 Obróć stronę, szukać Mike'a. 334 00:17:18,500 --> 00:17:19,630 Obróć stronę, szukać Mike'a. 335 00:17:19,630 --> 00:17:20,560 To jest bardzo liniowa. 336 00:17:20,560 --> 00:17:23,339 Jeśli jest jeszcze jedna strona w telefonie książka, to pewnie zajmie mi 337 00:17:23,339 --> 00:17:27,380 jedna sekunda, dodatkową jednostkę czasu, jednak jesteśmy obliczania czasu. 338 00:17:27,380 --> 00:17:32,470 >> Więc może rysować tak tę linię tu, przy czym jako wielkość 339 00:17:32,470 --> 00:17:34,700 Problem zwiększa się od lewej do prawej - 340 00:17:34,700 --> 00:17:37,480 Książka telefoniczna staje się mniejsza w większe - 341 00:17:37,480 --> 00:17:41,080 i czas wzrośnie on oś pionowa, większe 342 00:17:41,080 --> 00:17:42,030 Książka telefoniczna jest. 343 00:17:42,030 --> 00:17:46,180 Więc n jest tylko ogólna zmienna informatycy użyć do reprezentowania 344 00:17:46,180 --> 00:17:48,210 jakaś wartość, jakiś numer. 345 00:17:48,210 --> 00:17:50,740 Więc n wzrośnie liniowo. 346 00:17:50,740 --> 00:17:53,040 Dwukrotnie wielkości książki telefonicznej, to zajmie mi dwa razy tyle 347 00:17:53,040 --> 00:17:54,780 czas, najprawdopodobniej, znaleźć Mike. 348 00:17:54,780 --> 00:17:56,390 >> Teraz mogłem być inteligentny o tym, prawda? 349 00:17:56,390 --> 00:17:57,800 Byłem nudzi szybko. 350 00:17:57,800 --> 00:17:58,910 Mógł zrobić to po dwóch. 351 00:17:58,910 --> 00:18:01,870 Tak więc dwie strony, potem cztery, potem sześć, potem osiem. 352 00:18:01,870 --> 00:18:05,220 I mógłbym zacząć latające to trochę szybciej, choć w mniejszym ryzykiem 353 00:18:05,220 --> 00:18:09,210 Przekroczenie Mike, ale to nie jest krzywa będzie to wszystko inaczej. 354 00:18:09,210 --> 00:18:12,550 To wciąż będzie prosta linii, ale nieco szybciej. 355 00:18:12,550 --> 00:18:13,710 >> Ale co ja zrobiłem? 356 00:18:13,710 --> 00:18:15,845 I rzeczywiście zrobił coś zasadniczo lepiej. 357 00:18:15,845 --> 00:18:21,990 I osiąga to, co my nazywamy logarytmiczna Czas, log n, przy czym ten zielony 358 00:18:21,990 --> 00:18:27,730 linia ma dużo, dużo, dużo mniej liniał do niego. 359 00:18:27,730 --> 00:18:33,050 Oraz a, sugeruje, jak jest jakoś zbliża się do nieskończoności nigdy tak stopniowo, 360 00:18:33,050 --> 00:18:36,700 że mogę rzeczywiście zrobić 1000-aktualizacja książka telefoniczna, podwojenie wielkości 361 00:18:36,700 --> 00:18:39,610 w przyszłym roku - bo przypuszczam dużo więcej ludzi przenieść do miasta. 362 00:18:39,610 --> 00:18:43,250 >> Więc teraz mam 2000 stron, ale jak wiele więcej kroków jest mądrzejszy 363 00:18:43,250 --> 00:18:45,200 Algorytm zajmie? 364 00:18:45,200 --> 00:18:46,060 Tylko jeden. 365 00:18:46,060 --> 00:18:48,060 Mam na myśli, że to potężny rzecz. 366 00:18:48,060 --> 00:18:51,400 Jeśli idziemy do 4000 stron w przyszłym roku, że zajmie mi 367 00:18:51,400 --> 00:18:53,020 zaledwie dwa kroki. 368 00:18:53,020 --> 00:18:56,500 Więc można rzucać większe i większe problemy na mnie, nie w przeciwieństwie do sieci jest 369 00:18:56,500 --> 00:18:59,560 rzuca coraz większe problemy codziennie w Googles i Facebooks z 370 00:18:59,560 --> 00:19:01,590 świat, i to nie jest taka wielka sprawa. 371 00:19:01,590 --> 00:19:05,840 Bo umieścić więcej myśli i opieki w mój algorytm, z którym do rozwiązania 372 00:19:05,840 --> 00:19:07,020 problemy efektywnie. 373 00:19:07,020 --> 00:19:09,260 >> I rzeczywiście, że będzie jednym z cele tego kursu. 374 00:19:09,260 --> 00:19:11,230 Będzie, po drodze, nauczyć się programować. 375 00:19:11,230 --> 00:19:13,360 Dowiesz się, jak program w dowolną liczbę języków. 376 00:19:13,360 --> 00:19:16,670 A na koniec dnia, kurs o rozwiązywaniu problemów i uzyskiwanie 377 00:19:16,670 --> 00:19:20,490 Lepiej jest rozwiązywanie problemów - i, jak w takich przypadków, rozwiązywanie problemów 378 00:19:20,490 --> 00:19:22,030 bardziej efektywnie. 379 00:19:22,030 --> 00:19:23,990 >> Teraz do tej pory, to zrobiliśmy dość intuicyjnie. 380 00:19:23,990 --> 00:19:27,420 Chcę wprowadzić coś jasno generic nazywa Pseudokod. 381 00:19:27,420 --> 00:19:29,150 Więc w końcu dostać, w tym oczywiście 382 00:19:29,150 --> 00:19:30,570 różne języki programowania. 383 00:19:30,570 --> 00:19:34,280 Ale dziś zrobimy to w English-like składni, gdzie po prostu rodzaj powiedzieć 384 00:19:34,280 --> 00:19:37,330 co masz na myśli, ale jesteś zawsze tak zwięzłe i nie martwić się o 385 00:19:37,330 --> 00:19:38,960 gramatyka i pełnych zdań. 386 00:19:38,960 --> 00:19:41,600 Po prostu wyrazić siebie jako zwięźle, jak to możliwe. 387 00:19:41,600 --> 00:19:45,400 >> Więc pseudokod jest angielski-like składnia, która reprezentuje 388 00:19:45,400 --> 00:19:46,750 język programowania. 389 00:19:46,750 --> 00:19:51,170 I ku tym celu chciałbym zaproponować, aby teraz modelować proces po prostu 390 00:19:51,170 --> 00:19:54,990 opisane liczenia coś mało inaczej, tym razem przy 391 00:19:54,990 --> 00:19:59,040 spojrzeć na to pięć minut produkowanego wideo przez naszych przyjaciół na TED, że 392 00:19:59,040 --> 00:20:03,170 określa, co pseudokod jest, określa co algorytmiczne myślenie, a nawet 393 00:20:03,170 --> 00:20:07,030 chociaż przykład masz zamiar zobaczyć jest w sam w sobie, super proste, to 394 00:20:07,030 --> 00:20:09,820 zaczynać, aby dać nam psychicznego modelu, słownictwo, z którym do 395 00:20:09,820 --> 00:20:14,588 zrobić dużo, dużo bardziej skomplikowane algorytmy bardzo szybko. 396 00:20:14,588 --> 00:20:15,576 >> [Rozpocząć odtwarzanie VIDEO] 397 00:20:15,576 --> 00:20:29,920 >> [Odtwarzanie muzyki] 398 00:20:29,920 --> 00:20:31,100 >> NARRATOR: Co to jest algorytm? 399 00:20:31,100 --> 00:20:34,730 W informatyce, algorytm jest zestaw instrukcji do rozwiązywania niektórych 400 00:20:34,730 --> 00:20:36,620 krok problemem kroku. 401 00:20:36,620 --> 00:20:39,650 Zazwyczaj wykonywane są algorytmy przez komputery, ale my, ludzie mają 402 00:20:39,650 --> 00:20:41,230 algorytmów, jak również. 403 00:20:41,230 --> 00:20:43,290 Na przykład, jak można go o liczenie 404 00:20:43,290 --> 00:20:44,750 osób w pokoju? 405 00:20:44,750 --> 00:20:47,980 Cóż, jeśli jesteś podobny do mnie, to bym pewnie Punkt, w każdej osoby, jedna na 406 00:20:47,980 --> 00:20:50,120 czas, i liczyć się z 0. 407 00:20:50,120 --> 00:20:52,970 1, 2, 3, 4, i tak dalej. 408 00:20:52,970 --> 00:20:54,140 >> Cóż, to jest algorytm. 409 00:20:54,140 --> 00:20:57,600 W rzeczywistości, spróbujmy wyrazić nieco bardziej formalnie w Pseudokod - 410 00:20:57,600 --> 00:21:00,700 English, takich jak składnia przypominająca język programowania. 411 00:21:00,700 --> 00:21:02,580 Niech N równa 0. 412 00:21:02,580 --> 00:21:06,970 Dla każdej osoby w pokoju, zestaw N oznacza 1 n plus. 413 00:21:06,970 --> 00:21:08,400 >> Jak interpretować ten Pseudokod? 414 00:21:08,400 --> 00:21:12,840 Cóż, jedna linia deklaruje, że tak powiem, zmienna o nazwie N i inicjuje 415 00:21:12,840 --> 00:21:14,250 jej wartość na 0. 416 00:21:14,250 --> 00:21:17,550 To oznacza po prostu, że na początku nasz algorytm, rzeczą, z którą 417 00:21:17,550 --> 00:21:19,650 Liczymy ma wartość 0. 418 00:21:19,650 --> 00:21:22,620 Po tym wszystkim, zanim zaczniemy liczenie, nie liczyć jeszcze nic. 419 00:21:22,620 --> 00:21:25,340 Wywołanie tej zmiennej N to tylko konwencja. 420 00:21:25,340 --> 00:21:26,890 Mogłem nazwał to prawie wszystko. 421 00:21:26,890 --> 00:21:30,560 >> Teraz druga linia demarks początku Pętla, sekwencja kroków, które będą 422 00:21:30,560 --> 00:21:32,310 powtórzyć pewną liczbę razy. 423 00:21:32,310 --> 00:21:35,910 Tak więc w naszym przykładzie, krok bierzemy liczy osób w pokoju. 424 00:21:35,910 --> 00:21:38,730 Poniżej linii dwa to linia trzech, , który opisuje dokładnie, jak 425 00:21:38,730 --> 00:21:40,160 pójdziemy o liczenie. 426 00:21:40,160 --> 00:21:43,440 Wcięcie oznacza, że ​​jest to trzech linii, które będą się powtarzać. 427 00:21:43,440 --> 00:21:47,380 >> Tak więc to, co mówi jest pseudokod , który po uruchomieniu na 0, dla każdego 428 00:21:47,380 --> 00:21:50,690 osoba w pokoju, my będziemy zwiększenie N o 1. 429 00:21:50,690 --> 00:21:53,050 Teraz jest ten algorytm prawidłowe? 430 00:21:53,050 --> 00:21:54,580 Cóż, walić na nim trochę. 431 00:21:54,580 --> 00:21:57,270 Czy to działa, czy są dwie osoby w pokoju? 432 00:21:57,270 --> 00:21:58,170 Zobaczymy. 433 00:21:58,170 --> 00:22:00,260 >> W pierwszej linii, możemy zainicjować N do 0. 434 00:22:00,260 --> 00:22:03,660 Dla każdego z tych dwóch osób, Następnie zwiększamy N o 1. 435 00:22:03,660 --> 00:22:07,310 Tak więc na pierwszej podróży przez pętla, aktualizujemy N od 0 do 1. 436 00:22:07,310 --> 00:22:11,070 Na drugiej podróży przez ten sam pętla, aktualizujemy N od 1 do 2. 437 00:22:11,070 --> 00:22:15,780 I tak przez ten algorytm jest koniec, n oznacza 2, która w istocie odpowiada liczbie 438 00:22:15,780 --> 00:22:16,700 osób w pokoju. 439 00:22:16,700 --> 00:22:17,760 >> Do tej pory tak dobrze. 440 00:22:17,760 --> 00:22:19,610 Jak o wypadku na rogu, chociaż? 441 00:22:19,610 --> 00:22:22,590 Załóżmy, że istnieją 0 osób w pokoju - oprócz mnie, 442 00:22:22,590 --> 00:22:24,170 kto robi liczenie. 443 00:22:24,170 --> 00:22:27,150 W pierwszej linii, możemy zainicjować N do 0. 444 00:22:27,150 --> 00:22:30,280 Tym razem jednak, nie ma linii trzy wykonać w ogóle, ponieważ nie jest 445 00:22:30,280 --> 00:22:31,370 osoba w pokoju. 446 00:22:31,370 --> 00:22:35,260 I tak N pozostaje 0, który pasuje liczba osób w pokoju. 447 00:22:35,260 --> 00:22:36,420 Całkiem proste, prawda? 448 00:22:36,420 --> 00:22:39,630 >> Ale liczenie ludzi pojedynczo jest bardzo nieefektywne, zbyt, nie? 449 00:22:39,630 --> 00:22:40,920 Na pewno możemy zrobić lepiej. 450 00:22:40,920 --> 00:22:43,120 Dlaczego nie liczą się dwie osoby na raz? 451 00:22:43,120 --> 00:22:49,300 Zamiast zliczania 1, 2, 3, 4, 5, 6, 7, 8, i tak dalej, to dlaczego nie liczyć, 2, 452 00:22:49,300 --> 00:22:51,460 4, 6, 8, i tak dalej? 453 00:22:51,460 --> 00:22:53,700 Brzmi to nawet szybciej, i jest to na pewno. 454 00:22:53,700 --> 00:22:56,240 >> Chcę wyrazić to optymalizację w Pseudokod. 455 00:22:56,240 --> 00:22:57,800 Niech N równa 0. 456 00:22:57,800 --> 00:23:02,450 Dla każdej pary ludzi w pokoju, ustawić N równa n plus 2. 457 00:23:02,450 --> 00:23:04,120 Całkiem proste zmiany, prawda? 458 00:23:04,120 --> 00:23:06,750 Zamiast ludzi liczyć jeden w czasie, a nie liczyć 459 00:23:06,750 --> 00:23:08,300 nimi dwie na raz. 460 00:23:08,300 --> 00:23:10,980 Algorytm ten jest tym samym dwa razy tak szybko, jak ostatnio. 461 00:23:10,980 --> 00:23:12,180 >> Ale czy jest to prawidłowe? 462 00:23:12,180 --> 00:23:12,920 Zobaczymy. 463 00:23:12,920 --> 00:23:15,330 Czy to działa, czy są dwie osoby w pokoju? 464 00:23:15,330 --> 00:23:17,550 W pierwszej linii, możemy zainicjować N do 0. 465 00:23:17,550 --> 00:23:20,920 Dla tej jednej pary ludzi, Następnie zwiększamy N przez dwa. 466 00:23:20,920 --> 00:23:24,860 I tak przez ten algorytm w końcu N to 2, która w istocie odpowiada liczbie 467 00:23:24,860 --> 00:23:25,650 osób w pokoju. 468 00:23:25,650 --> 00:23:28,250 >> Załóżmy dalej, że istnieją 0 osób w pokoju. 469 00:23:28,250 --> 00:23:30,840 W pierwszej linii, możemy zainicjować N do 0. 470 00:23:30,840 --> 00:23:34,330 Jak poprzednio, linia trzy nie wykonuje w ogóle, ponieważ nie ma żadnych pary 471 00:23:34,330 --> 00:23:35,380 osób w pokoju. 472 00:23:35,380 --> 00:23:38,350 I tak N pozostaje 0, które rzeczywiście odpowiada liczbie 473 00:23:38,350 --> 00:23:39,570 osób w pokoju. 474 00:23:39,570 --> 00:23:42,280 >> Ale co, jeśli istnieją trzy osób w pokoju? 475 00:23:42,280 --> 00:23:44,130 Jak to taryfa algorytm? 476 00:23:44,130 --> 00:23:44,990 Zobaczymy. 477 00:23:44,990 --> 00:23:47,460 W pierwszej linii, możemy zainicjować N do 0. 478 00:23:47,460 --> 00:23:50,870 Dla pary tych osób, Następnie zwiększamy N przez 2. 479 00:23:50,870 --> 00:23:51,800 Ale co wtedy? 480 00:23:51,800 --> 00:23:54,960 Nie ma innego pełna para ludzi jest w pokoju, więc druga linia nie 481 00:23:54,960 --> 00:23:56,180 ma już zastosowania. 482 00:23:56,180 --> 00:24:00,530 I tak przez ten algorytm w końcu N jeszcze 2, które nie są poprawne. 483 00:24:00,530 --> 00:24:03,810 >> Rzeczywiście, ten algorytm jest uważany wadliwa, ponieważ ma błąd. 484 00:24:03,810 --> 00:24:05,820 Umożliwia zadośćuczynienia z jakimś nowym Pseudokod. 485 00:24:05,820 --> 00:24:09,670 Niech N równa 0 dla każdej pary osób w pokoju. 486 00:24:09,670 --> 00:24:12,550 Zestaw N równa n plus 2. 487 00:24:12,550 --> 00:24:17,140 Jeśli jedna osoba pozostaje nieparzysty, ustawić N równa n plus 1. 488 00:24:17,140 --> 00:24:20,140 W rozwiązaniu tego problemu, mamy wprowadzone, zgodnie czterech, 489 00:24:20,140 --> 00:24:24,520 Warunkiem, który zwie się gałęzi że wykonywana tylko jeśli jest jedna 490 00:24:24,520 --> 00:24:26,640 Osoba, która nie mogliśmy Para z innym. 491 00:24:26,640 --> 00:24:30,440 A więc teraz, czy jest jedna lub trzy lub nieparzysta liczba osób w 492 00:24:30,440 --> 00:24:33,290 pokój, to algorytm teraz ich policzyć. 493 00:24:33,290 --> 00:24:34,560 >> Czy możemy zrobić jeszcze lepiej? 494 00:24:34,560 --> 00:24:38,820 Cóż, możemy liczyć na 3s lub 4s lub nawet 5s i 10s, ale poza tym, to jest 495 00:24:38,820 --> 00:24:41,360 dostanie trochę trudne do punktu. 496 00:24:41,360 --> 00:24:44,660 Na koniec dnia, czy odbywa przez komputery lub ludzi, 497 00:24:44,660 --> 00:24:46,750 algorytmy to tylko zestaw instrukcji z 498 00:24:46,750 --> 00:24:48,290 co do rozwiązania problemów. 499 00:24:48,290 --> 00:24:49,792 Były tylko trzy. 500 00:24:49,792 --> 00:24:52,404 Jaki problem będzie można rozwiązać z algorytmem? 501 00:24:52,404 --> 00:24:52,901 >> [END PLAYBACK VIDEO] 502 00:24:52,901 --> 00:24:55,883 >> DAVID MALAN: To jest tylko czas Ja pojawiać się w postaci z kreskówki. 503 00:24:55,883 --> 00:25:01,050 Ale gdzie ta historia pozostawia off, teraz, jest, jak można zrobić lepiej? 504 00:25:01,050 --> 00:25:04,680 Trójki i czwórki, twierdzimy, możemy liczyć ludzie o wiele szybciej, ale możemy 505 00:25:04,680 --> 00:25:06,290 zrobić zasadniczo lepiej? 506 00:25:06,290 --> 00:25:07,540 I założę się da. 507 00:25:07,540 --> 00:25:11,980 >> Jeśli wprowadzimy trochę naszych własnych pseudokod tutaj, zamierzam zaproponować 508 00:25:11,980 --> 00:25:14,550 że możemy osiągnąć taką linię. 509 00:25:14,550 --> 00:25:17,280 Nie będziemy liczyć ludzi jeden, dwa, trzy, cztery. 510 00:25:17,280 --> 00:25:19,470 Nie zamierzamy iść dwa, cztery, sześć, osiem. 511 00:25:19,470 --> 00:25:23,390 Zamierzamy zrobić zasadniczo lepiej by przemyśleć problem, w tym 512 00:25:23,390 --> 00:25:27,080 Sprawa, wykorzystując inaczej niewykorzystanych zasobów. 513 00:25:27,080 --> 00:25:31,460 >> Na chwilę, mam nadzieję, że wybaczysz i humor nas stojąc w 514 00:25:31,460 --> 00:25:34,470 miejsce, w którym momencie będziemy zapytać każdego z was do podjęcia w pliku 515 00:25:34,470 --> 00:25:36,400 umysły numer 1. 516 00:25:36,400 --> 00:25:39,560 Jesteś wtedy będzie coraz bardziej niezgrabnie, w miarę upływu czasu, znajdź 517 00:25:39,560 --> 00:25:42,740 ktoś, kto stoi, połączyć Twoje numery razem 518 00:25:42,740 --> 00:25:43,720 dodając je. 519 00:25:43,720 --> 00:25:47,490 Jeden z was jest następnie będzie ścigać siedzieć w dół pierwszą i drugą osobę 520 00:25:47,490 --> 00:25:48,880 będzie powtórzyć. 521 00:25:48,880 --> 00:25:53,090 >> Tak więc, innymi słowy, przez zaszczepienie wszystkich Ci z numerem 1, a następnie 522 00:25:53,090 --> 00:25:57,800 Łącząc te 1s do 2s i tych 2s do 4s, z każdym coraz 523 00:25:57,800 --> 00:26:02,740 siedzącej, należy, na końcu ten algorytm, mają tylko jedną pożyczkę 524 00:26:02,740 --> 00:26:07,570 dusza, która nie usiąść dość szybko, ale kto ma całą liczbę publiczność 525 00:26:07,570 --> 00:26:09,180 w jego lub jej umyśle. 526 00:26:09,180 --> 00:26:13,730 >> Więc jeśli chcesz, idziemy dalej i - kroku - stanąć w miejscu. 527 00:26:13,730 --> 00:26:15,600 I wykonania. 528 00:26:15,600 --> 00:26:36,580 >> [TŁUM mruczenia] 529 00:26:36,580 --> 00:26:38,820 >> DAVID MALAN: Czy wiesz gdzie Lauren jest? 530 00:26:38,820 --> 00:26:40,179 729? 531 00:26:40,179 --> 00:27:23,350 >> [TŁUM mruczenia] 532 00:27:23,350 --> 00:27:24,340 >> DAVID MALAN: Wszystko w porządku? 533 00:27:24,340 --> 00:27:39,110 >> [TŁUM mruczenia] 534 00:27:39,110 --> 00:27:41,365 >> DAVID MALAN: Dobrze, że powinniśmy jest bliski końca. 535 00:27:41,365 --> 00:27:44,340 536 00:27:44,340 --> 00:27:47,670 Widzimy jednego faceta stojącego tutaj nadal. 537 00:27:47,670 --> 00:27:48,770 Kto jeszcze musi być połączone? 538 00:27:48,770 --> 00:27:50,020 Jeśli chcecie, aby powiązać off. 539 00:27:50,020 --> 00:27:53,260 540 00:27:53,260 --> 00:27:56,520 Ktoś na górze. 541 00:27:56,520 --> 00:27:58,150 Dlaczego nie mogę pomagać tutaj. 542 00:27:58,150 --> 00:28:01,370 Dla nielicznych ludzi, którzy jeszcze stojąc, jakie numery czy 543 00:28:01,370 --> 00:28:02,790 mieć w głowie? 544 00:28:02,790 --> 00:28:04,020 >> STUDENT: 78. 545 00:28:04,020 --> 00:28:06,010 >> DAVID MALAN: 78 Plus - 546 00:28:06,010 --> 00:28:07,840 który stoi na dole? 547 00:28:07,840 --> 00:28:08,370 >> STUDENT: 39. 548 00:28:08,370 --> 00:28:09,590 >> DAVID MALAN: Plus 39. 549 00:28:09,590 --> 00:28:12,310 Plus, kto jeszcze stoi jeszcze? 550 00:28:12,310 --> 00:28:13,650 81? 551 00:28:13,650 --> 00:28:15,960 OK, kto jeszcze? 552 00:28:15,960 --> 00:28:17,200 Innym 81? 553 00:28:17,200 --> 00:28:17,860 Wow. 554 00:28:17,860 --> 00:28:19,210 A potem, co jest w odwrocie? 555 00:28:19,210 --> 00:28:20,360 >> STUDENT: 49. 556 00:28:20,360 --> 00:28:21,812 >> DAVID MALAN: 49 plus? 557 00:28:21,812 --> 00:28:22,950 >> STUDENT: 98. 558 00:28:22,950 --> 00:28:24,980 >> DAVID MALAN: 98 Plus? 559 00:28:24,980 --> 00:28:28,190 Czy to ktoś inny? 560 00:28:28,190 --> 00:28:29,155 12? 561 00:28:29,155 --> 00:28:30,460 Good job. 562 00:28:30,460 --> 00:28:33,610 >> [Śmiech] 563 00:28:33,610 --> 00:28:34,690 >> DAVID MALAN: Oh, 112 - 564 00:28:34,690 --> 00:28:35,410 oh. 565 00:28:35,410 --> 00:28:36,220 Good job! 566 00:28:36,220 --> 00:28:38,660 >> [Śmiech] 567 00:28:38,660 --> 00:28:42,570 >> [APPLAUSE] 568 00:28:42,570 --> 00:28:43,820 >> DAVID MALAN: Ktoś jeszcze nadal stoi? 569 00:28:43,820 --> 00:28:46,710 570 00:28:46,710 --> 00:28:47,260 Sorry? 571 00:28:47,260 --> 00:28:48,110 >> STUDENT: 99. 572 00:28:48,110 --> 00:28:49,810 >> DAVID MALAN: 99. 573 00:28:49,810 --> 00:28:52,620 Ktoś inny jeszcze stoi? 574 00:28:52,620 --> 00:28:57,290 A łączna liczba studentów tutaj w rzeczywistości, zgodnie z - 575 00:28:57,290 --> 00:28:59,400 masz numer? 576 00:28:59,400 --> 00:29:03,170 Oh, faktyczna liczba osób w pokoju, według uwagę, że 577 00:29:03,170 --> 00:29:07,660 stypendyści nauczania robili na każdy sposób, w, było 729. 578 00:29:07,660 --> 00:29:11,070 Więc z pokoju pełnym studentów Harvardu który liczy się, 579 00:29:11,070 --> 00:29:14,126 Odpowiedź jest 637. 580 00:29:14,126 --> 00:29:15,480 >> [Śmiech] 581 00:29:15,480 --> 00:29:16,350 >> DAVID MALAN: So close. 582 00:29:16,350 --> 00:29:17,360 Ale nadal. 583 00:29:17,360 --> 00:29:22,110 OK, więc to jest nauczanie chwila, prawda? 584 00:29:22,110 --> 00:29:24,120 To teraz jest to, co opisujemy jako błąd. 585 00:29:24,120 --> 00:29:28,120 Gdzieś po drodze, zrobiliśmy kilka arytmetyka nie tak, albo ktoś usiadł, 586 00:29:28,120 --> 00:29:29,930 lub w lewo, czy coś poszło nie tak. 587 00:29:29,930 --> 00:29:30,930 Ale to jest w porządku. 588 00:29:30,930 --> 00:29:33,390 Bo nawet jeszcze, że ale całkiem blisko. 589 00:29:33,390 --> 00:29:37,480 A ja twierdzą, że mamy do porządku odpowiedzieć na wiele szybciej niż ja 590 00:29:37,480 --> 00:29:39,770 przy moim bardziej liniowa podejście. 591 00:29:39,770 --> 00:29:42,630 >> Więc załóżmy, że udało nam się w tym, że otrzymasz poprawić, ale myślę teraz o tym, co 592 00:29:42,630 --> 00:29:46,870 dzieje się za każdym razem, w porównaniu z moim własny naiwny algorytm wskazuje. 593 00:29:46,870 --> 00:29:48,420 Jeden, dwa, trzy. 594 00:29:48,420 --> 00:29:53,010 Jeśli rzeczywiście istnieje 729 lub 637 osób tutaj, że wziąłby mnie 595 00:29:53,010 --> 00:29:57,720 dosłownie 637 lub 729 pointings z palca i 596 00:29:57,720 --> 00:29:59,490 zwiększając moją całkowitą liczbę. 597 00:29:59,490 --> 00:30:01,910 I mógłby zrobić trochę lepiej przez będzie dwa, cztery, sześć, osiem, a 598 00:30:01,910 --> 00:30:05,660 podwoić tę prędkość, a może nawet trzy-i czterokrotnie, w zależności, jak dobrze mogę 599 00:30:05,660 --> 00:30:07,110 zrobić licząc w głowie. 600 00:30:07,110 --> 00:30:10,720 >> Ale takie podejście, że chłopaki miały różniła. 601 00:30:10,720 --> 00:30:12,770 Ponieważ na początku, wszystkich, wstał. 602 00:30:12,770 --> 00:30:14,620 Więc wszystko 729. 603 00:30:14,620 --> 00:30:17,370 A potem dosłownie pół z Was usiadł. 604 00:30:17,370 --> 00:30:19,720 I po tym, kolejny połowa z was usiadł. 605 00:30:19,720 --> 00:30:22,650 I po tym, kolejny połowa z was usiadł. 606 00:30:22,650 --> 00:30:27,470 >> I całkowita ilość razy, że Chłopaki mógł usiadł jest grubsza 607 00:30:27,470 --> 00:30:31,740 osiem lub dziewięć lub dziesięć całkowite czasy, w zależności od tego, co nasza łączna liczba to. 608 00:30:31,740 --> 00:30:33,300 I możemy zrobić coś w rodzaju to w drugą stronę. 609 00:30:33,300 --> 00:30:37,740 Jeśli mieliśmy 1.024 osób w pokoju, Łączna ilość razy mógł 610 00:30:37,740 --> 00:30:41,870 połowę 1024 ludzi 10. 611 00:30:41,870 --> 00:30:43,370 >> Teraz myślę o tym w w innym kierunku. 612 00:30:43,370 --> 00:30:49,170 Załóżmy, śmiesznie, że mieliśmy, powiedzmy cztery miliardy ludzi w tym pokoju, 613 00:30:49,170 --> 00:30:50,860 lub nieco większy pokój. 614 00:30:50,860 --> 00:30:54,550 Ile razy bym poszedł za pomocą tego algorytmu tak, że połowa 615 00:30:54,550 --> 00:30:58,110 tej klasy siada? 616 00:30:58,110 --> 00:31:03,050 To tylko zajmie 32 takich operacje, w klasie rozmiaru 617 00:31:03,050 --> 00:31:03,770 cztery miliardy. 618 00:31:03,770 --> 00:31:04,055 Dlaczego? 619 00:31:04,055 --> 00:31:06,980 Ponieważ cztery miliardy idą do dwóch mld euro, trafia do jednego miliona, idzie do 620 00:31:06,980 --> 00:31:09,925 500000000, idzie do 250 mln, kropka, kropka, kropka. 621 00:31:09,925 --> 00:31:14,940 Mogę tylko zrobić ten podział jakieś 32 razy, w tym momencie, wszyscy z wyjątkiem 622 00:31:14,940 --> 00:31:17,820 jedna osoba będzie pozostawiona. 623 00:31:17,820 --> 00:31:21,590 >> I to też jest swego rodzaju potężnym Pomysł, że coraz bardziej będziemy starać się 624 00:31:21,590 --> 00:31:24,690 wykorzystać w tym kursie, w programowanie i informatyka więcej 625 00:31:24,690 --> 00:31:29,400 ogólnie, te zarazki pomysł z które możemy następnie rozwiązywania problemów dużo, 626 00:31:29,400 --> 00:31:31,130 znacznie silniej. 627 00:31:31,130 --> 00:31:34,610 Zaczęliśmy więc z tym bardzo proste pseudokod, a facet w pokoju, ale 628 00:31:34,610 --> 00:31:38,205 teraz z całym pomieszczeniu pełnym ludzi zrobiliśmy zasadniczo lepiej. 629 00:31:38,205 --> 00:31:41,460 >> No cóż, teraz przejście od pseudokod do jakiegoś rzeczywistego kodu. 630 00:31:41,460 --> 00:31:44,200 Ten język masz zamiar zobaczyć się nazywać JavaScript i 631 00:31:44,200 --> 00:31:46,190 wrócimy do tego kierunku semestru end. 632 00:31:46,190 --> 00:31:49,960 Jest to język programowania, który wykorzystywać do tworzenia stron internetowych i inne takie 633 00:31:49,960 --> 00:31:51,360 Oprogramowanie te dni. 634 00:31:51,360 --> 00:31:54,890 I użyliśmy go, dzięki znajomemu z naszych w Stanford, do kodowania 635 00:31:54,890 --> 00:31:56,630 niektóre hidden information here. 636 00:31:56,630 --> 00:31:59,500 To jest sztuka steganografii, że tak powiem, gdzie można ukryć 637 00:31:59,500 --> 00:32:03,990 Informacje o tym, co wydaje się inaczej być hałas lub zupełnie inna 638 00:32:03,990 --> 00:32:05,220 Obraz zupełnie. 639 00:32:05,220 --> 00:32:10,120 Jednak osadzone w szczególności obraz jest rzeczywiście tajne przesłanie rodzaju. 640 00:32:10,120 --> 00:32:12,950 >> Więc pozwól mi iść do przodu i wyciągnij sam obraz tutaj, to 641 00:32:12,950 --> 00:32:14,270 Czas w przeglądarce internetowej. 642 00:32:14,270 --> 00:32:17,710 I mam zamiar machnąć ręką na niektóre szczegóły na dzisiaj, zwłaszcza 643 00:32:17,710 --> 00:32:21,780 dla tych z was, którzy to wygląda nie tylko JavaScript ale grecki, jak 644 00:32:21,780 --> 00:32:23,930 zupełnie obcy język. 645 00:32:23,930 --> 00:32:26,190 Ale ta jest przykładem język programowania. 646 00:32:26,190 --> 00:32:30,660 >> A teraz, brać na wiarę, że ta pierwsza linia kodu - 647 00:32:30,660 --> 00:32:32,470 i kodu, po prostu na myśli tekst. 648 00:32:32,470 --> 00:32:35,660 Tekst, który mogłem dosłownie wpisane w programie Microsoft Word, gdybym miał 649 00:32:35,660 --> 00:32:37,630 odpowiedniego oprogramowania, aby następnie coś z tym zrobić. 650 00:32:37,630 --> 00:32:42,120 Kod programu, programowanie Kod, jest naprawdę tylko tekst, a to 651 00:32:42,120 --> 00:32:45,420 wygląda inaczej w oparciu o to, co język używasz, a nie w przeciwieństwie do angielskiego 652 00:32:45,420 --> 00:32:49,200 Hiszpański i rosyjski wszystko wygląda inaczej podczas pisania na klawiaturze. 653 00:32:49,200 --> 00:32:53,520 >> Więc tej pierwszej linii, do teraz podjąć wiara, po prostu otwiera grafiki z 654 00:32:53,520 --> 00:32:56,160 internet, który głośno grafiki właśnie zobaczyłem. 655 00:32:56,160 --> 00:32:59,900 To następna linia tutaj jest przykładem pętla, a my rzeczywiście zobaczył, że same 656 00:32:59,900 --> 00:33:01,130 żargon w filmie TED. 657 00:33:01,130 --> 00:33:03,750 Pętla jest czymś, co dzieje się ponownie i ponownie, i mimo, że ta 658 00:33:03,750 --> 00:33:08,440 absolutnie wygląda tajemniczo, z kluczowe dla, a niektóre nawiasy i 659 00:33:08,440 --> 00:33:09,510 niektóre średnikami. 660 00:33:09,510 --> 00:33:13,070 Wrócimy do tego wkrótce, ale tam w zasadzie jest pętla 661 00:33:13,070 --> 00:33:17,310 mówiąc program, iteracyjne nad wszystkie z tych hałaśliwych punktów, od lewej do 662 00:33:17,310 --> 00:33:18,980 prawej, od góry do dołu. 663 00:33:18,980 --> 00:33:21,260 >> Ponieważ pod koniec dnia, obrazu jak ten - i może faktycznie 664 00:33:21,260 --> 00:33:22,860 rodzaj zobaczyć go na ten projektor - 665 00:33:22,860 --> 00:33:25,280 to tak naprawdę tylko siatka punktów. 666 00:33:25,280 --> 00:33:29,730 Tak więc możemy określić każdy z tych punktów za pomocą współrzędnych x, y, i z tego 667 00:33:29,730 --> 00:33:33,890 Program, teraz możemy zacząć zrobić coś dla tych punktów. 668 00:33:33,890 --> 00:33:37,540 >> Więc, co mam zamiar iść do przodu tu i Czy to mam zamiar dokonać kilku zmian. 669 00:33:37,540 --> 00:33:41,000 Po pierwsze mam zamiar iść do przodu i pozbyć z wszystkich, że zielonkawe i niebieskawe 670 00:33:41,000 --> 00:33:43,520 hałas, i mam zamiar iść do przodu i wpisz następujące 671 00:33:43,520 --> 00:33:45,710 wprawdzie tajemnicze składnia. 672 00:33:45,710 --> 00:33:48,020 im do obrazu. 673 00:33:48,020 --> 00:33:53,380 zestaw niebieski w lokalizacji x, przecinek, lokalizacja y do 0. 674 00:33:53,380 --> 00:33:55,610 Innymi słowy, chcę tylko wyłączyć wszystkie blue 675 00:33:55,610 --> 00:33:56,920 punktów w tym obrazie. 676 00:33:56,920 --> 00:33:59,800 >> Mam zamiar iść do przodu i kliknąć to Run / zapisywać, i będziesz 677 00:33:59,800 --> 00:34:02,850 zauważyć po stronie prawej, Uzyskany obraz pojawia. 678 00:34:02,850 --> 00:34:06,120 Teraz jego bardzo zielony, ale to nie jest dziwnego, bo dosłownie odwrócił 679 00:34:06,120 --> 00:34:11,070 off, dokonując 1 na 0, wszystkie niebieski w tym zdjęciu. 680 00:34:11,070 --> 00:34:12,540 >> Cóż, teraz zróbmy to nieco więcej. 681 00:34:12,540 --> 00:34:16,989 im do obrazu, dot setGreen, x, y. 682 00:34:16,989 --> 00:34:20,659 A to po prostu oznacza, iterate od lewej do prawej, a następnie od góry do dołu. 683 00:34:20,659 --> 00:34:23,520 Wyłącz to, o wartości z 0, a także. 684 00:34:23,520 --> 00:34:24,750 Zapisz. 685 00:34:24,750 --> 00:34:28,100 A na projektorze, można faktycznie nie naprawdę zobaczyć cokolwiek. 686 00:34:28,100 --> 00:34:31,380 >> Na moim ekranie laptopa, jeśli zajrzeć w niemal właściwy sposób, widzę trochę 687 00:34:31,380 --> 00:34:33,300 obrazu, ponieważ są one nadal niektóre czerwone tam. 688 00:34:33,300 --> 00:34:35,540 Jeśli kiedykolwiek słyszał skrót RGB - 689 00:34:35,540 --> 00:34:36,830 czerwony, zielony, niebieski - 690 00:34:36,830 --> 00:34:39,110 to odnosząc się do tej kompozycji z obrazu przy użyciu 691 00:34:39,110 --> 00:34:40,230 tylko te trzy kolory. 692 00:34:40,230 --> 00:34:43,159 A teraz, mamy wyrzucać cały zielony, wszystkie niebieskie, ale 693 00:34:43,159 --> 00:34:44,500 nie ma zbyt wiele na czerwono. 694 00:34:44,500 --> 00:34:45,920 >> Więc pozwól mi zatracić się na czerwono. 695 00:34:45,920 --> 00:34:47,070 Jak mogę to zrobić? 696 00:34:47,070 --> 00:34:49,300 Cóż, po pierwsze, mam zamiar zapytać program ten znak. 697 00:34:49,300 --> 00:34:52,030 Mam zamiar iść do przodu i nazwijmy to Zmienna, podobnie jak w algebrze. 698 00:34:52,030 --> 00:34:54,060 Możesz mieć x lub y lub z. 699 00:34:54,060 --> 00:34:57,230 Zamierzam zadeklarować zmienną i powiedzieć, umieścić w tej zmiennej, 700 00:34:57,230 --> 00:35:02,790 tymczasowo, wartość zdjęcia getRed wartość na x, y. 701 00:35:02,790 --> 00:35:05,870 >> I znowu wrócimy do wszystkich z tym szczegółowo w przyszłości. 702 00:35:05,870 --> 00:35:10,630 Ale teraz, po prostu się na wierze, że linia ta pyta program, co 703 00:35:10,630 --> 00:35:12,740 jest czerwona wartość na x, y? 704 00:35:12,740 --> 00:35:14,450 W tym szczególnym kropki? 705 00:35:14,450 --> 00:35:15,710 >> Potem mam zamiar zrobić coś do niego. 706 00:35:15,710 --> 00:35:21,100 Potem mam zamiar zrobić zestaw czerwony obraz dot na x, y, y, ale tym razem mam zamiar 707 00:35:21,100 --> 00:35:24,760 zwiększyć, wykonując czerwone razy, powiedzmy, 10. 708 00:35:24,760 --> 00:35:26,870 Tak więc zwiększyć, 10-krotnie. 709 00:35:26,870 --> 00:35:29,880 Pozwól mi oddalić się i kliknij, może uruchomić / Zapisz. 710 00:35:29,880 --> 00:35:36,430 I voila, że ​​była tam cała czas, choć nasze ludzkie oczy 711 00:35:36,430 --> 00:35:37,900 może nie do końca go zobaczyć. 712 00:35:37,900 --> 00:35:41,470 >> Więc jeszcze raz, to teraz jest prawdziwy kod, Przykładem języka Przyjdziemy 713 00:35:41,470 --> 00:35:42,770 powrót do przed długi. 714 00:35:42,770 --> 00:35:46,670 Ale sobie sprawę, w szczególności tych, bez takiego doświadczenia, jest dość 715 00:35:46,670 --> 00:35:50,280 tylko, że my sami się pisania kodu jak to tam. 716 00:35:50,280 --> 00:35:54,520 W rzeczywistości, narzędzie, z którym jesteś wszystkim nieco znajomo, być może, jest CS50-tych 717 00:35:54,520 --> 00:35:57,330 shopping własnym polem-narzędzie, które było faktycznie uruchomiony ponownie tego lata przez niektóre 718 00:35:57,330 --> 00:36:01,070 CS50 własnych uczniowie dawnych, teraz z kolei TFS. 719 00:36:01,070 --> 00:36:04,740 >> Tak to bywa zbudowana strona w języku zwanym PHP. 720 00:36:04,740 --> 00:36:08,510 Wykorzystuje bazę danych o nazwie MySQL, rzeczy z którego dostaniemy w swoje ręce 721 00:36:08,510 --> 00:36:10,190 dirty później w semestrze. 722 00:36:10,190 --> 00:36:14,140 Ale wierzcie lub nie, nawet coś jak to w końcu sprowadza się do 723 00:36:14,140 --> 00:36:19,480 Najprostszym pętli i warunków, a oddziałów, podobnie jak widzieliśmy tylko 724 00:36:19,480 --> 00:36:21,530 chwilą w filmie TED. 725 00:36:21,530 --> 00:36:25,180 >> Co pomyślałem, że teraz zrobić, to nie akcja po prostu coś, czego pracownicy sprawili, 726 00:36:25,180 --> 00:36:28,010 na kampusie, ale raczej coś Były student - trzy 727 00:36:28,010 --> 00:36:29,080 studentów, w tym - 728 00:36:29,080 --> 00:36:33,950 wykonane w ubiegłym roku, Sierra, Daniel, i Sam, z których ostatni nie miał przed 729 00:36:33,950 --> 00:36:36,370 programowania doświadczenie kiedy wziął CS50. 730 00:36:36,370 --> 00:36:39,950 I dla ich ostatecznego projektu, to wystawiony, na CS50 Targów 731 00:36:39,950 --> 00:36:43,720 Aplikacja nazywa wrdly, który jest web-based program który zrobili 732 00:36:43,720 --> 00:36:47,670 ten film, że myślałem, że akcja się daje poczucie po prostu to, co jest 733 00:36:47,670 --> 00:36:49,280 można by terminem końcówka. 734 00:36:49,280 --> 00:37:57,170 >> [Odtwarzanie muzyki] 735 00:37:57,170 --> 00:38:00,570 >> DAVID MALAN: To od Tygodnia Zero do 12 tygodnia tego roku przeszłości. 736 00:38:00,570 --> 00:38:05,470 >> [APPLAUSE] 737 00:38:05,470 --> 00:38:09,520 >> DAVID MALAN: Jako teaser też bardzo , aby pobudzić apetyt jest co 738 00:38:09,520 --> 00:38:14,580 możliwe, może widzieliście już, lub może wkrótce zobaczymy, market.cs50.net, a 739 00:38:14,580 --> 00:38:17,710 Nowe narzędzie, że kurs ma zespół pracuje on, tym razem w 740 00:38:17,710 --> 00:38:21,530 współpraca z Harvard Student Agencje, takie, że od tego roku 741 00:38:21,530 --> 00:38:24,980 i nadal mam nadzieję, że do tego nadchodzi lato będziesz miał standard 742 00:38:24,980 --> 00:38:27,890 szansa na kampusie kupić i sprzedaży rzeczy interesujące dla Ciebie. 743 00:38:27,890 --> 00:38:32,220 I partnerstwa przez HSA, będziesz również w stanie upuść elementy off 744 00:38:32,220 --> 00:38:35,950 w jednym z sklepów fizycznych HSA w niektórych w przyszłości, w celu 745 00:38:35,950 --> 00:38:39,150 proxy rzeczy, zwłaszcza pod studia i niekoniecznie chcą 746 00:38:39,150 --> 00:38:44,110 wyrzucić rzeczy, ale w rzeczywistości zapłacić przekazania do ludzi, którzy mogą za Tobą 747 00:38:44,110 --> 00:38:45,270 tutaj, na terenie kampusu. 748 00:38:45,270 --> 00:38:46,740 Tak bardziej na tym, by przyjść. 749 00:38:46,740 --> 00:38:49,830 >> Ale trochę bardziej konkretnie, narzędzie który przyjechał z CS50 w ostatnich 750 00:38:49,830 --> 00:38:52,760 lat, z których część z Was może być zna i inni z was mogą być 751 00:38:52,760 --> 00:38:57,940 guglanie teraz, w CS50.net/2x, będziesz znaleźć link do rozszerzenia Chrome 752 00:38:57,940 --> 00:39:01,250 co jest ekspansywny jak można wykorzystać JavaScript, że sam język mamy 753 00:39:01,250 --> 00:39:06,660 używane z wieży Eiffla chwilą wdrożyć 2x prędkość odtwarzania 754 00:39:06,660 --> 00:39:09,000 dla wszystkich Harvard filmy iSites. 755 00:39:09,000 --> 00:39:11,880 To jest coś, co jest zbudowane do własnego odtwarzacza CS50 na wideo. 756 00:39:11,880 --> 00:39:14,870 Ale to też, jeśli zaczniesz kopać do kodu źródłowego, które my będziemy 757 00:39:14,870 --> 00:39:18,840 chętnie udostępniają, zobaczysz, jak można nawet rozwiązywać problemy, jak to, 758 00:39:18,840 --> 00:39:23,180 przyspieszenie widżety stron internetowych z który jesteś już dobrze znane. 759 00:39:23,180 --> 00:39:26,630 >> Więc słowo teraz na przebieg i oczekiwania i co nas czeka. 760 00:39:26,630 --> 00:39:29,445 Ogólnie rzecz biorąc, my rzeczywiście zebrać tutaj w poniedziałki i środy - choć 761 00:39:29,445 --> 00:39:31,490 w piątek, będziemy zbierać, bo tygodnia handlowe - 762 00:39:31,490 --> 00:39:34,640 1:00 do 14:00, choć czasami aż 02:30. 763 00:39:34,640 --> 00:39:38,700 Biorąc pod uwagę, że może dlatego chcą lub wziąć jakąś klasę w 14:00 764 00:39:38,700 --> 00:39:42,480 naprzód, a nawet wcześniej, zdają sobie Kurs popiera to, co się nazywa 765 00:39:42,480 --> 00:39:45,900 jednoczesne zapisy, zgodnie z którą my będziemy obsługuje petycję do zarządu reklam i 766 00:39:45,900 --> 00:39:49,400 Twój mieszkaniec dziekanów w Twoim imieniu, jeśli masz konflikt gdzieś w tym 767 00:39:49,400 --> 00:39:50,790 01:00 do 02:30 zakres. 768 00:39:50,790 --> 00:39:54,110 Head to, że w Internecie URL dla dodatkowe szczegóły. 769 00:39:54,110 --> 00:39:57,750 >> Jednak z punktu widzenia konstrukcji wsporczej który charakteryzuje CS50, dla studentów 770 00:39:57,750 --> 00:40:01,750 bardziej i mniej wygodne podobnie, my oferują różne ślady sekcji. 771 00:40:01,750 --> 00:40:04,730 A to kilka tygodni off, ale Wkrótce pojawi się pytanie, jak do 772 00:40:04,730 --> 00:40:05,770 Twój poziom komfortu. 773 00:40:05,770 --> 00:40:08,590 Czy wśród tych mniej wygodne, bardziej komfortowe, lub 774 00:40:08,590 --> 00:40:10,520 gdzieś pomiędzy? 775 00:40:10,520 --> 00:40:13,150 >> I będziemy mieć trzy odrębne utworów, które zaspokajają 776 00:40:13,150 --> 00:40:14,470 właśnie te publiczność. 777 00:40:14,470 --> 00:40:17,900 Więc w żadnym momencie trwania należy nawet poczuć się jak konkurencyjne 778 00:40:17,900 --> 00:40:21,390 wobec każdego ucznia z więcej lub mniej biały niż ty. 779 00:40:21,390 --> 00:40:24,160 Rzeczywiście, kurs ma być znacznie więcej i znacznie współpracy 780 00:40:24,160 --> 00:40:25,650 bardziej otwarte niż to. 781 00:40:25,650 --> 00:40:29,030 >> Jeśli chodzi o zestawy zadań, które będziesz znaleźć również, że oprócz 782 00:40:29,030 --> 00:40:32,130 Standardowa wersja problemu każdego tygodnia ustawić, jest często "haker 783 00:40:32,130 --> 00:40:37,010 edition ", który miał być skierowany w 5% do 10% albo tak 784 00:40:37,010 --> 00:40:40,270 demograficznym, który jest rzeczywiście wśród tych bardziej komfortowe i chciałby więcej 785 00:40:40,270 --> 00:40:43,960 z wyzwaniem niż średnia edycja tego Pset oczekuje. 786 00:40:43,960 --> 00:40:46,390 Więcej szczegółów na temat tych, które zostaną się w programie nauczania. 787 00:40:46,390 --> 00:40:49,430 >> Ale także tam można znaleźć szczegóły na kursach późno dzień. 788 00:40:49,430 --> 00:40:51,570 Zazwyczaj problemem ustawia spowodowane są w czwartki. 789 00:40:51,570 --> 00:40:55,550 Można jednak rozszerzyć wiele swoich Terminy ten spadek od czwartku do 790 00:40:55,550 --> 00:41:00,010 Piątki po prostu przez nas w połowie drogi, spotkanie że tak powiem, odpowiadając na kilka rozgrzewka 791 00:41:00,010 --> 00:41:03,370 Pytania zawarte w niektórych z tygodnia problemu Zestawy, które automatycznie 792 00:41:03,370 --> 00:41:05,710 następnie daje dodatkowe 24 godzin. 793 00:41:05,710 --> 00:41:09,120 Będziemy również upuść najniższy wynik, jak w programie nauczania. 794 00:41:09,120 --> 00:41:12,170 >> To daje poczucie tego, co problemem zestawy są - bo to rzeczywiście 795 00:41:12,170 --> 00:41:15,120 Kurs jest problemem ustala, że ostatecznie określić prawie każdy 796 00:41:15,120 --> 00:41:18,760 doświadczenia studenta, bardziej niż wykłady, bardziej niż sekcjach, więcej 797 00:41:18,760 --> 00:41:21,230 tak, niż większość innych aspektem przedmiotu. 798 00:41:21,230 --> 00:41:25,140 W ubiegłym roku, na przykład, że rozpoczęła się, jak zaczniemy w tym roku, z początku. 799 00:41:25,140 --> 00:41:29,150 Szczególnie ten piątek, użyjemy, na tylko jeden dzień razem, graficzny 800 00:41:29,150 --> 00:41:32,260 język programowania, w którym będziesz rozpocząć programowanie przez przeciąganie i 801 00:41:32,260 --> 00:41:37,580 upuszczając elementy układanki, które tylko montaż fizycznie czy to ma sens 802 00:41:37,580 --> 00:41:38,990 do tego logicznie. 803 00:41:38,990 --> 00:41:43,460 >> W przyszłym tygodniu dowiemy się szybko przejście do C, dość stary, ale bardzo małe i 804 00:41:43,460 --> 00:41:48,510 prosty język, który pozwoli nam na naprawdę go od 0 do 60 w ciągu 805 00:41:48,510 --> 00:41:52,290 od kilku tygodni, a następnie parlay te same umiejętności i wiedzę 806 00:41:52,290 --> 00:41:56,160 podstawowe konstrukcje programistyczne do Języki wyższego poziomu, takich jak PHP, 807 00:41:56,160 --> 00:41:58,240 JavaScript, a jeszcze inni wciąż. 808 00:41:58,240 --> 00:42:02,560 >> W zeszłym roku, trzecia pset w toku było to, że z kryptografii, 809 00:42:02,560 --> 00:42:06,380 specyficzne dla domeny aplikacji, poprzez który Kwestionowane studentów realizacji wszelkich 810 00:42:06,380 --> 00:42:11,140 liczba cyfr, programy, z którymi wspiąć lub rozszyfrować informacje, 811 00:42:11,140 --> 00:42:11,880 do zaszyfrowania. 812 00:42:11,880 --> 00:42:16,300 Dla edycji hakera, Natomiast Daliśmy uczniom hakera plik 813 00:42:16,300 --> 00:42:19,900 ze standardowym komputerze Unix zawierającej nazwy użytkownika i hasła, 814 00:42:19,900 --> 00:42:22,740 Ten ostatni z nich były kodowane, i zakwestionował te hakera 815 00:42:22,740 --> 00:42:26,850 studentów do odszyfrowania, jak mogli, te hasła, nadal na tym 816 00:42:26,850 --> 00:42:27,770 same domeny. 817 00:42:27,770 --> 00:42:30,580 >> Scramble, gra z których niektóre z was są chyba znane. 818 00:42:30,580 --> 00:42:34,410 Piece kryminalistyki, gdzie pytamy studentów do odzyskiwania danych, które zostały 819 00:42:34,410 --> 00:42:38,530 w przeciwnym razie usunięte z mojego cyfrowego Karta Compact Flash kamery, by 820 00:42:38,530 --> 00:42:42,740 rzeczywiście pisanie oprogramowania, aby dowiedzieć się, gdzie były zera i jedynki w 821 00:42:42,740 --> 00:42:46,850 że aparat cyfrowy, który wcześniej składa grafikę JPEG? 822 00:42:46,850 --> 00:42:49,710 >> Swego rodzaju wyzwanie w zeszłym roku udziałem piśmie najszybciej 823 00:42:49,710 --> 00:42:53,160 Sprawdzania pisowni jest to możliwe, konkurujących z przyjaciółmi i kolegami z klasy, jeśli 824 00:42:53,160 --> 00:42:53,860 że im się podoba. 825 00:42:53,860 --> 00:42:56,330 Realizacja Puff Huff 'N, program do kompresji. 826 00:42:56,330 --> 00:43:01,930 A potem kończy semestr z CS50 Finanse, aplikacja internetowa z 827 00:43:01,930 --> 00:43:06,570 które należy utworzyć stronę podobną etrade kupować i sprzedawać akcje, tak aby 828 00:43:06,570 --> 00:43:09,860 mówić, by rzeczywiście ciągnąc prawie Yahoo! w czasie rzeczywistym notowania 829 00:43:09,860 --> 00:43:10,450 Finanse. 830 00:43:10,450 --> 00:43:13,590 >> Co nie zrobiliśmy w zeszłym roku jeden problem, który pozostaje set 831 00:43:13,590 --> 00:43:14,810 jednak faworytem. 832 00:43:14,810 --> 00:43:18,400 Jeśli nigdy nie poszedł do shuttle.cs50.net zobaczysz użytkownika 833 00:43:18,400 --> 00:43:19,670 interfejs trochę tak. 834 00:43:19,670 --> 00:43:23,530 Ale dwa lata temu, klasa realizowane za pomocą Google Maps i 835 00:43:23,530 --> 00:43:28,570 Google Earth wtyczki i trochę z doświadczonych z jazdy po terenie kampusu, 836 00:43:28,570 --> 00:43:33,290 tak, że celem tej gry było, jak widać niektóre twarze, 837 00:43:33,290 --> 00:43:37,530 jest do jazdy po kampusie szuka pracownicy, koledzy nauczania i CAS, i 838 00:43:37,530 --> 00:43:40,080 Gdy to zrobisz, umieszczając je na swój autobus. 839 00:43:40,080 --> 00:43:44,035 Żaden z nich w rzeczywistości wydają się być tutaj, więc mamy zamiar wprowadzić oszustwo kod. 840 00:43:44,035 --> 00:43:47,150 >> [Śmiech] 841 00:43:47,150 --> 00:43:48,430 >> DAVID MALAN: Nie pójdziemy. 842 00:43:48,430 --> 00:43:49,240 Dobrze. 843 00:43:49,240 --> 00:43:51,750 I tu teraz jest personel splecione w całym kampusie. 844 00:43:51,750 --> 00:43:54,530 I jak widać, na prawej stronie ekranu, autobus 845 00:43:54,530 --> 00:43:55,510 ma pustych miejsc. 846 00:43:55,510 --> 00:43:59,000 A celem było napisanie Kod, z którym do symulacji tego 847 00:43:59,000 --> 00:44:01,790 jazdy i podnoszenia i upuszczania off pasażerów. 848 00:44:01,790 --> 00:44:04,960 Że jeden też za pomocą języka nazywa JavaScript. 849 00:44:04,960 --> 00:44:10,030 Więc sobie sprawę, że programy jak to będzie na naszej samej trajektorii tego 850 00:44:10,030 --> 00:44:10,910 roku, a także. 851 00:44:10,910 --> 00:44:13,640 >> W zakresie, teraz, dodatkowego wsparcia, mamy godziny pracy. 852 00:44:13,640 --> 00:44:16,520 Jak można się zobaczyć w swoim własnym domu stołówce lub w Annenberg, 853 00:44:16,520 --> 00:44:19,280 będziemy w jadalni domu hale cztery noce w tygodniu - 854 00:44:19,280 --> 00:44:24,450 Leverett, Pfoho, Eliot i Annenberg w tym roku, 20:00 do 23:00. 855 00:44:24,450 --> 00:44:26,830 A co myśleliśmy, że będziemy robić w tym roku to coś trochę innego. 856 00:44:26,830 --> 00:44:29,650 >> Jeśli słychać pomruki w zeszłym roku, że to było trochę zbyt stresujące, to 857 00:44:29,650 --> 00:44:32,800 roku w godzinach pracy urzędu, jak opiszemy w przyszłym tygodniu, będzie bardziej organiczny, 858 00:44:32,800 --> 00:44:36,900 przy czym po przyjeździe, będziesz wysyłane do jednego konkretnego tabeli 859 00:44:36,900 --> 00:44:39,860 gdzie wielu pracowników czekają, i będziemy robić rzeczy o wiele bardziej 860 00:44:39,860 --> 00:44:40,440 ekologicznymi. 861 00:44:40,440 --> 00:44:43,740 No more kolejki, nie więcej iPad, ale raczej bardziej kameralny 862 00:44:43,740 --> 00:44:47,300 rozmowami na stole tylko osiem lub tak studentów, tak że 863 00:44:47,300 --> 00:44:50,880 przybliżeniu dotyk, co w przeciwnym razie byłoby znacznie mniejsze klasy. 864 00:44:50,880 --> 00:44:54,120 >> Oferujemy, oraz, te rzeczy, które zwane solucje, filmy kręcone w 865 00:44:54,120 --> 00:44:57,330 przejść przez jednego przedmiotu nauczania koledzy, Zamyla, w którym 866 00:44:57,330 --> 00:45:00,690 poprowadzi Cię przez tydzień problemu zestawy, oferujące porady i wskazówki dla 867 00:45:00,690 --> 00:45:02,640 wyzwania, które nadejdą. 868 00:45:02,640 --> 00:45:06,230 I odwrotnie, po zestawy zadań są powodu, w tym roku, będziemy również zwolnić 869 00:45:06,230 --> 00:45:09,100 małe klipy zadzwonić badań sekcyjnych, które faktycznie przejść przez 870 00:45:09,100 --> 00:45:13,630 Rozwiązania reprezentatywne, zarówno dobre, jak i źle, za pośrednictwem którego można wywnioskować, jak 871 00:45:13,630 --> 00:45:17,550 można mieć lub powinny mieć wdrożone własne rozwiązanie. 872 00:45:17,550 --> 00:45:20,500 >> I co my oferujemy po raz pierwszy w tym roku, jak również, w szczególności 873 00:45:20,500 --> 00:45:23,420 dla studentów, którzy skorzystanie Kurs z Inne 874 00:45:23,420 --> 00:45:28,580 zasobów, ale jednak mają trudności zbyt wiele, kurs 875 00:45:28,580 --> 00:45:33,030 będzie się powiązać tych studentów, jak pozwalają na to zasoby, z nauczycielami, aby 876 00:45:33,030 --> 00:45:35,840 masz o wiele bardziej kameralny okazja niż salach domu gastronomicznych 877 00:45:35,840 --> 00:45:38,700 umożliwienia pomocy jeden na jeden. 878 00:45:38,700 --> 00:45:42,780 >> Teraz ostateczna spojrzenie na niektóre z gier końca. 879 00:45:42,780 --> 00:45:44,580 Możecie znać CS50 hackathon. 880 00:45:44,580 --> 00:45:48,120 Cóż, nadchodzi ta grudnia od 08:00 PM do godziny 7.00, na początku 881 00:45:48,120 --> 00:45:51,410 Czytanie terminie, będzie okazją zebranie z kolegami - 882 00:45:51,410 --> 00:45:53,130 byłoby to około 21:00 - 883 00:45:53,130 --> 00:45:56,550 , podczas którego można nurkować w nasze ostateczne Realizacja projektu wraz 884 00:45:56,550 --> 00:45:59,910 koledzy, przyjaciele i jedzenie. 885 00:45:59,910 --> 00:46:03,680 To będzie około 01:00, kiedy Pierwsza partia żywności przybył. 886 00:46:03,680 --> 00:46:08,470 I to jest o 04:00, że zwłaszcza lat na CS50 hackathon. 887 00:46:08,470 --> 00:46:12,000 >> Ale prawdziwym punktem kulminacyjnym jest oczywiście przeznaczona na targi CS50, campus-wide 888 00:46:12,000 --> 00:46:15,790 wystawa własnych projektów końcowych, , do której rodzina i przyjaciele są 889 00:46:15,790 --> 00:46:18,730 zaproszone naszych rekruterów i nasi przyjaciele z branży. 890 00:46:18,730 --> 00:46:22,170 To, na przykład, jest spojrzenie 2000-plus ludzie, którzy uczestniczyli 891 00:46:22,170 --> 00:46:23,160 ostatnich lat. 892 00:46:23,160 --> 00:46:27,180 Wyrażenia takie jak ten nie są rzadkie, i podobnie zrobić swoje 893 00:46:27,180 --> 00:46:29,660 koledzy rozkoszować się rzeczy już zrealizowane. 894 00:46:29,660 --> 00:46:33,170 >> I rzeczywiście, w stronę tego celu, mamy start-of-term wydarzenie, jak również. 895 00:46:33,170 --> 00:46:37,400 Jeśli takie rzeczy apelem do was, lub jesteś przynajmniej ciekaw, co 896 00:46:37,400 --> 00:46:41,590 to, że nowa tradycja Kurs nazywa CS50 Puzzle Day. 897 00:46:41,590 --> 00:46:45,710 I to zostało wszczęte kilka lat temu naprawdę sygnał do kampusu 898 00:46:45,710 --> 00:46:48,930 że ekonomia nie jest o programowania, a to na pewno nie 899 00:46:48,930 --> 00:46:51,960 o obejmującego tylko te uczniowie , którzy mają wcześniejsze doświadczenie. 900 00:46:51,960 --> 00:46:54,200 Tak naprawdę chodzi o rozwiązywanie problemów bardziej ogólnie. 901 00:46:54,200 --> 00:46:57,360 >> I tak Puzzle dni, w ciągu ostatnich kilku lat, przekształciła się ładny 902 00:46:57,360 --> 00:47:00,500 Partnerstwo z naszymi przyjaciółmi w Facebook, w której nie będę fantastyczny 903 00:47:00,500 --> 00:47:04,830 nagrody i pizza po drugiej stronie rzeki w i-lab najbliższą sobotę. 904 00:47:04,830 --> 00:47:09,180 Udaj się do tego adresu URL z dwóch lub trzech przyjaciele, jeśli chcieliby Państwo uczestniczyć 905 00:47:09,180 --> 00:47:10,830 w tej nowej tradycji. 906 00:47:10,830 --> 00:47:14,180 >> Więc chciałbym prosić, aby zachować jeden rzecz w umyśle, a my mamy tylko 907 00:47:14,180 --> 00:47:17,070 dwa minuta klip, na którym zamknąć dzisiaj. 908 00:47:17,070 --> 00:47:19,640 73% jest liczbą do zapamiętania. 909 00:47:19,640 --> 00:47:23,900 Ciasto też będzie czekają poza tym transept jak odroczyć się tylko 910 00:47:23,900 --> 00:47:26,710 Kilka chwil, które jest tradycja kursu, jak również. 911 00:47:26,710 --> 00:47:29,860 Ale to jest klucz cytat Program nauczania Kursu pamiętać. 912 00:47:29,860 --> 00:47:32,820 Co ostatecznie liczy się w tym kursie nie jest tak dużo, w którym kończy się 913 00:47:32,820 --> 00:47:36,580 w stosunku do swoich kolegów, ale gdzie Państwo, w 12. tygodniu, kończy się w stosunku do 914 00:47:36,580 --> 00:47:37,960 samemu w tygodniu 0. 915 00:47:37,960 --> 00:47:43,670 >> Ale spojrzenie, że zostawimy cię z dzisiaj jest ta ostatnia tutaj 916 00:47:43,670 --> 00:47:47,580 przez naszego samym Daniela, który zrobił wrdly video przed chwilą. 917 00:47:47,580 --> 00:47:50,000 Zostawiam was z tym spojrzenie z tego, co nas czeka. 918 00:47:50,000 --> 00:47:53,360 A jak to zrobić, czy możemy mieć CS50 Pracownicy z przodu sali 919 00:47:53,360 --> 00:47:57,280 przyjść na na scenę malować wszystko raczej wizualną obrazu, aby 920 00:47:57,280 --> 00:47:59,100 co cię czeka w tym roku - 921 00:47:59,100 --> 00:48:00,350 się niezręcznie. 922 00:48:00,350 --> 00:48:02,200 923 00:48:02,200 --> 00:48:05,188 Będziemy zawrzeć z tym tutaj na ekranie. 924 00:48:05,188 --> 00:48:18,634 >> [Odtwarzanie muzyki] 925 00:48:18,634 --> 00:48:21,124 >> DAVID MALAN: To CS50. 926 00:48:21,124 --> 00:50:00,226 >> [MUZYKA - MATT & KIM, "W porządku"] 927 00:50:00,226 --> 00:50:03,245 >> SPEAKER 1: Kocham CS50 więcej niż koty. 928 00:50:03,245 --> 00:50:06,030 >> Głośnik 2: Whoaaaa! 929 00:50:06,030 --> 00:50:06,990 >> [Śmiech] 930 00:50:06,990 --> 00:50:08,140 >> DAVID MALAN: To, to, to CS50. 931 00:50:08,140 --> 00:50:10,050 Do zobaczenia w piątek. 932 00:50:10,050 --> 00:50:13,370 >> [APPLAUSE radości!] 933 00:50:13,370 --> 00:50:17,540 >> Narrator: Na następnym CS50, na scenie demo nie idzie zgodnie z planem. 934 00:50:17,540 --> 00:50:19,080 >> DAVID MALAN: Chcemy znaleźć Mike Smith w książce telefonicznej. 935 00:50:19,080 --> 00:50:20,380 Cóż, jakie są Twoje instynkty? 936 00:50:20,380 --> 00:50:23,750 Mogę skakać mniej więcej do połowy książka telefoniczna, spojrzał w dół, widać, że 937 00:50:23,750 --> 00:50:26,830 Jestem na M, a teraz wiem, że Mike Smith nie jest na lewo. 938 00:50:26,830 --> 00:50:27,840 Musi być w prawo. 939 00:50:27,840 --> 00:50:30,515 A więc w tym momencie, możemy może dosłownie wyrwać - 940 00:50:30,515 --> 00:50:33,300 w tym momencie, możemy dosłownie oderwać - 941 00:50:33,300 --> 00:50:36,490 w tym momencie, możemy przenośni rozerwać książkę telefoniczną na pół. 942 00:50:36,490 --> 00:50:38,954 >> [UKELELE bicie]