[MUSIK SPELA] TALARE 1: Det är CS50, Harvard Universitet. [MUSIK SPELA] David J. MALAN: [OHÖRBAR] är förmodligen under senare hälften av telefonboken, Jag kan nu riva problemet i hälften. Det var faktiskt riktigt, den kampen. [MUSIK SPELA] TALARE 2: Du människor är så lätt att slå. DAVID J. MALAN: Okej, är detta CS50. Detta är början och I slutet av vecka 12. Och ni kanske minns som i vecka noll, detta är meddelande som vi började, att det inte spelar någon roll var du hamnar upp i förhållande till dina klasskamrater, men där du idag, och kanske bara några veckor från och med nu, end upp i förhållande till dig själv för några veckor sedan. Och i själva verket hoppas vi efter så många problemsamlingar, och så många timmar, och ett par frågesporter, och fortfarande med slutprojekt, att du känner särskilt stolt har kommit hela vägen från vecka en där det kanske var det tidigaste av kamp, vare sig i standardversionen eller hacker upplagan därav. Och jag skulle, vid någon tidpunkt föreslå att på fritiden, att du går tillbaka och se din PHP, din JavaScript, och se Om du inte kan genomföra så här långt, mycket snabbare och mer bekvämt än du en gång i tiden gjorde sedan. Faktum är att efter detta, minns du gjorde kryptografi, du gjorde spelet i 15, du gjorde kriminal utmaningar, du gjorde den snabbaste spell checker att du kan, du gjorde CS50 finanser, CS50 mash-up, och sedan nu, slutligen, din egen slutprojekt. Och så idag, vi försöker få stängning, och titta på var vi har kommit, och vart vi ska. Och bara för att försäkra också, som en gång alla återstående stödhjul lossna, du ganska mycket har tillräckligt många verktyg i din verktygslåda för att nu gå ut och göra det mesta något i världen av programmering. Visst funderar på att ta några Naturligtvis högre nivå kan vara en fördel. Men inser också, att även om detta är den sista CS kurs du tar, inse det på Mac OS, det finns så många olika verktyg som du kan använda oberoende av att ha att använda något som CS50 IDE. Nästan samma verktyg finns för Windows, Linux, och mer. Och faktiskt, ett av målen CS50 i använda denna brandslang språk, C, och PHP och uppföljare, och JavaScript och HTML, och CSS, är att verkligen se till att du behöver inte lämna den här kursen tänkande, lärde jag c, utan snarare att du lärt dig hur man programmerar, och att du förstår lite något om datavetenskap sig. I själva verket, även om vi inte har tittat alls av följande språk, det är kul nu att gå in den här gruppen av folk som tycker geeky humor roligt. Och även om en del av den språk du håller på att se kanske inte vara helt bekant, kommer du åtminstone få några småskrattar från åtminstone ett bekant språk, JavaScript. Detta var ett föredrag av en särskilt väl insatt programmerare för en tid sedan har rätt, Wat. Och vi trodde att vi skulle ge dig en inblick i hur datavetare tenderar att tänka, eller åtminstone prata. GARY BERNHARDT: Okej bra. Ni vet vad wat betyder? Wat. Exakt, exakt. Låt oss tala om Ruby. I Ruby, om du refererar till en odefinierad variabel, naturligtvis det NameErrors, som du förväntar dig. Och om du försöker tilldela B till A med dem odefinierad, naturligtvis det NameErrors, som du förväntar dig. Och vad händer om du försöker tilldela en till en, med en odefinierad? Publik: Nil. GARY BERNHARDT: Korrekt, noll. Wat. [SKRATT] Låt oss tala om Ruby. Ruby, till skillnad från vissa andra dynamiska språk, inte har bara ord. Så du kan inte bara skriva ord, och har strängar komma ut om du definierar en viss method_missing som gör det rätta. Och sedan, om du skriver bara ord, plötsligt, Ruby stöder bara ord. Och i själva verket kommer det även att stödja nakna ord med lugg i dem. Och det är inte förtjänar wat. Detta är faktiskt ett resultat av hur häftigt Ruby är. Men om du någonsin faktiskt gör det, då, wat. [SKRATT] Låt oss tala om JavaScript. Någon som vet, i JavaScript, vilken matris plus array är? Nåväl, låt mig fråga dig detta första, vad ska matris plus array vara? Publik: tom array. GARY BERNHARDT: tom array, jag skulle också acceptera typ fel. Det är inte vad array plus array är. Fel, fel, array plus array är tom sträng. [SKRATT] Självklart, jag tror det är uppenbart för alla. Nu vad skulle matris plus föremålet vara? Detta bör naturligtvis vara typ fel, eftersom de är helt och hållet disparata typer. Någon som vet vad detta är? PUBLIK: Falskt. GARY BERNHARDT: Nej, nära, nej, långt borta. PUBLIK: Det är objekt. GARY BERNHARDT: Det är objekt. Säkert, snyggt gjort. Nu, naturligtvis, eftersom det är plus, kan du vända operander och samma sak kommer ut. Så om vi do-- vad? Nej, det är bara ett objekt. Om du gör invändningar plus array som du bör få exakt samma sak. Vilket som ni kan se, du gör. [SKRATT] Och slutligen, den enda av dessa som är faktiskt sant är-- eftersom du lägger till matriser och du får tom sträng, gör det inte meningsfullt. Men ett objekt plus ett objekt är faktiskt inte ett nummer, tekniskt. [SKRATT] Så här är faktiskt rätt. Exakt, höger, precis vad är ännu pågår i denna lang-- jag bara, Jag förstår inte ens vad person med en hjärna i huvudet skulle kunna tro att någon av detta är en bra idé. [SKRATT] OK, OK, tillräckligt att göra narr språk som suger. Låt oss tala om JavaScript. [SKRATT] Om jag säger array dot ny 16, eller bara matris (16), Jag får en uppsättning av 16 saker, som representerar som 16 kommatecken, vilket är uppenbart. Om jag sedan ansluta sig till dem med ett snöre, då får jag strängen 16 gånger. Detta är faktiskt den enda raden i denna hela presentationen som är rimligt. Nu, om jag tar den strängen och sedan lägga en 1 till det, den tolkar en as-- kastar en till en sträng, och då får vi wat1 en gäng gånger, bra. Någon som vet vad som kommer att hända om jag subtrahera 1 från strängen? [SKRATT] Jag antar ingen gör. Låt mig-- Jag ska ge dig en ledtråd. Hjälper detta? Någon som vet? [SKRATT] Watman. [SKRATT] Det är allt jag har. Tack killar. [APPLÅDER] DAVID J. MALAN: Låt oss ta en snabb titt på några av de saker framöver för dig. Så CS50 hackathon är detta episka allt-nighter, under vilken du och dina klasskamrater från Yale, kommer dyka into-- men förhoppningsvis inte begin-- ditt slutprojekt. Kvällen börjar kl 07:00. Första middag kommer att vara ungefär vid 09:00. Andra middag kommer att vara på 01:00. Och sedan, för dem kvar, frukost kommer att serveras på IHOP på runt 05:00. Du kan se sådana scener som denna. Som utlovat i veckan noll i år, vi ska har inte bara mat, och middag, och godis, men även för andra gången i historien, grönsaker. Men runt 3 eller 04:00, scener som Detta är inte så ovanligt. I själva verket ser vi vår beskärda del av kuddar förs till hackathon, som är också bra. Och sedan kulmen av kursen är den så kallade CS50 mässan. Det finns en både här och i New Haven en vecka efter. Den vid Harvard är Måndag 7 december, under eftermiddagen i nordvästra Science. Och vid ankomsten, kommer du checkar in. Och du kommer att se sådana saker som popcorn och ballonger, och slutligen, som förra år, över 2000 personer som kommer att se det färdiga projektet, studenter, personal och lärare från hela campus och även utanför campus. Och om det inte vore tillräckligt incitament att komma och se dig själv, inser att din vänner kan uppmuntras komma att se Asana, och eBay och Facebook och Google och Microsoft, och Palantir, och Quora och andra, rekryterare och alumner från dessa olika företag prata om livet i den verkliga världen, möjligheter både heltid och sommartid i själva industrin. Och om det inte var resonera nog att komma se dig, dina vänner kan uppmuntras att ange lotteri där, vid ankomsten, du som studenter kommer varje lämnas ett gäng smiley klistermärken. Och deltagare, liksom dina vänner, kommer att hanteras lite lotteri kort vid ankomsten. Och för varje person de chatta upp, kommer de att vara överlämnas, av dig, en smiley klistermärke. Var och en representerar en post i ett lotteri med fina priser, bland dem en Xbox, Wii, och hel massa andra roliga saker, varav en del har vi sett här i klassen. Så håll ögonen öppna för det. Men i slutändan är det helt och hållet om prestationer denna termin, och uttryck, och spänning att du kommer att röra på deltagarna. Där du i slutändan, är bär din mycket own-- detta, Jag tog CS50 t-tröjor som det här. Så uppmuntrar din vänner att gå till denna URL här, som kommer att skicka dig till alla detaljer därför. Under tiden, om du funderar på en annan titta på datavetenskap i våras, eller längre, inser att detta är den Samma handout-- även uppdaterats sedan vecka zero-- som vi delade ut. Och om du går till mitten av denna booklet-- det finns kopior i transepten outside-- inser detta visar via pilar exakt vad kurser du kan gå ut att utforska våren nästa falla, sommartid, och bortom. Så tar en titt på diagrammet däri för att få en känsla av saker. Och om du vill få involverad i andra kapaciteter, vet, om du inte redan, att kollegiet Board-- som Du kan ha vissa inte så förtjust minnen of-- har ändå bara skapa en ny ram läroplan kallad AP Dator Science principer. Något du kan ha tagen, eller åtminstone hört talas om, ett existerande CS kurs vid gymnasieskolor som kallas APCSA, vilket är en ganska vardagliga klass som fokuserar alldeles för mycket på språket Java och mekaniken därav. APC principer, under tiden, kommer vara mer om idéer och mer om problemlösning. Och mot detta ändamål vi, ett gäng våra vänner på UC Berkeley, vid co.org, och några andra enheter runt världen skapar läroplaner som kommer att tillfredsställa APC principer. Det vill säga att CS50 AP kommer vara en AP motsvarande som studenter i olika gymnasieskolor i hela världen kan ta börjar denna kommande höst 2016. Och om du vill engagera sig i gymnasieutbildning, och inblandade i denna uppsökande verksamhet, når ut till oss där, oavsett om du är en TF, en CA, eller helt enkelt intresserad av utbildning i stort. Och faktiskt, om du vill att gå CS50 egen lag, inse att så snart som term slutar, kommer vi att börja rekrytera för Undervisning Fellows, Kurs assistenter, liksom de många artister som gör detta naturligtvis möjligt bakom kulisserna, skapa sina online tillgångar, dess i person möjligheter och mycket mer. Så om någon av dessa roller här överklaga, låt oss veta på den här webbadressen här. Nu i en liten stund kommer vi att vända sig till, precis som vi gjorde i vecka noll, vissa tårta. Den här gången ska det vara tjänstefolk i puben. Så huvudet där senare. Men jag ville bara vill ta en stund att inse verkligen vad denna kaka här representerar, eller kanske mer canonically, vad detta här face-off representerar. Det har verkligen varit en ära, ärligt talat, att samarbeta med våra vänner väg i New Haven den här terminen. Det har verkligen varit en underlig sak, en ovanlig sak, vågar säga en oöverträffad sak för två högskolor att komma samman, erbjuder en kurs i samma, på två olika campus och föra dessa två elevkårerna tillsammans. Men det har varit en sådan ära att arbeta med Andi, med Scass och med Jason i New Haven, och samtliga våra 44 personer anställda av lärarassistenter, och kurs assistenter i New Haven, som för första gången i Yale historia, var mestadels själva studenter. I själva verket, fram till i år, faller 2015 Yale egentligen inte har en tradition eller en ersättning för studenter ledande sektioner och fungerar som undervisnings stipendiater mycket som vi har haft här inom datavetenskap vid Harvard under en längre tid. Och så bara det har varit en utomordentligt tillfälle för oss att samarbeta med dem på detta initiativ, och föra in i fållan sådana ledare som Andi och andra lärare där på campus. Och tillåt mig att särskilt uppmärksamma Även till den här mannen i mitten. Trots att han bor nu i New Haven-- stor del eftersom vi skickade honom there-- detta är alla resultatet av Jason Hirschhorn har varit en undervisning Karl för CS50 för ganska några år här, examen förra året, Kirkland House. Och ultimately-- Jag tror fick ett telefonsamtal från mig vid ett tillfälle som ganska mycket reduceras till, hej, skulle du tänka flyttar till New Haven efter examen? Detta var allt eftersom vi var försöker stå upp detta initiativ, och vi vill se till att det var institutionell kunskap ner där i New Haven eftersom vi var bygga något från grunden. Och if-- Jason, om du kunde kanske precis kommit på upp tafatt mot scenen, så att vi kan åtminstone alla se Jason Hirschhorn personligen. [APPLÅDER] Visst, utan Jason, Yale 50 skulle inte ha varit möjligt. Så vårt tack till Jason Hirschhorn. Och även vi har en enorm personal som vi kommer inte dra personlig uppmärksamhet till alla här, men över 100 personer här i New Haven som gör detta naturligtvis möjligt. Och du kan bara se din egen undervisning Fellow på denna lista, om här eller New Haven. Och så om vi kunde, en enorm applåd för hela lärarkåren. [APPLÅDER] Och låt mig dra några speciella uppmärksamma några av folk här, särskilt Hannah, och Maria och Daven och Rob, som, som kurserna huvudet, göra allt kör här i Cambridge. Naturligtvis, Colton Ogden, som börjar mest av våra föreläsningar över det på musik. Doug Lloyd, who-- detta är CS50 AP, som ledde vårt AP initiativ. Dan Armendariz, utan vilka vi skulle inte ha en CS50 IDE i år. Aliess, som gör allt möjligt bakom kulisserna, inklusive kör lyser som på bilden här. Och sedan sist, men inte minst, CS50: s produktionsteam. Det räcker med att säga att det är CS50: s produktionsteam som ger så många av oss att sova i på eftermiddagen, och att samarbeta med kursens material verkligen asynkront. Och detta är mycket en av konstruktionsmålen för kursen. Som ni vet, är-- vi njuta just nu en möjlighet för att tillåta samtidig inskrivning. Vi har en möjlighet för studenter, förvisso, att titta på dessa kurser- material på nätet, även i realtid lever just nu. Och det är helt och hållet på grund av produktionsteamet som du ser, eller inte ens se runt dig, och bakom dig här. Till exempel var detta några tagningar skjuten av Jordanien det senaste året, bara för att prata med den typ av artisteri som pågår bakom kulisserna. Detta är naturligtvis FoHo i Quad. Och bara för att ge dig en ser tillbaka på vecka noll, detta var bilder med som vi började den första veckan. [MUSIK SPELA] Det var från CS50 egen Jordan. Och även bakom kulisserna här i dag är Ramon, och Ian, och Scully, och Dan Coffey. Dan Coffey, som leder CD50: s produktionsteam. Och verkligen under det senaste flera years-- detta är min nionde året involverade med course-- verkligen har Dan Coffey, med produktion laget, tagit CS50 till en annan nivå. Inte nog med att vi skjuta Naturligtvis nu i 4K, så att säga, det kommande året vi ska också kunna skjuta den i 6K. Liksom i virtuell verklighet, dels för att det är cool-- dels för att det är coolt, men också som ni vet, Vi har en mycket betydande community. Folk som av olika skäl inte kunde resa till, eller inte kunde delta i en plats som Harvard och Yale. Och ett av målen pedagogiskt är att experimentera med nya former av teknik så att vi kan, genom fullmakt, och genom er alla, ge online studenter runt om i världen en möjlighet att se och känna och höra vad en plats som Harvard eller Yale känns. Så kommer snart, under hösten 2016. Och nu ta det ner ett hack, det handlar om att vara skrämmande. Men du kanske kommer ihåg att de flesta av föreläsning videor i år, eller varannan, avslutas med ett slags till synes märkliga klipp från Seinfeld, inspirerad av några faktiska episod re-implementeras av CS50 produktion lag, som har varit otroligt nådig och kreativ. Och jag trodde att jag kommer att visa dig en av inspirationskällor, en 30 sekunders klipp, från ett faktiskt Seinfeld show som inspirerade en av detta semester's-- jag told-- favoritklipp. Så först, en verklig klipp från Seinfeld. ELAINE: C'mon som dansar? Ska jag att-- vill att jag ska få det igång? Jag ska få det började. Okej, woo! [MUSIK SPELA] [SKRATT] Uppvakta! C'mon killar, vad är hold upp? GEORGE: Söt snygga Moses. [SKRATT] DAVID J. MALAN: Så vi ofta tala om att skjuta studenter utöver sina egna komfortzoner. Jag, nu tänker krypa upp till en boll och snyft som vi spelar för dig den här åter genomförandet av detta, tack vare CS50: s produktionsteam. [Seinfeld TEMA SONG] Okej, vem dansar? C'mon, som dansar? Du vill att jag ska få det igång? Jag ska få det började. Uppvakta! [MUSIK SPELA] DOUG LLOYD: Söt snygga Moses. [APPLÅDER] DAVID J. MALAN: Och nu några speciella saker för en alumn som nu gör sin doktorsexamen bara väg här på Harvard. Och vem kunde oftast ses i denna form i kontorstid, både i Cambridge och i New Haven. I själva verket, om vi enhance-- en stor rund applåder för CS50 egen, Zamyla. Och nu, ett ord från CS50 personal på båda platserna som skulle vilja ge några avsked ord av sina egna. ANNALEAH ERNST: Det finns ingen annan väg där alla som arbetar för kursen är så glada över att vara där, och vara involverad i det, som CS50. Jag vet inte, det är så här verkligen viktigt och särskilt ansvar, och typ av en otrolig upplevelse. Och jag är verkligen glad att jag får vara en del av människors utbildning. TALARE 3: CS50, i mitt åsikt, är häpnadsväckande. Jag älskar det. Jag älskade det när jag tog en klass. Och jag älskar det ännu mer som ett TA. JORDAN HAYASHI: CFing finns en hel del arbete, men det är verkligen givande eftersom du får lära så mycket. Du får verkligen känna dina elever. Du får lära känna materialet själv. Och du får bara titta på dem blir datavetare. SPEAKER 4: Mina elever är höjdpunkten i min termin. [MUSIK SPELA] DAVID J. MALAN: Och detta är CS50. DAVID MCPEEK: Jag har bara aldrig känt så mycket som en ledare på campus, eftersom jag har den här terminen. SAM LEVATICH: Detta är ett av de bara möjligheter på Yale campus att verkligen få investerat i undervisningen. TALARE 5: Det är verkligen häftigt att se CS50 från den andra sidan. NICK JOSEPH: Jag blev förvånad över hur upphetsad alla elever var. ARIANNA BENSON: Det är också trevligt när folk återställa en bild av Rick Astley, och är som, vem är det? DAVID Armenta: Jag ville ge tillbaka eftersom jag fick mycket stöd När jag var student. MARY Farner: Allt du behöver är entusiasm och en kärlek till undervisning, eller CS, eller något av ovanstående, och du kommer att kunna göra det. SAM LEVATICH: All my eleverna hålla Rickrolling mig. [MUSIK SPELA] ANNALEAH ERNST: Det har varit så mycket kul att undervisa om denna sak att jag verkligen älskar, och tycker det är mycket roligt, och försök till andra människor entusiastiska över det också. Jag är Annaleah Ernst, och detta är CS50. [GLÄDJANDE] [MUSIK SPELA] DAVID J. MALAN: Och nu, kan du hämta att vi började den här terminen talar i slutändan om beräknings tänkande att lösa problem oberoende faktiska programmeringsspråk. Och vi trodde vi skulle se bara i vilken utsträckning Detta har sjunkit in genom att försöka en övning vi inte göra i vecka noll, men vi trodde att vi skulle prova ett par gånger här i vecka 12, för vilka Jag behöver en volontär som är bekvämt att komma upp hit på scenen. Kom upp. Vad heter du? Yahong: Yahong. David J. MALAN: Yahong, Kom upp på detta sätt. Och om ni alla, om du har ett pappersark från oss eller ett tomt pappersark på din eget, gå vidare och ta ut det vid denna punkt. Trevligt att träffas. Okej, Yahong mål här kommer att vara följande Jag har här en ritning som endast hon kommer att kunna se. Kom hit i mitten, om du vill. Och låt mig ge er en mikrofon här. Och ditt mål här är kommer att vara att beskriva, så detaljerat som möjligt, vad du ser. Och dessa människor här, som sorterar datorverkställare av detta, måste dra exakt vad du säger. Och sedan, vad jag ska göra är greppa en några stickprov från publiken och vi får se hur just detta fungerat. Yahong: Så jag beskriva detta. DAVID J. MALAN: Du beskrev detta. Du berätta för dina hundratals klasskamrater här exakt vad de ska göra, gå. Yahong: OK, så i själva mitten av papper, det finns två former, en ovanpå den andra, men inte röra, men nästan rörande. Så det finns en cirkel på toppen, och en fyrkant på botten, och de är nästan samma storlek. De är typ av medium, liten. Och inom cirkeln, finns det two-- det finns tre rutor. Så det finns ett litet torg i en större torg, inom en större kvadrat. Och inom fyrkanten på botten finns det tre cirklar. Lite cirkel inom en större cirkel, inom en större grupp. DAVID J. MALAN: Har du förstått? PUBLIK: Nej DAVID J. MALAN: Så varför inte du-- Jag går gå runt. Jag ska ta ett par, och om du vill resumé för dem som behöver en andra bana. Yahong: OK, behöver du mig att förklara detta igen? OK, okej, så i mitten av pappersark finns det två former. Och en är ovanpå den andra, men de är ungefär samma storlek. Det är en medel liten cirkel ovanpå en medel litet torg. OK, så det är ungefär som på toppen, tänka på att sätta det som en snögubbe, men med två olika former i stället för två cirklar. Och sedan på the-- innanför cirkeln, det är en liten låda, insidan av en annan liten låda, insidan av en annan liten låda. Och inne på torget, det finns en liten cirkel, insidan av en annan liten cirkel, insidan av en annan liten cirkel. Gjorde det vettigt? DAVID J. MALAN: Ja. Yahong: En stor press. DAVID J. MALAN: Okej, Jag kommer snart tillbaka. Gå igenom publiken här, OK, mycket trevligt. Tack, OK vi har fick ta den. Okej, det verkar vara en bra stickprov, tack. Okej. Yahong: Awesome. DAVID J. MALAN: Så now-- också? Yahong: Awesome. DAVID J. MALAN: Åh, enormt, OK. Så häftigt, stanna där. Jag kommer att gå vidare och avslöja för dig vad några av dina klasskamrater här gjorde. Så här har vi detta här. OK, det slags bara hålla på och gå. Här, en lite annorlunda tolkning. OK, här, låt oss se, att få närmare, om än mindre, mycket trevligt. Men jag var bara tvungen att ta denna en. [SKRATT] Vad var den faktiska svaret? Låt oss ta en titt här. Vad hon beskrev var den här bilden här. Så man-- några of-- många av er här uppe i de jag såg, fick denna rätt. Låt oss gå vidare och show-- låt oss kalla någon annan upp och se hur lätt, eller med vilken nivå av svårighet de kan göra det. Tack så mycket. Vad sägs om en annan volontär lite längre bak. OK, jag såg denna hand först, kom upp. Vad heter du? Åh förlåt? MARCY: Marcy. DAVID J. MALAN: Marcy, kom på upp, trevligt att träffas. Okej, här har vi en mikrofon för dig. Låt mig få en ritning. Och så om du vill att bara använda baksidan av detta ark, eller något annat papper, jag är kommer att gå vidare och ge Marcy en annan en här att endast kan hon nu see-- att endast hon kan se dunkelt, OK. MARCY: OK. DAVID J. MALAN: Go. MARCY: Oavgjort 16 little prickar i ett rutnät. Så fyra rader med fyra punkter vardera. Och prickarna är ihåliga, så De är som små små cirklar. Åh, det finns fem av dem. OK, det är fem. Det är fem rader med svarta prickar. Fem rader med fem punkter, och sedan, från och med den övre vänstra Corner-- OK, så fem rader med fem punkter, och prickarna är ihåliga, så de är som små små cirklar faktiskt. Så de är vita på insidan. PUBLIK: OK. MARCY: OK, så fem rader med fem punkter. Och sedan börjar du från det övre vänstra punkt, och sedan dra en linje ner till nästa punkt ner, och sedan dra en annan linje till den till höger om den. Så det är två rader så långt. Och sedan dra en linje ner till nästa nedåt. OK, så det är tre linjer, ner, höger, och sedan ned. Och sedan vänster. Och sedan ner. OK, så recap, är det första en är down-- OK, du börjar från övre vänstra Corner-- och sedan ner och sedan höger, och sedan ner, och sedan vänster, och sedan ner, och sedan höger och sedan höger, och sedan vänster. OK, så vi är ungefär hälften igenom. DAVID J. MALAN: Du sade höger, sedan vänster. MARCY: Åh, hoppsan, OK. DAVID J. MALAN: Det är inte lätt. MARCY: Låt oss börja om. Låt oss börja om från det övre vänstra hörnet. David J. MALAN: En mer passera. MARCY: Ja, OK, ner, höger, nedåt vänster, ner, höger, höger, ner, höger, upp, höger, upp, vänster, vänster, upp, upp, höger, ner, höger, upp, och du ska vara på det övre högra hörnet. OK. DAVID J. MALAN: Okej, och om du gjorde det på rätt sätt, bör du nu har detta på din pappersark. Så låt mig komma ta ett par. OK, tack, tack, tack, OK, jag tror inte att du vill det. OK, åh älska denna, tack. Ledsen att nå, wow, aw, OK jag kommer att ta bara den. Okej, det är bra, det är mycket bra. Okej, så låt oss se vad vi har här. Så märker, försöka göra en mentala avtryck av detta. Låt mig gå tillbaka till projektionen här. Och det är ganska bra här, mycket snyggt gjort. Den här, lite mindre, men Jag tror att det är på rätt spår liksom, mycket snyggt gjort. OK, här känner jag mig som jag bör inte sätta detta på internet, så låt mig-- här har en telefonnummer av någon anledning. [SKRATT] Tack. Och sedan, varför inte vi sluta med det här en och now-- tack så much-- vi har tid för ytterligare ett exempel här. Den här gången, vad sägs om på vänster finns, kom upp. Japp, med händerna, Japp. Okej komma vidare upp, kom upp. Denna gång dock, kom upp. Vad heter du? DANIEL: Daniel. DAVID J. MALAN: Daniel, den här gången men vi är kommer att krydda upp detta lite, och vi är kommer att ha dig komma över till pekskärmen. Så nu den här gången, jag ska visa alla er alla ritningen. Och på systemets ära, får du inte flytta dina ögon aldrig så lite upp här för att se vad den verkliga bilden är. Så du bara hålla en-- bara rakt fram. Och då du kommer att rita på skärmen vad dina klasskamrater beskriva för er. Och jag ska försöka sammanfatta verbalt så det är högt nog. Okej, så ära system här, titta rakt fram bara, och ni alla steg-för-step-- inte olikt jordnötssmör och gelé example-- låt oss försöka att beskriva detta. Första instruktion vänligen. PUBLIK: Rita en stor cirkel. DAVID J. MALAN: Rita en stor cirkel. [SKRATT] Okej, det här jag kommer att ångra. PUBLIK: Rita en pinne figur utan vapen. DAVID J. MALAN: Jag hörde, rita en pinne siffra utan vapen. [APPLÅDER] OK, okej, andra instruktion. PUBLIK: Vänster arm på höften. DAVID J. MALAN: Vänster arm på höften. Målgrupp: Vinkel, kantig. DAVID J. MALAN: Vinkel, OK, vi har att-- låt mig ge dig suddgummi. Låt oss radera. OK, igen. PUBLIK: spetsiga armbåge. DAVID J. MALAN: spetsiga armbåge. Pointy armbåge. PUBLIK: Något akut armbåge. DAVID J. MALAN: Något akut armbåge. [APPLÅDER] DAVID J. MALAN: Okej, vad annars? Tredje instruktion. PUBLIK: Nu rotera the-- DAVID J. MALAN: Nu rotera the-- PUBLIK: Rotera 90 grader. DAVID J. MALAN: Rotera den 90 grader. [SKRATT] [SKRIKANDE] Va? Höger arm är en v. Höger arm är en v. PUBLIK: Det gå du. DAVID J. MALAN: Nice. [GLÄDJANDE] Okej, och sista steget, sista steget. Publik: Linje bort från huvudet. David J. MALAN: En linje bort från huvudet. Ingen övre vänstra, ja. [SKRIKANDE] Publik: 45 graders vinkel. David J. MALAN: 45 graders vinkel. Å nej. [SKRIKANDE] Ja. Nej. PUBLIK: Från toppen till vänster på huvudet. DAVID J. MALAN: From, från upp till vänster i hans head-- PUBLIK: Inte ansluten till huvudet. David J. MALAN: Ej ansluten till huvudet. Ja. [SKRIKANDE] Det är bra, det är bra. Målgrupp: Skriv, Hi. DAVID J. MALAN: Skriv, Hi. Skriv, Hi. PUBLIK: Högre. DAVID J. MALAN: Högre. PUBLIK: Vid slutet av raden. David J. MALAN: Vid slutet av raden write-- PUBLIK: Little i. Nej. [SKRIKANDE] DAVID J. MALAN: gemena i. Jag hörde, gemener. Ja. [APPLÅDER] Okej, det var fantastiskt, tack. Okej, så vi har tid för bara en mer motion. Du kanske kommer ihåg den efter temat musik som inser vi har tagit några friheter med bestämmelserna i följande spel, eftersom problemet set åtta, Vi ställde en massa frågor som var i huvudsak i form av fara. Och först efter p-set åtta gjorde vi beslutar, Tja, kanske det skulle faktiskt vara lite mer roligt att spela något annat i stället. [Familjefejden TEMA MUSIK] För detta, vi kommer att behöva fyra medlemmar av lärarkåren. Fyra medlemmar av lärarkåren, och fyra studenter, vad sägs om en, två, vad sägs om tre, fyra. Kom ner, kom ner. Okej, vi är också kommer att need-- vi är också kommer att behöva en student-- om personalen skulle vilja gå här till vänster, studenter hit right-- vi behöver någon som är riktigt bra på aritmetiska under press. OK, här vara volontär [OHÖRBAR] kom igen upp. Så du kommer att använda pekskärmen här. Vad heter du? MICHAEL: Michael. DAVID J. MALAN: Michael, kom upp. Så ger vi dig instruktioner på bara ett ögonblick. Men om du bara vill skriva Personalen på höger och studenter till vänster för poäng hålla, låt mig gå vidare och låta var och en av er introducera er till din klass på denna sista dag. JAMES: Jag är James, jag är en nybörjare. AARON: Hej, jag är Aaron. MAYA: Jag är Maya. KATHERINE: Jag är Katherine. DAVID J. MALAN: Och nu lärarkåren. JACK: Jag är Jack. ABBY: Abby TIM: Hej, jag heter Tim. MARIA: Maria. DAVID J. MALAN: Så vi har i förväg, kommer upp med ett antal frågor, en del av vars svar vi slags består, men andra vars svar är baserade på faktiska statistiken från dina egna inlagor av problem set åtta och andra problemsamlingar. Så i allmänhet, var och en av dessa svar vi ska ha tillfrågade, låt oss säga 100 personer, vi kommer att sätta de fyra eller fem eller sex bästa svar i styrelsen, som var och en har en poäng i samband med det. Vad vi ska göra är justera reglerna lite. Så i stället för att ge kontroll till ett eller ett annat lag, vi helt enkelt gå att använda Staples enkla knappar för att tillåta varje lag buzz i den snabbaste. Och vem guesses-- träffar knappen först, och får en fråga rätt, kommer eventuellt att få så många poäng. Vi ska hålla kommer, vi ska fortsätta, och sedan beroende på vilket lag avslutar styrelsen, kommer få alla de punkter stämde hittills. Så vad du vill gör är stämmer poäng när vi går för varje fråga svarade rätt. Och sedan en gång de runda ändarna, du är kommer att sätta den totala antingen här, eller hit. MICHAEL: Så jag stämmer i mitt huvud. DAVID J. MALAN: Eller på skärmen framför alla, ja, eller på din telefon, som är tillbaka där tydligen. Okej, så vi ska gå igenom det här. Inget behov av att göra något ännu. Det första studenterna och personalen måste göra är drabbade deras respektive knappar snabbast efter att jag börjar läsa frågan och du vill föreslå ett svar. Vettigt? Okej, nu kör vi. Nämn en funktion som deklareras i stdio.h. Personal. ABBY: Printf. DAVID J. MALAN: Visa oss printf. Mycket trevligt. Så bara skriva ner 68, eller hålla koll i ditt sinne av 68. Nu ska vi gå vidare. Så fort jag kommer att Läs frågan igen, du kanske inte surra in förrän efter Jag har upprepade frågan. Nämn en funktion som deklareras i stdio.h. Samma fråga JAMES: Vad är sprintf. DAVID J. MALAN: Vad är sprintf. Visa oss sprintf. Nej, jag ska läsa den igen. En funktion som deklareras i stdio.h. Personal. TIM: scanf. DAVID J. MALAN: scanf, visa oss. Två strejker. Än en gång, en funktion deklarerats i stdio.h. Studenter. JAMES: fopen. DAVID J. MALAN: fopen, mycket trevligt. Jag ska bara fortsätta att upprepa frågan, en funktion som deklareras i stdio.h. Personal. TIM: Fclosed. DAVID J. MALAN: Fclosed, bra jobb. Trevligt, vi har två svar kvar på styrelsen, nummer två och nummer 5 för denna runda. En funktion som deklareras i stdio.h. Studenter. KATHERINE: fread. DAVID J. MALAN: Visa oss fread. Mycket trevligt. Den som now-- beroende på vilket lag besvarar den femte och sista svar, får alla punkter. Så du bör lägga till alla dessa nummer upp, och vem får detta, blir att den totala. Finns det ett misstag? Det finns inget nummer sex. Inget nummer sex, inte genomförts. Namn en funktion som deklarerats i stdio-- personal. TIM: Fright. DAVID J. MALAN: Visa oss skräck. JACK: Det förklarar så mycket. DAVID J. MALAN: Låt oss försöka en gång till. Namn en-- nämna funktion deklarerats i stdio.h. Tim. TIM: fseek. David J. MALAN: fseek. Om en mer försök, namnge en funktion deklareras F-- i stdio.h. MARIA: fgetc. David J. MALAN: fgetc. Så ingen får poäng. Colton, vill visa oss vilket nummer fem var? OK, är Matlock inte i stdio.h. Jason Hirschhorn alla. Okej låt oss gå vidare den andra frågan. Första person buzz här, till denna fråga, ett program som du använda under programmeringen. Personal. TIM: Clang. David J. MALAN: Clang. Mycket trevligt, nummer två svar. Återigen, namnge ett program som du använda under programmeringen. Studenter. JAMES: GDB. DAVID J. MALAN: GDB. Så på denna punkt, skulle 38 vara det totala, men ingen har fått några poäng än. Okej, namnge ett program används under programmeringen. TIM: Valgrind. David J. MALAN: Valgrind. Okej, namnge ett program du använder under programmeringen. Studenter. AARON: PHP. DAVID J. MALAN: PHP Namn a program du använder under programmeringen. Personal. MARIA: Facebook. DAVID J. MALAN: Visa oss, visa oss Facebook. [APPLÅDER] Vi har sex bästa svar i styrelsen, tre att gå. Namnge ett program som du använda under programmeringen. Personal. TIM: Google. DAVID J. MALAN: Google. Brow-- okej. PUBLIK: Boo. DAVID J. MALAN: Boo. Okej, name-- två svar left-- namn ett program du använder under programmeringen. MAYA: CS50 Diskutera. DAVID J. MALAN: CS50 Diskutera. En mer försök, ett program du använder under programmeringen. Jag hörde studenter. Studenter. AARON: CS50 IDE. DAVID J. MALAN: CS50 IDE. Och sista, ett program du använder under programmeringen. TIM: Check50. David J. MALAN: Check50. Nix, låt oss avslöja svaret. Nummer sex var Spotify. Okej, jag tror att vi har tid för bara en eller två fler. Fyll i följande mening, inga poäng för något av lagen fortfarande. Det är noll till noll, vinnare vidta alla snart, bra jobb. Fyll i följande mening, Jag kommer aldrig gonna-- personal. TIM: Ge dig. DAVID J. MALAN: Ge dig. Fin. Studenter. JAMES: Låt dig ner. DAVID J. MALAN: Låt dig ner. Jag har aldrig gonna- MARIA: springa runt och överge dig. David J. MALAN: Kör runt och överge dig. Springa runt öken, OK. Studenter. AARON: Det kommer aldrig att få dig att gråta. DAVID J. MALAN: Gör du gråta. Personal. TIM: Säg adjö. DAVID J. MALAN: Jag kan inte tro det är Frågan ni alla får rätt. Säg adjö, Japp, och den sista. Studenter. KATHERINE: Hurt dig. DAVID J. MALAN: Berätta för en lögn och skada dig. Studenter får 100 poäng. Det är why-- det är det för CS50 är tårta nu serveras. [Seinfeld TEMA SONG] [MUSIK SPELA] DAN ARMINDARIZ: Är du galen? Vad tror du att du gör? TALARE 6: Jag försöker komma in i hissen. DAN ARMINDARIZ: Vad pratar du om? Du såg mig inte vänta här? TALARE 6: Jag såg inte dig mannen väntar. DAN ARMINDARIZ: Om du inte se mig väntar, sedan varför skulle du sätta din vagn sånt? TALARE 6: Därför att det är hur jag får in i hissen. DAN ARMINDARIZ: [OHÖRBAR] TALARE 6: Få out-- släppa taget!