>> [Muziek]
DAVID MALAN: Oké.
Dit is CS50.
[Muziek Tritonal, Cash Cash, "Onaantastbaar"]
[Muziek]
SPEAKER 1: Ik ga naar Frankrijk, en je zult ook.
[Muziek]
DAVID MALAN: Dit is CS50, Harvard University's introductie
het intellectuele ondernemingen van de informatica
en de kunsten van program-- en Voor het eerst in de geschiedenis,
Yale University's ook.
Inderdaad, of je nu hier in Cambridge of in New Haven of Miami of St. Louis
of Amsterdam of waar dan ook rond de wereld
het nemen van CS50, computer wetenschap E50, CS50X, CS50 AP,
we zijn allemaal één en dezelfde.
Welkom bij CS50.
>> Wat we hebben--
>> [APPLAUS]
>> [Lacht]
>> [APPLAUS]
>> Dus ik heb een fout gemaakt mezelf sommige tijd geleden, toen ik begon college.
En ik kreeg naar de universiteit, en ik besloot om eerlijk gezegd, blijf in mijn comfort zone.
Ik belandde waarbij een concentratie, of een belangrijke, van de overheid.
Ant dat meestal een functie van me het zijn redelijk bekend met de overheid
of op zijn minst de geschiedenis of ik echt leuk vond grondwettelijk recht op de middelbare school.
En dus toen ik hier kwam, ik soort van aangetrokken in de richting van de dingen
waarmee ik was al bekend.
Rechts?
God verhoede ik slecht in de klas.
Ik zeker wilde blijven binnen mijn comfort zone,
en het was pas tweede jaar dat ik eindelijk
stond op het lef om stap voet in een klaslokaal genaamd CS50.
En op dat punt, heb ik eindelijk beseffen dat, mijn God, huiswerk kon eigenlijk
wees leuk.
>> Inderdaad, ik was een van die kinderen dat op vrijdagavond wanneer
de P-SETS zou worden vrijgelaten, I zou terug naar mijn kamer en duik
in de nacht van P-sets.
En voor mij, dat was een teken dit dat was een veld voor mij.
Maar wat belangrijker was was de feit dat ik sta op deze zenuw
tot de wateren onbekende verkennen voor mij en krijg buiten mijn eigen comfort zone
en eerlijk gezegd, ik was alleen in staat om dat te doen tweede jaar door het nemen van deze klasse
pass / fail.
>> Inderdaad, het was de laatste dag dat Ik heb eindelijk overgeschakeld en ten slotte
verklaarde CS zoals mijn concentratie, zetten gov op dat moment achter me.
En dus zijn we niet, waarin in deze cursus aan u allen te zetten
in CS majors of concentrators, maar veeleer om u de gelegenheid te geven
hopelijk gaan dan de wereld waarmee je bent momenteel bekend
en terug te brengen van deze wereld vaardigheden en kennis en savvy
die u kunt toepassen op uw eigen wereld, of dat nu
in de geesteswetenschappen, sociale wetenschappen, natuurwetenschappen, of daarbuiten.
>> Sterker nog, als je het gevoel een beetje onverschrokken
over het feit dat in deze kamer laat staan ​​in deze klasse,
beseffen dat als geschiedenis een indicatie, 72% van jullie
hebben een CS natuurlijk nooit eerder genomen.
Zo is het met alle middelen niet het geval dat de student zit aan de linkerkant
of naar rechts of voor of achter je weet veel meer over CS
of programmeren in het bijzonder dan jij.
Dat is in feite niet het geval.
En inderdaad, veel de steunconstructie
dat we hebben in deze koers over de afgelopen jaren
is al precies dat reason-- aan zorgen voor een oprit die nog verlaat
net zo rigoureus en net zo hoog als ever--
maar de helling van die het mogelijk maken de studenten minder comfortabel en comfortabeler
gelijk blijft, ongeacht slagen van zijn of haar eerdere achtergrond.
>> Inderdaad, wat uiteindelijk kwesties in deze klasse is niet
zo veel waar je terecht komt ten opzichte van je klasgenoten
maar waar je in week 12 uiteindelijk ten opzichte van jezelf
week nul, wat waar we zijn hier vandaag.
>> Inderdaad en dit kan heel goed en waarschijnlijk lijkt op Grieks
velen van u.
Maar wees gerust, dat Dit en nog veel meer
zal volledig worden binnen uw vatten in slechts een beetje tijd.
>> Maar vandaag, richten we ons op een aantal van de hogere ideeën niveau
om u een voorproefje van te geven CS50 en informatica
in een gevoel van wat je aanmelden voor.
En inderdaad, de informatica misschien meer worden gedistilleerd
gewoon als computational thinking-- denken als een computer, als je wil.
En er is zoveel verschillende dingen ingrediënten die verder gaan in dat,
maar laten we stellen slechts drie voor vandaag.
Als het doel van de klasse uiteindelijk is niet om je te leren programmeren,
is niet om je te leren C of PHP of SQL of een aantal woorden
en acroniemen in de cursus beschrijving,
maar om je te leren om problemen effectiever
en om meer methodisch denken en meer algoritmisch, om zo te zeggen.
Laten we eens kijken wat dit precies betekent.
>> Dus ik zou denken dat de voorstellen computationeel neer
het oplossen van problemen.
Wat heb je nodig om een ​​probleem op te lossen?
Je moet als input-- de inbreng in de probleem--
u een uitgang, moet die is hopelijk de oplossing,
en dan heb je een proces nodig om dat probleem op te lossen die
we noemen een algorithm-- een reeks instructies voor het oplossen van een probleem.
>> Maar laten we eerst eens focussen op de eerste en de laatste van deze in- en uitgangen.
Computers immers, blijkbaar alleen begrijpt nullen en enen.
Maar hoe kan dat mogelijk zijn?
Zelfs als je niet bekend bent helemaal met wat er onder de motorkap,
je waarschijnlijk op zijn minst gehoord dat computers begrijpen binary--
gewoon nullen en ones-- maar hoe kan je eventueel iets interessants te doen?
>> Nou, een van de thema's van de klas gaat
te zijn deze layering-- waar vandaag de dag, zullen we neem een ​​snelle blik op het laagste niveau
details, maar met elk dag die voorbijgaat, waar we laag
of abstracte op de top van die details om daadwerkelijk te lossen hoger niveau
problemen voor ons van belang.
>> Dus hier is wat wij zouden kunnen noemen binary-- met slechts een alfabet van 0 en 1.
Maar wij mensen zijn meestal vertrouwd met decimaal.
December betekenis 10.
Bi betekent twee.
En zo in de decimale systeem, we hebben 10 cijfers
in onze disposal-- van Natuurlijk, nul tot negen.
Dus als je kijkt naar een aantal als dit, de meeste van jullie
intuïtief gewoon begrijpen dat is 123.
Er is niets echt moeilijk over.
Maar waarom is het 123?
Nou, als je denk terug aan graad school-- of op zijn minst
de manier waarop ik dit geleerd soort wereld-- u
misschien herinneren dat we behandeld deze dingen in kolommen, of plaatsen.
>> Dus hebben we degenen die plaats aan de rechterkant.
De tientallen plaatsen in het midden.
De honderden plaatsen aan de linkerkant.
En dan hoe krijgen we van dit patroon symbols--
1 2 3-- dit hogere niveau idee dat we kennen als 123?
Nou, het is gewoon een aantal eenvoudige rekenkunde.
Rechts?
>> De een is er in wezen betekent geef ons 100 keer 1 plus 10 keer
2 plus 1 keer 3.
En natuurlijk als we de daar wiskunde, het is 100 plus 20
plus 3-- ook wel bekend als 123.
>> Dus als je op de dezelfde pagina als dit recht
nu en zijn comfortabel met de zogenaamde decimale stelsel als mens,
het is eigenlijk goed binnen uw bereik van troost
nu overwegen het binaire systeem.
Neem een ​​wilde guess-- deze vertegenwoordigt, in de wereld van computers
in binary-- welk nummer?
Nul.
>> Maar waarom is dat?
Nou, het blijkt dat de kolommen of plaatsen hier-- ze niet machten van 10.
1, 10, 100, 1000, enzovoort.
Ze zijn in plaats daarvan, heel gewoon, machten van 2.
Dus, 1, 2, 4, 8, 16, 32, enzovoort.
En nu we natuurlijk naar 0 hier simpelweg omdat we hebben 4 keer
0 plus 2 tijden 0 plus 1 keer 0, wat natuurlijk geeft ons 0.
>> Maar hoe ga ik over dat het nummer 1?
Wat is het patroon van nullen en enen te vertegenwoordigen
het aantal mensen die we kennen als 1?
001.
En 2?
010.
>> En nu het patroon begint te herhalingen.
Nu is het 011.
En nogmaals, 0 fours, een 2, een 1.
Dus 2 plus 1.
Dat is 3.
>> En nu te vertegenwoordigen 4, we niet zomaar veranderen 0 tot 1.
Je moet een soort van mee te nemen, zo te zeggen, en de nummers
beginnen flippen rond gewoon zoals in de decimale wereld.
>> Dus dit is 4.
Dit is 5.
Dit is 6.
Dit is 7.
En dus hebben we geteld als hoog als 7.
>> Nu alles wat we hoeven alleen maar meer een bits-- meer nul en één's.
En inderdaad "bits", als je hebt hoorde dit term-- binair cijfer.
Bit is waar dat vandaan komt.
En dus als we willen vertegenwoordigen grotere aantallen, moeten we meer bits.
Maar laten we nu verder weg van dia's om iets een beetje meer reëel.
Stel dat we willen eigenlijk vertegenwoordigen deze zaak.
>> Nou laten we nu eens een kijkje nemen in een kleine demonstratie.
Dus dit is een web-based applicatie dat een van CS50 eigen, Michael G,
zet deze zomer samen om te helpen ons toe te lichten precies dit idee.
En zou iemand als te wagen op het podium
in de voorkant van al zijn of haar klasgenoten?
Recht er tegenover.
Kom maar naar boven.
>> Je moet comfortabel op de camera en het internet.
Oh, hier.
OK.
We zijn OK.
Okee.
Kom maar naar boven.
Wat is je naam?
Emily komen op maximaal.
Dus dit is Emily.
In welk jaar bent u?
>> Eerstejaars.
>> Emily, leuk je te ontmoeten.
David.
>> Okee.
Dus op het scherm hier, we hebben dit touch screen
die zal ons in staat stellen eigenlijk interactie met dit programma,
en het is gewoon een browser.
Het is Chrome volledig gescreend op het moment, maar het is
geprogrammeerd door Michael reageren op een manier die
ons om te spelen met binaire cijfers.
>> Dus bijvoorbeeld hier hebben we niet drie maar acht bits-- nullen en enen.
Op dit moment zijn we kijken naar het getal 0.
En inderdaad, alle acht nullen in decimale betekent nul.
Dus dat is alles wat wordt gezinspeeld op hier.
>> Dus als je wilde vertegenwoordigen de nummer 8,
wat is het patroon van nullen en degenen die je wilt?
U kunt gewoon tik omhoog of omlaag of getallen zelf.
Okee.
Zodat natuurlijk 8, zoals u daar kunt zien.
En als we wilden do 16, wat doen we?
>> Yep, gewoon opnieuw aanraken.
16.
Okee.
Dus dit is allemaal prima en goed, het is nog steeds zeer laag niveau.
We moeten een manier in de echte wereld voor Emily
daadwerkelijk vertegenwoordigen deze dingen.
En dus stel dat we draaien deze nullen en enen, dat is erg
conceptuele, in concrete gloeilampen.
Rechts?
>> Een computer is een fysieke, mechanische, elektrische apparaat.
En haar input-- tenminste als u de stekker in of belast het--
is om de batterij te hebben en elektronen stromen in en uit.
>> Dus nu, waarom niet we stoppen met denken over bits als nullen en enen,
maar iets meer fysieke zoals gloeilampen hier.
En als Dan Armendariz kon toetreden me voor slechts een moment-- kom op up--
we gaan in de rij staan ​​een applicatie.
>> Come on over, Emily.
Helaas is dit de meest onhandig demo voor u ooit.
Kom hierheen.
We gaan in de rij met dank aan Dan
Armendariz, een ander lid van onze medewerkers, een applicatie bekend als binaire bol.
>> Dus wat we hier hebben is een iPad applicatie
dat heeft de volgende gebruiker interface op het scherm voor Emily.
Het is net exact dezelfde UI in wezen dat is daar.
En als je nu wilt vertegenwoordigen de nummer, zeggen 8,
hoe zou je dat doen dit opmerken aan de rechterkant,
de lampen die we hier hebben?
Ah-ha.
Magisch.
Dus als we willen dit nu om te zetten in iets meer uitdagend,
en laten we ga je gang en kies een willekeurige getal als het getal 50 hier.
Input dit.
En als je kan nu worden aangevochten te komen met het nummer 50,
zullen we een fantastische prijs voor je hebt.
>> EMILY: OK.
O mijn God.
DAVID MALAN: Rekenen is inderdaad moeilijk voor
honderden je klasgenoten.
Maar 50 is hier het antwoord geweest.
>> [APPLAUS]
>> En nu, dit is bedoeld om zijn demonstratief voor Emily.
Dus, hier is wat licht bollen vrij als deze,
maar het is eigenlijk de weinig magnetische strips.
En wat is cool over deze en de reden waarom we ze gebruiken in CS50
is dat ze iets genaamd steunen een API-- een application programming
interface, die is gewoon een mooie manier om te zeggen dat wat een van onze medewerkers
heeft tijdens de zomer werd creëren een iPad applicatie hier
dat spreekt via internet de lampen hier,
die draadloos zijn aangesloten op een ander apparaat.
Maar dit is nu een optie voor de laatste projecten.
En dus Emily, als je zou zo als aan het eind van het woord,
u kunt uw dorm room te versieren ondertussen met die.
Bedankt aan Emily ook.
>> [APPLAUS]
>> Maar nu, laten we aan de beurt onze aandacht op wat
die boodschap zou hebben eruit zag, en het is een beetje zoiets als dit.
In feite is dit een bijvoorbeeld net als een teaser
van wat er komen van wat er riep een API aanvraag.
En dus wat we hier hebben is gewoon precies het soort bericht
dat na een paar weken tijd in CS50, zul je
kunnen vrij naar iets vertrouwd als dat daadwerkelijk
zet ze aan en uit te schakelen.
Maar dit is allemaal prima en goed.
Rechts?
We hebben het mentale model hopelijk voor die nummers met
nul en één's.
En van nullen en enen, kunnen wij naar hogere aantallen zoals 50,
als Emily net deed of we kan omhoog van.
En ik beweer dat we kunnen vertegenwoordigen dingen zoals brieven ook.
Rechts?
>> Computers zijn veel meer interessanter dan alleen maar nummers.
En dus hoe ga je over die woorden
op het scherm of e-mails of essays of iets dergelijks?
Nou, het blijkt dat computers gewoon abstract op de top van deze lage niveau
gegevens, en mensen enige tijd geleden, kwam met een willekeurige, maar een consistente,
mapping getallen zo letters-- dat elke keer zie je een hoofdletter
Een op uw computer screen, zijn de kansen wat is
onder de motorkap is een patroon van nullen en enen
dat het aantal vertegenwoordigen, per deze grafiek 65.
>> En nog veel meer fysiek binnenkant van uw computer,
zijn miljoenen dingen geroepen transistors-- deze dagen-- die
zijn slechts schakelt als je wil, dingen die kan gaan aan en uit en zo voorstellen.
Niet acht van deze grote lampen maar miljoenen van deze kleine beetje licht
bollen, of schakelaars of transistors, die aan en uit
op basis van hoe u ze programmeren.
En nu hebben we een manier van vertegenwoordigen letters ook.
>> In feite, als ik om dit te gebruiken in kaart brengen van hier en probeer om daadwerkelijk
spellen iets uit, kunnen we kijken Dit patroon van de decimale cijfers
direct.
Dus we gaan niet eens focus op binaire meer.
Laten we gewoon eens naar deze als decimaal getal 72, 73, 33.
Maar wat zou dit voor?
Iedereen heeft een voldoende fotografisch geheugen
om te weten wat er gespeld op het scherm te zien?
Ja, een paar.
So hi.
H-I en vervolgens een uitroepteken, die niet was eigenlijk op het scherm.
Maar inderdaad er is een mapping voor elke brief aan elk nummer
dat je zou willen typt op uw toetsenbord.
>> Maar nummers hoeft vertegenwoordigen slechts letters.
Rechts?
Ieder van ons weten over afbeeldingen en foto's en audiobestanden
en videobestanden en dergelijke.
Zo duidelijk kunnen wij vertegenwoordigen hoger niveau dingen nog.
En wat een computer doet is gewoon kiezen
patronen nul degenen interpreteren anders, afhankelijk van de context.
>> Als u dubbelklikt op een Microsoft Word-pictogram,
zie je woorden op het scherm in plaats van kleuren en foto's
want woord weet dat dit een essay dat je eigenlijk hebt getypt.
Als je in plaats daarvan dubbelklikken op een JPEG of GIF of PNG,
het opent en een beeld omdat de PNG of .docx of wat dan ook het bestand
extensie is en wat software je gebruikt weet te interpreteren
een patroon van nullen en enen anders op basis van wat haar doel in het leven is.
>> Dus bijvoorbeeld, deze Dezelfde reeks getallen
zouden kunnen betekenen hoeveel rode doe je willen, hoeveel groen wil je,
en hoeveel blauw wil je.
En inderdaad, als je ooit hebt gehoord RGB-- dus gewoon rood groen blauw.
En dus als ik zie nummers als, dit Geef me 72 rood, geef me 73 groen,
en 33 blauw, dit is hoe een computer met behulp van drie bytes-- waarbij
een byte acht bits of 24 bits-- zou een vrij vervelende schaduw vertegenwoordigen
van bruin of hier geel.
En in verschillende contexten, kan deze exact dezelfde patronen in nullen en enen
betekenen iets totaal anders.
>> Dus hebben we nu een manier te vertegenwoordigen information-- nullen en enen.
Op de top van dat, krijgen we brieven.
Op de top van dat, kunnen we kleuren te krijgen.
En laten we aannemen voor vandaag dat we audio en video kunt krijgen
en dingen die er nog veel meer geavanceerder dan dat.
>> Maar nu laten we eens kijken hoe we die middelen
en produceren die uitgangen nu dat we hebben
een manier te vertegenwoordigen die informatie.
Nou, iets wat we moeten een algoritme genoemd.
Nogmaals, een reeks instructies voor het oplossen van een probleem
stap voor step-- en de preciezer, hoe beter.
>> En zo een voorbeeld waarmee de mens weliswaar minder bekend zijn deze dagen,
maar toch blijft bij ons in de software,
is het proces van kijken up iemand in een telefoonboek.
>> Nu, minder en minder mensen kennen elkaar jaar wat dit relikwie eigenlijk is hier.
Maar terug in mijn dag, dit was een telefoonboek
met duizenden pagina's en nummers en de mensen de namen van A tot Z.
En hoewel we soort van valsspelen een bit-- dit is meestal geel pagina's.
Er waren ook wit 's tezelfdertijd, die
had al die namen en aantal werkelijke menselijke wezens.
>> En als ik wilde iemand opzoeken in een telefoon boek als dit vandaag de dag, natuurlijk,
Ik typ alleen in de eerste paar karakters van zijn of haar naam,
en mijn telefoon vindt die informatie.
Maar het proces waardoor uw iPhone of Android-telefoon
of wat is eigenlijk het vinden van iemand in uw lijst met contactpersonen
is identiek aan wat wij mensen waarschijnlijk hebben gedaan voor bepaalde tijd.
>> Nu kon ik dit meenemen probleem, als je wil,
en de ingangen hier zijn niet nullen en enen.
Ze pages-- zoals, laten we zeggen 1.000 pagina's.
En als ik wilde opzoeken iemand Like Mike Smith in deze telefoon boek,
Ik zou beginnen bij het begin en zie dat ik in de A-sectie
en vervolgens met één pagina een tijd, op zoek en op zoek
als ik de B en C en D's enzovoort voor Mike Smith.
Smith beginnen met een S, zal ik hopelijk hem uiteindelijk vinden.
>> Hierdoor algorithm-- dat process-- juist?
Ja.
Het is correct.
Ik zal Mike vinden als hij hier, maar wat is de waarschuwing die u zou kunnen bieden.
Het is traag.
Rechts?
Ik weet dat Mike S is een soort van in de richting van de tweede helft van het telefoonboek.
Waarom de heck ben ik vanaf het begin
en gaan per pagina per pagina.
Dus natuurlijk, ik kon spiegelen rond en starten vanaf de achterkant,
maar dat gaat krijgen me daar in hetzelfde tempo,
als je willl-- pagina na pagina na pagina.
En het gaat niet om te werken als ik wil om te zoeken naar iemand anders wiens
naam komt eerder in het alfabet.
>> Dus wat als ik doe wat ik geleerd op de lagere school,
nogmaals, dingen doen niet door degenen maar door tweeën.
Zo 2, 4, 6, 8, 10, 12, enzovoort.
Is dat correct?
Nee.
Het is een soort van correct.
Maar sommigen van jullie die geen mompelde waar is het probleem, of de bug,
de fout zo te zeggen.
Ja.
>> STUDENT: Je zou kunnen overslaan over de rechter ingang.
>> DAVID MALAN: Yeah.
Ik zou overslaan Mike Smith is omdat ik twee pagina's tegelijk heb genomen
en hij toevallig te zijn ingeklemd tussen deze twee bladzijden.
Ik zou kunnen beseffen dat Ik ben op de T sectie
niet hebben gevonden nog Mike Smith.
>> En wat zou het vaste er?
Nou, als ik raakte de Ts in het telefoonboek,
Ik moet misschien verdubbelen terug één of zo pagina.
Dus het is opgelapt, maar het is niet zo eenvoudig
zoals gewoon met twee tot versnellen mijn prestatie.
Maar wat?
Kom op.
Wat is wat de meeste mensen gaan te doen met dit soort telefoonboek?
Je krijgt het telefoonboek.
Wat doe je?
>> Wat is dat?
Ga naar het midden.
Zo hoorde ik ga naar het midden, en ik vind mezelf min of meer in de M sectie,
bij wijze van spreken.
En nu, wat wil ik doen?
Goed gedaan.
Wat is je naam?
>> JAMES: James.
>> DAVID MALAN: James, oke.
Wat moet ik nu doen?
JAMES: Je gaat in de helft van de S heeft.
DAVID MALAN: Oké.
Ik ga naar de helft te gaan dat de S in omdat, weer,
een bepaling was hier dat dit ding wordt gesorteerd.
Het is een vrij nutteloze 1000 pagina's als Verizon eigenlijk niet
sorteren van deze dingen voor ons A tot Z.
Dus als ik weet dat Mike is waarschijnlijk in de tweede helft van het telefoonboek,
Ik kan nu.
>> [Lacht]
>> Scheur het probleem in de helft.
>> [APPLAUS]
Dank je.
Scheur het probleem in de helft.
Dat was eigenlijk real-- die strijd.
Zo scheurt het telefoonboek in tweeën, waardoor mijzelf
met in wezen hetzelfde probleem.
Maar natuurlijk, half zo groot.
En als ik volg James's opnieuw advies, en ik ga hier.
Ik zeg, oh nu ben ik in de T-sectie.
>> En zo natuurlijk, ik kan het telefoonboek te scheuren
in half keer, waardoor me met een probleem dat is
nu een kwart van de grootte.
Dus ik heb gegaan van 1000 tot 500 250 tot 125 en enzovoort.
Het voelt alsof ik het nemen van grotere hapjes uit
Dit probleem onderling iteratie, of elke stap daarin.
>> En inderdaad, de tijd dat ik ga om te besteden het vinden van Mike Smith in dit voorbeeld
is zo veel minder, want uiteindelijk ben ik ga whittle dit pone boek neer
slechts één eenzame pagina.
En als Mike is op die pagina, ik ben gaan om verder te gaan en hem te geven
een gesprek te hebben hem gevonden.
>> Maar hoeveel beter dat algorithm--
dat durf te zeggen intuïtief algorithm-- dan degene die we
gestart waarmee we erg linear-- links naar right-- in een tempo van 1 of 2x?
>> Nou, laten we plotten dit.
We hebben niet te veel zorgen over te maken wiskunde of nummers in dit geval.
We kijken alleen op een plot.
Zo op de x of horizontale as, is de grootte van de probleem--
hoeveel pagina's er zijn.
Op de y of verticale as, is hoeveel tijd
gaat het om me te nemen om het op te lossen.
En misschien is dat hoeveel pagina bochten, hoeveel seconden,
hoe many-- enkele unit van de maatregelen.
>> En ik heb een rode rechte lijnen getrokken hier want als elke extra pagina
van het telefoonboek, ik nodig een extra stap maken.
Dus als Verizon voegt één meer pagina volgend jaar,
Ik zou kunnen hebben om nog een pagina omdraaien iemand als Mike Smith te vinden.
>> Ondertussen, de tweede algoritme, dat Ik ging door z'n tweeën, is dezelfde vorm.
Het is nog steeds erg lineair, zeer links naar rechts, waarbij gelijke bytes elke keer,
maar de helling is een beetje lager.
>> Bijvoorbeeld, als de grootte van het probleem waren ruwweg hier
en ik gebruikte mijn eerste algoritme, Ik zou kunnen eindigen de hele weg
bovenaan die rode lijn.
Maar als ik in plaats daarvan gebruik twosies te benaderen,
de gele lijn suggereert omdat het lager,
dat het gaat om te nemen me minder tijd het op te lossen.
>> Maar wat is de vorm van de derde algorithm-- weer, misschien wel
de meest intuïtieve algoritme?
Nou, het ziet er een beetje iets zoals dit.
Het is gebogen, of logaritmische, in vorm.
En hoewel het nooit soort vlakker,
Het asymptotisch inches en omhoog en omhoog, maar erg langzaam
versus alles anders.
En wat is de weg te nemen?
Nou, we noemen het log n.
Maar wat betekent dat eigenlijk?
Nou als Verizon verdubbelde de aantal pagina's in het telefoonboek
volgend jaar van 1000 tot 2000.
Hoeveel stappen is mijn eerste algoritme gaan nemen?
>> Mijn eerste algoritme.
Misschien 1000 meer stappen.
Als ze verdubbelde de telefoonboek, ik ga
te hebben om te bladeren door een ander 1000 pagina's om Mike te vinden.
Natuurlijk, als de tweede algoritme, misschien 500 want ik ben
gaat twee keer zo snel.
>> Maar als Verizon verdubbelt het aantal bladzijden tussen dit en volgend jaar,
met mijn derde algorithm-- de kloof en heers dat James voorgesteld,
gaan in de helft en half en half-- hoeveel stappen zullen
Het neem me volgend jaar te hebben een telefoonboek van een afmeting 2000?
Eentje maar.
Want met een hap, ik kan nemen, van dat probleem, de helft van de pagina
weg.
En als je na te denken over dit een beetje waanzinnig now-- als het telefoonboek niet doet
hebben 1.000 of 2.000 pagina, maar laten we zeggen 4 miljard pages--
het is een grote telefoon book-- hoe vaak of hoeveel stappen
gaat het om me te vinden Mike Smith in het telefoonboek
met 4 miljard pagina's.
U kunt een soort van beginnen om de wiskunde te doen.
Okee.
4 miljard gedeeld door 2.
Dus dat is 2 miljard gedeeld door 1.
Dat is 1 miljard.
Dan een half miljard.
Dan 250-- zodat u dit opnieuw kunt doen en weer maar niet dat vele malen eerder
je naar een pagina.
>> Inderdaad, zelfs als de telefoon boek is 4 miljard pagina's lang
of de database die u zoekt is 4 miljard platen lang,
het gaat om neem je geven of te nemen 32 stappen alleen naar Mike Smith te vinden.
En als je het dubbele van het telefoonboek volgende jaar 4000000000-8000000000,
33 stappen in plaats van slechts 32.
>> En dit is het bewijs op de volgende ideeën
opdat wij zouden omarmen in de computer wetenschap algemeen, die
is dit computationele denken en het naderen van een probleem
eerlijk gezegd met behulp van tools uit je al vertrouwd gereedschap
kit-- je echte wereld met waarmee u vertrouwd bent,
maar gebruik te maken van die ideeën daadwerkelijk problemen.
>> Maar we moeten formaliseren onze oplossingen voor deze problemen.
En dus laat ik me even voor een moment iets wat we zouden kunnen pseudocode noemen.
Een groot deel van het semester, zullen we besteden met behulp eigenlijke code in talen als C en PHP
en JavaScript en SQL en dergelijke.
>> Maar voor nu, laten we gewoon kijken op iets vrij intuïtief
zoals Engels.
Ik zou kunnen destilleren dat algoritme waarmee
Ik vond Mike in stappen, zoals dit.
>> Pak de telefoon boek
>> Open tot midden telefoonboek
Kijk naar de naam van
Als Mike is een van de naam van
Bel Mike
Anders als Smith is eerder in het boek
Open naar het midden van de linkerhelft van het boek
Anders heen te gaan op lijn 3
Anders als Smith is later in het boek
Open naar het midden van de rechter helft van het boek
Ga naar lijn drie
Anders
Geef op
En er is een paar eigenschappen nu van deze die zijn gewezen.
Zodat men alle lijnen Ik heb geel gemarkeerd
we gaan beginnen bellen verklaringen of functies of procedures.
Ze zijn gewoon acties doen Dit, en er is geen
zo veel variatie te.
>> De volgende stap hier wel, dit zijn conditions-- indien, anders, anders als, anders.
En dit zijn geroepen voorwaarden, of takken, en ze zijn beslispunten.
En ze laten ons te doen iets voorwaardelijk.
>> En in feite, laten we eens een snelle kijken naar misschien een vertrouwde face--
we zullen hem bellen Bill-- en precies wat deze voorwaarden,
hoe deze kunnen worden gebruikt.
>> BILL GATES: Mensen maken beslissingen elke dag.
Bijvoorbeeld, voordat je buiten je soort van een if-statement dat zegt:
als het regent, dan heb ik nodig om mijn jas te krijgen.
>> En computers zijn geweldig als je eenmaal beslissen dat soort uitspraken
dat ze op betrouwbare wijze kan uitvoeren die dingen op ongelooflijke snelheid.
En dus een computerprogramma echt is een beetje van wiskunde en een aantal
if-statements, waar de beslissing wordt gemaakt.
>> DAVID MALAN: Dus laten we nu de focus op een paar verschillende lines--
degenen die ik heb gewezen op geel hier.
En het blijkt dat er verschillende manieren om dit idee uit te drukken.
Maar intuïtief wat onze lijnen 8 en 11 die ik heb hier uitgelicht je te vertellen
Te doen?
Ja, ga naar lijn 3, maar wat gedrag is dat echt te induceren?
Het is een soort loop of fiets, en u kunt soort zien.
Rechts?
Als op lijn 8, ga je terug naar lijn 3, en dan druk je lijn 8 weer,
je zou terug naar lijn 3, terug naar lijn 3, terug op lijn 3.
Er is dit soort cyclus of lus.
En inderdaad, dat is opgewekt in lijn 11 in potentie ook.
Dit is een fundamentele programmering construct ook.
>> Je zou niet willen gewoon doe iets met een verklaring
of iets te doen voorwaardelijk met een aandoening of een filiaal.
Wilt u misschien iets te doen cyclisch met een lus.
En we zullen iemand anders met wie u misschien wel familiar-- we hem zullen noemen
Mark-- dit begrip hier uitgelegd.
Mark Zuckerberg: One ding dat computers
echt goed in is het herhalen van opdrachten.
Als een persoon, zou je krijgt echt verveeld als je
moest hetzelfde te doen veel keer op een rij,
maar een computer kan hetzelfde doen miljoenen of zelfs miljarden malen
en niet te vervelen en in staat zijn uit te voeren die echt goed.
>> Dus bijvoorbeeld als ik wil iedereen wensen
op Facebook een gelukkige verjaardag door het sturen van hen een e-mail,
het zou me meer dan een eeuwse om daadwerkelijk uit te schrijven
al die e-mails naar iedereen.
Maar met slechts een paar regels code, kan ik hebben een systeem stuur dan een e-mail naar iedereen
op Facebook wensen hen een gelukkige verjaardag.
>> Dus dat is wat loops zijn en waarom waardevol en iets wat ze zijn
dat computers erg goed kunnen doen.
>> DAVID MALAN: Veel dank aan onze vrienden bij code.org voor de twee films.
En net vorige week, moet u wellicht gezien dat Mark Zuckerberg en Facebook
gepost deze aankondiging, namelijk dat ze net
hebben een belangrijke gepasseerd mijlpaal voor de eerste keer ooit.
1 miljard mensen gebruik van Facebook in een enkele dag, in het bijzonder afgelopen maandag.
Een op de zeven mensen op Aarde blijkbaar aangemeld bij Facebook.
>> Nou, lijkt dit een goede gelegenheid om terug te kijken van waar Facebook begon,
en wij gingen door CS50 eigen archieven, want het blijkt dat in 2005,
Mark gaf een gastcollege in CS50.
Je zult zien dat de productie waarden waren niet helemaal hetzelfde toen
in termen van de techniek beschikbaar is, en je zult ook
zien dat de aanwezigheid van dit gastcollege
niet noodzakelijkerwijs pique het belang van de studenten, uw voorgangers,
zo veel als het misschien slechts een paar jaar later.
>> Dus laten we eens een kijkje nemen bij Science Center C.
SPEAKER 2: Please join me, en welkom.
[APPLAUS]
Mark Zuckerberg: Yo.
Okee.
Cool dit is de eerste keer dat ik ooit moesten zo'n ding houden.
Dus ik ga gewoon maak het heel snel.
Okee.
Kun je het horen?
Is dit goed?
Is dit versterkt op alle?
Okee.
Zoet.
Dus, dit is als een van de eerste keren Ik heb aan de Harvard naar een lezing geweest,
maar--
>> DAVID MALAN: Dus uiteindelijk het Science Center deed opnieuw in op de video,
maar niet voordat dit vastleggen uittreksel, waar Mark's praten,
die hij besprak zijn kamergenoot, Dustin, die
wilde een handje te helpen met deze site genaamd de Facebook.com
en realiseerde zich dat Mark het punt staat te Vermeld de programmering languages--
een zogenaamde Perl, een riep PHP-- zoals hij bespreekt
de oorsprong van de bijdrage van Dustin's.
Mark Zuckerberg: I begon te rennen de site
en lanceerde het op Harvard in februari 2004.
Dus ik denk dat nu bijna twee jaar geleden.
En binnen een paar weken, een paar duizend mensen hadden zich aangemeld,
en we begonnen met het krijgen van een aantal e-mails van mensen die op andere hogescholen te vragen
voor ons om het te lanceren op hun scholen.
>> En ik was het nemen van 161 op het moment.
Dus ik weet niet of jullie weten de reputatie van die cursus,
maar het was een beetje zwaar.
Het was een erg leuk natuurlijk, maar het maakte me niet verlaten met veel tijd
om iets anders te doen met Facebook.
Dus mijn kamergenoot Dustin, wie denk ik was net klaar met CS50, was als, hey.
Ik wil helpen.
Ik wil de uitbreiding te doen en te helpen u erachter te komen hoe de dingen te doen.
>> Dus ik was als, dat is vrij koel, kerel.
Maar je weet het niet echt geen PHP of iets dergelijks.
Dus dat weekend ging hij naar huis, kocht het boek Perl voor Dummies,
kwam terug en was als, oke.
Ik ben klaar om te gaan.
>> Ik was als, kerel, de site is geschreven in PHP niet Perl, maar dat is cool.
>> Dus pakte hij PHP voorbij als een paar dagen, omdat ik
beloven dat als je een goede achtergrond in C,
PHP is een heel simpel ding op te halen.
En hij gewoon een soort ging aan het werk.
>> Voordat we nu een kijkje nemen waar de cursus gaat,
sta mij toe slechts enkele uitnodigen van SC50's medewerkers op om het podium.
Sommigen van hen zijn het winkelen hun eigen cursussen.
Maar als die TF's en CA's en natuurlijk hoofden die hier zou kunnen komen op
en samen met mij voor een snelle hallo.
>> Sta mij toe om te introduceren in het bijzonder, Hanna, Maria, Daven, en Rob,
CS50 De cursus leidt hier in Cambridge.
>> [APPLAUS]
>> DAVID MALAN: Inderdaad, bewijs van de ondersteunende structuur die de cursus heeft
gebouwd in de afgelopen jaren, CS50 personeel dit jaar bijna 100 nummers,
en dat is hier in Cambridge alleen.
Ondertussen, in New Haven, zijn er een aantal 40 TF's en CA's en medewerkers er
om de cursus lopen ook.
>> Laat ons eerst even voorstellen, Rob Bowden.
ROB BOWDEN: Hi.
Ik ben Rob.
Dit is mijn zesde jaar TFing in de cursus.
Dus, helemaal terug in mijn eerstejaarsstudent jaar, heb ik niet CS50 nemen.
Uw eerstejaars fall-- u misschien vertrouwd
dat je alleen kunt nemen vier gangen en er zijn zo veel cursussen vandaag.
Dus ik ben zoals, eh.
Ik nam AP CS mijn laatste jaar van de middelbare school het was verschrikkelijk.
Dus, ik heb zoiets van, eh.
Informatica is niet voor mij.
>> Dus toen was het over de loop van mijn eerstejaars
vallen, dat ik had een vriend in CS50 en Ik denk dat ik deelgenomen aan een college met haar.
Het is net als, oh, dit is een beetje beter dan wat ik had op de middelbare school.
>> En in de loop van de jaar, had ik mijn eigen probleem sets
in de vakken was ik eigenlijk nemen.
Maar ik vond dat wanneer ik wilde uitstellen op die,
Ik zou terug naar CS50 en kijken naar enkele van dat spul.
Dus ja.
Ik ben cool.
Ik uitstel met codering.
Dus dan is het aan het einde van de val, dat realiseer ik me, hey,
informatica is pretty cool.
Ik eindigt met CS51.
In het volgende semester, Ik eindigt met CS61.
En dit alles vanaf daar, toen ik uiteindelijk verklaren
informatica, die ik had absoluut niet van plan te doen
toen ik naar de universiteit.
En nu ben ik hier.
Dus de cursus is wat je er zelf van maakt.
Ik hoop dat je ervan geniet.
>> [APPLAUS]
DAVID MALAN: Hartelijk dank aan Rob.
>> En nu Maria, onze hoofd cursus assistent.
>> MARIA: Hey guys.
Mijn naam is Maria.
Ik ben een tweedejaars in Cabot House, afkomstig uit Bulgarije,
en ik ben super enthousiast te zijn een deel van het personeel dit jaar.
Ik nam CS50 als eerstejaarsstudent vorig jaar, en ik heb nooit zelfs
nagedacht over CS vooraf.
Dus ik helemaal gek op de cursus, en ik hoop dat jullie allemaal het liefde zo veel als ik deed.
En, ja.
Welkom bij CS50.
DAVID MALAN: Bedankt aan Maria.
[APPLAUS]
Nu Hanna, ons hoofd onderwijs collega.
HANNA: Hoi, ik ben Hanna.
Ik ben een senior in Cabot studeert informatica.
Ik nam CS50 als eerstejaarsstudent en had geweest TFing-- dit zal mijn derde jaar.
Dus zal ik graag betrokken worden in CS50 voor alle vier jaar,
en ik kijk ernaar uit samen te werken met u allen.
DAVID MALAN: Bedankt aan Hanna.
[APPLAUS]
En tot slot, Daven, onze precepter.
Daven: Hey guys.
Ik ben een voorschrift meer dan in informatica hier.
Dit zal mijn vierde jaar lesgeven zijn.
Ik help ook het beheer van de cursus.
Dus ik weet zeker dat je me zien rond, vooral bij de kantooruren.
Ik ben altijd op kantoortijden.
Dus als je me zien lopen rond, zeker komen gedag zeggen.
Ik hou ervan om iedereen te ontmoeten.
Anders, veel plezier, en ik zie je rond.
>> DAVID MALAN: Bedankt aan Daven ook.
Dus je zult al te voldoen deze mensen het duurde niet lang.
Maar zonder verdere ado, als jullie zou doen
graag uw zetels van eerdere hervatten.
Sta mij toe te voeren vanuit de verte nu een aantal van onze vrienden uit New Haven,
in het bijzonder de hoofden van de cursus, die zult wordt het toezicht op CS50 er-- Professor
Brian Scassellati, Jason, en Andi, die gewoon-- zodat we niet het lot hadden verleiden
met enige FaceTime of like-- hebben net stuurde ons enkele minuten
geleden de volgende video waarin ze zeggen hello from collegezaal
aan de Yale, waarbij lecture wordt momenteel gestreamd.
>> Dus onze vrienden van Yale.
BRIAN Scassellati: Hoi, David.
Hallo, iedereen bij Harvard.
We zijn zo enthousiast te brengen CS50 naar Yale dit semester.
Mijn naam is Brian Scassellati, maar gewoon iedereen oproepen me Scas.
En ik ben hier vandaag om te introduceren om u de CS50 personeel.
>> [TOEJUICHENDE]
>> En wat nog belangrijker is, ik ben hier zo goed in te voeren
alle van de studenten aan Yale die vanochtend
hebben deze het meest populair opleiding aan Yale de CS50 studenten.
>> [TOEJUICHENDE]
>> Dus we zijn erg enthousiast hier zie je nog
op vrijdag en op zaterdag voor de Puzzel Day en hebben een geweldige lezing.
Doei.
>> [APPLAUS]
>> DAVID MALAN: Op het scherm is hier de namen van een aantal van 140 medewerkers
leden die je te wachten over de loop van de semester-- een aantal van hen
Hier in Cambridge, sommige van hen hier in New Haven.
En inderdaad heb je een hebt kans deze zaterdag,
als Scas notities, wonen CS50 Puzzle Day.
Je zou kunnen hebben gezien weinig puzzelstukjes gleed onder uw deuropeningen onlangs.
We hebben een paar extra's hier later wanneer je bestaat.
Als u assembleren alle vier de puzzel stukken en voeg de krachten met kamers
in de omgeving van jou in je huis of dorm, zullen ze
assembleren in een QR-code-- of een tweedimensionale barcode, die
eenmaal geassembleerd en gescand met je telefoon zal je leiden
om een ​​aantal fantastische prijs of-- ik veronderstel je kon gewoon fotograferen dit nu
ook.
>> Maar vinden die puzzelstukjes toch om te winnen die fantastische prijs.
En inderdaad een van de tradities in SC50-- ah, te traag.
Een van de tradities in CS50 is serveren taart na de eerste lezing.
>> En zo ja, in een paar minuten vanaf nu,
zullen er cake geserveerd buiten zowel hier als in New Haven als goed.
>> Maar first-- ingericht we ze zelf.
Maar first-- en hopelijk er zal genoeg zijn.
>> Maar eerst een snelle blik.
Dus lezingen inderdaad zal zijn meestal hier Cambridge geproduceerd.
Maar elke maand, zullen we naar beneden springen naar Yale met CS50's productie team en stroom
de cursus in de omgekeerde richting ook, dus
op de twee campussen brengen echt voor de eerste keer in de geschiedenis
zo dicht mogelijk bij elkaar als een in dezelfde cursus.
>> In termen van de draagconstructie dat al stond hier in Cambridge ook
zoals in New Haven, doorsneden.
Inderdaad, zoals sommigen van jullie weet het, we hebben verschillende tracks
binnen de cursus voor de minder comfortabele, comfortabeler,
ergens tussenin zodat ongeacht uw voorafgaande achtergrond,
kun je uiteindelijk slagen in de klas.
>> Spreekuren ondertussen, zijn een kans op maandag en dinsdag
en donderdagavond om zowel te werken hier en in New Haven op onze cursus
probleem sets met tientallen personeel van de cursus in uw buurt.
>> Probleem zet ondertussen zijn ondersteund door dingen die wij noemen
walkthroughs, die video zijn gebaseerd tutorials die echt beantwoorden FAQ
waar op de uitdaging van een week beginnen.
En de nabespreking loop je door middel van mogelijke oplossingen
zodat het uiteinde van de probleem te stellen, je
weet precies wat je had kunnen doen anders of geheel anders.
>> Het probleem stelt zich komen in twee edities, een standaard editie
dat wij verwachten en nodigen de meeste de class-- ongeveer 90% plus te doen--
en een zogenaamde hakker editie waarop elke pagina is Opgehemeld
hacker editie, hacker editie, hacker editie,
zodat u dat karma als je wil, om te duiken
in meer geavanceerde versies van de cursus probleem sets
dat de dekking ogenschijnlijk hetzelfde materiaal maar met een meer verfijnde aanpak
en met aanvullende achtergrondinformatie Soms leidt.
>> Inmiddels zijn er negen dagen te laat dat u kunt toepassen op het probleem van de cursus
stelt evenals de laagste score, die wij vallen aan de voorwaarden einde.
>> Maar wat te wachten staat?
Nou ja, een voorproefje van het probleem zet bij de hand op vrijdag
en volgende week waar we ploeteren voor slechts een paar dagen in iets
genaamd Scratch, een grafische programmeeromgeving ontwikkeld door onze vrienden
aan het MIT Media Lab waarmee je programmeren hetzij voor het eerst
of in een nieuwe omgeving helemaal met behulp van een drag and drop type omgeving.
Waarbij puzzelstukjes alleen samen interlock
als het maakt logische zin te doen.
>> Ondertussen in probleem te stellen laatste twee jaar bijvoorbeeld,
hebben we introduceren de klas in de wereld van cryptografie,
de kunst van het versleutelen of klauteren informatie.
Sterker nog, deze tekst hier als ontsleuteld daadwerkelijk
leiden u naar een aantal leuke bestemming.
En het probleem stellen, wat we hadden studenten
doen is precies die uit te voeren soorten things-- een algoritme,
of reeks instructies scrambling en klauteren informatie.
>> En in de hacker editie van die zelfde probleem set,
hebben we uitdagen studenten om een ​​te nemen versleutelde bestand van een typische computer
systeem met veel gebruikersnamen en versleutelde wachtwoorden
en die passwords-- kraken eigenlijk uitzoeken
wat ze waren zonder iets te weten A priori over die werkelijke wachtwoorden.
Ondertussen, doen we overgang in het probleem
zet dan te kijken naar de wereld van de graphics.
En in feite zou je je voorstellen nu dat dit kan wellicht
zijn de eenvoudigste manier te vertegenwoordigen een zwart-wit beeld.
>> Een witte pixel, of vierkant, zoals boven daar,
kunnen worden vertegenwoordigd a 1 en een zwart vierkant
zou kunnen betekenen met 0.
En alleen door het gebruik meer bits zoals wij voorgesteld eerder met 72 en 73 en 33,
konden wij vertegenwoordigen kleurenpixels ook.
En wat we doen tijdens Dit probleem set is
over het algemeen een wandeling rond campus met een digitale camera,
foto's nemen van mensen, plaatsen en dingen.
Dan een of andere manier elk semester, we lijken te ongeluk
verwijderd of corrupt de geheugenkaart waarop al deze foto's zijn,
en dus je wordt uitgedaagd om vervolgens te schrijven software
waarmee de JPEG's te herstellen van een kopie van de kaart onze camera's.
>> Ondertussen hebben we klaar om u later in de term een ​​woordenboek van het Engels woorden
die moeten 143.000 woorden, en wat je nodig hebt om te komen
met een slimme manier van u ze in het geheugen,
of ram bij wijze van spreken, om te antwoorden queries van het formulier: dit is een woord,
is dit een woord, de uitvoering van de snelste spellingcontrole dat je kunt,
zelfs pinning jezelf potentieel tegen klasgenoten
om te zien wie van u gebruik maakt van de minste hoeveelheid tijd
bij het uitvoeren van de code en zelfs de minste hoeveelheid geheugen.
>> Later op termijn denk je eigenlijk implementeren van uw eigen webserver.
Dus niet alleen een website in een taal genaamd HTML en nog veel meer,
maar een webserver die eigenlijk luistert verzoeken op internet
en daarop reageert.
En inderdaad, dit is hoe we overbruggen onze wereld van C waarmee je
vertrouwd te raken volgende week PHP en HTML en JavaScript
en CSS en dergelijke.
>> Omdat een van de eerste webgebaseerde project later in de term doen we
is historisch CS50 Finance.
Etrade.com stijl van een website die het mogelijk maakt u bijna kopen en verkopen aandelen
terwijl ook het schrijven van code om Yahoo te praten Finance krijgt semi real-time voorraad
citeert om te werken je eigen portfolio.
>> Maar ten slotte natuurlijk is de laatste project--
een kans om bijna alles van doen u interessant om hier een probleem op te lossen
of verder van belang u dat een of andere manier geïnspireerd
door de geleerde lessen in de klas.
>> En de klas, zoals u wellicht weet, culmineert in de zogenaamde CS50 Hackathon
en CS50 Fair en een willekeurig aantal van andere culturele evenementen
het hele semester die u in staat om deel te nemen
met elkaar en het personeel van de cursus.
>> Bijvoorbeeld, bij Fire and Ice in Sitar dit jaar, nou ja, op vrijdagmiddag,
nodigen wij zo'n 50 studenten om te lunchen, whoever
wil om mee te doen, mijzelf, en het personeel,
en onze vrienden uit het bedrijfsleven en alumni om te praten over het leven in de echte wereld
en verder onder het genot van een goede lunch.
Aan de Hackathon zal zie je dergelijke beelden
deze, waaronder veel candy-- en vanaf 2014 voor de eerste tijd--
groenten.
>> [APPLAUS]
>> Maar door 05:00, doet de scène meestal er een beetje iets als dit.
En dan gewoon een week of dus later, is de CS50 Fair
waarvoor sommige 2000 plus studenten en medewerkers en docenten
leden uit de hele campus en over campussen dit jaar
komen om te zien en genieten van de verwezenlijkingen van CS50 studenten, die
is nu jou.
>> En inderdaad, terwijl dit jaar zullen we uitnodigend en busing iedereen
bij aan de Yale die graag aan te komen Cambridge deze zaterdag voor CS50 Puzzle
Day, en we zullen precies hetzelfde te doen in december voor de CS50 Hackathon
zodat Harvard en Yale studenten Zowel deelnemen aan beide gebeurtenissen.
>> We zullen ook houden CS50 beurzen in Cambridge en in New Haven dit jaar
zodat studenten op beide campussen en medewerkers en docenten
ziet elke respectievelijke prestatie campus's.
En die verwezenlijkingen zal een dergelijk geheugen te induceren
Hierdoor en als deze en uiteindelijk onderhavige, waarin jullie allemaal
verlaat de klas dragen van een beetje iets waar je hopelijk waren
blij of trots om te zeggen dat ik nam CS50.
>> Maar voordat het zover en voordat we serveren cake,
we hebben together-- dankzij de CS50 we productie team en een zekere zelfstandige
stok, de ene keer dat we gebruiken zulke dingen voor-- als we stuurde hem
niet alleen hier naar Cambridge maar ook New Haven
om een ​​paar hellos van het verzamelen medewerkers en alle mensen cursus
vindt u zowel hier als in New ontmoeten Haven loop van de volgende maanden.
>> Sta mij toe om een ​​te introduceren weinig meer van het personeel CS50's.
Mark Zuckerberg: Heeft die het gaan?
Oh, het gaat.
Het gaat.
Ooh.
Yarr!
>> [Muziek Andy Grammer: "Schat, ik ben GOED"]
>> MARY: Dit is Caitlin.
Dat is Jay, en ik ben Mary.
SATO: Hoi, jongens.
Ik ben Sato.
MICHAEL G .: Hi.
Mijn naam is Michael, G.
DOUG LLOYD: Ik ben niet.
Nee.
Ik ben Doug Lloyd.
Ik kan niet geloven dat ik ben bedrijf een selfie stok op dit moment.
SPEAKER 4: Hi.
SPEAKER 5: Hi.
SPEAKER 6: Hallo.
SPEAKER 7: Hi.
SPEAKER 8: Hey.
We opknoping uit bij Yale.
We zijn erg blij voor dit semester omdat het
de eerste keer dat het komt naar Yale.
Het zal geweldig zijn!
>> [Muziek]
>> JACOB SCHERBA: Mijn naam is Jacob Scherba.
Ik ben opgewonden om te leren CS50 omdat ik denk
brengen computer science aan mensen in en laagdrempelige manier.
SPEAKER 9: Ik ben echt opgewonden om te leren CS50
want ik nam de klas van vorig jaar, en het is één van de beste klassen.
SPEAKER 10: Ja.
Mijn advies is moet je CS50 nemen.
JACOB SCHERBA: Ik koos CS omdat Ik denk dat het een leuke en creatieve manier
om problemen op een analytische manier op te lossen.
SPEAKER 11: Toen ik was een beetje eerstejaars en bang van de informatica
en bang voor het doen engineering en stuff,
Het was de eerste harde klasse nam ik, en het was ook mijn favoriete klasse ooit.
DOUG LLOYD: Dit is mijn negende jaar lesgeven CS50.
Dat maakt me zo oud geluid!
Er is altijd iets nieuws.
Er is altijd iets spannends.
Er is altijd nieuwe uitdagingen voor nieuwe studenten, en het is leuk om hen te helpen
en deze ervaring uitdagingen met hen
en hen te helpen hun problemen op te lossen.
>> SPEAKER 12: Toen ik voor het eerst geleerd hoe dat te doen CS,
het was als het leren van een super macht.
En om te zien dat in andere studenten en om hen te helpen door dat proces
is een van de meest lonende dingen die ik ooit heb.
>> SPEAKER 7: Ik koos voor CS, omdat in de begin, ik was een wiskunde concentrator
en ik nam CS50 en werd verliefd op het.
Ik vond ook dat met CS, kon ik dingen bouwen.
En dat, dacht ik, was een echt cool aspect.
>> SPEAKER 13: Enkele tips voor nieuwe studenten is naar kantooruren
en hangen met de geweldige TF.
SPEAKER 14: Start uw P-SETs vroeg, ga dan naar de kantooruren,
worden frends met uw TF.
SPEAKER 15: Ja.
Alles wat ze zei.
SPEAKER 16: Weet niet bang om te vragen om hulp.
SPEAKER 17: Ja.
SPEAKER 18: Start uw P-SETs vroeg.
SPEAKER 19: Het is een grote sociale ervaring.
Maken veel vrienden op deze manier.
SPEAKER 14: Ga naar de sectie Het is leuk.
SPEAKER 11: Ik bedoel, go for it.
Het is echt moeilijk.
Je krijgt van te maken wat je erin steekt,
maar het is echt een leuke klasse vooral als je
bereid om de tijd gestoken, maar het helpt als je tijd erin steekt.
Je zult veel meer te halen van te maken later.
MIKE: Ik ben Mike.
CAMILLE: Ik ben Camille.
Hanya: Ik ben Hanya.
MATT: Ik ben Matt.
PETER: Ik ben Peter.
PHILLIP: Ik ben Phillip.
PATRICK: Ik ben Patrick.
ROB BOWDEN: Ik ben Rob Bowden.
BRIAN Scassellati: My naam is Scas en dit--
ALL: --is CS50.
SPEAKER 20: At Yale.
SPEAKER 21: At Yale.
[Lachend]
DAVID MALAN: Dat is het voor CS50.
Wij zullen u zien van Yale op Vrijdag, Puzzel Dag op zaterdag.
Cake wordt nu bediend.
Dit is CS50.
>> [Muziek]