[MUZYKA GRA] W porz№dku! -To CS50. -To CS50. -To CS50. [MUZYKA - Iggy Azalea, "fancy"] -Moja Ulubione wspomnienie z CS50 Wtedy poszedłem do Puzzle Day. -Prawdopodobnie Tylko czas spędził pracując na zestawy problemowych z moich przyjaciół i ludzi, którzy Wold ostatecznie stać się moje blockmates. -My Najlepsze wspomnienie z CS50 jest Hackathon. -The CS50 Hackathon. -Hackathon. -Hackathon. -Hackathon. -The Hackathon -Rob Bowden. Po prostu wszystko o nim. [MUZYKA - Iggy Azalea, "fancy"] -Moja Ulubionym pamięci, kiedy byłem na etap i grałem prestiżową rolę węzła [? w Związany?] [? Lista. ?] -Gdy Wszyscy dostaliśmy wolne miejsce Dropbox i David na to spojrzeć pod swoje miejsca. I to było jak, miejsca dla każdego! [MUZYKA - Iggy Azalea, "fancy"] -My Porady dla każdego Uczeń przychodzący byłoby być naprawdę działał na P-zestawy z przyjaciółmi. -Biuro Godzin jest bardzo znajomy. Kliknij, aby wyświetlić większość swojego doświadczenia i zbiera się tak wielu ludzi, jak to tylko możliwe. Nie bądź boi się prosić o pomoc. -start P-zestawy na początku tygodnia. -Chyba Największą rzeczą jest skorzystać z wszystkich zasobów że CS50 ma. -Idź Do godzin pracy biura na początku tygodnia. -Na Pewno oglądać szorty. -Nie Odwlekają na swoim P-set. -Upewnij Znajdziesz wielką grupę osób do pracy w zestawach z P. Możesz mieć dużo zabawy i dostać prace razem. Nie bądź boi się wcisnąć się. Przejdź do edycji hakerów czasem. -Napisz Rzeczy na papierze, zanim Czy kiedykolwiek dotykać komputera. -CS50 Jest naprawdę świetny w zapewnienie sposobów, aby uzyskać pomoc. -My Jedną radę to sen. Czy ktoś powiedział, że? Sen, na pewno. Nie jest to łatwe do zrobienia, ale masz to zrobić, myślę. -I Powiedziałby naprawdę być psychicznie przygotowany bo masz zamiar go kochać. [MUZYKA - Iggy Azalea, "fancy"] -To CS50. -To CS50. -To CS50. [MUZYKA - Iggy Azalea, "fancy"] -To CS50. [Aplauz] David J. MALAN: Więc to jest CS50 i to koniec tygodnia 0. I to było tylko kilka pracowników CS50, którzy czekają nie tylko w sekcjach i godziny pracy, ale, również, nadchodzący weekend w CS50 Puzzle Dzień. Który, ponownie, nie jest Wszystko o programowaniu. Rzeczywiście, to oczekuje się, że Ciebie nie trzeba nic programować, ale raczej rozwiązywania problemów za pomocą rozum i przyjaciele obok ciebie. Będziemy dołączyły niektóre naszych przyjaciół w Facebook-- jeśli zarejestrujesz tutaj-- którzy w ciągu ostatnich kilku lat, zostały faktycznie piśmie Wyzwania te z nas. I tak będą te ostatecznie uruchomiony Puzzle Dzień. A tak, to będzie wyzwanie z dokładnie rodzaju rzeczy i problemy, które ludzie na Facebook lubi myśleć. Tak, że jest jutro. Zarejestruj się cs50.harvard.edu/register. Teraz słowo na kilka pracowników, w szczególności. To tutaj jest Ansel Duff kto jest rzeczywiście jednym z współautorów te binarne Żarówki, które widzieliśmy w środę, Oprócz CS50 własnej Dan Bradley. Ansel Duff był również były Freshman advisee kopalni 3 lata temu i faktycznie nawet zbudował ten pulpit. Odszedł na zrobić nauki techniczne i wiele innych. Teraz, tu jest jego obraz rzeczywistości Ansel 3 lata temu na CS50 Hackathon kiedy pożyczył jeden z naszych balony, nie zawahał się go do jego laptopa, i, dla niektórych dziwne, obok 12 godzin, koncentruje się na swoim ostatnim projekcie, robiąc przerwy tylko otworzyć torby cukierków na Hackathon. Ale udał się niedawno do spędzić tego lata z nami, od CS50 dla swoich pracowników, a teraz w tym semestrze, studenci ma własną drukarkę 3D. A w skrócie a drukarki 3D jest Urządzenie, które wygląda całkiem tak. Wypełnić go z plastikowej szpuli który topi się w dół za pomocą urządzenia i budować rzeczy dosłownie z niczego. Podobnie jak w drukarce atramentowej, zaczniesz wypluwa małe kropki z plastiku które tworzą razem do tworzyć całe obiekty. I tak, na przykład, Ansel, wcześniejsze latem tego roku, ma iPhone 5 i zdecydował, że naprawdę chciał podtrzymać go na biurku. Ale on nie chciał wyjść i kupić coś z Apple Store lub podobne, więc usiadł i zaczął coś rysować. Zrobił kilka pomiarów , jak gruba i jak szeroki był jego iPhone'a, narysował ten obraz tutaj, zdecydował, że chce mają nachylenie 75 stopni jak wpatrywał go na biurku tam. Potem odwrócił się to za pomocą Oprogramowanie, do modelu 3D CAD że wyglądał trochę coś takiego. A potem zaczął, ostatecznie, do zbudowania go. Faktycznie więc, jeśli ktoś z was tutaj, być może w wierszu, że mogę rzucić, mają an-- nie mamy ludzi z iPhone 5, a tu mamy dwa. Teraz, aby nie być gorszym, CS50 własnego Cheng Gong ustawić również latem zbudować sporo rzeczy i, W rzeczywistości, ze względów, które są jeszcze jasne, nie było wolno drukowania armii słoni z Przegubowe ramiona i pni. Kilka, które są rzeczywiście tutaj, jeśli ktoś teraz jak-- słonia. Wszystko w porządku,. ale to, co uczynił również Cheng dla nas jest on bardzo uprzejmie ustawić aparat bo tego słonia, wierzcie lub nie, trwa około dwóch i pół godziny, aby wydrukować. Nawet iPhone wziął stojak godzinę i pół, aby wydrukować. A co Cheng poszedł do przodu i nie został utworzony piękny aparat z przodu z drukarki 3D, nakręcony przez godzinę i połowę projektu Ansel jest drukowane. Mamy pokrył niektóre sexy muzyka do niego, aby dać to patrzeć w jaki sposób działa drukowanie 3D. I chociaż jest rzeczywiście w plastiku, sprawę, że jeśli jest to obszar interesujące dla Ciebie akademickim, są ludzie, wśród im Jennifer Lewis tutaj w Szkole Inżynierii, którzy są faktycznie pracy na druku 3D Przedmioty z plastiku. Ale nawet, coraz częściej, materiały biologiczne rozwiązania Problemy fizjologiczne dla ludzi. Ale tutaj jest trochę coś z CS50. [LOUD mechaniczne HAłAS] David J. MALAN: To nie brzmi coś takiego, że w rzeczywistości, ale jest o wiele chłodniej, aby go obejrzeć przy tej prędkości, a wraz z tym dźwiękiem. Teraz, w środę, w jaki sposób nie pierwszy raz się tutaj? Zaczęliśmy rozmawiać o komputerze nauka i zapytaliśmy, co to było. I to o wiele rzeczy, a istnieje tak wiele różnych kierunkach w którym można udać po kursie jak CS50. W rzeczywistości, jeśli podniósł jeden przewodników z tych nieoficjalnych do CS zewnątrz, broszury, które dajemy, czy jesteś myśli biorąc tylko CS50, a może robi średnie, lub może nawet koncentrując w CS, nie przerzucać tego. I zobaczysz schemat Pod koniec że pokazuje różne kierunki w CS, że można przejść się w. Ale na dziś skupimy się znów na Naprawdę jeden z podstawowych poglądów, być może, gdzie trzeba Wejścia do problemów, trzeba wyjść z Problemy i masz Algorytmy z którym chcesz utworzyć te wyjścia z tych wejść. I jednym z takich przykładów, było Oczywiście, książka telefoniczna tutaj. I użyto jako przykład, aby przejść za pomocą algorytmu, który był prawidłowy. A potem jeszcze jeden był poprawne, ale nieco szybciej. A potem jeszcze jeden, który był trochę bardziej dramatyczne, ale zasadniczo szybciej. Dobra, mamy ten telefon książka twierdził, miał około 1000 stron. I Ile razy mam rozerwać książkę telefoniczną w połowie znaleźć kogoś takiego jak Mike Smith, maksymalnie w 1000 stron książki? Tak, 10 lub dać. I tak raz wyrwałem tę rzecz w pół, lub po prostu, bardziej dojrzale, podzielone na pół, to tylko 10 stron z 1000. A jeśli ekstrapolować, trochę nierealistycznie dla książki telefonicznej, ale jeśli ta książka miała jakieś 4 telefon miliard stron, więc całkowicie nieporęczny fizycznie, jak wiele razy zdarzyło Ci się podzielić 4000000000 Strona książki telefonicznej w połowie? Więc jest to rzeczywiście 32, lub dać. I tak 32 razy tylko, z 4 mld stron, może znaleźć kogoś takiego jak Mike Smith. I to jest efektywność. To dobry algorytm, śmiem twierdzić. Ale potem przenieśliśmy się od aby spróbować go sformalizować. I zaproponował ten kod pseudokod. Kod pseudokod nie jest nic formalne. To nie jest coś zapamiętać. To jest po prostu coś, co wyrażają dość intuicyjnie za pomocą języka angielskiego, lub każdy inny język naprawdę, że przekazuje swoje pomysły zwięźle. Ale co jest kluczem o Kod pseudokod to ty starają się przewidzieć wszystkich możliwych przypadków, które mogą się zdarzyć. I rzeczywiście, w tym Pseudokod Kod, było naprawdę trzy przypadki każdym razem, gdy dzieli książkę telefoniczną. Mikrofon może być w lewo. Mikrofon może być prawo. Lub może mieć rację na stronie Jestem na. Lub czwarty przypadek rogu, że tak powiem. Zły scenariusz może być jednym which-- co się dzieje? Mike nie tylko w książka telefoniczna na wszystkich. I kiedy programy crash-- gdy Mac i uruchomić oprogramowanie PC, które wy Czasami na komputerach zawiesza lub nieoczekiwanie kończy pracę, , które na ogół oznaczają, że niektóre programista, niektóre ludzkie jak ty wkrótce, tylko wkręca się i pewien błąd. Może nie przewidzieli, że może nie ma Mike Smith w książce telefonicznej. A jeśli w rzeczywistości nie pisać Kod do obsługi takich sytuacji, że ogół nieprzewidywalne rzeczy mogą się zdarzyć. Twoje urządzenie może zamarznąć. Można go ponownie uruchomić. Program można zakończyć. Tak więc wszystkie te głupoty, które mogą spotkaliśmy się w rzeczywisty Życie po prostu korzystają z komputerów, będzie coraz być tylko wyjaśnione przez tę intuicję i to zrozumienie tego, co jest faktycznie dzieje się pod maską. Teraz spróbujmy spojrzeć w bardziej ogólnym problemem. Zamiast podjąć Frekwencja w miejscu jak to, co jest dość powolna wykonać jedną, dwie, trzy, cztery. A może dwa, cztery, sześć, osiem. Skupmy się natomiast na jak możemy sformalizować Algorytm procesów przez które mogliśmy zabrać frekwencję. I po drodze, zacznijmy zastosować jakąś nomenklaturę że użyjemy dzisiaj, kiedy w rzeczywistości rozpocząć programowanie w języku. Więc daję wam teraz, cztero minutowy film że wprowadzone wraz z naszymi przyjaciółmi z TED, organizacji. W którym możemy dostarczony scenariusz i przynieśli ich animatorów ponieść, i rzeczywiście stworzył 2D animacja, co algorytm. Czy możemy przyciemnić światła. [MUZYKA GRA] Narrator: Co to jest algorytm? W informatyce, Algorytm jest zestaw z instrukcjami rozwiązywania jakiś problem krok po kroku. Zazwyczaj są algorytmy wykonywane przez komputery, ale ludzie mają algorytmy, jak również. Na przykład, jak byłoby go o liczenie liczba osób w pokoju? Cóż, jeśli jesteś podobny do mnie, że prawdopodobnie wskazują na każdą osobę pojedynczo i liczy się od zera. Jeden, dwa, trzy, cztery i tak dalej. Cóż, to jest algorytm. W rzeczywistości, spróbujmy go do wyrażania nieco bardziej formalnie w kodzie pseudokod. Składnia angielsko-tak przypomina język programowania. Niech n równe 0. Dla każdej osoby w pokoju, ustawić n równa n plus 1. Jak interpretować Pseudokod? Oraz jedna linia deklaruje, że tak powiem, zmienną zwany n i inicjuje jego wartość na 0, to po prostu Oznacza to, że w początku naszego algorytmu, rzeczy, z którymi jesteśmy Zliczanie ma wartość 0. Po tym wszystkim, zanim zaczniemy liczenie jeszcze nie liczy się nic. Wywołanie tej zmiennej n to tylko konwencja. Mogłem nazwał go najbardziej cokolwiek. Teraz druga linia demarks początek pętli kolejność etapów, które będą powtórzyć pewną liczbę razy. Tak więc w naszym przykładzie, krok jesteśmy podejmowanie liczy osób w pokoju. Pod linią jest linia dwa trzy, które opisano dokładnie, jak pójdziemy na temat liczenia. Oznacza to, że wcięcia to linia trzech, które będą powtarzać. Więc z pseudokod jest kod o to, że po uruchomieniu na 0 dla każdej osoby w pokój będziemy zwiększać o 1 n Teraz jest ten algorytm jest prawidłowy? Dobrze niech na nim przelecieć trochę. Czy to działa, czy są dwie osoby w pokoju? Zobaczmy. W pierwszej linii mamy zainicjować n 0. Dla każdego z tych dwóch osób Następnie zwiększamy n o 1. Tak więc w pierwszej podróży przez pętla, aktualizujemy n od 0 do 1. Na wycieczkę po drugie, że sama pętla, aktualizujemy n od 1 do 2. I tak, przez algorytm na Koniec, n oznacza 2, który rzeczywiście zgodny z numerem osób w pokoju. Tak daleko, tak dobrze. Jak o przypadku rogu chociaż? Załóżmy, że istnieje 0 osób w room-- oprócz mnie, kto jest sposób liczenia. W pierwszej linii, ponownie zainicjować n 0. Tym razem jednak, linia trzy nie wykonuje w ogóle ponieważ nie jest osobą w pokoju. I tak n pozostaje 0, co rzeczywiście mecze liczba osób w pokoju. Całkiem proste, prawda? Ale liczenie ludzi jeden na raz jest bardzo nieefektywne, zbyt, nie? Na pewno możemy zrobić lepiej. Dlaczego nie liczyć dwóch osób na raz, zamiast zliczania jeden, dwa, trzy, cztery, pięć, sześć, siedem, osiem, i tak dalej. Dlaczego nie liczyć dwóch, czterech, sześć, osiem, i tak dalej? Brzmi to nawet szybciej. I to na pewno jest. Miejmy wyrazić tę optymalizację w kodzie pseudokod. Niech n równe 0. Dla każdej pary ludzi w pokój, ustawić n równa n Plus 2. Całkiem proste zmiany, prawda? Zamiast liczyć ludzie jeden po drugim, my, zamiast liczyć je dwa na raz. Algorytm ten jest zatem dwa razy szybciej niż w zeszłym. Ale czy jest to poprawne? Zobaczmy. Czy to działa, czy są dwie osoby w pokoju? W pierwszej linii, możemy zainicjować n 0. Dla tej jednej pary ludzi, Następnie zwiększamy n przez 2. I tak przez ten algorytm jest Koniec n oznacza 2, który rzeczywiście zgodny z numerem osób w pokoju. Załóżmy następnie, że istnieją zerowe osoby w pokoju. W pierwszej linii mamy zainicjować n 0. Tak jak poprzednio, w trzecim wierszu nie wykonuje wszystko ponieważ nie ma żadnych pary ludzi w pomieszczeniu, a więc n pozostaje 0. Które rzeczywiście mecze liczba osób w pokoju. Ale co, jeśli nie są trzy osoby w pokoju? Jak to taryfy algorytmu? Zobaczmy, w pierwszej linii, możemy zainicjować n 0. Dla pary tych osób Następnie zwiększamy n przez 2. Ale co wtedy? Nie ma inną pełna parę osób w pokoju, więc druga linia nie ma już zastosowania. I tak do końca tego algorytmu, w n oznacza 2, która jeszcze nie jest prawidłowe. Ten algorytm jest rzeczywiście powiedział być wadliwy, ponieważ ma błąd. Dochodzenie roszczeń z niektórymi niech Nowy kod pseudokod. Niech n równe 0. Dla każdej pary ludzi w pokój, ustaw N równa n Plus 2. Jeśli jedna osoba pozostaje niesparowany, ustawić N równa n plus 1. W rozwiązaniu tego problemu, mamy wprowadzony w stan linii czterech, zwie oddział, który realizuje jedynie Jeśli jest jedna osoba, którą nie może nawiązać połączenia z innym. A więc teraz, czy jest jeden, albo trzy, lub dowolny nieparzysta liczba osób w pokoju, algorytm ten będzie teraz je policzyć. Możemy zrobić jeszcze lepiej? Cóż, możemy liczyć trójkami, lub czwórki, a nawet piątki i dziesiątki, ale poza tym, to będzie się Trochę trudno wskazać. Na koniec dnia, czy wykonywane przez komputery lub ludzi, Algorytmy są tylko zestaw instrukcji z którego można rozwiązać problemy. Były tylko trzy. Jaki problem chcesz rozwiązać za pomocą algorytmu? David J. MALAN: Więc umyślnie, prosty program prosty algorytm do osiągnięcia czegoś Bardzo proste liczenie liczba osób w pokoju. Ale niech odciąć niektóre reprezentatywne Oferuje tutaj, że są w rzeczywistości będzie użyteczny także przy realizacji najbardziej Kompleks oprogramowania. Tak na przykład w pierwszym wierszu mamy to, co nazywamy zmienną, oraz z algebry, jesteś ogólnie znane za pomocą X i Y i z czasem, i tak dalej. Ale w programowania, zmienne jeszcze na koniec dnia Bardzo podobny do tego. Ale to jest chyba prostsze myśleć zmiennej jak tylko pojemnik. I rzeczywiście, jest pewna liczba bitów realizowane w jakiś sposób na dysku twardym lub w pamięci komputera, ale o tym w przyszłości. To tylko pojemnik. A jeśli coś powiedzieć jak niech n równe 0, dobrze, że jest jak wywołanie tej szyby miskę tutaj n, tylko arbitralne nazwy, i umieszczenie w nim nic na początku. Tak więc wartość tego miskę teraz jest zero. I oczywiście, jeśli postrzegają W następnym wierszu aby rzeczywiście zwiększyć trochę linię Kod, jak w tej trzeciej linii tutaj, o 1, to jakby powiedzieć, co jest Obecna wartość n, to 0, oraz 1, umieścić coś takiego ping pong piłkę w tutaj. Teraz wartość ta Zmienna jest po prostu 1. I można bardzo szybko ekstrapolacji, ale teraz to 2, teraz jest 3, i tak dalej. Więc to wszystko jest zmienne. To kawałek do przechowywania właściwie przechowywać pewne dane. Na razie jest to piłka do ping-ponga. Nie jest to liczba. Ale może to być słowa Słownik, jak sprawdzanie pisowni I wspomniał w środę na jeden z zeszłorocznych zbiorów problemowych. Teraz kolejny kluczowy pomysł, że podobnie jest dość intuicyjny chciałbym twierdzić, jest to, że z pętlą. I w pętli procesu liczenia każdego Jest oczywiście ten sam ponownie rzeczą i again-- albo jeden na raz lub dwa jednocześnie. I można wyrazić w języku angielskim, lub Kod pseudokod, w dowolnej ilości metod, ale przy użyciu tego przyimek "dla" Jest to bardzo popularny sposób na osiągnięcie tego. Dla każdej osoby w pokoju, to zrobić. Znowu i znowu. I fakt, że jest to wcięcie, linia trzy, Co oznacza, że ​​tylko masz robić jest materiał, który jest wcięty Poniżej linii sam dwa. Po prostu ludzka konwencja, ale jeden wspólny jak zobaczymy w rzeczywistej Szkolnictwa języki programowania. Teraz trochę bardziej interesująca jest gdy pojawi się w przypadku rogu. Na przykład, róg przypadku, gdy nie było były trzy osoby, lub pięć lub siedem, lub dowolny nieparzysta liczba osób w pokoju, bo ten, który po dwóch hamulców w końcu, bo zamierzasz stracić kogoś, albo w bardzo bardzo początek lub koniec w zależności od tego, jak to zrobić. I tak, teraz, mam ten oddział, lub Stan, gdy jedna osoba pozostaje a następnie iść do przodu i że jeden uchwyt samotny człowiek, który nie dostał sparowany z kimś innym. Więc to jest to, co nazywamy Stan lub gałęzi. Kod teraz pseudokod bardziej ogólnie, może być zapisywane rozwiązać wiele problemów. I co ja myślałam, że nie o to chwilę zaprosić powiedzmy CS50 jest właścicielem Rob Bowden na scenie do połączenia dwóch ochotników, , którzy nie mają pojęcia, co czeka. Ręka powędrowała w dół tak szybko, jak to powiedziałem. Jak o tobie na kończy się tutaj, chodź na górę. A co z dalej daleko, jak o sposób, w plecy. W górnym rzędzie, dalej się z rękami w górze. Dobra, a jak masz na imię? ANITA: Anita. David J. MALAN: Anita. Dobra, miło cię poznać. Pozwól, że przedstawię ci Rob Bowden. To jest Anita. I jak się nazywasz? Kiersten: Kiersten David J. MALAN: Kiersten. Kiersten spokój i spełniają Rob Bowden i Anita. Miło cię poznać. Kiersten: Miło cię poznać. David J. MALAN: Dobra, Rob. ROB BOWDEN: Miło cię poznać. David J. MALAN: Anita. Kiersten Cześć Anita. David J. MALAN: A twój kilkaset koledzy. Tak, teraz pozwól mi iść do przodu i wyciągnij się tylko prosty program tutaj w systemie Mac OS, że będzie mi pozwolisz faktycznie zanotować kilka uwag w dół. A jeśli chcecie, aby każdy ma stanowisko w jednej z tych szkół tam, pozwól mi iść dalej i zaczyna listę kodu pseudokod, jeśli będzie. I to, co chcę robić tutaj, ostatecznie jest dla ciebie typ Niektóre instrukcje, że nasze widzowie są w rzeczywistości będzie recytować dla nas. Pozwólcie mi iść do przodu i po prostu zmienić na listy numerowanej pasujące do tego, co robiliśmy tam. I co mam zamiar zrobić z Twoja pomoc jest napisać program w Pseudokod, z których ci faceci będą wdrożyć orzeszka masło i galareta kanapkę. Więc to chyba apropos do pokazać coś niektórzy z was Może widziałeś w internecie tylko na krótkim przykry moment. [MUZYKA BUCKEWHEAT BOYS "MASŁO ORZECHOWEGO  JELLY TIME "] David J. MALAN: OK. To wystarczy. Więc w międzyczasie, mam Para, która Okulary Google umieścimy na CS50 własnej Rob Bowden widzieć świat jego oczami. , A my dołożymy wszelkich starań w wątku produkcja rzeczywiście splot footage jaki Rob widzi teraz, w tym rzeczywistego wykładu film z dwójką wolontariuszy obok niego. Więc co mam zrobić jest, będę maszynistka. Mamy tu na cel faktycznie pisania programu z którym, aby ostatecznie masło orzechowe i galaretce kanapek, ale te trzy będą zachowywać tak, jakby to komputery. I komputery, na koniec dnia Urządzenia są rzeczywiście bardzo głupie. Są bardzo szybkie, ale może tylko zrobić, dosłownie, co im się mówi. Nie można po prostu powiedzieć, zrobić orzechowe masło i galareta kanapkę. Trzeba zaprogramować je zrobić. Trzeba im powiedzieć z dokładnością co zrobić, mniej rzeczy go strasznie, a miejmy nadzieję, zabawnie krzywo. Więc z tym powiedział, musimy jedna rozmowa-z publiczności na co powinny zwiększyć jeden być, jeśli celem jest tutaj jest, aby orzeszki ziemne masło i galareta kanapkę. Tak? PUBLICZNOŚCI: [niesłyszalne] worek chleba. David J. MALAN: Otwórz worek chleba. Więc jeśli byłoby trzech zawodników jak postępować, aby to zrobić dosłownie. Otwórz worek chleba. [PUBLICZNOŚCI LAUGHING] David J. MALAN: Warto więc pracować nad tym. Wszystko w porządku. Więc kroku drugiego, how-- weźmy to dalej. Tak, z przodu. PUBLICZNOŚCI: [niesłyszalne] chleb. David J. MALAN: Co to jest? PUBLICZNOŚCI: Wyjmij chleb. David J. MALAN: Wyjmij chleb. Podobnie skrótowo. Dziękujemy. [Aplauz] David J. MALAN: To jest to? OK, więc będzie krok dwa się usunąć chleba. Dobra, ktoś chce Napisać nam dłuższy zdanie? Ktoś jeszcze? Trochę więcej [niesłyszalne]. Nie, nic teraz. Tak? PUBLICZNOŚCI: Umieść dwa plastry obok siebie. David J. MALAN: Umieść dwa plastry obok siebie. [PUBLICZNOŚCI LAUGHING] David J. MALAN: Umieść dwa plastry obok siebie. Krok czwarty. Tak? PUBLICZNOŚCI: słuchaj ręcznie i ustawić go lekko na wierzchu wieczka masła orzechowego. [PUBLICZNOŚCI LAUGHING] PUBLICZNOŚCI: [niesłyszalne] przy masła orzechowego. David J. MALAN: Co? Powiedz to jeszcze raz. PUBLICZNOŚCI: Odkręć pokrywkę i umieścić delikatnie obok masła orzechowego. David J. MALAN: Połóż ją delikatnie przy masła orzechowego. OK, postęp. Krok piąty. Doskonałe. Tak? Podnieś nóż. David J. MALAN: Podnieś nóż. OK, Krok szósty. Tak? PUBLICZNOŚCI: Przytrzymaj nóż za uchwyt. David J. MALAN: Trzymaj Nóż przez uchwyt. Trzymając nóż w uchwycie. Krok siódmy. Tak? PUBLICZNOŚCI: [niesłyszalne] nóż w orzechowe masło i jak trochę [niesłyszalne]. David J. MALAN: nóż in-- I Put słyszał "umieścić nóż w masło orzechowe i podjąć jak trochę, jak to możliwe. " Przy okazji, usuń najpierw papier. Dobrze, Krok dziewiąty. Krok dziewiąty. Krok dziewiąty. My nie faktycznie jeszcze kanapkę. Tak? PUBLICZNOŚCI: Korzystanie nóż w masło orzechowe, zastosowanie masła orzechowego na wspomnianym chleba. David J. MALAN: Użycie noża w masło orzechowe, masło orzechowe na zastosowanie powiedział chleb. [PUBLICZNOŚCI LAUGHING] David J. MALAN: Dobra krok 10. Etap 10. Tak? PUBLICZNOŚCI: Smak orzeszków ziemnych masła w celu zapewnienia jakości. [PUBLICZNOŚCI LAUGHING] David J. MALAN: Krok 11. Etap 11. Etap 11. Chodź. Tak? Tam. PUBLICZNOŚCI: Ostrożnie podnieść galaretkę. David J. MALAN: Ostrożnie podnieść galaretkę. OK, a następnie inny ręka w górę. Tuż za tobą. Tak, w kolorze niebieskim. PUBLICZNOŚCI: W porządku, usunąć pokrywa z [niesłyszalne], tak, zdjąć pokrywkę z galaretką. [PUBLICZNOŚCI LAUGHING] David J. MALAN: Od galaretki. Ha ha. [PUBLICZNOŚCI LAUGHING] David J. MALAN: I? PUBLICZNOŚCI: I ledwo zamiatać wszelkie [niesłyszalne]. [PUBLICZNOŚCI LAUGHING] PUBLICZNOŚCI: Oczywiście, zanim [niesłyszalne], wyjmij papier z galaretką. David J. MALAN: Usuń papier z galaretką. Etap 14. Jesteśmy prawie na miejscu. Tak? PUBLICZNOŚCI: Odwróć butelkę galaretki zanim wszystko wypadnie. David J. MALAN: Odwróć galaretki butelki przed galaretką wypadnie. Krok 15. PUBLICZNOŚCI: Załóż czapkę. David J. MALAN: Załóż czapkę. Etap 16. Tak? PUBLICZNOŚCI: [niesłyszalne] David J. MALAN: Powiedz to jeszcze raz. PUBLICZNOŚCI: Weź czapkę z dysku galaretki. David J. MALAN: swoje galaretki. Więc really-- Ups. Chodź. Wymień korek. Umieścić cap-- Powiedziałeś Zdjąć nasadkę z galaretką. Poczuj się jak jesteśmy w trochę pętli. Krok 17. Tak? PUBLICZNOŚCI: [niesłyszalne] David J. MALAN: Powiedz to jeszcze raz. PUBLICZNOŚCI: [niesłyszalne] David J. MALAN: Wróć do step-- PUBLICZNOŚCI: [niesłyszalne] David J. MALAN: Usuń czapka z masłem orzechowym. Tak? PUBLICZNOŚCI: Rzuć wszystko galaretki na chleb. David J. MALAN: Rzuć wszystko galaretki na chleb. David J. MALAN: Jesteśmy prawie na miejscu. Etap 19. PUBLICZNOŚCI: Usuń nadmiar galaretkę. David J. MALAN: Haha, galaretki. [Aplauz] David J. MALAN: Dlaczego nie my-- jeden krok do podjęcia tego domu. Jeszcze jeden krok, a następnie będziemy służyć kanapki. Tak? PUBLICZNOŚCI: [niesłyszalne] David J. MALAN: Podczas każdej kanapki tiret remains-- Miejmy to-- jeść. [PUBLICZNOŚCI śmiech] David J. MALAN: Wszystko w porządku, dziękuję Ci tutaj naszych wolontariuszy. [Aplauz} David J. MALAN: Mamy kilka ciekawych rozstanie prezenty dla każdego z was. Własne masło orzechowe, galaretki, i chleb, aby przynieść do domu. Dziękujemy. Kiersten: Dziękuję. David J. MALAN: [niesłyszalne] witamy. [Aplauz] David J. MALAN: Tak, to jest, Oczywiście, śmieszne przykładem. Prawda? Ale to nie rodzaj ujawnić, w jaki sposób ludzie po prostu wziąć jasności za pewnik. A fakt, że byli rozmowy z drugim człowiekiem, on po prostu wie, co masz na myśli. Komputery nie będą wiedzieć, co masz na myśli, Nawet przy stosowaniu jako mamy zamiar zrobić dzisiaj, programowanie coś w Scratch, przeciągnij i spadek, język puzzle stylu. Nawet przeznaczony dla młodych dzieci, masz być tak wyraźne i tak dosłowne z co chcesz program do zrobienia. Teraz w końcu jesteśmy będzie programowanie nie w kodzie pseudokod, Angielski jak składni, ale kod lub, bardziej poprawnie, kod źródłowy. Kod źródłowy jest tak fantazyjny sposób do opisywania kodu faktycznie pisać na klawiaturze, która jest nie w języku angielskim per se. Jest w C lub Java lub C ++ czy coś tak, jak to już wkrótce. A w rzeczywistości, po prostu przestraszyć niewielu z was, na pierwszy rzut oka, to program napisany w języku nazywa C. Ale do un-przestraszyć kilku z was, będziesz całkowicie zrozumieć, co się dzieje na przyjść następnego poniedziałku, kiedy to chodzi o coś takiego. Szczerze mówiąc, jest to starszy język. Jest dość ezoteryczne, ale przedstawiciel z wielu języków w tych dniach, że mają dużo nawiasów i kręcone szelki i cudzysłowy i średniki. Oraz wiele tego składniowym rzeczy, które nie jest w ogóle interesujący intelektualnie. Rzeczywiście, jest to zupełne odwrócenie uwagi od bardzo prostych pomysłów że patrzą nam w twarz. Program ten, jak można się tylko domyślać, druki do czyjejś ekranie komputera słowa "Witaj świecie". przecinkami To jest to. Tak wyraźnie, nie Wiele rzeczy, które znajduje się się w drodze niektóre oczywistość tam, ale to się bardzo szybko poślizgu się i całkowicie intuicyjne. Rzeczywiście, to, co mamy zamiar zrobić dziś jest to dość skomplikowane destyluje poszukuje programu, który ponownie dojdziesz szybko zrozumieć, ale do czegoś znacznie prostsze. Powiedzmy, że to, co mamy na myśli. Miejmy narysować obraz tego, co mamy na myśli, w drodze tych puzzli tutaj. Więc to jest programowanie język znany jako zera. Został on opracowany przez MIT Media Lab. I co zobaczysz w błąd ustawienia zera, która ukaże się jeszcze dziś wieczorem, będziemy musieli udać się do tego URL tutaj scratch.mit.edu. I mają internecie Interfejs oparty poprzez które możesz napisać swój pierwszy program. Lub tych, z przed doświadczenie, Twoje drugie programy, ale w środowisku, które jest prawdopodobnie trochę zna i że popchnie cię do stworzenia czegoś za pomocą tego środowiska bardzo wizualny. Teraz, co mam zamiar zrobić tutaj jest otwarcie samego programu. Istnieje nie tylko w przeglądarce internetowej, ale także jako program do pobrania tak, że można z niej korzystać jeśli nie masz dostępu do internetu. I zamierzam to zrobić tu, w Sanders, po prostu w przypadku Wi-Fi nie działa bardzo dobrze współpracować. I co mam zamiar zrobić, to punkt z kilku cech tego programu. Tak, aby było jasne, mam tylko podwójne kliknięciu na ikonę na pulpicie, lub równoważnie poszedł scratch.mit.edu, i to zatrzymał się to okno. Jest to środowisko programistyczne. Jest to oprogramowanie, które niektóre z naszych przyjaciół w MIT napisał, że niech się z nami i piszesz Programy w języku nazwie Scratch. Teraz dzieje się kot, który jest również nazwany Scratch i to jest jego świat, w którym żyje. Jest to etap, że tak powiem, że prostokąt w górnym lewym rogu. A on nie musi wyglądać jak kot. Można zrobić go szukać jak nic, a ty może mieć wiele takich ikonek, lub znaków, w programie. Tymczasem, tutaj na daleko Dobra, jest duży tabula rasa. I to gdzie, w momencie, mamy zamiar rozpocząć programowanie przez przeciąganie i upuszczanie te puzzle graficzny sztuk, które są tuż tutaj w środku. I nie sposób ich więcej niż będziemy tu spędzać czas w klasie dlatego, przekonasz się, że wszystkie one są dość intuicyjne. Ponownie, jest to zaprojektowane dla dzieci, ale używać go drażnić siebie niektóre z tych podstawowe idee zmiennych, pętle, warunki i wkrótce, rzeczy jak funkcje i wydarzeń i nici i inne rzeczy będziemy fantazyjne dostać się niedługo do zbudowania coś od podstaw. Gra słów. Teraz, co mam zamiar zrobić, o to kliknij na ruch, ale nie kontrolę. I to jest właśnie Kategoryzacja tutaj-- i widzę różne kolorowy zestaw bloków. Jednak zauważyć kilka znanych słów. "Jeśli" i "else if" i "powtórz". I można się domyślić to przypomina oddziału, lub warunki widzieliśmy, i nawet konstrukcja pętli. Tak więc mamy tu podobne bloki. Ale najbardziej interesujące jeden jest ten tutaj. Gdy ta flaga jest zielony kliknięciu tego, dla tych z wcześniejszego programowania doświadczenie, jest równoważny do podstawowej funkcji. Ale dla tych nieznanych, to jest kawałek układanki że będzie zacząć kopać cały nasz program. To znaczy dosłownie, kiedy idę, w tym programu, a następnie kliknij zielony flag-- który można zobaczyć tutaj w górnym lewym rogu w interfejsie, aby zobaczyć zielone flagi obok czerwonym znakiem stop? Kiedy klikam, że mój Program będzie prowadzony. Teraz mam zamiar zrobić coś super proste z podstaw. Mam zamiar iść do przodu i przejdź do panelu wyglądem tutaj, gdzie mam kilka fioletowych układanki, i mam zamiar iść do przodu i robić coś bardzo prostego, jak mówią. I wtedy-- informacja ta tekst w białym polu jest editable-- Idę powiedzieć "Witaj świecie", tak jak my nie w tym tekstowe Wersja chwilą. A teraz jeśli pójdę i kliknij ten zielone flagi, mam zaprogramowany. To nie jest szczególnie ciekawy program, ale zrobiłem coś zrobić komputer. Zacząłem program i zrobił to, co powiedziałem to zrobić. Teraz mogę nadal przeciągnij i upuść więcej i więcej tych puzzli i oni będą zablokować, ale niech klapsa tu trochę terminologii że zobaczymy powtarzające W trakcie kursu i rzeczywiście w całej informatyki i programowania bardziej ogólnie. Ten "mówią" Dom, w kolorze fioletowym, niech tylko dzwoń oświadczenie. To jak stwierdzenie faktu. To zrobić. Tak, to jest kategoria instrukcje, które Ciebie może zasilać komputer jako część programu lub algorytmu. I stało się jasne, masz prawdopodobnie za pewnik że masz programy na komputerze. I są one rodzaju algorytmów, ale Program jest naprawdę kilka algorytmów że niektórzy ludzie napisali. Są to i pakowane sprzedali go więc, czy one umieszczane na stronie internetowej do ściągnięcia. Tak, program jest po prostu cała masa zer i jedynek że jakoś ludzie stworzył. A te wzory zer i te stanowią rzeczy, ostatecznie, jak mówią Witaj świecie "lub" gry " ta muzyka "lub" grać ten film " lub "wyślij e-mail." Ale wrócimy w sposób bardziej szczegółowo, co Program jest wtedy, gdy, sobie, napisz je. Oto kolejny statement-- "Czekaj na sekundę." Nie używałem tego jeszcze, ale jeśli chcę mój program, aby zatrzymać się na chwilę coś zrobić, mogę powiedzieć, aby to uczynić. Poczekaj sekundę. Teraz jeszcze jeden może być "odtwarzania dźwięku." Tak, to jest wyjątkowy, to do Scratch posiada możliwość odtwarzania dźwięków. Więc mógłby mi oświadczenie Zastosowanie jest tutaj, "odtwarzania dźwięku." Tymczasem wyrażenie logiczne, tak, to jest słowo hodowcy nazwany po prostu niejakiego pana Bool, i to jest wszystko o pytanie. Prawda czy false-- jest mysz w dół? Wyrażenie logiczne jest tylko niektóre wyrażenie w języku angielskim to jest albo prawdziwe, albo fałszywe. Albo włączyć lub wyłączyć. Jeden lub zero. Możesz myśleć o tym na wiele sposobów, ale to jest albo prawdziwe, albo to fałsz, ostatecznie. Więc "mysz w dół znak zapytania" że byłoby wyrażenie logiczne. A może myślisz o innych, być może. Na przykład, "to liczba lewej mniej niż prawej numer? " To też, byłoby Wyrażenie logiczne. "Mniej niż" to wyrażenie logiczne. Ten jeden, zbyt, "dotykania myszy." Nie jestem pewien, dlaczego nazwał to wskaźnik myszy. To po prostu oznacza, jest kursor, jest strzałka na ekranie, dotykając kota, na przykład. Lub inny element na ekranie. I to jest pytanie, ponownie, i że oznacza wyrażenie logiczne. Coś, co może po użyć w warunkach. Więc dochodzimy do tego za chwilę. Możesz "i" rzeczy. Tak więc, jeśli chcesz sprawdzić, czy to jest i to jest sprawa, można użyć "i" blok takiego. I tu jest warunek. Zwróć uwagę na kształt małego otworu w górę żółty kawałek układanki, to przypomina kształtem że właśnie przed chwilą zobaczył. Każde z tych wyrażeń logicznych mają te spiczastych krawędzi na lewo i prawo. A to dlatego, że ludzie z MIT postanowili że wizualnie przenośnikowych kształtach możesz trochę pomóc ludziom, studentów i dzieci, zarówno do rodzaju wypełnić puste dosłownie. Teraz, puzzle-- że Otwarcie jest trochę małe, i jak zobaczymy w programie, na początku, będzie rosnąć, aby dopasować. Utrzyma kształt ostatecznie. Więc warunek niech zdecydować "Powinienem był coś zrobić, czy nie?" Wyrażenie logiczne jest rzeczywiste pytanie używasz, aby zdecydować, czy iść do lewo lub mogę iść na prawo kiedy spotykam tego tzw widelec w drodze? Możesz mieć dwa oddziały. Jeśli coś jest prawdziwe, czy to jeszcze go w ten sposób, albo po prostu nic nie robić wszystkim, jak ten blok dorozumiany. Podobnie, możemy zagnieździć te rzeczy. Więc jeśli chcesz, aby potroić widelec drogi, albo to albo to czy tamto, można tylko gniazdo te rzeczy razem. I zaczyna się trochę brzydka, w końcu, na pewno, ale logika jest nadal taki sam. Można dosłownie czytać to od góry do dołu i mówi to, co means-- jeśli to jest prawdą, to zrobić, inaczej, jeśli inny. Pętla nie dostać prostsze w Scratch. Zawsze należy wykonać następujące czynności. Teraz nie może myśleć, Można zrobić wiele, ponieważ nie ma tam dużo miejsca między górną i Dno tego otworu kawałek układanki. Ale zobaczysz, będzie na zarysowania rosnąć, aby dopasować jak najwięcej puzzli jak chcesz, aby dopchać się tam. Pętla może być inna wyrażona w powtórzeniach. Jeśli wiesz z góry, "ja chcesz coś zrobić 10 razy, " można po prostu powiedzieć, Scratch zrobić coś 10 razy. A w międzyczasie, możemy mieć zmienne. Więc tutaj jest dowolna jedna, to w tym przypadku pomarańczowy, i to jest wicher wycieczki. Ponownie, znajdziesz to bardzo łatwo dostępne Po rozpoczęciu wskazując i klikając. Nazwałem mój zmiennej n, ale mógł nazwał ją co zechcę, i mam ustawienie go tutaj, w to dowolna przykład do zera. Teraz widząc program jak cześć świat nie jest wcale tak atrakcyjne, więc niech faktycznie otworzyć coś że były student wykonane. Pozwólcie mi iść do przodu i otworzyć się, Na przykład, ta tutaj za co kocham mieć wolontariusza. Dobra, jak about-- chodźmy dalej. Tak, chodź. Jak masz na imię? ABBY: Abby. David J. MALAN: Abby, dalej w górę. Więc czy kiedykolwiek grał gry wcześniej? ABBY: Nie David J. MALAN: Wszystko w porządku. Dawid, miło cię poznać. Chodź. A jaki jest Twój programowania t, o ile takie istnieją. ABBY: Nauczyłem się trochę C ++. David J. MALAN: Nauczyłeś trochę C ++. A co jest gra gra w tle? ABBY: Nie za dużo. David J. MALAN: OK, więc weźmiemy to. Więc tutaj jest jak gra będzie działać. Mam zamiar iść do przodu i kliknij zieloną flagę, która jest tu w prawym górnym rogu. Teraz Twój poprzednik w klasie dał ci kilka wskazówek tutaj. A za chwilę, to mówi "miejsca, aby rozpocząć." Więc idź naprzód i uderzył w klawisz spacji. Gry komputerowe: Pikachu. David J. MALAN: A celem jest złapać żywności, jak przedstawiono tam na lewo. I [niesłyszalne] [GRA MUZYKA GRA] David J. MALAN: Aww, dobrze, dziękuję za grę. Mamy tu trochę rozstanie dla ciebie prezent. Mamy CS50 Piłeczka antystresowa, jeśli chcesz wybrać. Wszystko w porządku, miło cię poznać. Dziękuję za przybycie i wyzwanie. Tak więc mamy więcej piłeczki antystresowe, więc Zróbmy jeszcze jeden przykład do motywowania. Wolontariuszem? Dobrze, jak o tu przed. Jak masz na imię? Phillip: Phillip. David J. MALAN: Phillip. Chodź, Phillip. Tak, Phillip będzie zakwestionowane z innej gry że jeden z poprzedników napisał jako część problemu ustawić zera, nazywa Hardest Game Ivy. I zobaczymy się w tak Chwila, co się rozumie przez to. Phillip, miło cię poznać. Jaki jest twój tło? Phillip: Sporządzono dużo kodowania. Sporządzono trochę gier, zbyt. David J. MALAN: OK. Ma dużo gier, zbyt. I grasz w tę grę wcześniej? Phillip: Nie David J. MALAN: Wszystkie Dobra, jedziemy. Mam zamiar iść do przodu i kliknij zieloną flagę. [GRA MUZYKA] [MUZYKA MC HAMMER, "U NIE dotykaj tego"] Phillip: [niesłyszalne] David J. MALAN: [niesłyszalne] Phillip: [niesłyszalne] [LAUGHING] [MUZYKA MC HAMMER, "U NIE dotykaj tego"] David J. MALAN: [niesłyszalne] Pług przez nią. Phillip: [niesłyszalne] David J. MALAN: Śmiało. [MUZYKA MC HAMMER, "U NIE dotykaj tego"] David J. MALAN: Wszystko w porządku. Gratulacje. [Aplauz] David J. MALAN: Będziemy wiadomość, że w Internecie później tak że można zwlekać z nim również. Marcin pojawia się następny, po tym. Więc teraz niech właściwie postępować zaczynać od zera, że tak powiem, a właściwie zbudować aż możemy odciąć niektóre z tych pomysłów i dostać się do czegoś jeszcze bardziej złożony do końca. Mam zamiar iść tu i będę iść do przodu i utworzyć nowy plik. Więc znowu, zestaw problemem będzie chodzić ty przez niektóre z tych kroków. Ale ja tylko iść do menu Plik i I powiedział "nowy", więc podobnie jak Microsoft Słowo, lub dowolny program tak. I idziemy do przodu teraz-- i realizowane "Witaj świecie" chwilą, ale zróbmy coś trochę ładniejsza. Mam zamiar iść do wydarzeń. I mam zamiar zrobić ", gdy zielone flagi kliknięciu. " A potem mam zamiar używać, powiedzmy, oddział. Więc mam zamiar używać "jeśli" stan. I zauważyć, jak tak szybko, jak się zbliżyć do niego, to widać, że zatrzaskują się razem. Więc niech go i zaskoczy razem. A teraz mogę zrobić coś ciekawego. Gdybym przewijać tutaj, będę aby zobaczyć całą masę bloków. Jeśli pójdę do "danych" - pozwól mi przybliżyć in-- jest coś o zmiennych. Jeśli pójdę do "ruchu", można najwyraźniej odwrócić losy spotkania. Jeśli pójdę do "podmiotów gospodarczych" - Och, to jest ciekawe, Mogę wybrać liczbę losową. Więc pozwól mi zrobić coś z tylko pewne prawdopodobieństwo, tylko dlatego. Mam zamiar iść do przodu i przeciągnij kawałek układanki, jest to, że mniej niż dom, więc jest to tylko "Jest to liczba mniejsza niż w tym jednym?" Ale ja nie chcę ciężko kodem numer dlatego, że jest całkiem bez sensu. Więc mam zamiar przeciągnąć ten kawałek tu, i zauważyć, jak wskoczy w, a teraz pozwól mi iść dalej i powiedzieć: "jeśli numer, który jest wybierany losowo jest mniej niż sześciu, należy wykonać następujące czynności. " Teraz, dlaczego mniej niż sześć? Jakie prawdopodobieństwo jest to skutecznie da mi, po prostu intuicyjnie? Około 50%, tak? Jeśli liczba to przypuszczam losowo od 1 do 10 jest mniejsza niż sześć, wyraźnie, że to jeden, dwa, trzy, cztery lub pięć. I tak, że będzie mi 50% prawdopodobieństwo tego, co się dzieje? Dobrze zróbmy coś to "grać meow dźwięku." Oraz informacja, ponownie, Rośnie kawałek układanki w montażu, dopóki kształty identyczne. To, co jest ważne. Pozwól mi przejść do Scratch tutaj i kliknąć "play". Nic się nie dzieje. Czy to błąd? Nie, nie jest to konieczne. Może to być po prostu, że większa liczba została wybrana. Więc zróbmy to jeszcze raz. Nic. [MEOW] David J. MALAN: Jest. [MEOW] David J. MALAN: Znowu. Nie [Miauczy] David J. MALAN: Więc jeśli masz nigdy nie grali w grę, oczywiście, gdzie rzeczy dzieje się przypadkowo, jak złych facetów przychodzą lub nie zbliżający się do ekranu, lub rzeczy spadają lub nie spadają, to tylko dlatego, że coś Super proste, jak to się dzieje. Wybierz liczbę losową, a jeśli to mniej niż jakąś wartość, może to zrobić, czy może to zrobić. Możemy włączyć to pod warunkiem. Zróbmy coś innego. Pozwól mi rzucić, że z dala. Można pozbyć się rzeczy, przez po prostu przeciągając ją w lewo i puszczenie. Pozwólcie mi iść do przodu i robić bez końca bloku i bardzo szybko coś zrobić irytujące. Pozwólcie mi iść do przodu i powiedzieć "play meow dźwięku." Ale ja nie chcę tego zbyt irytujące, więc pozwól mi chwycić ten blok, "Czekać jedną sekundę" i informacja nie ma już miejsca dla niego. Ale jeśli się wystarczająco blisko, chce tam iść. Więc niech go i będzie wzrost do wypełnienia bloku. Teraz, to pętla. [Miauczy] David J. MALAN: Jestem dosłownie to robić zawsze. Znowu i znowu. To jest nie tylko naturalne brzmienie. Pozwól mi iść dalej i zmienić Nie jeden do drugiego, na dwie sekundy i naciśnij klawisz Enter. A co to jest ładne o Scratch że można zaprogramować interaktywnie. Wprowadzić zmiany, może nacisnąć enter lub Odtwórz ponownie, a to po prostu dalej. Cóż, teraz, dlaczego nie robimy coś trochę ładniejsza? Zamiast robić wszystko od podstaw, pozwól mi iść do przodu i otworzyć zaliczkę się jeden, że pre-pieczone, zwany "Pet Cat". A my po wszystkich te pliki na forum, i problemu ustawić zera powie jak z nich korzystać i otworzyć je. I informacja ta jest dość prosta. Ale wcześniej, zdaje się, że złapał "zawsze" bloku, więc mam pętlę. A następnie Mam warunek "jeśli". Mam wyrażenie logiczne. Tak, w języku angielskim, po prostu patrząc na ta, zwłaszcza jeśli nigdy wcześniej nie zaprogramowane wcześniej, po prostu intuicyjnie, Co to zrobi, ten program? [PUBLICZNOŚCI paplanina] David J. MALAN: Jeśli pogłaskać kota, Kot będzie meow, prawda? , Ponieważ "zawsze odznaczenie" jest wskaźnik myszy dotyka kota. Więc być jasne, a ja nie powiedziałem to wcześniej, wszystkie te puzzle sztuk i skrypt, który połączyliśmy je, że tak powiem, skrypt jest synonimem Program, naprawdę, należy do tego kota. I powód jest-- ponieważ informacja jaki jest ten sam kot podkreślono tutaj tutaj można tworzyć Drugi kot lub pies lub bardzo cokolwiek chcesz graficznie. Można importować coś Photoshop lub podobne, i zintegrować coś Jeśli chcą zrobić to za projekt. I co znajdziesz, ostatecznie, to ty Możesz dodać skryptów, dodać puzzle sztuk, do poszczególnych znaków. Więc wszystkie te należą do ten konkretny kot. Więc teraz, jeśli mogę śmiało grać ten program, nic się nie dzieje. Ale to działa. Program jest na zawsze w tej pętli, rodzaj czeka na co się stało? [PUBLICZNOŚCI paplanina] David J. MALAN: Aby opiekunowie kota. Więc jeśli poruszam myszką w kierunku him-- [Miauczy] David J. MALAN: Więc teraz Jestem pieszczoty kota. Tymczasem, możemy mieć podwójne oddział. Pozwólcie mi iść do przodu i otworzyć się nie pogłaskać kota. My po tej, jak również online. To jest trochę skomplikowane, ale bez słowa można się domyślać, być może to, co się wydarzy. [Miauczy] David J. MALAN: Kot jest miauczy, wielki stary czas. Ale ten program jest oczywiście zwany "Nie Pet the Cat" tak wyraźnie, chcę pogłaskać kota. [Ryczący] David J. MALAN: Nie pogłaskać kota. Teraz rzućmy okiem w innym przykład. Ten będzie nazwany "Hi, Hi, Hi," ze względów które będą jasne, ponieważ tak szybko, jak uruchomić ten thing-- [SEAL Barking] David J. MALAN: Bardzo łatwy Napisać irytujących programów podstaw. [SEAL Barking] David J. MALAN: Teraz nie będzie do bardzo szczegółowo z nich wszystkich, ale zauważ, że jest Kilka nowych funkcji tutaj. Jest zmienna, zwana "wyciszony" a potem jest kilka warunków. A teraz, niech mnie tylko dokuczać, mówiąc, że jeśli ten facet jest zbyt uciążliwe, Mogę trafić spacji i zatrzymuje się. Ponieważ rola, jaką odgrywa Te dwa skrypty następująco. Jeden z nich robi szczekanie co kilka sekund. Drugi tylko czeka dla mnie hit spacji. A jeśli ja hit spacji, to się zmieni stan tej zmiennej, wartość tej zmiennej, to widocznie zwany "wyciszony" Ja nie zadzwonił to coś nudne jak n, Nazwałem go angielskiego słowa "wyciszony". Od 1 do 0 lub 0 do 1. Z true na false lub false na true. I tak można faktycznie teraz zobaczyć, że ty może mieć dwa skrypty, dwa programy uruchomione jednocześnie, i jak z nich może być siedzący w pętli robi coś. Oczekiwanie na ludzką zrobić coś jak uderzenie spacji. [SEAL Barking] David J. MALAN: A teraz on jest na drodze ponownie. [SEAL Barking] David J. MALAN: Więc co jeszcze może zrobić z tych przykładów? Cóż, idziemy dalej i zrobić Przykład z liczenia owiec. Będziemy kontynuować ten wzdłuż linii tutaj of-- otwórzmy się na przykładzie owiec. Oraz informacja, podobnie jak wcześniej, ten, na szczęście, jest trochę mniej denerwujące. Kiedyś hit grać tutaj-- O nie, to jest denerwujące. On będzie baa z pewnym prawdopodobieństwem. Zagrajmy to jeszcze raz. [OWCE BLEETING] David J. MALAN: Jedyną różnicą jest zmieniliśmy kostium, by tak rzec, i mamy połowę i powiedzieć co, że rzeczywista liczba jest. Dobrze niech śmiało wziąć ten jeden krok dalej. I niech mi dokuczać z jedna funkcja tutaj. Idziemy do przodu i otworzyć Program nazywa się wątki. Tak dużo jak można mieć jedną sprite, posiadające wiele skryptów, można mieć dwóch ikonek, ptaków w kot, z których każdy ma swój własny scenariusz. I każdy z nich może działać jednocześnie. Jeśli kiedykolwiek słyszałem Słowo "wielowątkowość" Komputer jest "wielowątkowe" oznacza może zrobić wiele rzeczy na raz, i rzeczywiście, tak może Scratch. A teraz zauważyć ptak jest rodzajem głupi. To się po prostu robi rzeczy losowo, odbijając się od ekranu. Oczywiście kot został zaprogramowany do rodzaju mają możliwości ubiegających do domu, bo na ptaka on zawsze wskazując na niego. Aż w końcu, że łapie rzeczywistą ptaka. Więc nie będę rozwodzić nad szczegółami tutaj, ale można trochę dostrzec same kształty niektórych "Jeśli" warunki, niektóre zmienne, być może niektóre pętle, są ostatecznie robi to samo. Teraz pozwól mi iść do przodu i otworzyć się czymś zupełnie innym, drażnić niektórych z was, szczególnie ci bardziej komfortowe, co rzeczywiście można z tym zrobić. Mam zamiar iść do przodu i otworzyć przycisk tutaj. A jest bardzo Program prosty z pozoru, ale oglądać to, co się dzieje, Uważaj, co przy Ja-- dzieje się, gdy otwieram tę wersję tego, tutaj w przeglądarce, scratch.mit.edu. I po kliknięciu tego Big Red przycisk, zauważyć, co się dzieje. Więc co tu się dzieje? Jest rzeczywiście dużo bardziej złożony dzieje pod maską, mimo, że zostały wdrożone tego, czy szczerze, Dan Bradley wdrożyła tego tak po prostu. On zaprojektował niestandardowy Scratch puzzle Kawałek, znany jako rozszerzenie podstaw, nazwał go Przełącz. A co Przełącz robi to wysyła wiadomości przez Internet. I że sama wiadomość wygląda trochę tajemnicze. Ale to też będziesz rozumiem przez pozbawić za. Wiadomość, że faktycznie wysyłanie wygląda trochę coś takiego. To jest po prostu tekst. Cryptic. Zrozumiesz go przez czas mamy problem ustawić siedem. To jest po prostu wysyłając wiadomość tekstową przez Internet do serwera. I że serwer jest, ostatecznie, mówi do tego żarówki, które ma jeden z tych fantazyjnych żarówek w tym, że sam, mówi z bezprzewodowym dostępem do Internetu w sieci tutaj, gdzie lokalne urządzenie dół tutaj-- i, ostatecznie, to faktycznie zamianie światła i wyłączać. Ale możemy zrobić więcej ciekawe rzeczy martwych. Zauważ, co Dan zrobił także dla nas. Zrobił kilka ikonek, każdy z który ma skrypt czeka na kliknięcie. A jeśli kliknę czerwony, idzie czerwony. Jeśli mam niebieskie, to idzie niebieskawy. Zielony, żółty, pomarańczowy. A wszystko to dzieje się przez będzie wyjście na internet, z powrotem w dół do żarówka, i wyłączać. I czy można wierzyć to-- i to jest Być może jednym z najbardziej złożonych Scratch Projekty ktoś ma implemented-- on to zrobił, w sprawiedliwości, w ciągu dnia. I to było wyzwanie, rzucił Dan, kiedy widzieliśmy mają żarówki binarnych, mamy podstaw, jak można je połączyć? I rzeczywiście, jest to absolutnie coś ktoś w tym pokoju może zrobić end-- semestru Czy on przepisany binarnych przy użyciu żarówki była tego samego interfejsu na naszym iPad w środę. Tak, że teraz, jeśli rzeczywiście kliknij tutaj plus, mamy jeden, dwa, trzy. Mogę trafić 16 i kolei, że jeden na. 128, i tak dalej. Teraz, jeśli ta sama ma i dmuchane swój umysł, można zrobić rzeczy o wiele bardziej dostępne, nieobejmujące żadnego sprzętu z pewnością. Zaledwie co na samym ekranie. I rzeczywiście, to co większość studentów w końcu robi to jakaś gra, jakiś kawałek pracy artystycznej, lub jakiś rodzaj interaktywnej animacji. I powiem, jeden z naszych Ulubione był ten. A ja myślałem, jeśli może przyciemnić światła, weźmiemy spojrzenie na to ostateczna Projekt zarysowania na zakończenie. Ale co będziesz powinien pamiętać, jak Mogę z tobą droczyć z jednym szczególe, cięcia rozpocznie się w przyszłym tygodniu. Godziny otwarcia rozpocznie się w przyszłym tygodniu. Problem ustawić zerowy zostanie zamieszczona CS50.harvard.edu jeszcze dziś. I będziesz witany Zestaw zera w błąd do CS50 własnej Zamyla Chan, który prowadzi większość naszych poradnikach. Są one osadzone filmy w zestawach problemowych że będzie trzymać za rękę przez wiele początkowej konfiguracji i przez wiele z możliwych decyzji projektowych. Więc jeśli kiedykolwiek miał te emocje podczas podnoszenia zadanie domowe i zastanawiasz się, gdzie mam zacząć? Ona będzie mieć tę odpowiedź dla Ciebie. A teraz, ostateczny program z jednym ze swoich poprzedników w odpowiedzi na pytanie "Co fox powiedzieć?" [MUZYKA YLVIS "Czego FOX powiedzieć?] YLVIS: (śpiewa) Pies idzie Hau. Kot idzie meow. Ptak idzie tweet i mysz idzie pisk. Krowa idzie moo. Żaba idzie rechot. I słoń idzie trąbienie. Kaczki powiedzieć szarlatan i ryby go Blub. I uszczelnienie przechodzi oh oh oh, ale jest jeden dźwięk, że nikt nie wie, co to fox powiedzieć? I David J. MALAN: To jest to dla CS50. Do zobaczenia na Puzzle dzień i na poniedziałek. [Aplauz] [MUZYKA YLVIS, "Co robi FOX powiedzieć?"] Narrator: A teraz głęboko myśli, by Daven Farnham. Dziś zostałem uderzony w twarz z książki telefonicznej. Mylące, jak jestem w domu oglądając w Internecie.