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