[Odtwarzanie muzyki] [MUZYKA - Rossiniego, "Ranz DES Vaches "z William Tell] MUSIC [- ENGLISH BEAT "MARZEC Z głowy "skrętnej] [APPLAUSE radości!] DAVID MALAN: Więc to jest CS50. Nazywam się David Malan. A 73% z was nie mają wcześniejszego doświadczenia z informatyki, wbrew temu, co myślisz. Więc dzisiaj myśleliśmy, że Chip Away w tym brak znajomości, ale także daje poczucie, dla tych z Was, więcej komfortu, które kierunki można iść w tym semestrze. Więc zacznijmy od tego. I naprawdę nie wiem, co jest w środku komputer, nawet jeśli, tak jak ty, ja używać go na co dzień. Ale to jest coś w rodzaju pudełka, a tam nie wiele wejść do niego. Praktycznie, nie ma, co? Prawdopodobnie kabel zasilający. I rzeczywiście, z tego jednego składnika, energii elektrycznej, ale wydają się być zdolne robi się trochę w tych dniach. A na koniec dnia, że mają reprezentować rzeczy że zależy nam. Mamy do reprezentowania informacji w innej formie. A ty jesteś zapewne przynajmniej niejasno zaznajomieni z ideą przez binarne lub bity czy inny sposób, komputery zredukowana do zer i jedynek. Ale możemy przyjąć, że i co najmniej włożyć nieco światła na to? Więc mam te małe lampy biurkowe tutaj. I ma gniazdka elektrycznego tutaj. I mam zamiar zaproponować, że w środku z mojego komputera jest co najmniej jeden z te rzeczy, coś stanie z jest włączone lub wyłączone. W tym przypadku jest to rzeczywiście lampy biurko, ale na niższym poziomie, to jest coś nazywa tranzystor. Ale w naszym świecie, to biurko lampy, więc Mam zamiar iść do przodu i podłączyć to do mojej energii elektrycznej tutaj. I twierdzą, że za pomocą tego prostego, proste urządzenie, ten prosty przełącznik, I może reprezentować informacji. Na przykład, w tej chwili, jestem reprezentujących nic, prawda? Jestem reprezentujących co Zadzwonię 0 lub false, naprzeciwko czegoś rzeczywiście jest obecny. Ale jeśli po prostu przełącznik ten, teraz mam reprezentował 1. Tak więc za pomocą tego bardzo prosty kawałek pamięci, jeśli chcesz, mogę reprezentować informacje. Teraz, niestety, mój komputer może nie aż tak dużo. To może reprezentować tylko dwie wartości na całym świecie - 0 lub 1. Ale to, co jest oczywiste rozwiązanie, teraz, jeśli chcemy rozszerzyć nasz komputer pamięć i stanowią więcej niż tylko 0 i 1? Cóż, chwyć kolejny taki kawałek. Chcę złapać kolejny przełącznik, inny tranzystorowe, jednak chcesz o tym myśleć. Pozwólcie mi iść do przodu i podłączyć to do mojego komputera, jak również. A ja zamierzam twierdzić, teraz, że przez używając nieco więcej energii elektrycznej i toczenia z tych przełączników on i off, mogę reprezentować więcej takich informacje. Więc teraz, to jest 1. Jeśli chcę się teraz reprezentują 2, może to zrobić. Ale zazwyczaj, konwencji, jak my będziemy w końcu zobaczyć, będzie mi to zrobić. Tak to jest 0, to 1. To byłoby 2. I nie jest zaskakujące, to byłoby 3. Tak więc w ten sposób, jeszcze, można liczymy się jeszcze dalej? Jeśli dostanę trzeci kawałek, przełącznik, trzeci , co jest najwyższą liczbę mogę teraz liczyć maksymalnie od 0? Więc 7 czy jestem już od 0, prawda? Bo jeśli się zwrócić tę światło na i faktycznie podłączyć ten trzeci i ostatni światło do mojego gniazdka tutaj, to mam zdolność do reprezentowania żadnych z dwóch wartości tutaj, dwie wartości tu dwie wartości tutaj - i tak mogę reprezentować 2 razy 2 razy 2, lub osiem możliwych wartości. A jeśli zacznę rachunkowości na 0, więc to jest 0, 1, 2, 3, 4, 5, 6, 7. Więc to binarny. To naprawdę jest takie proste. A ja twierdzą, że jest to rzeczywiście bardzo znany większości wszyscy w tym pokoju. Pozwólcie mi iść do przodu i otworzyć mały edytor tekstu tutaj. A może pamiętacie z podstawówki że mieliśmy takie rzeczy jak setki miejsce, miejsce dziesiątki, i te miejsce. I przypominają, że jeśli miał jakiś przecinek Numer, jak coś losowego jak 123, to byłoby w istocie zapisu, która w formie z trzech kolumn. I dlaczego jest 1, 2, 3, co wiemy, jak 123? Cóż, w skrajnej lewej kolumnie, mamy jeden 100 plus dwa 10s, więc to jest 120, Plus trzy 1s, więc to 123. Teraz ten świat, że właśnie świeci jest dokładnie taki sam, jak byłeś zna od lat, z wyjątkiem teraz, nasze kolumny nie kompetencji 10. Oni są tylko uprawnienia 2. Tak więc mając na uwadze, że to miejsce, te, ta będzie dwójki miejsce, to jest będzie miejsce czwórki. A ponieważ jestem tylko przy użyciu najprostszych mechanizmów kolei rzeczy on i off - prąd płynie lub prąd nie płynie - I nie bardzo mają same wyraziste Zakres jako 0 do dziewięciu. Zamierzamy utrzymać to super proste w świecie komputerów. Mam tylko 0 lub 1 - lub wyłączyć, fałszywe lub prawdziwe. A więc, co mam teraz reprezentujące Jest 1, 1, 1, ponieważ każda z nich światła świeci. Dobrze, że daje mi jeden 4 plus jeden 2, więc to 6 plus jeden 1, i to jest 7. I ergo robi to sekwencja trzech bity reprezentują liczbę 7. Więc cały ten czas, wewnętrznej stronie Komputer, być dowolna liczba tranzystory, dowolną liczbę bitów. A na koniec dnia, że mogą stanowić informacje jak po prostu jak. Teraz, niestety, mamy tylko liczy do 7 w CS50 tak daleko, ale mam nadzieję, że możemy zrobić trochę lepiej. I rzeczywiście możemy. Załóżmy, że my, jako ludzie, po prostu arbitralnie zadecydował, że będziemy skojarzyć numer 1 jak i 2, 3, 4, 5, 6, 7, w określonych liter alfabet. I ze względów historycznych, mam zamiar początku nieco arbitralnie, ale jestem powiedzieć, ludzi, będziemy zdecydować, jako standard, na całym świecie, że 65 oznacza liczbę litery A. 66 będzie reprezentować B. kropka kropka, kropka. 90 będzie reprezentować Z. się I załóżmy, jeśli naprawdę umieścić niektóre że do niego, możemy wymyślić z numerów wykrzykników i małych liter, i rzeczywiście, inni zrobili to za nas. Więc teraz mieliśmy bitów, z którymi możemy stanowią numery, numery, z którymi możemy reprezentują litery, i litery możemy zacząć komponować maile i znaki drukarskie na ekranie. Więc daj mi zaproszenie, gdybym mógł, osiem odważnych ochotników - którzy nie przeszkadza pojawiać nie tylko w aparacie, ale w Internecie - przyjść tutaj i reprezentować osiem takich bity, a nie tych trzech. Tak jak o jeden, dwa? Jak o trzy? Jak o cztery w świetle niebieski, pięć na koniec? O kogoś tutaj? Sześć z przodu, siedem z przodu, oraz osiem z przodu, a także. Więc po prostu tak się przyjść przygotowany z całą bandą karteczkach. I na tych karteczkach są numery , które stanowią, co kolumny chłopaki będą reprezentować. Tak będzie - jak masz na imię? STUDENT: Anna Leah. DAVID MALAN: Anna Leah, ty będzie 128S kolumny. Jesteś? STUDENT: Chris. DAVID MALAN: Chris będzie być 64s kolumna. Jesteś? STUDENT: Dan. DAVID MALAN: Dan będzie być 32s kolumna. STUDENT: Pramit. DAVID MALAN: Pramit będzie być kolumna 16s. STUDENT: Lillian. DAVID MALAN: Lillian będzie 8s. STUDENT: Jill. DAVID MALAN: Jill będzie być 4s kolumna. STUDENT: Mary. DAVID MALAN: Mary będą 2s, i? STUDENT: David. DAVID MALAN: David będzie być 1s kolumna. Jeśli więc wy może zwiększyć trochę do przodu, tak, że każdy może zobaczyć. Co wy nie widzisz, że on z powrotem z tych karteczkach jest trochę ściągawki, że o to, aby polecić te osiem bitów albo podnieść rękę czy nie podnieść rękę. Jeśli ich strony idzie w górę, są stanowi 1. Jeśli ich ręka pozostaje w dół, są one co stanowi 0. Tymczasem widzowie powinni być w stanie dowiedzieć się, na podstawie tego mapping, co trzy-letter word nich ludzie są o sprecyzowanie. Więc za chwilę, będziesz Przeczytaj pierwszą linię off z tyłu Twój Ściągawka i jesteś albo zamierza podnieść czy nie podnieść rękę. Jeśli jesteś 1, można podnieść, jeśli jesteś 0, stoisz tam niezgrabnie, tak po prostu. Idź. Jaki numer, a przede wszystkim, są ci goście reprezentujący? 66. 66, prawda? Mamy 1 w 64s kolumnie, 1 w kolumnie 2s. To daje mi 66, tak, że pojawia się do reprezentowania B. So chłopaki wpisany - OK, wystarczy. B. Więc teraz przejdźmy na nasz drugi list. Idź. Kto jest najszybszy w matematyce tutaj? Więc 79. Ponownie, jeśli zsumujemy wszystkie kolumny w którym jest 1, obecnie, po prostu tak jak to robiliśmy wcześniej z najprostszych przykładów 7, teraz uzyskać numer 79. Który według naszych map jest List O. Tak więc jesteśmy prawie na miejscu. B, O. I wreszcie udać. Co oni reprezentujący teraz? Mniej konsensus. To jest po prostu absolutna szmer. Tak, to w rzeczywistości 87. Dobra. Więc jeśli teraz map to z powrotem do - miejmy dzwoń nasz ASCII wykresu American Standard Code dla Information Interchange. To daje nam list - nie "bo", ale "łuk". I to jest doskonały cue dla was, aby ukłonić i głowy na plecy. Dziękuję bardzo. [APPLAUSE] DAVID MALAN: Możesz zachować je. Choć rzeczywiście, ktoś miałby jak lampa, biurko, a także? [HOOT z widowni] DAVID MALAN: Lampa biurkowa? [Śmiech] DAVID MALAN: Naprawdę? Lampy biurkowe dla wszystkich? Dobrze. Tak więc zaczynając bardzo najprostszych zasady, mamy teraz nie tylko liczy się od 0, aż do 7, mamy Zakłada się, że po prostu rzucając więcej bitów lub więcej światła lub więcej tranzystorów w tym problem, możemy stanowią coraz większe liczby, a ergo, większe i większe zakresy alfabety, jak angielski. I tak weźmy na wierze na dziś że podobnie możemy zacząć stanowią grafiki i wideo oraz wszelkich liczba innych mediów, które nam znane dzisiaj. Więc to jest CS50, w tej klasie wraz z was są, ponownie, bardzo wiele koledzy, którzy mają tak mało doświadczyć, jak ty. A wspominam o tym tylko dlatego, że dość często, w tym ostatnio w jednym z studiów wydarzeń i na doradztwo wiosną ubiegłego roku w drugim roku doradzanie Impreza, często słyszymy studentów zrzekają kiedy zbliża się do stołu CS, dobrze, Myślałem o zrobieniu tego klasa wstęp, ale nie jestem Osoba komputer. Albo, ale każdy z pewnością wie więcej niż ja. A Ja to w największej czcionki możliwe, aby przekazać ten komunikat to nie jest w rzeczywistości sprawy. A jeśli zastanawiacie się, o I, w rzeczywistości, być tu? Uświadom sobie, że nie tylko jest to kurs tych Wprowadzenie tytuł do komputera Science, jest wprowadzenie do komputera Nauka I. Tak więc jest rzeczywiście Drugi takie wprowadzenie. Więc nie jesteś w rzeczywistości, w niewłaściwym miejscu. A wśród celów mam na dziś to aby rozwiać wszelkie takie, dotyczy ciebie może mieć, ale także do malowania obraz tego, co jest w sklepie dla uczniów mniej i bardziej komfortowe zarówno w tym kursie. Ale najpierw słowo na jednej z ulotek masz dzisiaj, wśród których kilka najczęściej zadawanych pytań. To była wizja naszego jakiegoś czasu teraz wprowadzić nową klasyfikację opcja do tego kursu - mianowicie, SAT / UNSAT. Filozoficznie dla mnie, to jest o wiele, o wiele bardziej ważne, że uczniów w tej klasie zaangażować materiał, być kwestionowane przez Materiał i martwić o wiele, wiele mniej o mechanika rzeczywistych wyników i Ratingi w semestru end, ale naprawdę ogarnąć Kurs i jego materiał. A tak naprawdę to czuje, bardziej ogólnie, za to, co jest interesujące dla nich, czuć zakwestionowane i nagradzane, ale bez strachu przed porażką. I rzeczywiście, to też jest powracającym Tematem w tym i innych wprowadzenie kursy w innych dziedzinach, które trzeba ten niepokój, jeśli chodzi o oddanie swoich palców w nieznanych wodach. Ja sam, w 1995 roku, był studentem pierwszego roku. Byłem bardzo koncentruje się na byciu Koncentrator Gov tutaj. A przecież ja zawsze dorastali przy odrobinie interesu w dziedzinie informatyki. Zawsze byłem ciekaw. Ale wtedy, nawet miałem ten strach nawet wzmocnienie stóp w CS50, tyle tak, że nawet nie sklep to na pierwszym roku. I tylko dlatego postawił stopę w roku student drugiego roku, bo drzwi były zdecydował, że pass / fail. Ale nawet przeszedł / nie wymaga się, aby uzyskać się na odwagę, by umówić się na spotkanie z prof Kernehan w momencie, przyniesie to duży arkusz papieru i poproś go za jego podpisem i jego uprawnienie do zbadania tych nieznanych wodach. I nie pomagał w ostatnich latach że gdy w ten sposób w CS50, kiedy Kiedyś zaliczono / nie, podobnie byłoby dziesiątki lub setki kolegami wymyślić, nie daj Boże, na Przód Sanders z tej formy, która w niektórych umysłach oznacza niemożność, Śmiem twierdzić, aby wykonać są na poziomie swoich rówieśników. Co jest śmieszne, ale uważam, że jest, że mentalność. I nigdy nie było w tej kulturze z SAT / UNSAT lub pass / fail więcej ogólnie, w tym oczywiście czy naprawdę na tej uczelni. Tak więc w tym roku zmieniliśmy to. Byłbym ekstatyczny połowa ta klasa lub więcej zakończony podejmowania CS50 SAT / UNSAT. W roku czasu, to byłoby cudowne jeśli prawie wszyscy. Później być może będziemy pracować w klasach list na Harvardzie College bardziej ogólnie. Ale teraz, zrobimy to w ramach naszych własnej kuli, a ja serdecznie Zachęcamy do przejrzenia te najczęściej zadawane pytania i zadawać pytania jak uważasz, tak że miejmy nadzieję, że, w przeciwieństwie do mnie, nie dość mają ten sam czynnik strachu, gdy odkrywania tego, co prawdopodobnie nieznane miejsce. Więc co jest CS50? To jest wprowadzenie do przedsiębiorstwa komputera intelektualnej nauka i sztuka programowania. Ale co to tak naprawdę oznacza? Cóż, jak dotąd, rozmawialiśmy bardzo krótko o przedstawianie informacji. Ale załóżmy, że naprawdę chcemy aby coś z tym zrobić. Musimy wprowadzić pojęcie to, co my nazywamy algorytm. Algorytm jest procedura, proces, Zestaw instrukcji robić coś. I algorytm może być coś super proste. Na przykład, przykład z których niektóre z możesz znać to rzeczą. Tak więc książka ta tutaj jest coraz bardziej dnia, ale raz na jakiś czas, to zawierał mnóstwo nazwisk i numery telefonów. I rzeczywiście, jeśli chcę znaleźć ktoś w tej książce telefonicznej - powiedzmy, kogoś o imieniu Mike Smith - Udało mi się znaleźć Mike Smith w dowolnej liczbie sposobów dość proste. Mógłbym zacząć od początku i przejść do strony 1, nie istnieje. Strona 2, nie istnieje. Page 3. Czy to algorytm, który jest proces, prawda? Tak więc prawdą jest, prawda? Jestem idiota by to zrobić w że sposób, ale w końcu będę znaleźć nazwisko S, i mam nadzieję, że Mike jest w tej sekcji, a ja się zrobić z moim algorytmu. Ale na pewno nie jest to intuicyjne. Większość każdy rozsądny człowiek w tym Pokój nie zrobiłby tego. Co byś zrobił? Można by pójść prosto w środku, prawda? Mniej więcej do połowy. I zdajesz sobie sprawę, oh, to Pani Więc Mike Smith, nazwisko jest Smith, Nie jest, oczywiście, a następnie w lewa połowa książki. On musi być w kierunku S jest w prawo. I w tym momencie, że większości z nas nie rób tego w rzeczywistości, możemy dosłownie oderwać tego problemu w pół. [CHEERING i oklaski] DAVID MALAN: Dziękuję. [CHEERING i oklaski] DAVID MALAN: Można dosłownie wyrwać tego Problem w pół, pozostawiając mnie, dosłownie pół problem, jak duży. Więc jeśli ta książka telefoniczna była - i to prawdopodobnie był - o 1000 stron, teraz to tylko 500. Jeśli zrobić to ponownie i zdaję sobie sprawę, oh, cholera, ja poszedłem za daleko, jestem w Ts sekcja, mogę podobnie - w przenośni i dosłownie - zgrać książkę telefoniczną - to było faktycznie znacznie łatwiejsze, że czas. Mogę dosłownie zgrać książkę telefoniczną w połowie, zostawiając mnie teraz z nie 1000, nie 500 - 250 stron. I mogę go 125, a połowa, że ​​i połowę tego, a połowa, że aż w końcu będę z lewej tylko jednej stronie. [Śmiech] DAVID MALAN: To część I nie on. Jedna strona, na której Mike mam nadzieję, że jest. Teraz te mogą być różne algorytmy rodzaj oceny lub oceny w różne sposoby. Pierwszy był bardzo liniowa, prawda? Obróć stronę, szukać Mike'a. Obróć stronę, szukać Mike'a. To jest bardzo liniowa. Jeśli jest jeszcze jedna strona w telefonie książka, to pewnie zajmie mi jedna sekunda, dodatkową jednostkę czasu, jednak jesteśmy obliczania czasu. Więc może rysować tak tę linię tu, przy czym jako wielkość Problem zwiększa się od lewej do prawej - Książka telefoniczna staje się mniejsza w większe - i czas wzrośnie on oś pionowa, większe Książka telefoniczna jest. Więc n jest tylko ogólna zmienna informatycy użyć do reprezentowania jakaś wartość, jakiś numer. Więc n wzrośnie liniowo. Dwukrotnie wielkości książki telefonicznej, to zajmie mi dwa razy tyle czas, najprawdopodobniej, znaleźć Mike. Teraz mogłem być inteligentny o tym, prawda? Byłem nudzi szybko. Mógł zrobić to po dwóch. Tak więc dwie strony, potem cztery, potem sześć, potem osiem. I mógłbym zacząć latające to trochę szybciej, choć w mniejszym ryzykiem Przekroczenie Mike, ale to nie jest krzywa będzie to wszystko inaczej. To wciąż będzie prosta linii, ale nieco szybciej. Ale co ja zrobiłem? I rzeczywiście zrobił coś zasadniczo lepiej. I osiąga to, co my nazywamy logarytmiczna Czas, log n, przy czym ten zielony linia ma dużo, dużo, dużo mniej liniał do niego. Oraz a, sugeruje, jak jest jakoś zbliża się do nieskończoności nigdy tak stopniowo, że mogę rzeczywiście zrobić 1000-aktualizacja książka telefoniczna, podwojenie wielkości w przyszłym roku - bo przypuszczam dużo więcej ludzi przenieść do miasta. Więc teraz mam 2000 stron, ale jak wiele więcej kroków jest mądrzejszy Algorytm zajmie? Tylko jeden. Mam na myśli, że to potężny rzecz. Jeśli idziemy do 4000 stron w przyszłym roku, że zajmie mi zaledwie dwa kroki. Więc można rzucać większe i większe problemy na mnie, nie w przeciwieństwie do sieci jest rzuca coraz większe problemy codziennie w Googles i Facebooks z świat, i to nie jest taka wielka sprawa. Bo umieścić więcej myśli i opieki w mój algorytm, z którym do rozwiązania problemy efektywnie. I rzeczywiście, że będzie jednym z cele tego kursu. Będzie, po drodze, nauczyć się programować. Dowiesz się, jak program w dowolną liczbę języków. A na koniec dnia, kurs o rozwiązywaniu problemów i uzyskiwanie Lepiej jest rozwiązywanie problemów - i, jak w takich przypadków, rozwiązywanie problemów bardziej efektywnie. Teraz do tej pory, to zrobiliśmy dość intuicyjnie. Chcę wprowadzić coś jasno generic nazywa Pseudokod. Więc w końcu dostać, w tym oczywiście różne języki programowania. Ale dziś zrobimy to w English-like składni, gdzie po prostu rodzaj powiedzieć co masz na myśli, ale jesteś zawsze tak zwięzłe i nie martwić się o gramatyka i pełnych zdań. Po prostu wyrazić siebie jako zwięźle, jak to możliwe. Więc pseudokod jest angielski-like składnia, która reprezentuje język programowania. I ku tym celu chciałbym zaproponować, aby teraz modelować proces po prostu opisane liczenia coś mało inaczej, tym razem przy spojrzeć na to pięć minut produkowanego wideo przez naszych przyjaciół na TED, że określa, co pseudokod jest, określa co algorytmiczne myślenie, a nawet chociaż przykład masz zamiar zobaczyć jest w sam w sobie, super proste, to zaczynać, aby dać nam psychicznego modelu, słownictwo, z którym do zrobić dużo, dużo bardziej skomplikowane algorytmy bardzo szybko. [Rozpocząć odtwarzanie VIDEO] [Odtwarzanie muzyki] NARRATOR: Co to jest algorytm? W informatyce, algorytm jest zestaw instrukcji do rozwiązywania niektórych krok problemem kroku. Zazwyczaj wykonywane są algorytmy przez komputery, ale my, ludzie mają algorytmów, jak również. Na przykład, jak można go o liczenie osób w pokoju? Cóż, jeśli jesteś podobny do mnie, to bym pewnie Punkt, w każdej osoby, jedna na czas, i liczyć się z 0. 1, 2, 3, 4, i tak dalej. Cóż, to jest algorytm. W rzeczywistości, spróbujmy wyrazić nieco bardziej formalnie w Pseudokod - English, takich jak składnia przypominająca język programowania. Niech N równa 0. Dla każdej osoby w pokoju, zestaw N oznacza 1 n plus. Jak interpretować ten Pseudokod? Cóż, jedna linia deklaruje, że tak powiem, zmienna o nazwie N i inicjuje jej wartość na 0. To oznacza po prostu, że na początku nasz algorytm, rzeczą, z którą Liczymy ma wartość 0. Po tym wszystkim, zanim zaczniemy liczenie, nie liczyć jeszcze nic. Wywołanie tej zmiennej N to tylko konwencja. Mogłem nazwał to prawie wszystko. Teraz druga linia demarks początku Pętla, sekwencja kroków, które będą powtórzyć pewną liczbę razy. Tak więc w naszym przykładzie, krok bierzemy liczy osób w pokoju. Poniżej linii dwa to linia trzech, , który opisuje dokładnie, jak pójdziemy o liczenie. Wcięcie oznacza, że ​​jest to trzech linii, które będą się powtarzać. Tak więc to, co mówi jest pseudokod , który po uruchomieniu na 0, dla każdego osoba w pokoju, my będziemy zwiększenie N o 1. Teraz jest ten algorytm prawidłowe? Cóż, walić na nim trochę. Czy to działa, czy są dwie osoby w pokoju? Zobaczymy. W pierwszej linii, możemy zainicjować N do 0. Dla każdego z tych dwóch osób, Następnie zwiększamy N o 1. Tak więc na pierwszej podróży przez pętla, aktualizujemy N od 0 do 1. Na drugiej podróży przez ten sam pętla, aktualizujemy N od 1 do 2. I tak przez ten algorytm jest koniec, n oznacza 2, która w istocie odpowiada liczbie osób w pokoju. Do tej pory tak dobrze. Jak o wypadku na rogu, chociaż? Załóżmy, że istnieją 0 osób w pokoju - oprócz mnie, kto robi liczenie. W pierwszej linii, możemy zainicjować N do 0. Tym razem jednak, nie ma linii trzy wykonać w ogóle, ponieważ nie jest osoba w pokoju. I tak N pozostaje 0, który pasuje liczba osób w pokoju. Całkiem proste, prawda? Ale liczenie ludzi pojedynczo jest bardzo nieefektywne, zbyt, nie? Na pewno możemy zrobić lepiej. Dlaczego nie liczą się dwie osoby na raz? Zamiast zliczania 1, 2, 3, 4, 5, 6, 7, 8, i tak dalej, to dlaczego nie liczyć, 2, 4, 6, 8, i tak dalej? Brzmi to nawet szybciej, i jest to na pewno. Chcę wyrazić to optymalizację w Pseudokod. Niech N równa 0. Dla każdej pary ludzi w pokoju, ustawić N równa n plus 2. Całkiem proste zmiany, prawda? Zamiast ludzi liczyć jeden w czasie, a nie liczyć nimi dwie na raz. Algorytm ten jest tym samym dwa razy tak szybko, jak ostatnio. Ale czy jest to prawidłowe? Zobaczymy. Czy to działa, czy są dwie osoby w pokoju? W pierwszej linii, możemy zainicjować N do 0. Dla tej jednej pary ludzi, Następnie zwiększamy N przez dwa. I tak przez ten algorytm w końcu N to 2, która w istocie odpowiada liczbie osób w pokoju. Załóżmy dalej, że istnieją 0 osób w pokoju. W pierwszej linii, możemy zainicjować N do 0. Jak poprzednio, linia trzy nie wykonuje w ogóle, ponieważ nie ma żadnych pary osób w pokoju. I tak N pozostaje 0, które rzeczywiście odpowiada liczbie osób w pokoju. Ale co, jeśli istnieją trzy osób w pokoju? Jak to taryfa algorytm? Zobaczymy. W pierwszej linii, możemy zainicjować N do 0. Dla pary tych osób, Następnie zwiększamy N przez 2. Ale co wtedy? Nie ma innego pełna para ludzi jest w pokoju, więc druga linia nie ma już zastosowania. I tak przez ten algorytm w końcu N jeszcze 2, które nie są poprawne. Rzeczywiście, ten algorytm jest uważany wadliwa, ponieważ ma błąd. Umożliwia zadośćuczynienia z jakimś nowym Pseudokod. Niech N równa 0 dla każdej pary osób w pokoju. Zestaw N równa n plus 2. Jeśli jedna osoba pozostaje nieparzysty, ustawić N równa n plus 1. W rozwiązaniu tego problemu, mamy wprowadzone, zgodnie czterech, Warunkiem, który zwie się gałęzi że wykonywana tylko jeśli jest jedna Osoba, która nie mogliśmy Para z innym. A więc teraz, czy jest jedna lub trzy lub nieparzysta liczba osób w pokój, to algorytm teraz ich policzyć. Czy możemy zrobić jeszcze lepiej? Cóż, możemy liczyć na 3s lub 4s lub nawet 5s i 10s, ale poza tym, to jest dostanie trochę trudne do punktu. Na koniec dnia, czy odbywa przez komputery lub ludzi, algorytmy to tylko zestaw instrukcji z co do rozwiązania problemów. Były tylko trzy. Jaki problem będzie można rozwiązać z algorytmem? [END PLAYBACK VIDEO] DAVID MALAN: To jest tylko czas Ja pojawiać się w postaci z kreskówki. Ale gdzie ta historia pozostawia off, teraz, jest, jak można zrobić lepiej? Trójki i czwórki, twierdzimy, możemy liczyć ludzie o wiele szybciej, ale możemy zrobić zasadniczo lepiej? I założę się da. Jeśli wprowadzimy trochę naszych własnych pseudokod tutaj, zamierzam zaproponować że możemy osiągnąć taką linię. Nie będziemy liczyć ludzi jeden, dwa, trzy, cztery. Nie zamierzamy iść dwa, cztery, sześć, osiem. Zamierzamy zrobić zasadniczo lepiej by przemyśleć problem, w tym Sprawa, wykorzystując inaczej niewykorzystanych zasobów. Na chwilę, mam nadzieję, że wybaczysz i humor nas stojąc w miejsce, w którym momencie będziemy zapytać każdego z was do podjęcia w pliku umysły numer 1. Jesteś wtedy będzie coraz bardziej niezgrabnie, w miarę upływu czasu, znajdź ktoś, kto stoi, połączyć Twoje numery razem dodając je. Jeden z was jest następnie będzie ścigać siedzieć w dół pierwszą i drugą osobę będzie powtórzyć. Tak więc, innymi słowy, przez zaszczepienie wszystkich Ci z numerem 1, a następnie Łącząc te 1s do 2s i tych 2s do 4s, z każdym coraz siedzącej, należy, na końcu ten algorytm, mają tylko jedną pożyczkę dusza, która nie usiąść dość szybko, ale kto ma całą liczbę publiczność w jego lub jej umyśle. Więc jeśli chcesz, idziemy dalej i - kroku - stanąć w miejscu. I wykonania. [TŁUM mruczenia] DAVID MALAN: Czy wiesz gdzie Lauren jest? 729? [TŁUM mruczenia] DAVID MALAN: Wszystko w porządku? [TŁUM mruczenia] DAVID MALAN: Dobrze, że powinniśmy jest bliski końca. Widzimy jednego faceta stojącego tutaj nadal. Kto jeszcze musi być połączone? Jeśli chcecie, aby powiązać off. Ktoś na górze. Dlaczego nie mogę pomagać tutaj. Dla nielicznych ludzi, którzy jeszcze stojąc, jakie numery czy mieć w głowie? STUDENT: 78. DAVID MALAN: 78 Plus - który stoi na dole? STUDENT: 39. DAVID MALAN: Plus 39. Plus, kto jeszcze stoi jeszcze? 81? OK, kto jeszcze? Innym 81? Wow. A potem, co jest w odwrocie? STUDENT: 49. DAVID MALAN: 49 plus? STUDENT: 98. DAVID MALAN: 98 Plus? Czy to ktoś inny? 12? Good job. [Śmiech] DAVID MALAN: Oh, 112 - oh. Good job! [Śmiech] [APPLAUSE] DAVID MALAN: Ktoś jeszcze nadal stoi? Sorry? STUDENT: 99. DAVID MALAN: 99. Ktoś inny jeszcze stoi? A łączna liczba studentów tutaj w rzeczywistości, zgodnie z - masz numer? Oh, faktyczna liczba osób w pokoju, według uwagę, że stypendyści nauczania robili na każdy sposób, w, było 729. Więc z pokoju pełnym studentów Harvardu który liczy się, Odpowiedź jest 637. [Śmiech] DAVID MALAN: So close. Ale nadal. OK, więc to jest nauczanie chwila, prawda? To teraz jest to, co opisujemy jako błąd. Gdzieś po drodze, zrobiliśmy kilka arytmetyka nie tak, albo ktoś usiadł, lub w lewo, czy coś poszło nie tak. Ale to jest w porządku. Bo nawet jeszcze, że ale całkiem blisko. A ja twierdzą, że mamy do porządku odpowiedzieć na wiele szybciej niż ja przy moim bardziej liniowa podejście. Więc załóżmy, że udało nam się w tym, że otrzymasz poprawić, ale myślę teraz o tym, co dzieje się za każdym razem, w porównaniu z moim własny naiwny algorytm wskazuje. Jeden, dwa, trzy. Jeśli rzeczywiście istnieje 729 lub 637 osób tutaj, że wziąłby mnie dosłownie 637 lub 729 pointings z palca i zwiększając moją całkowitą liczbę. I mógłby zrobić trochę lepiej przez będzie dwa, cztery, sześć, osiem, a podwoić tę prędkość, a może nawet trzy-i czterokrotnie, w zależności, jak dobrze mogę zrobić licząc w głowie. Ale takie podejście, że chłopaki miały różniła. Ponieważ na początku, wszystkich, wstał. Więc wszystko 729. A potem dosłownie pół z Was usiadł. I po tym, kolejny połowa z was usiadł. I po tym, kolejny połowa z was usiadł. I całkowita ilość razy, że Chłopaki mógł usiadł jest grubsza osiem lub dziewięć lub dziesięć całkowite czasy, w zależności od tego, co nasza łączna liczba to. I możemy zrobić coś w rodzaju to w drugą stronę. Jeśli mieliśmy 1.024 osób w pokoju, Łączna ilość razy mógł połowę 1024 ludzi 10. Teraz myślę o tym w w innym kierunku. Załóżmy, śmiesznie, że mieliśmy, powiedzmy cztery miliardy ludzi w tym pokoju, lub nieco większy pokój. Ile razy bym poszedł za pomocą tego algorytmu tak, że połowa tej klasy siada? To tylko zajmie 32 takich operacje, w klasie rozmiaru cztery miliardy. Dlaczego? Ponieważ cztery miliardy idą do dwóch mld euro, trafia do jednego miliona, idzie do 500000000, idzie do 250 mln, kropka, kropka, kropka. Mogę tylko zrobić ten podział jakieś 32 razy, w tym momencie, wszyscy z wyjątkiem jedna osoba będzie pozostawiona. I to też jest swego rodzaju potężnym Pomysł, że coraz bardziej będziemy starać się wykorzystać w tym kursie, w programowanie i informatyka więcej ogólnie, te zarazki pomysł z które możemy następnie rozwiązywania problemów dużo, znacznie silniej. Zaczęliśmy więc z tym bardzo proste pseudokod, a facet w pokoju, ale teraz z całym pomieszczeniu pełnym ludzi zrobiliśmy zasadniczo lepiej. No cóż, teraz przejście od pseudokod do jakiegoś rzeczywistego kodu. Ten język masz zamiar zobaczyć się nazywać JavaScript i wrócimy do tego kierunku semestru end. Jest to język programowania, który wykorzystywać do tworzenia stron internetowych i inne takie Oprogramowanie te dni. I użyliśmy go, dzięki znajomemu z naszych w Stanford, do kodowania niektóre hidden information here. To jest sztuka steganografii, że tak powiem, gdzie można ukryć Informacje o tym, co wydaje się inaczej być hałas lub zupełnie inna Obraz zupełnie. Jednak osadzone w szczególności obraz jest rzeczywiście tajne przesłanie rodzaju. Więc pozwól mi iść do przodu i wyciągnij sam obraz tutaj, to Czas w przeglądarce internetowej. I mam zamiar machnąć ręką na niektóre szczegóły na dzisiaj, zwłaszcza dla tych z was, którzy to wygląda nie tylko JavaScript ale grecki, jak zupełnie obcy język. Ale ta jest przykładem język programowania. A teraz, brać na wiarę, że ta pierwsza linia kodu - i kodu, po prostu na myśli tekst. Tekst, który mogłem dosłownie wpisane w programie Microsoft Word, gdybym miał odpowiedniego oprogramowania, aby następnie coś z tym zrobić. Kod programu, programowanie Kod, jest naprawdę tylko tekst, a to wygląda inaczej w oparciu o to, co język używasz, a nie w przeciwieństwie do angielskiego Hiszpański i rosyjski wszystko wygląda inaczej podczas pisania na klawiaturze. Więc tej pierwszej linii, do teraz podjąć wiara, po prostu otwiera grafiki z internet, który głośno grafiki właśnie zobaczyłem. To następna linia tutaj jest przykładem pętla, a my rzeczywiście zobaczył, że same żargon w filmie TED. Pętla jest czymś, co dzieje się ponownie i ponownie, i mimo, że ta absolutnie wygląda tajemniczo, z kluczowe dla, a niektóre nawiasy i niektóre średnikami. Wrócimy do tego wkrótce, ale tam w zasadzie jest pętla mówiąc program, iteracyjne nad wszystkie z tych hałaśliwych punktów, od lewej do prawej, od góry do dołu. Ponieważ pod koniec dnia, obrazu jak ten - i może faktycznie rodzaj zobaczyć go na ten projektor - to tak naprawdę tylko siatka punktów. Tak więc możemy określić każdy z tych punktów za pomocą współrzędnych x, y, i z tego Program, teraz możemy zacząć zrobić coś dla tych punktów. Więc, co mam zamiar iść do przodu tu i Czy to mam zamiar dokonać kilku zmian. Po pierwsze mam zamiar iść do przodu i pozbyć z wszystkich, że zielonkawe i niebieskawe hałas, i mam zamiar iść do przodu i wpisz następujące wprawdzie tajemnicze składnia. im do obrazu. zestaw niebieski w lokalizacji x, przecinek, lokalizacja y do 0. Innymi słowy, chcę tylko wyłączyć wszystkie blue punktów w tym obrazie. Mam zamiar iść do przodu i kliknąć to Run / zapisywać, i będziesz zauważyć po stronie prawej, Uzyskany obraz pojawia. Teraz jego bardzo zielony, ale to nie jest dziwnego, bo dosłownie odwrócił off, dokonując 1 na 0, wszystkie niebieski w tym zdjęciu. Cóż, teraz zróbmy to nieco więcej. im do obrazu, dot setGreen, x, y. A to po prostu oznacza, iterate od lewej do prawej, a następnie od góry do dołu. Wyłącz to, o wartości z 0, a także. Zapisz. A na projektorze, można faktycznie nie naprawdę zobaczyć cokolwiek. Na moim ekranie laptopa, jeśli zajrzeć w niemal właściwy sposób, widzę trochę obrazu, ponieważ są one nadal niektóre czerwone tam. Jeśli kiedykolwiek słyszał skrót RGB - czerwony, zielony, niebieski - to odnosząc się do tej kompozycji z obrazu przy użyciu tylko te trzy kolory. A teraz, mamy wyrzucać cały zielony, wszystkie niebieskie, ale nie ma zbyt wiele na czerwono. Więc pozwól mi zatracić się na czerwono. Jak mogę to zrobić? Cóż, po pierwsze, mam zamiar zapytać program ten znak. Mam zamiar iść do przodu i nazwijmy to Zmienna, podobnie jak w algebrze. Możesz mieć x lub y lub z. Zamierzam zadeklarować zmienną i powiedzieć, umieścić w tej zmiennej, tymczasowo, wartość zdjęcia getRed wartość na x, y. I znowu wrócimy do wszystkich z tym szczegółowo w przyszłości. Ale teraz, po prostu się na wierze, że linia ta pyta program, co jest czerwona wartość na x, y? W tym szczególnym kropki? Potem mam zamiar zrobić coś do niego. Potem mam zamiar zrobić zestaw czerwony obraz dot na x, y, y, ale tym razem mam zamiar zwiększyć, wykonując czerwone razy, powiedzmy, 10. Tak więc zwiększyć, 10-krotnie. Pozwól mi oddalić się i kliknij, może uruchomić / Zapisz. I voila, że ​​była tam cała czas, choć nasze ludzkie oczy może nie do końca go zobaczyć. Więc jeszcze raz, to teraz jest prawdziwy kod, Przykładem języka Przyjdziemy powrót do przed długi. Ale sobie sprawę, w szczególności tych, bez takiego doświadczenia, jest dość tylko, że my sami się pisania kodu jak to tam. W rzeczywistości, narzędzie, z którym jesteś wszystkim nieco znajomo, być może, jest CS50-tych shopping własnym polem-narzędzie, które było faktycznie uruchomiony ponownie tego lata przez niektóre CS50 własnych uczniowie dawnych, teraz z kolei TFS. Tak to bywa zbudowana strona w języku zwanym PHP. Wykorzystuje bazę danych o nazwie MySQL, rzeczy z którego dostaniemy w swoje ręce dirty później w semestrze. Ale wierzcie lub nie, nawet coś jak to w końcu sprowadza się do Najprostszym pętli i warunków, a oddziałów, podobnie jak widzieliśmy tylko chwilą w filmie TED. Co pomyślałem, że teraz zrobić, to nie akcja po prostu coś, czego pracownicy sprawili, na kampusie, ale raczej coś Były student - trzy studentów, w tym - wykonane w ubiegłym roku, Sierra, Daniel, i Sam, z których ostatni nie miał przed programowania doświadczenie kiedy wziął CS50. I dla ich ostatecznego projektu, to wystawiony, na CS50 Targów Aplikacja nazywa wrdly, który jest web-based program który zrobili ten film, że myślałem, że akcja się daje poczucie po prostu to, co jest można by terminem końcówka. [Odtwarzanie muzyki] DAVID MALAN: To od Tygodnia Zero do 12 tygodnia tego roku przeszłości. [APPLAUSE] DAVID MALAN: Jako teaser też bardzo , aby pobudzić apetyt jest co możliwe, może widzieliście już, lub może wkrótce zobaczymy, market.cs50.net, a Nowe narzędzie, że kurs ma zespół pracuje on, tym razem w współpraca z Harvard Student Agencje, takie, że od tego roku i nadal mam nadzieję, że do tego nadchodzi lato będziesz miał standard szansa na kampusie kupić i sprzedaży rzeczy interesujące dla Ciebie. I partnerstwa przez HSA, będziesz również w stanie upuść elementy off w jednym z sklepów fizycznych HSA w niektórych w przyszłości, w celu proxy rzeczy, zwłaszcza pod studia i niekoniecznie chcą wyrzucić rzeczy, ale w rzeczywistości zapłacić przekazania do ludzi, którzy mogą za Tobą tutaj, na terenie kampusu. Tak bardziej na tym, by przyjść. Ale trochę bardziej konkretnie, narzędzie który przyjechał z CS50 w ostatnich lat, z których część z Was może być zna i inni z was mogą być guglanie teraz, w CS50.net/2x, będziesz znaleźć link do rozszerzenia Chrome co jest ekspansywny jak można wykorzystać JavaScript, że sam język mamy używane z wieży Eiffla chwilą wdrożyć 2x prędkość odtwarzania dla wszystkich Harvard filmy iSites. To jest coś, co jest zbudowane do własnego odtwarzacza CS50 na wideo. Ale to też, jeśli zaczniesz kopać do kodu źródłowego, które my będziemy chętnie udostępniają, zobaczysz, jak można nawet rozwiązywać problemy, jak to, przyspieszenie widżety stron internetowych z który jesteś już dobrze znane. Więc słowo teraz na przebieg i oczekiwania i co nas czeka. Ogólnie rzecz biorąc, my rzeczywiście zebrać tutaj w poniedziałki i środy - choć w piątek, będziemy zbierać, bo tygodnia handlowe - 1:00 do 14:00, choć czasami aż 02:30. Biorąc pod uwagę, że może dlatego chcą lub wziąć jakąś klasę w 14:00 naprzód, a nawet wcześniej, zdają sobie Kurs popiera to, co się nazywa jednoczesne zapisy, zgodnie z którą my będziemy obsługuje petycję do zarządu reklam i Twój mieszkaniec dziekanów w Twoim imieniu, jeśli masz konflikt gdzieś w tym 01:00 do 02:30 zakres. Head to, że w Internecie URL dla dodatkowe szczegóły. Jednak z punktu widzenia konstrukcji wsporczej który charakteryzuje CS50, dla studentów bardziej i mniej wygodne podobnie, my oferują różne ślady sekcji. A to kilka tygodni off, ale Wkrótce pojawi się pytanie, jak do Twój poziom komfortu. Czy wśród tych mniej wygodne, bardziej komfortowe, lub gdzieś pomiędzy? I będziemy mieć trzy odrębne utworów, które zaspokajają właśnie te publiczność. Więc w żadnym momencie trwania należy nawet poczuć się jak konkurencyjne wobec każdego ucznia z więcej lub mniej biały niż ty. Rzeczywiście, kurs ma być znacznie więcej i znacznie współpracy bardziej otwarte niż to. Jeśli chodzi o zestawy zadań, które będziesz znaleźć również, że oprócz Standardowa wersja problemu każdego tygodnia ustawić, jest często "haker edition ", który miał być skierowany w 5% do 10% albo tak demograficznym, który jest rzeczywiście wśród tych bardziej komfortowe i chciałby więcej z wyzwaniem niż średnia edycja tego Pset oczekuje. Więcej szczegółów na temat tych, które zostaną się w programie nauczania. Ale także tam można znaleźć szczegóły na kursach późno dzień. Zazwyczaj problemem ustawia spowodowane są w czwartki. Można jednak rozszerzyć wiele swoich Terminy ten spadek od czwartku do Piątki po prostu przez nas w połowie drogi, spotkanie że tak powiem, odpowiadając na kilka rozgrzewka Pytania zawarte w niektórych z tygodnia problemu Zestawy, które automatycznie następnie daje dodatkowe 24 godzin. Będziemy również upuść najniższy wynik, jak w programie nauczania. To daje poczucie tego, co problemem zestawy są - bo to rzeczywiście Kurs jest problemem ustala, że ostatecznie określić prawie każdy doświadczenia studenta, bardziej niż wykłady, bardziej niż sekcjach, więcej tak, niż większość innych aspektem przedmiotu. W ubiegłym roku, na przykład, że rozpoczęła się, jak zaczniemy w tym roku, z początku. Szczególnie ten piątek, użyjemy, na tylko jeden dzień razem, graficzny język programowania, w którym będziesz rozpocząć programowanie przez przeciąganie i upuszczając elementy układanki, które tylko montaż fizycznie czy to ma sens do tego logicznie. W przyszłym tygodniu dowiemy się szybko przejście do C, dość stary, ale bardzo małe i prosty język, który pozwoli nam na naprawdę go od 0 do 60 w ciągu od kilku tygodni, a następnie parlay te same umiejętności i wiedzę podstawowe konstrukcje programistyczne do Języki wyższego poziomu, takich jak PHP, JavaScript, a jeszcze inni wciąż. W zeszłym roku, trzecia pset w toku było to, że z kryptografii, specyficzne dla domeny aplikacji, poprzez który Kwestionowane studentów realizacji wszelkich liczba cyfr, programy, z którymi wspiąć lub rozszyfrować informacje, do zaszyfrowania. Dla edycji hakera, Natomiast Daliśmy uczniom hakera plik ze standardowym komputerze Unix zawierającej nazwy użytkownika i hasła, Ten ostatni z nich były kodowane, i zakwestionował te hakera studentów do odszyfrowania, jak mogli, te hasła, nadal na tym same domeny. Scramble, gra z których niektóre z was są chyba znane. Piece kryminalistyki, gdzie pytamy studentów do odzyskiwania danych, które zostały w przeciwnym razie usunięte z mojego cyfrowego Karta Compact Flash kamery, by rzeczywiście pisanie oprogramowania, aby dowiedzieć się, gdzie były zera i jedynki w że aparat cyfrowy, który wcześniej składa grafikę JPEG? Swego rodzaju wyzwanie w zeszłym roku udziałem piśmie najszybciej Sprawdzania pisowni jest to możliwe, konkurujących z przyjaciółmi i kolegami z klasy, jeśli że im się podoba. Realizacja Puff Huff 'N, program do kompresji. A potem kończy semestr z CS50 Finanse, aplikacja internetowa z które należy utworzyć stronę podobną etrade kupować i sprzedawać akcje, tak aby mówić, by rzeczywiście ciągnąc prawie Yahoo! w czasie rzeczywistym notowania Finanse. Co nie zrobiliśmy w zeszłym roku jeden problem, który pozostaje set jednak faworytem. Jeśli nigdy nie poszedł do shuttle.cs50.net zobaczysz użytkownika interfejs trochę tak. Ale dwa lata temu, klasa realizowane za pomocą Google Maps i Google Earth wtyczki i trochę z doświadczonych z jazdy po terenie kampusu, tak, że celem tej gry było, jak widać niektóre twarze, jest do jazdy po kampusie szuka pracownicy, koledzy nauczania i CAS, i Gdy to zrobisz, umieszczając je na swój autobus. Żaden z nich w rzeczywistości wydają się być tutaj, więc mamy zamiar wprowadzić oszustwo kod. [Śmiech] DAVID MALAN: Nie pójdziemy. Dobrze. I tu teraz jest personel splecione w całym kampusie. I jak widać, na prawej stronie ekranu, autobus ma pustych miejsc. A celem było napisanie Kod, z którym do symulacji tego jazdy i podnoszenia i upuszczania off pasażerów. Że jeden też za pomocą języka nazywa JavaScript. Więc sobie sprawę, że programy jak to będzie na naszej samej trajektorii tego roku, a także. W zakresie, teraz, dodatkowego wsparcia, mamy godziny pracy. Jak można się zobaczyć w swoim własnym domu stołówce lub w Annenberg, będziemy w jadalni domu hale cztery noce w tygodniu - Leverett, Pfoho, Eliot i Annenberg w tym roku, 20:00 do 23:00. A co myśleliśmy, że będziemy robić w tym roku to coś trochę innego. Jeśli słychać pomruki w zeszłym roku, że to było trochę zbyt stresujące, to roku w godzinach pracy urzędu, jak opiszemy w przyszłym tygodniu, będzie bardziej organiczny, przy czym po przyjeździe, będziesz wysyłane do jednego konkretnego tabeli gdzie wielu pracowników czekają, i będziemy robić rzeczy o wiele bardziej ekologicznymi. No more kolejki, nie więcej iPad, ale raczej bardziej kameralny rozmowami na stole tylko osiem lub tak studentów, tak że przybliżeniu dotyk, co w przeciwnym razie byłoby znacznie mniejsze klasy. Oferujemy, oraz, te rzeczy, które zwane solucje, filmy kręcone w przejść przez jednego przedmiotu nauczania koledzy, Zamyla, w którym poprowadzi Cię przez tydzień problemu zestawy, oferujące porady i wskazówki dla wyzwania, które nadejdą. I odwrotnie, po zestawy zadań są powodu, w tym roku, będziemy również zwolnić małe klipy zadzwonić badań sekcyjnych, które faktycznie przejść przez Rozwiązania reprezentatywne, zarówno dobre, jak i źle, za pośrednictwem którego można wywnioskować, jak można mieć lub powinny mieć wdrożone własne rozwiązanie. I co my oferujemy po raz pierwszy w tym roku, jak również, w szczególności dla studentów, którzy skorzystanie Kurs z Inne zasobów, ale jednak mają trudności zbyt wiele, kurs będzie się powiązać tych studentów, jak pozwalają na to zasoby, z nauczycielami, aby masz o wiele bardziej kameralny okazja niż salach domu gastronomicznych umożliwienia pomocy jeden na jeden. Teraz ostateczna spojrzenie na niektóre z gier końca. Możecie znać CS50 hackathon. Cóż, nadchodzi ta grudnia od 08:00 PM do godziny 7.00, na początku Czytanie terminie, będzie okazją zebranie z kolegami - byłoby to około 21:00 - , podczas którego można nurkować w nasze ostateczne Realizacja projektu wraz koledzy, przyjaciele i jedzenie. To będzie około 01:00, kiedy Pierwsza partia żywności przybył. I to jest o 04:00, że zwłaszcza lat na CS50 hackathon. Ale prawdziwym punktem kulminacyjnym jest oczywiście przeznaczona na targi CS50, campus-wide wystawa własnych projektów końcowych, , do której rodzina i przyjaciele są zaproszone naszych rekruterów i nasi przyjaciele z branży. To, na przykład, jest spojrzenie 2000-plus ludzie, którzy uczestniczyli ostatnich lat. Wyrażenia takie jak ten nie są rzadkie, i podobnie zrobić swoje koledzy rozkoszować się rzeczy już zrealizowane. I rzeczywiście, w stronę tego celu, mamy start-of-term wydarzenie, jak również. Jeśli takie rzeczy apelem do was, lub jesteś przynajmniej ciekaw, co to, że nowa tradycja Kurs nazywa CS50 Puzzle Day. I to zostało wszczęte kilka lat temu naprawdę sygnał do kampusu że ekonomia nie jest o programowania, a to na pewno nie o obejmującego tylko te uczniowie , którzy mają wcześniejsze doświadczenie. Tak naprawdę chodzi o rozwiązywanie problemów bardziej ogólnie. I tak Puzzle dni, w ciągu ostatnich kilku lat, przekształciła się ładny Partnerstwo z naszymi przyjaciółmi w Facebook, w której nie będę fantastyczny nagrody i pizza po drugiej stronie rzeki w i-lab najbliższą sobotę. Udaj się do tego adresu URL z dwóch lub trzech przyjaciele, jeśli chcieliby Państwo uczestniczyć w tej nowej tradycji. Więc chciałbym prosić, aby zachować jeden rzecz w umyśle, a my mamy tylko dwa minuta klip, na którym zamknąć dzisiaj. 73% jest liczbą do zapamiętania. Ciasto też będzie czekają poza tym transept jak odroczyć się tylko Kilka chwil, które jest tradycja kursu, jak również. Ale to jest klucz cytat Program nauczania Kursu pamiętać. Co ostatecznie liczy się w tym kursie nie jest tak dużo, w którym kończy się w stosunku do swoich kolegów, ale gdzie Państwo, w 12. tygodniu, kończy się w stosunku do samemu w tygodniu 0. Ale spojrzenie, że zostawimy cię z dzisiaj jest ta ostatnia tutaj przez naszego samym Daniela, który zrobił wrdly video przed chwilą. Zostawiam was z tym spojrzenie z tego, co nas czeka. A jak to zrobić, czy możemy mieć CS50 Pracownicy z przodu sali przyjść na na scenę malować wszystko raczej wizualną obrazu, aby co cię czeka w tym roku - się niezręcznie. Będziemy zawrzeć z tym tutaj na ekranie. [Odtwarzanie muzyki] DAVID MALAN: To CS50. [MUZYKA - MATT & KIM, "W porządku"] SPEAKER 1: Kocham CS50 więcej niż koty. Głośnik 2: Whoaaaa! [Śmiech] DAVID MALAN: To, to, to CS50. Do zobaczenia w piątek. [APPLAUSE radości!] Narrator: Na następnym CS50, na scenie demo nie idzie zgodnie z planem. DAVID MALAN: Chcemy znaleźć Mike Smith w książce telefonicznej. Cóż, jakie są Twoje instynkty? Mogę skakać mniej więcej do połowy książka telefoniczna, spojrzał w dół, widać, że Jestem na M, a teraz wiem, że Mike Smith nie jest na lewo. Musi być w prawo. A więc w tym momencie, możemy może dosłownie wyrwać - w tym momencie, możemy dosłownie oderwać - w tym momencie, możemy przenośni rozerwać książkę telefoniczną na pół. [UKELELE bicie]