[MUSIC - RANDY ROGERS BAND, "Kveldens  IKKE THE NIGHT (FOR GOODBYE) "] DAVID MALAN: Hei verden. Dette er CS50 Live og dette er vår sesong finale. Men gutten har vi et godt episode for deg i dag, særlig den siste i bildestabilisering, robo fotball, og til slutt, en titt tilbake på CS50 Levende selv. Nå kan du huske på at skrivebordslamper har vært litt av en ting i år. Faktisk, dette var litt av en spontan introduksjon til CS50 sin uke null dette siste høst 2013. Bare en dag eller så før den svært første forelesning dette siste høst, Jeg bestemte meg for at det ville være like gøy å være i stand til å visualisere binære - nuller og de - og så jeg ledet til CS50 favorittbutikk, Target, og plukket opp disse skrivebord lamper her. Nå, på slutten av forelesningen, Jeg fant ut at jeg gjorde egentlig ikke trenger disse lampene for et år. Og selv om jeg gjorde det, ville det slags være en gammel bit av 2014, så jeg tilbød dem opp til studenter i salen. Nå, siden da selvfølgelig, vi har vært mottar ganske mange e-poster, Facebook innlegg, og tweets ber om de samme CS50 desk lamper som skal sendes nasjonalt og internasjonalt. Og så vi gjorde. Og vi fikk tilbake dette veldig fint notat fra CS50 Luigi Morelli i Roma, Italia som skrev oss dette. "Og her er jeg! Takk til CS50 ansatte. Hei, se på dem fire bøker bak meg. " Faktisk, hvis du ser der oppe på øverste hylle, vil du se fire bøker. Og hvis vi forbedre, vil du se at det er en kanonisk sett informatikk bøker av en meget anerkjent datamaskin vitenskaps kjent som Donald Knuth som skrev, The Art of Programming. Så hvis du selv var ute etter å bygge din egen samling av informatikk canon, gå videre og ta en se på The Art of Programming. Nå, i mellomtiden, hvis vi tar en titt på videoer som noen av dine klassekamerater har sendt inn, vil vi se første fra Rian fra India. Hei. Jeg er Rian [uhørbart] fra India. Og jeg tar CS50 online [uhørbart]. Og grunnen til at jeg vil ha lampen er i utgangspunktet fordi jeg ikke har en lampe i det hele tatt, og jeg virkelig trenger en som jeg gjør [uhørbart] for [uhørbart] og alt dette. Og jeg har ikke et skrivebord lampe eller noe sånt. Så det ville være veldig stor hvis dere vil sende meg en. Jeg er Rian [uhørbart], og dette er CS50. DAVID MALAN: Nå, din neste klassekamerat, Mauricio, du kanskje husker fra en tidligere video. Men denne gangen, Mauricio bestemte seg for å ta det opp et hakk og faktisk levere sin egne foredrag for uke null. MAURICIO RADA: Så dette er CS50. Mitt navn er Mauricio Rada, og 73% har ingen tidligere erfaring i informatikk, i motsetning til hva du kanskje tror. Så i dag, vi trodde vi ville chip bort på at mangel på kjennskap, men også gi deg en følelse av, for de av dere med mer komfort, som retninger du kan gå dette semesteret. Så la oss begynne med dette. Jeg har disse lite skrivebord lamper her, så - oh. Vi har ikke noen bordlampe her. Vi kan ikke gå på. Så du er nødt til å avslutte denne laben her. Dette er ikke CS50. Ved neste CS50 - DAVID MALAN: Og til slutt, er Sid, også fra India, som faktisk besluttet å skape for oss sin egen sang. SID: Hei, jeg er Sid, og jeg er fra India. Jeg vil ha en bordlampe fordi - hvor om jeg si det på denne måten. [Musikk spilles] Det er litt morsomt hvordan livet kan forandre seg når du tar CS50 i løpet av noen dager. Så jeg gjør dette video for å vise dere hvorfor jeg fortjener en helt ny bordlampe. Så det går som dette. Jeg blir skreket til hver kveld for ikke slå av lysene. SPEAKER 2: Slå av lyset, mann! SID: Bare et sekund. Enten jeg skriver tekster eller koding noen [uhørbart]. SPEAKER 2: Dude, jeg er slå av lysene. SID: Fem minutter. Bare fem minutter. En kjærlighet til CS50. En kjærlighet til skrivebordslamper. En kjærlighet. Hvis jeg ikke får en, vil jeg ikke overleve. Så vennligst gi meg en bordlampe. Mørket gjør meg våt i buksa. Vennligst gi meg en bordlampe. Bordlampe er alt jeg trenger. Jeg håper du liker det. DAVID MALAN: Nå så jeg ikke skal bli ydmyket på internett, det er CS50 som er en introduksjon til intellektuelle foretak av datamaskin vitenskap og kunst av programmering. Men professor Donald Knuth bøker, hvis du ønsker å google og finne dem selv, er The Art of Computer Programming. Nå kan du huske at CS50 nylig deltok i denne, en 48-timers film prosjekt der CS50 hadde bare 48 timer å lage en kort film med en få nødvendige elementer. Nå er en av de scener fra at filmen var dette en her hvor Daven var desperat kjører langs Charles River i nærheten av Harvard prøver å bare si hei. Nå, hva du kanskje ikke har innsett er som kjører foran disse to var faktisk tre gutter. Faktisk, avbildet her er noen av CS50 team. Og hvis vi zoomer inn, vil du se Ian holder kameraet, Patrick holder Ian, og Dan regissere scenen. Nå, i rettferdighet, hvis vi zoome ut, vil du se CS50 egen Ramon Galvan som nettopp kjørte. Nå, hva Ian var holder med kameraet var denne enheten her som utfører noe kalt bildestabilisering som er den teknologi som vi skulle holde at skudd langs elva så relativt stødig selv om disse gutta var alle kjører baklengs. Nå, kanskje du vet om denne typen av teknologi fra en svunnen tid. Faktisk, hvis du vokste opp med den såkalte gyro bolle, som så litt noe sånt som dette, dette er et meget enkelt apparat som hovedsak spinner på tre akser slik at du har litt frokostblanding innsiden av denne skål, i teorien, det skal aldri falle ut fordi håndtakene vil alltid holde bollen i seg selv i oppreist stilling. Nå, jeg har nylig hatt en mulighet til å tilbringe tid med CS50 egen Dan Coffey, som gikk inn mer tekniske detaljer om hvordan mer moderne bildestabilisering fungerer. Så jeg er her med CS50 er egen Dan Coffey, jogging langs Charles River på Harvard campus. Nå hvis Dan var bare bruke et kamera til å fotografere dette, bildet ville være ganske skjelven, definitivt ikke stabil. Han bruker en teknikk som kalles image stabilisering som skal, forhåpentligvis, å stabilisere seg i bildet. Kan vi skyte resten av dette inne? OK. Bildestabilisering. Hva er det? Hvordan virker det? DAN COFFEY: Så mange år, TV-og filmbransjen har prøvd å få mer dynamisk skudd ved å innføre bevegelse, men det er en utfordring å holde dem stabilisert. Du har sett The West Wing kanskje der de gjør på tur og snakke skutt? Og i utgangspunktet hva de bruker for det er en jevn cam, som er en stor rigg som du bærer. Det er en vest med en arm som isolerer kameraet fra brukeren og teller balanserer den med en serie av vekter. Men det tar en virkelig lang tid å sette opp og det er veldig komplisert å faktisk bruke. Det er ny utvikling i programvare som du kan bruke hvor du kan gjøre justeringer i Mac eller PC som noen ganger fungerer, noen ganger gjør de ikke. Men en av de nyeste utviklingen er faktisk dette. Dette er den Movi M10. Det er en veldig fin del av utstyret fra våre venner i freefly Systems. Og i utgangspunktet, bruker den en rekke gimbal akser for å stabilisere kameraet. DAVID MALAN: Hva er en gimbal? DAN COFFEY: Så en gimbal er et sett av ringer som hver spinner rundt sin egen akse og i utgangspunktet isolerer hver retning, enten x-, y-eller z. Og egentlig bare gjør det veldig glatt og væske. Så dette M10 er en stor gimbal og har tre akser på det - en her for tilt, det har en i ryggen for rullen, og ett opp toppen for pannen. Og jeg kan faktisk vise deg hvis du ønsker å se hvordan disse faktisk fungerer. DAVID MALAN: Ja, sikkert. DAN COFFEY: Så hvis du se her i programvaren, dette er deres freefly Configurator. Og det er i utgangspunktet gi ut diagnostisk informasjon akkurat nå. Men du ser har vi motortilt, motor roll, og motor panne. Og som jeg faktisk panorere kameraet, du kommer å se de blå linjene begynner å gå opp og ned. DAVID MALAN: OK. So som representerer - DAN COFFEY: Det er motstanden av motoren skyve tilbake mot meg fordi M10 alltid ønsker å komme tilbake liggende i samme stilling. DAVID MALAN: OK. Så den høyere, jo lavere bar, jo mer motstand. DAN COFFEY: Ja, jo mer intensitet at motorens hjelp til å kjempe meg. Hvis jeg vipper, kan du se røde linjen gjør det samme. Og så ruller - DAVID MALAN: Den grønne linjen opp og ned. DAN COFFEY: Så disse er de tre akser vi stabiliserende mot. Og så dette er normalt ikke hvordan du ville operere det, ikke sant? Så hvis jeg faktisk plukke dette opp - og her, hvorfor ikke du faktisk henge på den. DAVID MALAN: Ja, sikkert. Takk. DAN COFFEY: Og nå du kan se hvor lite kameraet beveger seg når du treffer kanten. Vinduet, om du vil, det begynner å panorere med deg. Det er faktisk satt i programvaren også. DAVID MALAN: Jeg skjønner. DAN COFFEY: Men det er en annen veldig fin funksjon. Hvis du er i en mer komplisert skyte, kan du slå på denne fjernkontrollen, har en andre kameraoperatør faktisk gjør Nitty gritty kontroll. Så jeg kan nå panorere, flex denne kontrollen. Jeg kan vippe og jeg kan faktisk rulle. Så i dette oppsettet, ville du faktisk bli den ene beveger kameraet fysisk og jeg ville koble en trådløs videosender til kameraet, satte en mottaker her på en skjerm, og da kunne jeg faktisk, akkurat som en videospill, betjene kameraet for deg. DAVID MALAN: Nice. DAN COFFEY: Så jeg vil si det tilbake i enkeltoperatørmodus, men du kan få en følelse av hvor glatt det egentlig er. DAVID MALAN: Ja, nei, absolutt. Og jeg har en idé. Lyst til å følge meg? DAN COFFEY: Sure. DAVID MALAN: OK. Så vi er her på badet for å teste ut noen faktiske bildestabilisering foran, vel, den bare speilet vi har. Og jeg trodde det ville være interessant å se bare hvor mye kameraet beveger seg når Jeg faktisk bevege armene mine opp, ned, venstre og høyre. DAN COFFEY: Så la oss se pan, tilt, roll. DAVID MALAN: Greit. Here we go. Jeg er virkelig flytte den. DAN COFFEY: Så jeg ser litt litt bevegelse, men jeg mener, du ville aldri operere det liker det heller. DAVID MALAN: Nei, definitivt ikke. DAN COFFEY: Greit. Så David, la oss få alvorlig denne gangen. Vi vil gjøre en test der du faktisk gå opp trappa og jeg vil lede deg med den stabiliserte Movi, og Andrew vil faktisk kommer ved siden av meg. Kom over Andrew. Og vi får se hva det ser ut side-ved-side. DAVID MALAN: Got it. DAN COFFEY: OK. Here we go. Klar til å gå opp trappa i tre, to, en, gå. Hei Shelley. Greit, David, hvorfor tar du ikke dette? Ta alt du har lært i dag og sette det sammen og vi får endelig skutt. DAVID MALAN: Greit. Here we go. DAN COFFEY: Og nå, 60 sekunder av slingrebøylene. SPEAKER 3: Uh-oh. Se opp! La oss innse det. Barn søler ting. Men nå, foreldre kan slappe av når barna snack. Vi presenterer GyroBowl, verdens første noensinne snack bolle som spinner og spinner og sånt holder seg i. Den GyroBowl er 100% helt, absolutt, kid-bevis! Bare fyll GyroBowl og du er klar til å gå. SPEAKER 4: Magien ligger i midten. Den GyroBowl fungerer akkurat som en bolle. SPEAKER 3: GyroBowl indre bollen roterer 360 grader og magisk holder åpent side opp, uansett hva! Så GyroBowl holder alle dine snacks inne, men du sprette, svinge, eller fly! Nå kan barna bruke den fantastiske GyroBowl som en super snack stasen. Fyll den opp med rosiner eller frokostblanding og rev opp det som skjer! SPEAKER 5: Barn elsker utrolig GyroBowl fordi det er gøy og det aldri søl! SPEAKER 3: Pack kjeks og druer og komme videre med jakten! Og når mamma stasjoner til butikken, GyroBowl holder snacks fra gulvet. DAVID MALAN: Nå, du kanskje husker, jeg nylig tilbrakte tid med sin CS50 egen Colton Ogden. Og denne fyren her, NAO Robot som ble utlånt til oss av CS50 venn Professor Radhika Nagpal i robotikk gruppen. Nå, selvfølgelig, roboter ikke alle tar dette skjemaet. Faktisk, vi nylig så denne fyren her å spille fotball med president Barack Obama. Men det viser seg at selv fotball spiller roboter kan komme i ulike former. Faktisk, avbildet her er to skreddersydde roboter av professor Radhika Nagpal forskning gruppe, som vi satte seg nylig for bedre å forstå hvordan de og du kan bygge din egen fotball spiller roboter og setter dem opp i konkurranse mot hverandre i en internasjonal RoboCup konkurranse. Radhika Nagpal: Mitt navn Radhika Nagpal. Jeg er professor ved Harvard University. Og jeg gjør bio-inspirert robotikk. Så jeg er virkelig interessert i hvordan grupper kan arbeide sammen veldig bra. ERIC SCHLUNTZ: Så min heter Eric Schluntz. Jeg studerer elektro teknikk ved Harvard University, KATE DONAHUE: Jeg er Kate Donahue. Jeg er en sophomore ved Harvard College og konsentrerer seg i matematikk og fysikk. Så jeg er en del av RFC Cambridge. Det er en felles Harvard / MIT team. Vi i utgangspunktet bygge roboter som spiller fotball. Radhika Nagpal: Så utfordringen med RoboCup konkurranse - og det er en internasjonal konkurranse som ble startet av folk i USA og Japan faktisk - er å skape et team av roboter som kan spille og muligens vinne mot verden vinnere til VM. KATE DONAHUE: Det er lagene fra hele verden. Og fordi vi er så spredt ut, er det veldig vanskelig for oss å komme å teste roboter mot hverandre. Så det er i utgangspunktet bare en slags som en fotballkamp. Det vil være noen round robin spill og deretter en endelig konkurranse. Og det er en sjanse til å se hvordan våre roboter stable opp mot andre og bare utveksle ideer. Radhika Nagpal: Hvis du tenker på små barn som spiller fotball og eldre folk som spiller fotball og Tenk på forskjellen, som alle de tingene som en liten gutt kan ikke gjøre at en eldre person kan, informatikk har å fylle det hele gapet. ERIC SCHLUNTZ: Så du kunne si, jeg vil at roboten å gå bak ballen å sette opp for et skudd. Men hva du egentlig har å fortelle datamaskinen å gjøre er å finne vektoren mellom ballen og målet og gå dit, minus en offset. Og du virkelig trenger den informatikk folk til å uttrykke deg på en måte at roboter kan forstå. KATE DONAHUE: Vi jobber på svært ulike deler av roboten, men vi trenger virkelig å koordinere. Det er en stor utfordring, og det er flott når vi alle jobber på noe sammen. Så vil vi bygge mekaniske del av det, og deretter de elektriske ingeniører vil gjøre kretskortene, og informatikk folk vil ha gjort sine simuleringer og deretter prøve og finne ut hvordan de kan kombinere det og gjøre roboten faktisk flytter. Radhika Nagpal: Jeg tror egentlig robotikk handler ofte om gjentakelse. Du tar ett skritt frem. Du tar to skritt tilbake. Du prøver å gjøre en ting bedre. Det gjør noe annet verre. ERIC SCHLUNTZ: På informatikk team, har vi gjort mye fremgang på vår kunstig intelligens. Vi kastet ut alle de gamle strategi kode og har vært å lage noe som er mye mer tilpasningsdyktige til hvordan det andre laget spiller. Så på forsvar, vi gjør ting som rangeringen av de farligste spillerne og dekker dem i et menneske til mann forsvar basert på det. Og da er vår krenkelser, genererer vi disse kartene over hele feltet av hvor god stedet er, og deretter tildele vår roboter til disse dynamisk. Radhika Nagpal: De må være i stand til å se. De må være i stand til forstå verden. De må være i stand til å bevege seg rask og snu og manipulere. De må være i stand til legge merke til sine lagkamerater og forstå hva de gjør. De må ha en strategi. Og de trenger å tilpasse sin strategi fordi motstanderen vil være å gjøre ting hele tiden. Og så kan du ikke ha et forutbestemt plan. Du må være i stand til å tilpasse seg. KATE DONAHUE: Siden fjorårets konkurranse, vi har gjort mye fremskritt, særlig i hjul design. Vi har skiftet motorene ned og gjorde alt mye mer kompakt, noe som har gjort det mulig oss til å flytte vår tyngdepunkt ned, noe som gjør det mulig for oss å gå raskere og også sette i en dribbler, som er noe vi har ønsket i lang tid men bare ikke har vært i stand for å gjøre plass til nå. ERIC SCHLUNTZ: Så hver av de kretskort på roboten har et annet formål. De fire store, det er det, og der, som hver kontrollerer en av motorene. Så som i utgangspunktet tar en signal fra datamaskinen, bestemmer hvor fort hjulet bør spinne, og sender riktig spenning til hjulene til å gjøre det. Så ut som dette forumet her styrer denne motoren og dette her styrer denne motoren. Vi har også disse to styrene i midten. Dette her styrer lading disse store kondensatorer for kicker. Dette brettet her styrer når roboten spark ved hjelp av denne lyssensor retten her for å se når den ballen er foran den. Den styrer også dribleren her som vi bruker til å sette backspin på ballen slik at vi kan gå bakover med det. KATE DONAHUE: Det er ikke bare du prøver å vinne. Det er at du prøver å fremme kunnskap. Og så du jobber på uansett du jobber på, og så er du nødt til å slippe et papir som sier nøyaktig hva du gjorde det er så kult, og hvordan andre mennesker kan gjøre det og de kan bygge videre på arbeidet ditt. Og så hvis det er noe så avansert at noen kommer opp med, alle kan liksom trekke på den. Du kan ha den i ett år, og kanskje ingen andre kan bruke det for det året. Men så neste år, alle vil ha endret det og har gjort det samme. Så det er egentlig bare å flytte fremover og ikke bor på samme sted. ERIC SCHLUNTZ: jeg definitivt ønsker å jobbe med robotikk i min karriere. Jeg tror at det er bare mange fantastiske ting som kan gjøres for å automatisere ting, for å gjøre bilene sikrere, å gjøre bare virkelig alt arbeid så automatisk at folk ikke har å gjøre ting som er farlig eller kjedelig. Det er bare så mange ting som roboter kan gjøre det bedre enn mennesker. Og jeg tror at vi som samfunn trenger å begynne å gjøre dem til frie mennesker opp å gjøre mer interessante ting. DAVID MALAN: Dette er faktisk vår sesong finale og vår 10. 10 episoder. Og det er virkelig bemerkelsesverdig hvordan i bare 10 episoder hvor mange feil vi har gjort. Faktisk, CS50 egen Shelley West - som du kanskje husker fra slike filmer som - nylig gikk gjennom timer av opptakene av både live-episoder og øvinger derav å finne noen av våre favorittminner å dele dem med deg. Hei verden. Dette er CS50 Live. Så hvis du ser meg tur, hvis du ser meg misspeak, hvis du ser meg skru opp, alt som skjer bokstavelig talt akkurat nå i Cambridge, Massachusetts. Åh, hei verden. Trommevirvel. Persp - uh, persec - pause videoen hvis du ønsker. [Uhørbart]. [Stamming] Er Mark Zunkerburn favoritt pa - å beskytte våre atomrakett. Holde et øye som vanlig. Bugle seg selv. Gaggles. God episude for deg. Det er faktisk ganske - Ah, ender det. Du husker kanskje. Hodet til denne UR her. SPEAKER 6: Dette er CS50. Ah. DAVID MALAN: Og nå har jeg gjort tabbe hjul. Fantastisk. SPEAKER 7: Skal vi gjøre om avslutningen? Hvordan skal vi gjøre det slutt? DAVID MALAN: Bilder av Jason Hirschhorn kledd som en punmpkin. SPEAKER 8: Oh, boy. Jeg vet ikke om jeg vil ha folk til å se det. DAVID MALAN: Nei. Nå er det bilder av Jason Hirsch kledd som en gutt. SPEAKER 9: Og hvis du er interessert, Jeg kan faktisk vise deg hvordan - DAVID MALAN: Ja, absolutt. SPEAKER 9: Han er litt off-balansere denne morgenen. Han har ikke hatt sin kaffe ennå. SPEAKER 10: Jøss! Oh gud. DAVID MALAN: Fra - hvor kommer han fra? SPEAKER 11: Høyre om - akkurat der armen min er, du kan se ut som de hvite tegn. Det er stangen. DAVID MALAN: De vet ikke det er det - du skal peke her. SPEAKER 11: Oh. DAVID MALAN: Kan du høre meg, verden? RAMON GALVAN: Hei verden. Velkommen til CS50 Live. Jeg er Ramon Galvan. DAVID MALAN: Og - og jeg er David Malan. RAMON GALVAN: Og i dag, Jeg hosting dagens episode. DAVID MALAN: Vel, med meg. RAMON GALVAN: OK. OK. Oh, [BLEEP] SPEAKER 12: Ikke si [BLEEP] på lufta! RAMON GALVAN: Oh, [BLEEP] Han vil være Robin til min Batman, Andy Richter til min Conan, den Cheech til min Chong dag. Dette er mest definitivt en alvorlig ting som vi gjør i dag. Dette er ikke en spøk. Dropbox har vært litt av et oppstyr i det siste fordi jeg vet ingenting om dette. Hva handler dette om? Det var alt over meg. Og dette er noe jeg ikke vet om. Vi tar også en tur til tredje glass - tredje grader - DAVID MALAN: Akkurat der. Det gjør at du kan sveipe kreditt kortene på din iPhone i orden å behandle betalinger. RAMON GALVAN: Jeg har en flip-telefon. La oss spille av klippet. En, to - DAVID MALAN: Det var den første noensinne. RAMON GALVAN: Hva? DAVID MALAN: Det var den første noensinne. RAMON GALVAN: OK. For å arrangere det første noensinne - DAVID MALAN: Jeg var i oppgradere skolen på den tiden. RAMON GALVAN: Og jeg gikk i fjerde klasse. Selv om jeg elsker Zamyla, jeg ville mye heller ikke bruke - DAVID MALAN: Tilbring en halv så mye tid med henne. RAMON GALVAN: Nettopp. DAVID MALAN: Kom ut, Zamyla! Dette var CS50, og dette var skremmende. RAMON GALVAN: Dette er skremmende. Gjort litt sizzle roll å kapsle utskeielser som fant sted. DAVID MALAN: Jeg elsker deg. Aww. RAMON GALVAN: Jeg elsker deg. I motsetning til David, som sirkler deg. DAVID MALAN: Hvor er mine lysbilder? Oh. Det er det for CS50 Live. Takk så mye til dette ukens bidragsytere, til hver og en bak kamera, og takk til deg for tuning i hele denne sesongen. Dette var CS50. [MUSIC - SEMISONIC, "stengetid"]