[RIPRODUZIONE DI BRANI MUSICALI] [RIPRODUZIONE DI BRANI MUSICALI] DAVID MALAN: Va bene. Questo è CS50. [Riproduzione di musica Tritonal, Cash,  "Intoccabile"] [RIPRODUZIONE DI BRANI MUSICALI] SPEAKER 1: ho intenzione di Francia, e si sta andando, anche. [RIPRODUZIONE DI BRANI MUSICALI] DAVID MALAN: Questo è CS50, introduzione di Harvard University per l'intellettuale aziende di informatica e le arti della program-- e per la prima volta nella storia, di Yale University pure. In effetti, sia che siate qui a Cambridge o in New Haven o Miami o St. Louis o Amsterdam o dovunque attorno al mondo prendendo CS50, informatica scienza E50, CS50X, CS50 AP, siamo tutti uno e lo stesso. Benvenuti a CS50. Quello che have-- [APPLAUSI] [RIDE] [APPLAUSI] Così ho fatto un errore io stesso qualche tempo fa, quando ho iniziato il college. E ho avuto modo di college, e ho deciso di francamente, il bastone all'interno della mia zona di comfort. Ho finito dichiara una concentrazione, o un maggiore, di governo. Formica che era principalmente una funzione di me essere abbastanza familiare con il governo o almeno la storia o mi è piaciuto diritto costituzionale al liceo. E così quando sono arrivato qui, mi tipo di gravitato verso le cose con la quale mi era già familiare. Destra? Dio non voglia che faccio male in classe. Io certamente voluto rimanere all'interno della mia zona di comfort, e non è stato fino secondo anno che ho finalmente ha ottenuto il coraggio di mettere piede in una classe denominata CS50. E a quel punto, ha fatto finalmente ho capito che, mio ​​Dio, compiti a casa potrebbe effettivamente Sii divertente. Anzi, io ero uno di quei ragazzi che il venerdì sera quando il P-SET sarebbero stati rilasciati, io sarebbe tornato nella mia stanza e immersioni nella notte del P-SET. E per me, che era un segno che questo era un campo per me. Ma la cosa più importante è stata la fatto che ho fatto alzare questo nervo per esplorare acque sconosciute per me e andare oltre la mia zona di comfort e francamente, ho solo stato in grado di farlo secondo anno prendendo questa classe pass / fail. Infatti, è stato l'ultimo giorno in cui Alla fine ho passato più e, infine, dichiarato CS come la mia concentrazione, mettendo gov a quel punto alle mie spalle. E così noi non stiamo indicando in questo corso per trasformare tutti voi in major CS o concentratori, ma piuttosto per dare l'opportunità di andare al di là del mondo si spera con il quale sei attualmente familiare e riportare da questo mondo competenze e conoscenze e buon senso che è possibile applicare al vostro proprio mondo, sia che si tratti nelle discipline umanistiche, scienze sociali, scienze naturali, o oltre. In effetti, se sei senti un po 'intrepido di essere in questa stanza tanto meno in questa classe, rendersi conto che se la storia è alcuna indicazione, il 72% di voi non hanno mai seguito un corso CS prima. Così è per tutti e non i mezzi del caso che lo studente seduto alla sinistra oppure a destra o davanti o dietro di voi sa molto di più su CS o di programmazione, in particolare, di te. Questo non è effettivamente il caso. E in effetti, la maggior parte la struttura di supporto che abbiamo creato a questo Naturalmente nel corso degli ultimi anni è stato proprio per questo reason-- a fornire una rampa che esce ancora altrettanto rigore e appena più in alto ever-- ma la pendenza che permettono studenti meno comodo e più confortevole allo stesso modo per avere successo indipendentemente della sua prima sfondo. Infatti, ciò che in definitiva le questioni in questa classe non è tanto dove si finisce rispetto ai tuoi compagni di classe ma dove nella settimana 12 finire relativa a se stessi in settimana zero, che è dove siamo qui oggi. In effetti e questo può benissimo e probabilmente non guardare come il greco a molti di voi. Ma state tranquilli, che questo e molto altro ancora sta per essere completamente all'interno della vostra cogliere in appena un po 'di tempo. Ma oggi, ci concentriamo su alcuni delle idee di livello superiore per darvi un assaggio di CS50 e informatica in un senso di ciò stai firma per. E in effetti, informatica potrebbe essere distillato più semplicemente come thinking-- computazionale pensare come un computer, se si vuole. E ci sono tante cose diverse ingredienti che vanno in quella, ma cerchiamo di proporre solo tre per oggi. Se l'obiettivo della classe in ultima analisi, non è quello di insegnare la programmazione, Non è quello di insegnare C o PHP o SQL o qualsiasi numero di parole e acronimi in descrizione del corso, ma piuttosto di insegnare a risolvere i problemi più efficacemente e pensare di più con metodo e più algoritmicamente, per così dire. Vediamo cosa esattamente questo significa. Quindi mi sento di proporre che il pensiero computazionalmente si riduce per risolvere i problemi. Di cosa hai bisogno per risolvere un problema? È necessario input-- come l'ingresso al problem-- avete bisogno di un output, che è la soluzione si spera, e quindi è necessario un processo che per risolvere il problema, che chiameremo un algorithm-- una serie di le istruzioni per la risoluzione dei problemi. Ma prima, concentriamoci sulla prima e l'ultimo di questi ingressi e uscite. Computer, dopo tutto, a quanto pare capisce solo zero e uno. Ma come può essere? nemmeno se si ha familiarità a tutti con quello che c'è sotto il cofano, probabilmente almeno sentito che i computer capiscono binary-- solo zeri e ones-- Ma come si può eventualmente fare qualcosa di interessante? Beh, uno dei temi della classe sta andando essere questo layering-- dove oggi, faremo prendere una rapida occhiata al livello più basso dettagli, ma con ogni giorno che passa, dove abbiamo strato o astratta in cima quei dettagli per risolvere realmente livello superiore problemi di interesse per noi. Così qui è quello che potremmo definire binary-- con solo un alfabeto di 0 e 1. Ma noi esseri umani sono per lo più familiarità con decimali. significato 10 dicembre. Bi significa due. E così nel decimale sistema, abbiamo 10 cifre presso la nostra disposal-- di Naturalmente, da zero a nove. Quindi, se si guarda a un numero in questo modo, la maggior parte di voi intuitivamente solo cogliere cioè 123. Non c'è niente di davvero difficile di questo. Ma perché è 123? Beh, se si pensa di nuovo a grade school-- o almeno il modo in cui ho imparato questo gentile world-- potrebbe ricordare che abbiamo trattato questi le cose in colonne, o luoghi. Così abbiamo il posto quelli a destra. Le decine collocano nel mezzo. Le centinaia posto a sinistra. E allora come facciamo a ottenere da questo schema symbols-- 1 2 3-- a questo livello superiore idea che noi conosciamo come 123? Beh, è ​​solo un po 'di semplice aritmetica. Destra? Quello non c'è significa essenzialmente darci 100 volte 1 più 10 volte 2 più 1 volte 3. E, naturalmente, se lo facciamo fuori il matematica lì, è 100 più 20 più 3-- altrimenti noto come 123. Quindi, se siete sul stessa pagina come tale diritto ora e dimestichezza con il cosiddetto sistema decimale come un essere umano, in realtà è ben all'interno l'ambito di comfort ora esaminare il sistema binario. Prendere un selvaggio guess-- questo rappresenta, nel mondo dei computer in binary-- quale numero? Zero. Ma perché? Beh, si scopre che le colonne o luoghi qui-- non sono potenze di 10. 1, 10, 100, 1000, e così via. Sono invece, abbastanza semplicemente, potenze di 2. Quindi, 1, 2, 4, 8, 16, 32, e così via. E così ora abbiamo naturalmente arriva a 0 qui semplicemente perché abbiamo 4 volte 0 più 2 volte 0 più 1 volte 0, che ovviamente ci dà 0. Ma come posso fare per rappresenta il numero 1? Qual è il modello di zero e uno per rappresentare il numero che gli esseri umani sanno come 1? 001. E 2? 010. E ora il modello inizia a ripetizioni. Ora è il 011. E ancora, 0 a quattro zampe, un 2, un 1. Quindi 2 più 1. Ecco 3. E ora a rappresentare 4, abbiamo non solo cambiare la situazione 0 a 1. È una sorta di bisogno di trasportare, per così dire, ei numeri iniziare lanciando intorno solo come nel mondo decimale. Quindi questo è 4. Si tratta di 5. Si tratta di 6. Si tratta di 7. E così abbiamo contato alto come 7. Ora tutto abbiamo solo bisogno è più un bits-- più di zero e uno di. E infatti "bit", se hai sentito questa cifra binaria term--. Bit è dove che viene da. E così, se vogliamo rappresentare numeri più grandi, abbiamo bisogno di più bit. Ma passiamo da diapositive ora a qualcosa di un po 'più reale. Supponiamo che vogliamo in realtà rappresentare questa cosa. Bene diamo un'occhiata ora in una piccola dimostrazione. Quindi questa è una applicazione web based che uno dei CS50 del proprio, Michael G, mettere insieme questa estate per aiutare noi chiarire esattamente questa idea. E sarebbe uno come avventurarsi sul palco di fronte a tutti i suoi o suoi compagni di classe? Proprio lì davanti. Vieni su. Devi essere confortevole sulla macchina fotografica e internet. Oh, proprio qui. OK. Siamo OK. Tutto ok. Vieni su. Come ti chiami? Emily si accende su. Quindi questo è Emily. In che anno sei? Matricola. Emily, piacere di conoscerti. David. Tutto ok. Così sullo schermo qui, abbiamo questo touch screen che sta per consentire a noi in realtà interagire con questo programma, ed è solo un browser. E 'Chrome proiettato pieno al momento, ma è stato programmato da Michael a rispondere in un modo che permette noi a giocare con cifre binarie. Così, per esempio, qui non abbiamo tre ma otto zeri bits-- e uno. In questo momento, siamo guardando il numero 0. E in effetti, tutti gli otto zeri in decimale significa zero. Ecco, questo è tutto ciò che è essere accennato qui. Quindi, se si voleva rappresentare il numero 8, qual è il modello di zeri e quelli che si desidera? Si può semplicemente toccare alto o in basso oppure i numeri stessi. Tutto ok. Così che, naturalmente, è 8, come si può vedere lì. E se volessimo Non 16, che cosa facciamo? Sì, basta toccarlo di nuovo. 16. Tutto ok. Quindi questo è tutto bello e buono, è ancora molto basso livello. Abbiamo bisogno di un modo in mondo reale per Emily di realtà che rappresentano queste cose. E così supponiamo di trasformare queste zeri e quelli, che è molto concettuale, in lampadine attuali. Destra? Un computer è un fisico, , Dispositivo elettrico meccanico. E la sua input-- almeno se si collega o carica it-- è di avere batteria e elettroni che scorre dentro e fuori. Così ora, perché non smettiamo di pensare A proposito di bit come zero e uno, ma qualcosa di più fisico come le lampadine qui. E se Dan Armendariz potrebbe unirsi me solo per un moment-- come on up-- stiamo andando a coda di un'applicazione. Vieni su, Emily. Purtroppo questo è il più demo imbarazzante per voi mai. Vieni qui. Stiamo andando a fare la fila con grazie a Dan Armendariz, un altro membro del nostro staff, un'applicazione noto come lampadina binario. Quindi, quello che abbiamo qui è un'applicazione per iPad che ha il seguente utente l'interfaccia sullo schermo per Emily. E 'appena ricevuto la stessa identica interfaccia utente in sostanza, che è finita lì. E se ora si desidera rappresentare il numero, dire 8, come è possibile andare a fare questo se ne accorga in alto a destra, le lampadine che abbiamo qui? Ah-ha. Magico. Quindi, se vogliamo trasformare ora questo in qualcosa di un po 'più impegnativo, e andiamo avanti e scegliere un caso numero come il numero 50 qui. Input questo. E se si può ora essere messo in discussione a venire con il numero 50, avremo un premio favoloso per voi. EMILY: OK. Dio mio. DAVID MALAN: Aritmetica è davvero duro di fronte di centinaia di tuoi compagni di classe. Ma 50 è stata la risposta qui. [APPLAUSI] E così ora, questo è destinato a essere dimostrativo per Emily. Così, qui, è un po 'di luce lampadine piuttosto come questi, ma in realtà è il piccole strisce magnetiche. E ciò che è freddo su queste e La ragione per cui li usiamo in CS50 è che essi supportano qualcosa chiamato un API-- di programmazione delle applicazioni interfaccia, che è solo un modo di fantasia di dire che ciò che uno dei nostri collaboratori ha durante l'estate è stato creare un'applicazione iPad qui che parla su internet alle lampadine più di qui, che sono in modalità wireless collegato ad un altro dispositivo. Ma questo è ora un'opzione per i progetti finali. E così Emily, se si farebbe così come, alla fine del termine, è possibile decorare il vostro dormitorio nel frattempo con quelli. Grazie a Emily pure. [APPLAUSI] Ma ora, passiamo la nostra attenzione a ciò che il messaggio potrebbe essere guardato come, ed è un po 'qualcosa di simile. In realtà, questo è un ad esempio come un teaser di quello che verrà di ciò che è chiamato una richiesta API. E così quello che abbiamo qui è semplicemente esattamente il tipo di messaggio che dopo poche settimane volta in CS50, ti essere in grado di inviare a qualcosa abbastanza familiare come quello di realtà li accendere e spegnere. Ma questo è tutto bello e buono. Destra? Abbiamo il modello mentale si spera per rappresentare i numeri con Zero e uno di. E da zero e uno, possiamo arrivare a numeri più alti come 50, come Emily appena fatto, o noi può muoversi da quel. E io sostengo che possiamo rappresentare cose come le lettere pure. Destra? I computer sono molto più interessante che semplici numeri. E così come si fa sulle parole che rappresentano sullo schermo o e-mail o saggi o simili? Beh, si scopre che i computer semplicemente astratto In cima a questi basso livello dettagli, e gli esseri umani qualche tempo fa, è venuto con un arbitrario, ma coerente, mappatura dei numeri per letters-- così che ogni volta che vedete una lettera maiuscola Un computer schermo, le probabilità sono che cosa è sotto il cofano è un Reticolo di zero e uno che rappresentano il numero, per questo grafico, 65. E fisicamente più all'interno del computer, sono milioni di cose chiamate transistors-- questi days-- che sono solo interruttori se si vuole, le cose che può andare on e off e così immaginare. Non otto di questi grandi lampadine ma milioni di questi piccoli po 'di luce bulbi, o interruttori o transistor, che può accendere e spegnere in base a come si programma li. E così ora abbiamo un modo di rappresentando lettere pure. In effetti, se dovessi usare questo mappatura qui e cercare di realtà precisare qualcosa, potremmo guardare in questo modello di cifre decimali proprio adesso. Quindi non stiamo andando a anche concentrarsi sul binario più. Diciamo solo considerare questi come numero decimale 72, 73, 33. Ma ciò che potrebbe rappresentare questo? Qualcuno ha sufficientemente memoria fotografica sapere cosa sta scritto sullo schermo qui? Già alcuni. Così Ciao. H-I e poi un punto esclamativo, che non era in realtà sullo schermo. Ma in realtà c'è una mappatura per ogni lettera ad ogni numero che si potrebbe desiderare di digitare sulla tastiera. Ma i numeri non devono rappresentano solo lettere. Destra? Tutti noi sappiamo su immagini e fotografie e file audio e file video e simili. Così chiaramente possiamo rappresentare cose di livello più alto ancora. E così quello che un computer fa è semplicemente scegliere di interpretare i modelli di quelli a zero in modo diverso in base al contesto. Se si fa doppio clic su un icona di Microsoft Word, vedete le parole sullo schermo invece di colori e immagini perché la parola sa che si tratta di un saggio che hai effettivamente digitato. Se invece doppio click su un JPEG o GIF o PNG, si apre ed è un'immagine perché la .PNG O .docx o qualsiasi altra cosa il file estensione è e qualunque software si sta utilizzando sa interpretare un modello di zero e uno diverso sulla base di quanto il suo scopo nella vita è. Così, per esempio, questo stessa sequenza di numeri potrebbe rappresentare la quantità di rosso ti desidera, quanto verde vuoi, e quanto blu vuoi. E in effetti, se hai mai sentito parlare RGB-- blu verde quindi basta rosso. E così se vedo numeri come, questo dammi 72 rosso, dammi 73 verde, e 33 blu, questo è come un computer utilizzando tre bytes-- dove un byte è di otto bit o 24 bits-- rappresenterebbe una tonalità piuttosto brutta di marrone o giallo qui. E in diversi contesti, potrebbe quelli esattamente lo stesso pattern di zero e uno significare qualcosa completamente differente. Così ora abbiamo un modo di rappresentare zeri informazioni inclusi e quelli. In cima a quello, otteniamo le lettere. Oltre a questo, potremmo ottenere colori. E supponiamo per oggi che possiamo ottenere audio e video e le cose molto di più sofisticato di quello. Ma ora prendiamo in considerazione come usiamo questi ingressi e produrre quelle Uscite ora che abbiamo un modo di rappresentare queste informazioni. Bene, abbiamo bisogno di qualcosa chiamato un algoritmo. Ancora una volta, una serie di istruzioni per risolvere qualche problema passo dopo step-- e la più preciso, meglio è. E così un esempio con cui gli esseri umani sono certamente meno familiari in questi giorni, ma comunque è ancora con noi nel software, è il processo di ricerca fino qualcuno in una rubrica telefonica. Ora, sempre meno persone si conoscono anno che cosa questa reliquia è in realtà qui. Ma ai miei tempi, questa è stata una rubrica telefonica con migliaia di pagine e numeri e i nomi delle persone da A a Z E anche se stiamo tipo di truffa un bit-- questo è per lo più pagine gialle. C'erano anche bianco pagine, al momento, che aveva tutti quei nomi e numero di esseri umani reali. E se volessi cercare qualcuno in un rubrica come quella di oggi, naturalmente, Ho Basta digitare le prime caratteri del suo nome, e il mio telefono rileva che le informazioni. Ma il processo mediante il quale il vostro iPhone o Android o tutto ciò che è in realtà la ricerca qualcuno nella tua lista dei contatti è identico a quello che noi esseri umani Probabilmente hanno fatto per qualche tempo. Ora ho potuto prendere questo problema, se si vuole, e gli ingressi qui Non sono zero e uno. Sono pages-- come, diciamo 1.000 pagine. E se volessi cercare qualcuno come Mike Smith in questa rubrica, Potrei cominciare dall'inizio e vedere che io sono nella sezione A e poi girare una pagina un tempo, alla ricerca e alla ricerca come faccio per il B e il C e di D's e così via per Mike Smith. Smith inizia con una S, io si spera alla fine lo trova. È questo algorithm-- che process-- corretta? Sì. È corretto. Troverò Mike se lui è qui, ma qual è l'avvertenza che si potrebbe offrire. E 'lento. Destra? Lo so Mike S è una sorta di verso la seconda metà della rubrica. Perché diavolo sono io partire dall'inizio e andando pagina per pagina per pagina. Così, naturalmente, ho potuto capovolgere intorno e partire dal fondo, ma che sta per ottenere me non alla stessa velocità, se willl-- pagina dopo pagina dopo pagina. E non sta andando a lavorare se voglio per la ricerca di qualcun altro la cui nome deriva in precedenza in alfabeto. Che importa se faccio quello che imparato a scuola elementare, ancora una volta, fare le cose non da quelli ma a due a due. Quindi 2, 4, 6, 8, 10, 12, e così via. È corretto? No. È una specie di corretta. Ma alcuni di voi che non mormorò, dove è il problema, o il bug, l'errore per così dire. Sì. STUDENTE: Si potrebbe saltare sopra la voce giusta. DAVID MALAN: Sì. Potrei saltare su Mike Smith è perché ho preso due pagine contemporaneamente e lui sembra appena essere inserita tra queste due pagine. Potrei capire che Sono alla sezione T Non avendo ancora trovato Mike Smith. E così quello che potrebbe il là fisso essere? Beh, se faccio colpire il Ts nella rubrica, Potrei aver bisogno di raddoppiare indietro di una o giù di lì pagina. Quindi è risolvibile, ma non è così semplice come solo andando per due per accelerare la mia prestazione. Ma cosa? Dai. Che è ciò che la maggior parte degli esseri umani sono in corso a che fare con questo tipo di rubrica telefonica? Si è dato l'elenco telefonico. cosa fai? Cos'è quello? Vai mezzo. Così ho sentito vado al centro, e io mi trovo più o meno nella sezione M, per così dire. E ora che cosa voglio fare? Buon lavoro. Come ti chiami? JAMES: James. DAVID MALAN: James, va bene. Cosa faccio adesso? JAMES: Si va in la metà che ha le S di. DAVID MALAN: Va bene. Ho intenzione di andare in metà ha la S di in essa, perché, ancora una volta, una clausola qui era che questa cosa è ordinato. Si tratta di una abbastanza inutile 1000 pagine se Verizon in realtà non ordinare queste cose per noi da A a Z. Quindi, se io so Mike è probabilmente in la seconda metà del libro di telefono, Ora posso. [RIDE] Strappare il problema a metà. [APPLAUSI] Grazie. Strappare il problema a metà. Che era in realtà real-- quella lotta. Così strappare la rubrica telefonica a metà, lasciando me stesso con fondamentalmente lo stesso problema. Ma naturalmente, grande la metà. E se seguo James nuovo consiglio, e vado qui. Io dico, oh ora sono nella sezione T. E così, naturalmente, ho può strappare la rubrica telefonica nella metà ancora una volta, lasciando me con un problema che è ora un quarto della dimensione. Così sono passato da 1.000 a 500 250 a 125 e così via. Ci si sente come se fossi prendere morsi più grandi fuori di questo problema con ogni iterazione, o ciascun passo in esso. E infatti, il tempo ho intenzione di spendere trovando Mike Smith in questo esempio è molto meno perché alla fine io sono andando a Whittle questo pone libro giù ad una sola pagina solitario. E se Mike è su quella pagina, io sono intenzione di andare avanti e dargli una chiamata averlo trovato. Ma quanto meglio è che algorithm-- che oserei dire intuitiva algorithm-- di quelle che abbiamo iniziato con la quale siamo molto linear-- sinistra a destra- sopra ad un ritmo di 1 o 2x? Bene, localizziamo questo. Noi non dobbiamo preoccuparci troppo di matematica o numeri in questo caso qui. Ci limitiamo a guardare un complotto. Così sulle x, o asse orizzontale, è la dimensione della problem-- Quante pagine ci sono. Sul y, o verticale asse, è la quantità di tempo sta andando a prendere me per risolverlo. E forse questo è il numero di pagina giri, quanti secondi, come many-- alcune unità di misure. E ho disegnato un rosso rette qui perché se ogni pagina aggiuntiva della rubrica, ho bisogno per fare un passo ulteriore. Quindi, se Verizon aggiunge un più Pagina prossimo anno, Avrei potuto capovolgere una pagina più di trovare qualcuno come Mike Smith. Nel frattempo, il secondo algoritmo, che Sono andato a due a due, è la stessa forma. E 'ancora molto lineare, molto a sinistra per a destra, prendendo pari byte ogni volta, ma la pendenza è un poco inferiore. Per esempio, se la dimensione il problema fosse più o meno qui e ho usato il mio primo algoritmo, Potrei finire per tutta la strada nella parte superiore di quella linea rossa. Ma se io invece uso a twosies approccio, la linea gialla suggerisce perché è più bassa, che sta andando a prendere me meno tempo la risoluzione. Ma qual è la forma del terzo algorithm-- di nuovo, probabilmente l'algoritmo più intuitivo? Beh, sembra un po ' qualcosa come questo. È curvo, o logaritmica, in forma. E anche se non è mai tipo di appiattisce, essa asintoticamente pollici e sempre più in alto, ma terribilmente lento rispetto a tutto il resto. E qual è il take away? Beh, noi la chiamiamo log n. Ma che cosa realmente significa? Beh, se Verizon ha raddoppiato il numero di pagine nella rubrica il prossimo anno da 1.000 a 2.000. Quanti più passi è la mia primo algoritmo andando a prendere? Il mio primo algoritmo. Forse 1.000 più passi. Se hanno raddoppiato il rubrica telefonica, sto andando di dover sfogliare un'altra 1.000 pagine per trovare Mike. Naturalmente, se il secondo algoritmo, forse perché sono 500 andare due volte più veloce. Ma se Verizon raddoppia il numero di pagine tra quest'anno e il prossimo, con il mio terzo algorithm-- il divario e conquista che James ha proposto, andare a metà e metà e half-- quanti più passaggi saranno mi prendere l'anno prossimo di avere una rubrica di dimensioni 2.000? Solo uno. Perché con un morso, posso prendere, su tale problema, la metà delle pagine lontano. E se si pensa a questo un po ' follemente now-- Se la rubrica non lo fa avere 1.000 o 2000 pagina, ma diciamo 4 miliardi pages-- è un grande telefono book-- come molte volte o quanti passi sta andando a prendere me per trovare Mike Smith nella rubrica con 4 miliardi di pagine. È possibile sorta di iniziare a fare i conti. Tutto ok. 4 miliardi diviso 2. Ecco, questo è 2 miliardi diviso per 1. Questo è 1 miliardo. Poi mezzo miliardo. Poi 250-- modo da poter fare di nuovo e nuovo ma non che molte volte prima si arriva a una pagina. E in effetti, anche se il telefono libro è lungo 4 miliardi di pagine o il database che si sta cercando è lunga 4 miliardi di record, sta andando a prendere più o meno 32 passaggi solo per trovare Mike Smith. E se si raddoppia la rubrica successiva anno 4000 a 8000 milioni, 33 punti invece di appena 32. E questa è la prova ad una delle idee che potremmo abbracciare in informatica scienza più in generale, che È questo il pensiero computazionale e si avvicina un problema francamente utilizzando strumenti da lo strumento ha già familiarità kit-- tuo mondo reale con che si ha familiarità, ma sfruttando quelle idee risolvere effettivamente problemi. Ma abbiamo bisogno di formalizzare la nostra soluzioni a questi problemi. E così mi permetta di introdurre per un attimo qualcosa che potremmo chiamare pseudocodice. Gran parte del semestre, passeremo utilizzando codice vero e proprio in linguaggi come C e PHP e JavaScript e SQL e simili. Ma per ora, diamo basta guardare a qualcosa abbastanza intuitivo come l'inglese. Potrei distillare che algoritmo con cui Ho trovato Mike in passaggi come questo. Sollevare la rubrica telefonica Aperto al centro della rubrica Guardare il nome del Se Mike è tra il nome del Chiama Mike Altrimenti se Smith è in precedenza nel libro Aperto al centro della la metà sinistra del libro Altrimenti andare alla linea 3 Altrimenti se Smith è più avanti nel libro Aperto al centro del metà destra del libro Vai alla linea tre Altro Mollare E ci sono alcune caratteristiche ora di questo che vale la pena sottolineare. Così uno, tutte le linee Ho evidenziato in giallo stiamo per iniziare a chiamare privacy o funzioni o delle procedure. Sono solo le azioni fanno questo, e non c'è tutto che molto variabilità ad esso. Il passo successivo qui, però, sono questi conditions-- se, altrimenti, se il resto, il resto. E questi sono chiamati condizioni, o rami, e sono punti di decisione. E loro ci permettono di fare qualcosa condizionale. E infatti, diamo un rapido guarda forse un face-- familiare chiameremo lui Bill-- e esattamente ciò che queste condizioni, come queste possano essere utilizzate. BILL GATES: Le persone fanno decisioni ogni giorno. Ad esempio, prima di andare fuori di te tipo di avere un'istruzione if che dice, se piove, poi ho bisogno di ottenere la mia giacca. E i computer sono sorprendenti, una volta decidere questo tipo di dichiarazioni che possano in modo affidabile l'esecuzione quelle cose a velocità incredibili. E così un programma di computer veramente è un po 'di matematica e un po' se le dichiarazioni in cui la decisione viene fatto. DAVID MALAN: Così ora concentriamoci su alcuni lines-- diverso quelli che ho messo in evidenza in giallo qui. E si scopre c'è diverso modi di esprimere questa idea. Ma intuitivamente ciò che i nostri linee 8 e 11 che ho evidenziato qui che ti dice fare? Sì, andare alla linea 3, ma che cosa comportamento è che davvero indurre? E 'una sorta di loop o ciclo, e si può tipo di vederlo. Destra? Se sulla linea 8, si torna alla linea 3, e poi ti ha colpito di nuovo la linea 8, si potrebbe tornare alla linea 3, torna alla linea 3, di nuovo alla linea 3. C'è questa sorta di ciclo o loop. E in effetti, che è indotto a linea 11 potenzialmente pure. E questo è un semplice la programmazione costruire pure. Si potrebbe non voler solo fare qualcosa con una dichiarazione o fare qualcosa in modo condizionale con una condizione o ramo. Si potrebbe desiderare di fare qualcosa ciclicamente con un ciclo. E avremo un altro con il quale si potrebbe essere familiar-- lo chiameremo Mark-- spiegare questo concetto qui. Mark Zuckerberg: One cosa che i computer sono veramente bravo a sta ripetendo comandi. Come persona, si otterrebbe veramente annoiato se ha dovuto fare la stessa cosa un sacco di volte di fila, ma un computer può fare la stessa cosa milioni o addirittura miliardi di volte e non annoiarsi ed essere in grado di eseguirla davvero bene. Così, per esempio, se voglio augurare a tutti su Facebook un buon compleanno inviando loro una e-mail, mi potrebbe richiedere più di un secolo effettivamente scrivere tutte quelle e-mail a tutti. Ma con poche righe di codice, non posso hanno un sistema di inviare una e-mail a tutti su Facebook che desiderano loro un felice compleanno. Ecco, questo è ciò che i cicli sono e perché sono di valore e qualcosa che i computer possono fare molto bene. DAVID MALAN: Molte grazie ai nostri amici a code.org per questi due film. E proprio la settimana scorsa, si potrebbe avere visto che Mark Zuckerberg e Facebook postato questo annuncio, che è che hanno appena hanno superato un importante pietra miliare per la prima volta in assoluto. 1 miliardo di persone usato Facebook in un solo giorno, in particolare lo scorso Lunedi. Uno su sette umani sulla Terra apparentemente effettuato l'accesso a Facebook. Bene, questo sembra una buona occasione a guardare indietro su dove Facebook è iniziata, e siamo passati attraverso la propria CS50 archivi perché si scopre nel 2005, Mark ha tenuto una conferenza per gli ospiti in CS50. Vedrete che i valori di produzione non erano proprio la stessa di allora in termini di tecnologia disponibile, e avrete anche vedere che la presenza di questa guest lecture non necessariamente stimolare l'interesse del corpo studentesco, i vostri predecessori, quanto potrebbe avere pochi anni più tardi. Quindi, diamo uno sguardo a Science Center C. SPEAKER 2: Si prega di unirsi a me, e il benvenuto. [APPLAUSI] Mark Zuckerberg: Yo. Tutto ok. Raffreddare questa è la prima volta che ho mai hanno dovuto tenere una di queste cose. Così sto solo andando a collegarlo molto velocemente. Tutto ok. Puoi sentirlo? È buono questo? E 'questo amplificato a tutti? Tutto ok. Dolce. Così, questo è come una delle prime volte Sono stato a una conferenza ad Harvard, ma-- DAVID MALAN: Così alla fine la scienza Centro fatto ingrandire il video, ma non prima di catturare questo estratto in cui parlare di Marco, che ha discusso la sua compagno di stanza, Dustin, che ha voluto dare una mano con questo sito chiamato il Facebook.com e si rese conto che Marco sta per parlare di programmazione languages-- uno chiamato Perl, uno chiamato PHP-- mentre discute le origini del contributo di Dustin. Mark Zuckerberg: I cominciato a correre il sito e lanciato è a Harvard nel febbraio 2004. Quindi credo che quasi due anni fa. E nel giro di un paio di settimane, un alcune migliaia di persone avevano firmato, e abbiamo iniziato a ricevere alcune email da persone in altri collegi chiedere per noi di lanciarlo a loro scuole. E stavo prendendo 161 al momento. Quindi non so se voi ragazzi sapete la reputazione di quel corso, ma era un po 'pesante. E 'stato un corso molto divertente, ma non mi ha lasciato con molto tempo di fare qualsiasi altra cosa con Facebook. Quindi il mio compagno di stanza Dustin, che immagino aveva appena finito CS50, era come, hey. Voglio dare una mano. Io voglio fare l'espansione e aiutare a capire come fare le cose. Così mi sono detto, che è piuttosto fresco, amico. Ma non so davvero qualsiasi PHP o qualcosa di simile. Così quel fine settimana è andato a casa, comprato il libro Perl for Dummies, è tornato ed era come, va bene. Sono pronto per andare. Ero come, amico, il sito è scritto in PHP non Perl, ma che figata. Così ha raccolto oltre PHP come un paio di giorni perché ho promettere che se si dispone di un buon background in C, PHP è una cosa molto semplice da raccogliere. E ha solo tipo di mise al lavoro. Prima diamo uno sguardo ora al dove il corso sta andando, mi permetta di invitare solo alcuni di di SC50 personale fino al palco. Alcuni di loro sono negozi propri corsi. Ma se quei TF e CA e naturalmente teste che sono qui potrebbe venire su un massimo e unirsi a me per un rapido ciao. Mi permetta di introdurre, in particolare, Hanna, Maria, Daven, e Rob, Naturalmente di CS50 dirige qui a Cambridge. [APPLAUSI] DAVID MALAN: infatti, testimonia la struttura di supporto che il corso ha costruita nel corso degli ultimi anni, personale CS50 numeri di quest'anno quasi 100, e che è qui a Cambridge da sola. Nel frattempo, a New Haven, ci sono un po ' 40 TF e CA e membri del personale là per eseguire il corso così. Ci permettono di introdurre prima, Rob Bowden. ROB BOWDEN: Hi. Sono Rob. Questo è il mio sesto anno TFing in corso. Così, tutta la strada nella mia primo anno, non ho preso CS50. Il tuo matricola fall-- si potrebbe avere familiarità che si può prendere solo quattro corsi e ci sono tanti corsi di oggi. Quindi io sono come, eh. Ho preso AP CS mio ultimo anno di liceo è stato orribile. Quindi, io sono come, eh. L'informatica non è per me. Allora era finita la corso della mia matricola cadere, che avevo un amico in CS50, e Credo di aver partecipato ad una lezione con lei. E 'come, oh, questo è una specie di meglio di quello che avevo al liceo. E nel corso del anno, ho avuto il mio set di problemi nei corsi mi è stato effettivamente prendendo. Ma ho scoperto che ogni volta che voleva procrastinare su quelli, Vorrei tornare a CS50 e guardare alcuni di quella roba. Quindi, sì. Sono fico. I procrastinazione con codifica. Allora è a fine la caduta che mi rendo conto, hey, informatica è piuttosto fresco. Finisco per prendere CS51. Nel prossimo semestre, Finisco per prendere CS61. Ed è tutto da lì, poi finisco per dichiarare informatica, che ho avuto assolutamente alcuna intenzione di fare quando sono arrivato al college. E ora sono qui. Così il corso è ciò che facciamo di essa. Spero che vi piaccia. [APPLAUSI] DAVID MALAN: Grazie a Rob. E ora Maria, la nostra capo assistente al corso. MARIA: Hey ragazzi. Il mio nome è Maria. Sono al secondo anno a Cabot Casa, provenienti da Bulgaria, e io sono super felice di essere parte dello staff di quest'anno. Ho preso CS50 come matricola l'anno scorso, e non ho mai nemmeno pensato di CS in anticipo. Così ho assolutamente d'amore il corso, ed io spero che tutti amano tanto quanto ho fatto. E, sì. Benvenuti a CS50. DAVID MALAN: Grazie a Maria. [APPLAUSI] Ora Hanna, i nostri compagni di insegnamento testa. HANNA: Ciao, io sono Hanna. Sono un anziano in Cabot studiare informatica. Ho preso CS50 come una matricola e aveva stato TFing-- questo sarà il mio terzo anno. Così sarò felicemente coinvolto in CS50 per tutti i quattro anni, e non vedo l'ora a lavorare con tutti voi. DAVID MALAN: Grazie a Hanna. [APPLAUSI] E, infine, Daven, il nostro precepter. Daven: Hey ragazzi. Sono un precetto sopra in informatica qui. Questo sarà il mio quarto anno di insegnamento. Ho anche aiutare a gestire il corso. Quindi sono sicuro che vedrete intorno a me, soprattutto in orario d'ufficio. Sono sempre in orario d'ufficio. Quindi, se mi vedi camminare in giro, sicuramente salutare. Mi piace incontrare tutti. In caso contrario, divertirsi, e ci vediamo in giro. DAVID MALAN: Grazie a Daven pure. Quindi si incontra tutti queste persone non molto. Ma senza ulteriori indugi, se voi ragazzi sarebbe come per riprendere i posti di prima. Mi permetta di introdurre da lontano ora alcuni dei nostri amici da New Haven, in particolare le teste del corso che sarò essere supervisione CS50 there-- Professor Brian Scassellati, Jason, e Andi, che solo-- in modo che noi non sfidare il destino con qualsiasi FaceTime o like-- hanno appena ci ha inviato minuti fa il seguente video in cui dicono ciao da aula a Yale, in cui lezione viene trasmesso al momento. Così i nostri amici di Yale. BRIAN Scassellati: Ciao, David. Ciao a tutti ad Harvard. Siamo così eccitati di essere portare CS50 a Yale questo semestre. Il mio nome è Brian Scassellati, ma tutti mi chiamano SCA. E io sono qui oggi per introdurre a voi il personale CS50. [INCORAGGIA] E ancora più importante, io sono qui di introdurre pure tutti gli studenti Yale che a partire da questa mattina hanno fatto di questo il più popolare Naturalmente a Yale studenti CS50. [INCORAGGIA] Quindi siamo molto eccitati essere vedervi qui il Venerdì e il Sabato per Puzzle giorno e hanno una grande lezione. Ciao. [APPLAUSI] DAVID MALAN: Nella schermata qui è i nomi di alcuni dei 140 dipendenti I membri che si attendono il corso della semester-- alcuni di essi qui a Cambridge, un po ' di loro qui a New Haven. E infatti avrete un opportunità questo Sabato, come note SCAS, a partecipare CS50 Puzzle giorno. Potreste aver visto piccoli pezzi del puzzle scivolato sotto le porte di recente. Abbiamo qualche extra qui più tardi, quando tu esisti. Se si assemblano tutti e quattro di puzzle pezzi e unire le forze con camere vostro vicine a vostra casa o dormitorio, faranno assemblare in un code-- QR o di un due codice a barre bidimensionale, che Una volta assemblato e sottoposto a scansione con il telefono vi condurrà a qualche favoloso premio or-- suppongo si può solo fotografare questo momento anche. Ma trovare quei pezzi del puzzle comunque al fine di vincere il favoloso premio. E infatti una delle tradizioni in SC50-- ah, troppo lento. Una delle tradizioni in CS50 è quello di servire torta dopo la prima lezione. E così effettivamente, in un pochi minuti da ora, ci saranno torta servita all'aperto sia qui e New Haven pure. Ma first-- abbiamo decorato noi stessi. Ma first-- e si spera ci sarà abbastanza. Ma in primo luogo, un rapido sguardo. Così le lezioni è infatti saranno prodotta in gran parte qui a Cambridge. Ma ogni mese, saremo hop fino a Yale con il team di produzione di CS50 e flusso il corso della retromarcia direzione e in modo da portare queste due sedi veramente per la prima volta nella storia il più vicino possibile come uno nello stesso corso. In termini di struttura di supporto che è stato alzato in piedi qui a Cambridge e come a New Haven, sono sezioni. Infatti, come alcuni di voi può sapere, abbiamo diverse tracce nell'ambito del corso per quelli meno comodo, più confortevole, e da qualche parte nel mezzo in modo che a prescindere dal tuo background prima, si può in ultima analisi, avere successo nella classe. Orario di ricevimento Nel frattempo, sono un opportunità lunedì e martedì e giovedì sera per lavorare sia qui e in New Haven sul nostro corso di problema imposta con decine di il personale del golf vicino a voi. Problema imposta nel frattempo, sono supportata da cose che chiamiamo procedure dettagliate, che sono basati il ​​video tutorial che veramente rispondere alle FAQ di dove cominciare la sfida di una settimana. E postmortems si cammina attraverso possibili soluzioni in modo che l'estremità del problema troppo, è sa esattamente quello che avrebbe potuto fare in modo diverso o del tutto contrario. Il problema imposta stessi a in due edizioni, una edizione standard che ci aspettiamo e invitiamo la maggior parte di il class-- circa il 90% più a fare-- e un cosiddetto edizione pirata sul quale ogni pagina è blasonate edizione hacker, hacker, edizione, edizione hacker, in modo da avere quel karma se si vuole, per le immersioni in versioni più avanzate di set il problema del corso che copertura apparentemente lo stesso materiale ma con un approccio più sofisticato e con sfondo aggiuntivo a volte introdotto. Nel frattempo, ci sono nove giorni di ritardo che è possibile applicare al problema del corso imposta così come il punteggio più basso, che lasciamo cadere alla fine i termini. Ma che cosa aspetta? Ebbene, un assaggio del problema imposta a portata di mano il Venerdì e la prossima settimana dove abbiamo dilettarsi per pochi giorni in qualcosa chiamato Scratch, una programmazione grafica linguaggio sviluppato dai nostri amici al Media Lab del MIT che permette programmare sia per la prima volta o in un nuovo ambiente complessivamente utilizzando un ambiente di tipo drag and drop. Per cui i pezzi del puzzle solo interblocco insieme se ha senso logico per farlo. Nel frattempo a problema set due l'anno scorso, per esempio, abbiamo presentiamo la classe al mondo della crittografia, l'arte di crittografia o rimescolando informazioni. In effetti, questo testo qui se decifrato, sarà effettivamente si portare a qualche meta divertente. E nel problema set, quello che abbiamo avuto studenti fare è implementare esattamente quelli tipi di things-- un algoritmo, o una serie di istruzioni per scrambling e rimescolando informazioni. E nell'edizione di hacker dello stesso problema proposto abbiamo sfidare gli studenti di prendere una file crittografato da un computer tipico Sistema con un sacco di nomi utente e password criptate e per rompere quei passwords-- in realtà capire quello che erano senza sapere nulla A priori circa le password attuali. Nel frattempo, dobbiamo transizione nel problema imposta per poi guardando il mondo della grafica. E infatti, si potrebbe immaginare Ora che questo potrebbe forse il modo più semplice per rappresentare un'immagine in bianco e nero. Un pixel bianco, o quadrato, come in alto a destra lì, potrebbe essere rappresentato con un 1 e un quadrato nero potrebbe essere rappresentato con uno 0. E proprio utilizzando più bit come noi proposto in precedenza con 72 e 73 e 33, potremmo rappresentare pixel colorati pure. E quello che facciamo durante questo problema insieme è generalmente fare una passeggiata intorno campus con una macchina fotografica digitale, scattare fotografie di persone, luoghi e cose. Poi in qualche modo ogni semestre, ci sembra di accidentalmente cancellati o danneggiare la memory card in cui tutte quelle foto sono, e così si sono sfidati per poi scrivere software con cui recuperare i file JPEG da una copia della carta di nostra macchina fotografica. Nel frattempo, possiamo voi mano più avanti in il termine di un dizionario di parole inglesi che sono 143.000 parole, e avete bisogno di venire con un modo intelligente di loro caricamento in memoria, o RAM per così dire, di rispondere query della forma: è questa una parola, È questa una parola, che attua il più veloce correttore ortografico che è possibile, anche pinning te potenzialmente contro i compagni di classe per vedere chi di voi usa la minor quantità di tempo quando si esegue il codice e anche la quantità minima di memoria. Più tardi, nel termine si fa realtà implementare il proprio server web. Quindi non solo un sito web in un linguaggio chiamato HTML e altro ancora, ma un server web che in realtà ascolta le richieste su internet e vi risponde. E in effetti, questo è il modo in cui colmare il nostro mondo di C con il quale sarete acquisire familiarità prossima settimana e PHP e HTML e JavaScript e CSS e simili. Perché una delle prime web based progetto che facciamo tardi nel termine è storicamente CS50 Finanza. stile Etrade.com un sito web che permette di acquistare e vendere azioni virtualmente mentre anche la scrittura di codice per parlare con Yahoo Finanza ottenere semi tempo reale magazzino cita al fine di aggiornare il vostro portafoglio. Ma, infine, naturalmente, è il project-- finale la possibilità di fare qualsiasi cosa di interessare per risolvere un problema qui o oltre interessare che in qualche modo ispirato dalle lezioni apprese in classe. E la classe, come forse sapete, culmina nella cosiddetta CS50 hackathon e CS50 Fiera e qualsiasi numero di altri eventi culturali per tutto il semestre che consentono di coinvolgere con l'altro e il personale del corso. Per esempio, a Fire and Ice a Sitar quest'anno, bene, il venerdì pomeriggio, vi invitiamo a circa 50 studenti a pranzo, chi vorrebbe unirsi a noi, me stesso, e il personale, ed i nostri amici dell'industria e allumi per parlare di vita nel mondo reale e al di là gustando un buon pranzo. Alla hackathon sarà si vede tali immagini in quanto questi, tra cui un sacco di candy-- e a partire dal 2014, per la prima tempo-- le verdure. [APPLAUSI] Ma da 05:00, fa la scena di solito guardare un po 'qualcosa di simile. E poi basta una settimana o più tardi, è la Fiera CS50 alla quale alcuni 2000 plus studenti e del personale e docenti membri provenienti da tutta campus e attraverso campus di quest'anno venire a vedere e la gioia nel realizzazioni degli studenti CS50, che è ora. E in effetti, mentre quest'anno faremo essere invitante e busing chiunque a a Yale che vorrebbe venire a Cambridge questo Sabato per CS50 Puzzle Giorno, e faremo la stessa cosa nel mese di dicembre per il CS50 hackathon in modo che gli studenti di Harvard e Yale partecipiamo simili in entrambi gli eventi. Ci sarà anche tenere fiere CS50 in Cambridge e di New Haven quest'anno in modo che gli studenti sia su campus e il personale e docenti può vedere ogni rispettivo realizzazione di campus. E quelle realizzazioni indurrà tale memoria come questo e questo e infine questo, in cui tutti voi uscire dalla classe di indossare un po ' qualcosa in cui si dovesse spera felice o orgoglioso di dire che ho preso CS50. Ma prima di questo e prima di servire la torta, abbiamo messo together-- grazie al CS50 di team di produzione e una certa auto bastone, la sola occasione che usiamo tali cose for-- quando abbiamo mandato non solo qui a Cambridge ma anche a New Haven di raccogliere un paio di saluti dalla Il personale del corso e tutte le persone si possono incontrare sia qui che a New Haven nel corso dei mesi successivi. Mi permetta di introdurre un poco più del personale di CS50. Mark Zuckerberg: Ha fatto che farlo andare? Oh, sta andando. Sta andando. Ooh. Yarr! [Riproduzione di musica ANDY Grammer, "Tesoro, sono  BENE"] MARY: Questo è Caitlin. Questo è Jay, e io sono Maria. SATO: Ciao, ragazzi. Sono Sato. Michael G .: Ciao. Il mio nome è Michael, G. DOUG LLOYD: io non sono. No. Sono Doug Lloyd. Non posso credere che ho in mano un selfie bastone al momento. SPEAKER 4: Hi. SPEAKER 5: Hi. SPEAKER 6: Ciao. SPEAKER 7: Hi. SPEAKER 8: Hey. Stiamo appendere fuori a Yale. Siamo davvero eccitati per questo semestre perché è la prima volta che viene a Yale. Sta andando essere impressionante! [RIPRODUZIONE DI BRANI MUSICALI] JACOB SCHERBA: Il mio nome è Jacob Scherba. Sono entusiasta di insegnare CS50 perché penso è portare l'informatica a persone e modo accessibile. SPEAKER 9: Sono davvero eccitato per insegnare CS50 perché ho preso la classe dello scorso anno, ed è uno dei migliori classi. SPEAKER 10: Sì. Il mio consiglio è che si dovrebbe prendere CS50. JACOB SCHERBA: ho scelto perché CS Penso che sia un modo divertente e creativo per risolvere i problemi in modo analitico. SPEAKER 11: Ai tempi in cui ero un po ' matricola e ha paura di informatica e paura di fare ingegneria e roba, è stato il primo della classe dura ho preso, ed era anche la mia classe preferita mai. DOUG LLOYD: Questo è il mio nono anno CS50 insegnamento. Questo mi fa sembrare così vecchio! C'è sempre qualcosa di nuovo. C'è sempre qualcosa di eccitante. C'è sempre nuove sfide che si presentano nuovi studenti, ed è divertente per aiutarli e di sperimentare quelle sfide con loro e aiutarli a risolvere i loro problemi. SPEAKER 12: Quando ho imparato a fare CS, è stato come imparare una super potenza. E vedere che in altri studenti e per aiutarli attraverso quel processo è uno dei più Le cose gratificanti che abbia mai. SPEAKER 7: Ho scelto CS perché nel All'inizio ero un concentratore di matematica e ho preso CS50 e si innamorò di esso. Ho anche sentito che con CS, ho potuto costruire le cose. E questo, ho pensato, ero un aspetto davvero cool. SPEAKER 13: Qualche consiglio per la nuova studenti è andare in orario d'ufficio e uscire con l'impressionante TF. SPEAKER 14: Avviare il P-set presto, andare in orario d'ufficio, diventare frends con la TF. SPEAKER 15: Sì. Tutto quello che ha detto. SPEAKER 16: Non essere paura di chiedere aiuto. SPEAKER 17: Sì. SPEAKER 18: Avviare il P-tramonta presto. SPEAKER 19: E 'un grande esperienza sociale. Fare un sacco di amici in questo modo. SPEAKER 14: Vai alla sezione E 'divertente. SPEAKER 11: Voglio dire, andare per esso. È molto difficile. Otterrete fuori di esso ciò che si mette in esso, ma è un davvero divertente classe soprattutto se sei disposti a mettere il tempo in esso, ma aiuta se si mette il tempo in esso. Otterrete molto di più fuori di esso seguito. MIKE: Sono Mike. CAMILLE: Sono Camille. Hanya: Sono Hanya. MATT: Sono Matt. PETER: Sono Peter. PHILLIP: Sono Phillip. Patrick: Sono Patrick. ROB BOWDEN: Sono Rob Bowden. BRIAN Scassellati: My nome è SCAS, e questo-- ALL: --is CS50. SPEAKER 20: a Yale. SPEAKER 21: a Yale. [Ride] DAVID MALAN: Questo è tutto per CS50. Ci vediamo da Yale su Venerdì, Puzzle Giorno Sabato. La torta è ora servito. Questo è CS50. [RIPRODUZIONE DI BRANI MUSICALI]