>> [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.
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 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]