[Powered by Google Translate] [MUSIC PLAYING] DAVID J. MALAN: Questo è CS50. Così era il luogo dove vi trovate alcuni anni fa. E quando ero una matricola, al momento, non ero veramente questo percorso di fare informatica, di fare ingegneria. In effetti, sono entrato in questo posto come un concentratore di governo. Ero stato, al liceo, un ragazzo che piacevano le cose come la storia. Mi piaceva diritto costituzionale, il tipo di inglese e matematica. E 'come tipo di a tutto tondo, ma non necessariamente conoscere cose che non erano state ha insegnato al liceo. E così primo anno, ho avuto questa trepidazione per cui anche anche se mi piaceva computer, giocato giochi per computer e le piace, certo non ho mai pensato a me stesso come un computer di persona, un informatico. E, francamente, ho pensato che i miei amici del liceo che stavano prendendo informatica erano un po 'geek. Eppure, quando sono arrivato qui nel campus, si è questo corso, CS50. E al tempo, aveva questa fama di essere veramente qualcosa di attenzione. Era un buon corso. E 'stato un corso divertente. Ma si doveva ottenere effettivamente il piede nella porta. E anche io non oltrepassare quella soglia di primo anno. E sono andato per la mia strada di essere un concentratore governo, andando attraverso il maggior numero di requisiti, come ho potuto, cross-conteggio cose per generazione ed o nucleo e simili. E poi secondo anno, per qualche ragione, mi sono alzato la coraggio di mettere piede in Science Center B, dove era CS50. Un esperto informatico molto famoso con il nome di Brian Kernighan insegnava qui che anno. E anche allora, avevo solo voglia di riempire effettivamente fuori la mia carta di studio prendendo questa classe pass / fail. Mi guardai intorno e ho pensato che tutti in uno di questo devo sapere di più su via informatica, su programmazione di computer. Ognuno si deve essere la programmazione, in questa stanza, dato che erano 12. Ma, infatti, che non era il caso. E così l'ultimo giorno, il Lunedi quinto semestre, ho fatto fare questo salto e il cambiamento di pass / fail a un lettera grado e finito per cambiare la mia concentrazione che stesso giorno per l'informatica. Ora, questo non è il nostro obiettivo in questa classe, per attivare tutti voi in informatica concentratori, ma in realtà per proporre che c'è la possibilità in questo campo e in altri settori con i quali si potrebbe essere abbastanza sconosciuto dato che le scuole superiori in genere seguono un abbastanza standard di percorso curricolare, ma di avventurarsi in, in CS50, in nuove acque. E se si è seduti qui oggi a pensare che non lo fanno in realtà appartengono, in modo da fare la maggior parte delle persone di destra e alla vostra sinistra. In effetti, l'anno scorso, il 76% degli studenti di questa classe non ha avuto precedente esperienza. Quindi, contrariamente a quanto si potrebbe pensare, la maggior parte delle persone seduti qui oggi non, di fatto, alcun precedente esperienza. 18% hanno preso una classe CS, e il 6% hanno preso due o più. Nel frattempo, chiediamo ai nostri studenti ogni anno per descrivere se stessi in termini di livello di comfort. E non c'è una definizione di questo. È solo tipo di saperlo se non siete molto confortevole a CS50. E l'anno scorso, abbiamo avuto l '55% in questa fetta di torta verde qui auto-descrive come meno confortevoli, gli studenti che francamente non aveva idea del perché avevano anche acquisti il ​​corso quel primo giorno. Ma lo stesso il 55% è rimasto con noi fino alla fine del periodo, come ha fatto Il 35% che erano in qualche parte tra quelli più a suo agio e quelli meno confortevole. Allora, che cosa è la scienza del computer? Beh, al liceo, e davvero più in generale su in questi giorni, c'è questa percezione o questo equivoco che l'informatica è la programmazione. E questo è assolutamente un aspetto di informatica. Ma la programmazione, indipendentemente dalla lingua è, è in realtà solo un strumento che gli informatici usano per risolvere i problemi, sia nel campo della informatica o sempre questi giorni in scienze fisiche, le scienze naturali, in medicina, in materie umanistiche, per analizzare grandi quantità di dati. Ovunque vi sono computer e dati, c'è un possibilità di applicare le lezioni apprese in una classe come CS50. Quindi cerchiamo di risolvere un problema che un informatico potrebbe andare di risolvere e cercare di mettere un po 'gergo, mettere un po' quadro concettuale, attorno a ciò che altrimenti potrebbe essere qualche abbastanza idea astratta. Quindi questo è un telefono. Non si vedono queste cose troppo spesso, anche se il collegio sembra ancora avere questi nelle case e dormitori. Ma torniamo nel giorno in cui si desidera utilizzare un telefono come questo, non c'era un libro di indirizzo elettronico nel telefono cellulare. Piuttosto, hai tirato qualcosa conosciuta come una rubrica telefonica. E queste rubriche contava circa 1.000 pagine, in genere. Essi sono stati ordinati dalla A alla Z. E semplicemente dovuto trovare il pagina a destra per trovare la persona che stai cercando, al fine di trovare il loro nome e il loro numero di telefono. Ora, come si fa a guardare qualcuno in questo libro? Supponiamo che il mio obiettivo è quello di dare il mio amico, Mike Smith, una chiamata. Beh, come posso fare per trovare Mike Smith? Beh, un approccio molto ragionevole, se ingenuo e inefficiente, sarebbe iniziare qui e iniziare a far girare a ordina pagina 4 a pagina 5 a pagina 6, e per di linearmente, lungo una linea retta, passare attraverso questa rubrica. E anche se sara 'incredibilmente noioso, se Mike Smith è in questo libro, io sono alla fine riuscirai a raggiungere lo quando finalmente capovolgere la sezione S di questo libro. Ora, naturalmente, non c'è bisogno di essere uno scienziato del computer per So che questo è un modo stupido per risolvere questo problema. Che cosa sarebbe un essere umano tipico è fare? Ben fatto. Così si potrebbe capovolgere al centro, a destra. Così ci si capovolgere approssimativamente al centro, guarda qui, e mi sembra di trovarmi nella sezione M. OK, quindi M non è chiaramente quello che sto cercando. E Mike per il diritto, per così dire, di questa sezione. E come alcuni di voi hanno visto prima, possiamo letteralmente ora procedere a strappare questo problema a metà. [Applausi] Davvero non dovrebbe essere colpito. Strappare il basso la linea di giunzione in realtà non è così difficile. Le persone reali farlo in questo modo. Ma, lungo la cucitura, ora abbiamo due problemi, ciascuno dei che è la metà più grande. E possiamo letteralmente buttare che la metà del problema di distanza. Ora siamo lasciati non con 1.000 pagine, ma, diciamo, a 500. Così ora che cosa devo fare? Beh, un essere umano tipico andrà o meno al centro di nuovo. E mi ritrovo una sezione R. Quindi non abbastanza. Quindi, di nuovo, posso distruggere questo problema a metà. [Applausi] Grazie. Così ora ho solo circa 250 pagine. E posso farlo ancora e ancora e ancora e passare da 125 a circa 60 a 30 a 15 e così via. E, infine, mi vengono ridotti a una delle pagine su S che, se è in rubrica, Mike Smith dovrebbe essere. Ora, questo è un algoritmo, ovviamente, abbastanza ragionevole, ed è un one-time-use algoritmo in questo caso. Ma cosa possiamo ordinare di togliere da questo? Beh, il primo approccio, correggimi se ingenuo anche se stato, può essere descritto da tale linea retta. Quindi, se il x-axis qui diciamo questa è la dimensione del problema, così come l'asse x va a destra, l' problema diventa più grande. Che cosa significa essere più grande in contesto di questo problema? Altre pagine nella rubrica. C'è qualcosa in più che possiamo quantificare. Sul l'asse y, tempo di risolvere. Così come asse sale, ci vuole presumibilmente più tempo. In modo che il primo approccio di ricerca lineare da pagina 1 alla pagina punto punto punto 1.000 è una procedura lineare, lineare algoritmo o processo. E siamo in grado di descrivere con tale linea retta. Se posso aggiungere una pagina di più per la rubrica, sta andando, in peggiore dei casi, mi porti un flip pagina più per trovare Mike Smith. Se posso aggiungere 100 pagine, 100 in più flips o unità di tempo. Ora, io posso essere un po 'intelligente con questo. Non ho bisogno per davvero girare una pagina alla volta. Posso fare le cose come 2 alla volta o 4 per volta. Ma anche questo non è tutto quello che fondamentalmente meglio. Anche se si tratta di 2 alla volta, sì, quel tipo di questo si muove linea verso il basso un po ', e significa che ci vuole meno tempo determinato lo stesso numero di pagine. Ma non è decisamente migliore. Ma che cosa abbiamo solo fare, e che cosa tutti voi fare istintivamente? In realtà ha raggiunto un po 'di qualcosa come questo, tempo logaritmico, per cui il problema può crescere e crescere e crescere ma il costo di risolvere tale problema, il tempo necessario per risolvere il problema, non crescono quasi più veloce. Questo sarebbe una curva logaritmica, log di n, dove n è solo le dimensioni del problema, il numero di pagine di questo rubrica telefonica. E che cosa significa questo in termini reali? Beh, se abbiamo come 500 persone in questa stanza in questo momento, o meglio, se abbiamo - metafora di miscelazione, non ha fatto che l'esempio ancora quest'anno - quindi se ci sono 500 pagine della rubrica e lo doppio di 1000, in questo modello più intelligente di lanciare al centro, quante lacrime di pagina più ci vuole andare da 500 pagine a 1.000? Beh, basta una lacrima pagina aggiuntiva. Se mi ha consegnato un elenco telefonico 2.000 pagine, non un grosso problema. Ho appena strappare una volta in più. Così, in breve, la dimensione del problema può crescere molto più velocemente del costo di risolvere effettivamente. Ora, questo è solo un algoritmo di questo tipo. Ci sono altri possiamo risolvere nello stesso modo. E allora perché non lo facciamo? Se mi umorismo, anche se goffamente qui a Sanders, andare avanti, tutti, se si potesse stare in piedi e in posizione. Come si può vedere nella schermata qui, questo è un algoritmo, un processo, un programma per computer, se si vuole, da eseguirsi entro il l'uomo che ha appena 3 punti. Siamo già nel passaggio 1. Hai alzò. E ora pensa a te stesso il numero 1. Questo è il tuo numero attuale. Tutti qui è il numero 1. Fase 2, coppia con qualcuno in piedi, aggiungere i numeri insieme, e quindi adottare la somma come il tuo nuovo numero. Uno di voi dovrebbe sedersi, quindi ripetere. SPEAKER 1: 205. DAVID J. MALAN: Che cos'è? SPEAKER 1: 205. DAVID J. MALAN: OK. SPEAKER 2: Ha gli altri. DAVID J. MALAN: 205? SPEAKER 3: Già. DAVID J. MALAN: OK. 3. SPEAKER 4: 400. SPEAKER 5: 5. 700. DAVID J. MALAN: Va bene. A questo punto, sempre meno persone dovrebbe essere in piedi. E 'qui che diventa più imbarazzante. Qualcuno qui. Qui. La parte peggiore è che hanno anche a che fare molto verbalmente aritmetica di fronte a centinaia di Harvard undergrads. OK. Un po 'di bug qui. Va bene. Qual è il tuo numero? SPEAKER 6: Nove. DAVID J. MALAN: Che cos'è? SPEAKER 6: Nove. DAVID J. MALAN: Nine. Va bene. Qual è il tuo numero? SPEAKER 7: 179. DAVID J. MALAN: 179? Va bene. Bene. Così 188. Quindi voi ragazzi può sedersi. Qual è il tuo numero? SPEAKER 8: 118. DAVID J. MALAN: 118. Alcuni undergrad intelligente iniziare a fare i conti. Va bene. 118, 188. Che altro abbiamo? SPEAKER 9: 71. DAVID J. MALAN: 71. SPEAKER 10: 79. DAVID J. MALAN: 79. Va bene. SPEAKER 11: 47. DAVID J. MALAN: 47. Che, personale docente, che ci dà il numero? 705 è la risposta. E questo è, infatti, esattamente corretto. No, erano in realtà un po 'fuori là. Ma come dobbiamo aver lavorato? Quello che doveva essere appena successo? Così, ad ogni iterazione di questo algoritmo, abbiamo iniziato con un certo numero di persone in piedi, e che è stato il n numero totale in un primo momento. Poi la metà di voi si sedette, e siamo andati a oltre 2 n. Poi la metà di voi si sedette. Siamo andati a oltre 4 n, n oltre 8, n oltre 16, e così via, fino, anche se di tipo disintegrato lì al fine, in teoria, si era tutti accoppiati in balcone e soppalco e orchestra qui, avremmo avuto solo un solitario persona in piedi con un valore totale, in questo caso, di 705. Ora, che cosa vuol dire, però, per il tempo di esecuzione? Beh, pensate che se, come l'umano aveva fatto manualmente. Avrei iniziato abbastanza ingenuamente, ma correttamente con 1, 2, 3, 4, 5, 6, 7, 8, e così via. Prende un po 'di tempo. Così posso fare di meglio, giusto? Nella scuola elementare, non solo in quelli contano. Si contano a due a due. Quindi 2, 4, 6, 8, 10, 12. E questo diventa molto più veloce. Ma ora fondamentalmente, sfruttando il collettivo l'intelligenza di tutti in questa stanza, siamo in grado di ottenere un frenare molto più simile a questo, per cui ora il numero del persone in questa stanza potrebbe raddoppiare. Altre 700 persone entrare in questa stanza per 1.400 persone, ma sarebbe solo per noi prendere una iterazione più di questo algoritmo per risolvere. E così, sempre più in questi giorni, quando abbiamo queste enormi insiemi di dati in Facebook e Google e simili, è risolvere i problemi con un po 'di intuito, questo po' di intelligenza, che è sempre più che ci permette di fare molto, molto di le cose più potenti con i computer di oggi. Se vi piace questo genere di cose, si potrebbe avere visto su Giorno Puzzle di Facebook CS50 è in arrivo questo Sabato. Se volete partecipare a qualcosa di simile tale per cui si, in 2 o 3 o 4 squadre di 4, vorrebbe risolvere alcuni enigmi come questo, è una possibilità per vincere fantastici premi, tra cui un Wii e un po 'di carte regalo o qualche altro swag Facebook. Questo Sabato, mezzogiorno alle 03:00, vai a cs50.net/rsvp per tale. E questa diapositiva è in linea se si desidera giocare. I problemi di quest'anno devono essere nuovi. Si può notare in classe, anche, tanto più telecamere di quest'anno. Quindi non solo il corso di essere girato nel solito modo, CS50 può anche prendere parte a un documentario su una maggiore istruzione che sta guardando l'esperienza trasformativa che uno studente può avere in questi giorni a uno studente corso di studi. Così nei confronti di questi, poi, non solo saremo riprese per che, ci saranno riprese anche per sempre la nostra pubblico online, così come in occasione di questo pubblico qui. Quindi, diamo il benvenuto alla classe di quest'anno il nostro Harvard Estensione studenti della Scuola, Graduate School of Design, Educazione, la Business School, la Scuola Kennedy, la scuola di legge, così come un certo numero di studenti provenienti da Belmont, Lexington, Newton, e le scuole di alta Watertown. Benvenuti a tutti voi. Inoltre quest'anno, si può avere sentito, Harvard e del MIT, e Berkeley ora, hanno stipulato una collaborazione collaborazione, un'iniziativa chiamata edx, che è un iniziativa di aprire l'istruzione a tutti i più persone online e fondamentalmente iniziare a fare ricerca su una scala molto più ampia di come le persone imparano. E così CS50 sarà primo corso del college partecipare a tale iniziativa. Il che significa che avrà accesso a tutti gli strumenti più, tutti i contenuti più curricolare, tutti i video più contenuto di conseguenza, pure, come di ieri mattina, la 53.019 persone che si sono registrati a prendere CS50 lungo con voi quest'anno su Internet. Quindi, senza - [Applausi] Che cosa questo significa, in particolare, è che il docenti e ho passato un bel po 'di tempo questa estate preparando per la caduta, sia nel campus e fuori, in modo da che possiamo cominciare a costruire un corpus di interessante, di convincente, di impegnarsi contenuti educativi che concentra, in particolare, su più mezzi di trasporto intimi materiale piuttosto complesso. Quindi, in aggiunta alle lezioni del corso e delle sezioni e cose chiamate procedure dettagliate, di cui parleremo rivisitare in un bit, avremo anche questi pantaloncini quest'anno che consentono di impegnarsi con il corso da una diversa angolazione tutto. Quindi cerchiamo di utilizzare questo come l'occasione per fare un rapido sguardo a uno che discute questa nozione di binari. Quindi, in informatica, ci sono cose chiamate algoritmi - due dei quali abbiamo appena preso uno sguardo al - le procedure per il risolvere i problemi. Ma alla fine della giornata, è necessario rappresentare le informazioni in qualche modo. E hai bisogno di rappresentare in un modo che un computer può capire. E anche se non capisco computer e sei in quel 76% in questo momento, probabilmente un po 'vaga senso che i computer in qualche modo trattare in 0 e 1, il binario sistema, per così dire. Ora, perché è così? Beh, a quanto pare quando i computer la prima volta su, se avevi bisogno di rappresentare le informazioni, si potrebbe fare con l'elettricità. E se questo è un po 'di una semplificazione eccessiva, molto modo semplice di registrazione delle informazioni è o da svolta che energia elettrica - 1 in un binario, per così dire - o tornitura che l'elettricità off. Quindi, se Barry, se non le dispiace, potremmo abbassare le luci completamente solo per un momento? Questo qui è uno 0 binario molto gratuita. Se si spengono le luci di backup, ora Sanders Theatre è rappresenta il valore binario 1. Purtroppo, con appena un po ', con un solo set di luci, siamo in grado di rappresentare solo due numeri in mondo, 0 e 1. E sarebbe bello se potesse contare un computer leggermente superiori a quelli. Ma davvero si può. Permettetemi quindi di tirare verso l'alto sullo schermo qui il nostro amico Nate Hardison che ci darà un rapido sguardo nel corso di pochi minuti a questa nozione di binario. [RIPRODUZIONE VIDEO] NATE Hardison: Torna quando hai imparato a leggere e scrivere numeri, è imparato a conoscere le cifre da 0 a 9. Per scrivere i numeri interi maggiori di 9, si è appreso che tutte le si doveva fare era usare una combinazione di queste cifre, come in 52 e 437. Quindi, questo modo di numeri scrittura ha una nome, la notazione decimale. Perché decimale? Beh, la radice latina di un decimale, decem, significa 10. E quando si hanno 10 cifre nel sistema di notazione, 10 diventa un numero un po 'speciale. Diamo un'occhiata al numero 437 scritto in notazione decimale capire perché. Siamo in grado di spezzare prima 437 in 400 più 30 più 7. Possiamo smontare ancora di più che abbiamo 4 volte 100 più 3 volte 10 volte più 7 1. Ricordate l'apprendimento sul luogo quelli, il luogo decine, il posto centinaia, e così via? Questo è esattamente dove proviene. E, infine, possiamo vedere che abbiamo un sacco di potenze di 10 incorporato qui. Abbiamo 4 volte 10 per il 2 Plus 3 volte 10 alla 1 più 7 volte il 10 a 0. Così ora si vede perché 10 è uno speciale numero di notazione decimale. In effetti, abbiamo un nome. Si chiama la base dal momento che è la base dell'esponente nel nostro aritmetica qui. Notazione decimale non è l'unico modo per rappresentare i numeri. In realtà, anche se ci liberiamo delle cifre da 2 a 9, possiamo continuano a rappresentare tutti i numeri che potremmo con decimali. Così ora abbiamo due cifre, 0 e 1, 2 è il nostro speciale numero, la base del nostro sistema di notazione. Il nome di questo sistema di notazione binaria viene chiamato dal il prefisso "bi" significa 2. Così, invece ora di avere un luogo e il luogo quelle decine e così via, ora abbiamo un posto quelle, un luogo due a due, a quattro zampe posto, e così via, salendo per potenze di 2. Quindi cerchiamo di vedere questo facendo un po 'di conteggio. Quindi, 0 è ancora 0 e 1 è ancora 1. Tuttavia, ora che abbiamo un luogo due a due, invece delle decine posto, 10 rappresenta il numero 2. Per ottenere 3, si aggiunge uno per questo e ottenere 11. 4, dal momento che c'è ora un posto a quattro zampe, è rappresentato da 100. Cinque è 101. 6 è 110. 7 è 111. 8, ancora una volta, ha il suo posto. Quindi è 1000. E penso che si ottiene il punto. [END RIPRODUZIONE VIDEO] DAVID J. MALAN: Quindi, questo per dire, ciò che i computer fanno e ciò che binario è realtà non è così dissimile da quello che abbiamo preso per scontato per alcuni anni, giusto? Credi che la scuola elementare, hai imparato a contare in proprio la moda che Nate proposto. Ma probabilmente non hanno mai pensato in quanto, il fatto che ci sia questo luogo quelli, luogo decine e centinaia posto. E questo è abbastanza arbitraria. E in effetti, i computer è sufficiente utilizzare questa base diversa. Ma alla fine della giornata, per rappresentare fisicamente questa nozione di 0 e 1, che, ovviamente, non si limitano a girare la luci e spegnere necessariamente. Hai bisogno di fare su un più raffinato scala. E con grana fine, si potrebbe ricordare questo stupido piccolo giocattolo dall'infanzia, Woolly Willy e questi piccoli particelle magnetiche. Quindi le particelle magnetiche sono qualcosa che è possibile allineare in un paio di direzioni diverse, forse nord-sud e sud-nord. E così un sacco di incarnazioni fisiche della tecnologia in questi giorni che utilizzano binario, che usano 0 e 1, semplicemente hanno magnetismo all'interno che allinea le cose, su-giù o down-up, con rappresentando quindi uno 0 o un 1, rispettivamente. Così infatti, passiamo dalla astratta qui e guardare all'interno di ciò che è un più tradizionale disco rigido del computer. Questo sembra essere un po 'più grande su schermo che è da un computer desktop. Ma ancora oggi i portatili hanno la stessa tecnologia, ma è gradualmente sostituiti da cose più sofisticate che hanno effettivamente senza parti in movimento. L'interno, poi, di un hard disk. [RIPRODUZIONE VIDEO] SPEAKER 12: Il disco rigido è dove il vostro PC memorizza la maggior parte di i dati permanenti. Per fare questo, il trasferimento dei dati dalla RAM con software segnali che indicano il disco rigido come memorizzare i dati. I circuiti del disco rigido tradurre tali segnali in fluttuazioni di tensione. Questi a loro volta controllano le parti mobili del disco rigido, alcuni dei poche parti in movimento a sinistra del computer moderno. Alcuni dei segnali di controllo di un motore che gira metallo rivestite piatti. I tuoi dati sono in realtà memorizzati su questi piatti. Altri segnali spostare la testina di lettura-scrittura per leggere o scrivere i dati sui piatti. Questa macchina è così precisa che un capello umano non poteva anche passare tra le testine e piatti di filatura. Eppure tutto funziona a velocità incredibili. [END RIPRODUZIONE VIDEO] DAVID J. MALAN: Quindi, se ora lo zoom su ciò che è realmente avvenendo in cima a questi piatti in termini di magnetismo, abbiamo questa seconda di due sguardi. [RIPRODUZIONE VIDEO] SPEAKER 13: diamo un'occhiata a quello che abbiamo appena visto in slow-motion. Quando un breve impulso di energia elettrica viene inviata al lettura-scrittura testa, si lancia su un elettromagnete per un piccolo frazione di secondo. Il magnete crea un campo che cambia la polarità una piccola, piccola porzione delle particelle metalliche che cappotto superficie di ogni piatto è. Una serie modello di questi piccoli pagano le aree sul disco rappresenta un singolo bit di dati del numero binario sistema utilizzato dai computer. Ora, se la corrente viene inviata attraverso un modo di lettura-scrittura testa, la zona è polarizzata in una direzione. Se la corrente viene impostato nella direzione opposta, la polarizzazione è invertita. Come si fa a ottenere i dati dal disco rigido? Basta invertire il processo. Quindi è le particelle del disco che ottenere la corrente in la testina di lettura-scrittura in movimento. Mettere insieme milioni di questi segmenti magnetizzati e hai ottenuto un file. Ora, i pezzi di un singolo file può essere sparsi in tutto un disco di piatti, un po 'come il pasticcio di carte sulla scrivania. Quindi, un file speciale in più tiene traccia di dove tutto è. Non ti piacerebbe avere una cosa del genere? [END RIPRODUZIONE VIDEO] DAVID J. MALAN: Infatti. Quindi, abbiamo questa capacità di rappresentare le informazioni, i numeri ad un livello molto basso. Abbiamo un modo fisico di rappresentare la stessa cosa. Ma non possiamo davvero fare più di tanto di interesse ancora eccetto forse un po 'di aritmetica e la matematica. Non abbiamo modo di rappresentare le cose fino a questo momento, come lettere dell'alfabeto in modo che noi umani possiamo comunicare utilizzando questi dispositivi stessi. Ma per fortuna esiste codifiche, i modelli di 0 e 1s, che rappresentano costrutti di livello superiore come A e B e C e intere frasi e paragrafi e simili. E così ASCII, che è un acronimo che si riferisce a questo sistema di codifica in cui un numero rappresenta una determinata lettera. Per esempio, il numero che conosciamo valore decimale 65 è conosciuta come la lettera maiuscola A ai computer. Il valore decimale 97 in computer è conosciuto come un un minuscolo. E che cosa significa in realtà? Beh, anche se Nate un momento fa solo contato 0-8, se dovessimo continuare a contare fino a 65 o ulteriormente a 97, il modello di 0 e 1 che avrebbe dovuto disegnato sullo schermo sarebbe esattamente ciò che un computer usa rappresentare la lettera A in tutti i tappi o la lettera a in minuscolo. E in effetti, c'è un intero schema a questo. Si tratta di una, a prima vista, grafico travolgente codifiche, ma se ci si concentra solo sulla metà destra qui, notare in questa colonna centrale abbiamo questa nozione di numeri seguito da lettere. E in cima abbiamo 32. E il carattere, char, per cui 32, il numero intero, si riferisce è apparentemente il carattere barra spaziatrice. Quando si preme il carattere barra spaziatrice su un computer portatile, beh, quello che stai realmente l'invio è un numero, un modello di 0 e 1, un flusso di energia elettrica se si vuole, che rappresenta coloro 0 e 1 che il computer poi interpreta come un carattere di spazio sullo schermo. Un punto esclamativo è 33. Le virgolette doppie è 34. E se si scorre qui sopra a destra, si vede che 65 è davvero una, e 97 è infatti un minuscolo. E così, ora che abbiamo questo schema di codifica, possiamo iniziare a precisare le cose. In effetti, i computer in genere si esprimono in standard unità non, utilizzando un singolo bit, che ancora non è tutto che utile per rappresentare solo 0 o 1, luci accese o spente, ma piuttosto utilizzando sequenze di bit. E l'unità di misura più comune, come probabilmente sapete e o almeno dedotto, è un byte. Un byte è solo otto bit, otto 0s o 1s di fila. Così possiamo iniziare ortografia cose. E così, se potessimo, perché non provare questo un po ' collettivamente qui. Ci sono otto persone in questa sala, che sarebbero disposti a salire sul palco? Devi stare bene apparire sulla macchina fotografica, ma si in realtà non hanno bisogno di sapere, in caso contrario, che cosa è succede ancora. Vedo una persona di essere volontariamente qui. Due, tre, quattro, cinque, sei, sette, e in che modo le otto. Vieni su. Così si sta per rappresentare un byte di persone. Lasciate che vi hanno essere posto a 128, è posto a 64, è 32 suo posto. Ma stiamo andando molto rapidamente è necessario invertire questa. Quindi lasciate che vi soddisfano tutti laggiù. E si dovrebbe essere a posto a 128 di tutto il fin qui. Molto simile il posto centinaia e le migliaia sarebbe essere più a sinistra, vogliamo che il più grande segnaposto di essere qui a sinistra pure. Abbiamo 64s a 32, 16, 8, a 4, a 2, e di 1. Eccellente. Così ora abbiamo - OK, puoi aiutarmi. Così ora abbiamo - come ti chiami? JOANNE: Joanne. DAVID J. MALAN: Joanne. Così Joanne ed io sono ora in corso a consigliare questi ragazzi su come può andare in giro ortografia qualcosa. Così sulle spalle dei loro fogli di carta, hanno una foglietto piccolo che sta per dire loro se furono rappresenta uno 0 o un 1. E perché non per semplicità, ci rappresentano 0 da solo lì goffamente. Molto buono. O un 1 alzando la mano, che rappresenta un 1. E vediamo se non possiamo precisare un quattro caratteri frase qui. Quindi, andare avanti ora, volontari, ed eseguire un ciclo di alzando la mano se sei un 1 o tenerlo verso il basso se sei un 0. Quindi, ora che abbiamo questi tre mani in alto, quale numero, tutti gli altri, sono in realtà rappresenta? OK. 67. Perché? Beh, sanità mentale rapido check. Posto 64, perché si tratta di un 1, che è come 1 volta 64 più 1 per 2, così che è 66 volte 1 più 1. E 'più 1, quindi 67. Così ora questi ragazzi sono collettivamente rappresentano il 67 che apparentemente rappresenta ciò che qui in ASCII? OK. Quindi, a c. Bene. Così ora andiamo per arrotondare due. Devo dire con le mani verso il basso. E in due round - in realtà non c'è molto di un ruolo in questo, suppongo, ma faremo finta. Quindi secondo round, alzare o abbassare le mani. Bene. Pubblico, cosa che oggi esprimono è di 83. Così si potrebbe fare la matematica. Ma per la persona la cui mano è alto, si aggiunge il numero che essi rappresentano. Così ora abbiamo 83. Facciamo espandere il foglietto un po ', e ora abbiamo -? [Incomprensibile] DAVID J. MALAN: OK. Questo potrebbe essere ovvio dove stiamo andando qui, ma tuttavia, terzo round. OK. Terzo round 'bello andare laggiù. Così il terzo round, che numero sono questi ragazzi ora che rappresenta? OK. Ho sentito 53, che rappresenta ora? Interessante. Ora, perché questo tipo di contatore risultato intuitivo, giusto? Se vogliamo rappresentare 5 - noi tutti probabilmente sanno dove questo sta andando - perchè non mi è sufficiente alzare luogo il 4 e il luogo gli 1? Beh, si rendono conto che c'è una differenza, in fondo, tra il modo in cui un computer interpreta questi bit. Se stai cercando di rappresentare il numero 5, quindi assolutamente, dobbiamo solo alzare il numero 4 a mano e alzare il numero a mano 1. Ma non siamo qui per rappresentare i numeri. Il contesto qui sul palco è che stiamo rappresentando caratteri o caratteri. E in questo contesto, il computer deve rendersi conto che, oh, questo modello di bit non è un numero solo, è in realtà rappresentano un concetto di livello superiore, in questo caso un lettera alfabetica. Quindi il fatto che ora rappresenta il numero 5 con il valore di 53 è perché in ASCII la cosa che esteticamente vedere come il numero 5 in sé ha bisogno di un modello di bit. Perché perché? Beh, il mondo appena deciso di usare i numeri più bassi, 0, 1, 2, 3, per quello che sembrano essere le cose piuttosto criptici. E in effetti, questi sono i caratteri che non si trovano su un tastiera, le espressioni particolari di cui avete bisogno in un computer per fare cose interessanti, ma gli esseri umani non in realtà la digitazione. Quindi 53 rappresenta infatti 5. Ora, proprio come un controllo di integrità finale, che numero dovrebbero rappresentano solo un momento? PUBBLICO: 48. DAVID J. MALAN: OK. Così 48. E in effetti, andare avanti. Quarto round. 16 plus 32 è, infatti, 48. E così un grande applauso, se potessimo, per il nostro otto volontari qui. Grazie. È possibile mantenere questo. Se - Molto ben fatto. Qualsiasi direzione va bene. Così, ora abbiamo un modo non solo di pensare a come rappresentano i dati e la realtà che rappresenta fisicamente, ma anche facendo sovraordinati cose su di esso. In effetti, questo sarà un tema in tutto del computer scienza del complesso immobiliare sempre più interessante cose in cima idee abbastanza semplici, in questo caso solo 0 e 1. In termini di perché questo è utile, bene anche se in un corso come questo ci concentreremo sui fondamentali e sulla programmazione e sulla risoluzione dei problemi, si può andare fuori in informatica in qualsiasi numero di direzioni. In questo caso qui, questo è un grafico che permette di avere a Vedi retro della vostra guida non ufficiale a CS ad Harvard, uno dei oggi sono due stampe. Questo suggerisce molte direzioni diverse in cui si può andare dopo un corso come questo. Imparare a conoscere l'intelligenza artificiale, di grafica, su apprendimento automatico, circa il linguaggio stesso. Rendetevi conto, inoltre, che ci sono ancora altri percorsi. Ci sono percorsi più matematici in informatica. Se non sei nemmeno in grado di prendere qualcosa come questo CS50 cadono, ci sono corsi introduttivi in ​​primavera. Informatica 1, per esempio, è un altro sulla rampa a questo nuovo mondo. Ora, da parte nell'interesse di risolvere i problemi relativa a corsi, rendersi conto che CS50 sancito po 'di tempo fa per cercare di risolvere uno di questi problemi, problema noto come my.harvard, che molti di voi potrebbero utilizzare effettivamente acquisti per i corsi. Ma in caso contrario, controllare uno strumento come questo, così come altre discendenti che alcuni dei nostri ex studenti e il personale hanno creato. Ma in un corso di Harvard, che è un tool web-based - qualcosa che si sarà in grado di progettare e distribuzione di voi stessi, e ancora altre cose, da alla fine del semestre. Conto che questo, basato su un insieme di dati aperto, in questo caso corso di un catalogo, e permette agli studenti in questo caso a esplorare un insieme piuttosto complesso di dati. Abbiamo scavato la scorsa notte alcune statistiche basate sui pochi migliaia di persone che hanno utilizzato questo più nei giorni scorsi. Se siete stati curiosi di sapere quanti corsi tuoi amici in realtà tendono a negozio, beh, oggi i dati suggeriscono che 7.6 è il numero medio di corsi su qualcuno lista della spesa. E ora io ti do, anche, la statistica dei più numero di corsi sulla lista della spesa di qualcuno. E noi tutti probabilmente conoscete qualcuno come questo. 201 è record di quest'anno. Ora alcuni dei nostri ex studenti e del personale effettivamente mettere insieme una clip di dipingere un quadro per voi di ciò che questo percorso di informatica e CS50 è di per sé. Lasciatemi andare avanti e tirare su, grazie al signor Hahvahd qui, un video realizzato da alcuni dei suoi predecessori. Se potessimo tenere le luci per questo. [RIPRODUZIONE VIDEO] [END RIPRODUZIONE VIDEO] SPEAKER 14: (CANTO) Prendiamo il nostro tempo con qualche graffio, per i loop, gli eventi, siamo in grado di abbinare, la compilazione utilizzando il nostro bash, questo termine non sarà una noia. Divertimento Hacking, alcuni pasti gratuiti, lezioni sono semplicemente irreali, la nostra fiera è un grosso problema, c'è così tanto da adorare. Vai, David Malan. Procedure dettagliate, non mi affida. Orario di ricevimento, nessuno ha mancato. Dove credi di codifica, baby? Ehi, ho appena incontrato e questo è pazzesco, ma ecco la nostra ragione. Prendere CS50. E 'difficile a destra codice senza di te, baby. Ma ecco la nostra ragione. Prendere CS50. Ehi, ho appena incontrato e questo è pazzesco, ma ecco la nostra ragione. Prendere CS50. E ogni impresa stelle vuole assumere me, un altro motivo. Prendere CS50. Prima sei entrato nella mia vita, ho codificato così male, ho codificato in modo male, ho codificato così, così male. Prima sei entrato nella mia vita, ho codificato così male e non posso tornare indietro. Prendere CS50. DAVID J. MALAN: non avevo idea di quello che stava per accadere. Quindi, uno sguardo più serio di quello che ci aspetta. Quindi, in termini di aspettative di questo corso, si sta infatti prevista la presenza o guardare del corso lezioni, presentare una serie problema, prendere due quiz, presentare un progetto finale. In termini di qualità, si rendono conto che il mio commento in apertura circa pass / fail, cosa che abbiamo molto da prendere cuore in CS50. Non è affatto sufficiente di una cultura ad Harvard di provare qualcosa e rischiare il fallimento. In effetti, abbiamo avuto il numero di studenti, e da me, in particolare, che erano preoccupati per danneggiare il vostro GPA o ottenere una B in qualcosa di simile CS50. E la possibilità di seguire un corso come questo, e di altro tipo corsi di gateway a livello introduttivo, pass / fail è una opportunità molto sottoutilizzata in questo collegio, in generale. E quindi per favore sapere, anche mi sono iscritta a questo corso inizialmente per pass / fail di credito solo. E anche se ho fatto interruttore alla fine della giornata, è stato quelle cinque settimane iniziali, fino al quinto lunedì del semestre che è il taglio, che mi ha permesso di realtà messo piede in queste acque nuove e realmente provare qualcosa di molto familiare e molto scomodo per me in quel momento. Quindi, in termini, ora, di ciò che il ruolo dei diversi punti di vista attraverso i quali è possibile avvicinarsi a questo corso di servire, in modo da lezioni, tocca a che se ci si impegna con noi di persona in questa sede. Sappiamo, infatti, statisticamente che circa il 40% di voi si tipo di vanno e nel corso del semestre. E il 10% di voi, che non vedrà mai più dopo oggi. E questo è perfettamente bene, ad essere onesti. Una delle caratteristiche distintive di CS50 è che esistono queste risorse, alcune delle innumerevoli di cui parleremo rumore attraverso in un momento, tra cui lezioni e sezioni e cose chiamato e procedure dettagliate orario di ufficio e simili. Ed è più risorse rispetto al tipico studente deve devono o possono fisicamente sfruttare. Ma questo è a causa degli stili diversi di apprendimento che qualsiasi corpo studentesco manifesta. E così nelle lezioni, il ruolo primario, come la vedo io, è non spingere verbalmente su materiale abbastanza complesso e di necessariamente fornire tutte le complessità del fondamentali che ci esplorare questo semestre, ma piuttosto di fare le cose come abbiamo fatto fino ad ora già, questi esempi, che coinvolgono gli esseri umani sul palco, cercando di dipingere un quadro mentale, e anche creare, oserei dire, un po 'di di questi momenti memorabili. In modo che anche se si lotta con determinati argomenti, si ha questi ricordi come, oh, anche se questo era abbastanza astratto, la matematica, mi sono perso l'1 con trasporto, come se fosse davvero, alla fine della giornata, non è affatto dissimili qualcosa che già sappiamo. E così il ruolo che le lezioni servirà, sia di persona qui in Sanders oppure online su video, è davvero per impostare il mentalmente in scena per voi ogni settimana per i vari concetti e problemi che saremo tuffarsi. Per quanto riguarda i concetti di alto livello, la maggior parte di queste parole può scorrere sopra la testa, per il momento, e va bene. Per quelli di voi che entrano in campo più confortevole saprà di alcuni di questi argomenti. Ma in genere per quel 10% della classe per la quale hanno fondo molto di più, prendendo AP informatica, programmazione poiché erano 12, conto che ci sarà opportunità nelle sezioni e nel problem set di andare fino in più in profondità in diversi argomenti, riempimento in qualsiasi lacune si potrebbe avere dal tuo liceo o prima sfondo. Per quanto riguarda le lingue, si rende conto che ciò che lingua che utilizzare in CS50 è in gran parte irrilevante alla fine della giornata. Ci capita di usare, in primo luogo, un linguaggio chiamato C. Verso la fine del semestre, si introduce web-centrico linguaggi come PHP e JavaScript. Ma noi e gli altri potreste insegnare a un corso come questo nella maggior parte qualsiasi moderno linguaggio di alto livello. Python e Ruby e altri sono molto popolari in questi giorni. Poiché conto alla fine della giornata, non stai imparando in questo corso C. Lei non è imparando PHP o JavaScript. Stai imparando come risolvere i problemi, sia web-based, computer-based, o si è orientata ai dati, utilizzando semplicemente come questi strumenti. Ora, in termini di logistica, che userete qualcosa, alla fine, chiamato CS50 Appliance. Non importa se avete un Mac, un PC, un computer Linux, o simili. Avrete software liberamente disponibile a partire da settimana prossima con cui utilizzare l'apparecchio CS50, un virtuale ambiente che verrà utilizzato sul proprio computer in modo che si e tutti i tuoi compagni di classe hanno un desktop uniforme Linux in questo caso. E 'il set di problema, però, in cui realmente otterrete le mani sporche in corso. E alla fine della giornata, è il set di problema, pensare, che in realtà definiscono di uno studente esperienza in questo corso. Rendetevi conto che molti dei set problema sarà rilasciato in due edizioni, una più standard che ci aspettiamo e incoraggiare il 90% della classe di tuffarsi. Ma abbiamo anche il rilascio di alcuni insiemi di problemi in cosiddetti aggiunte da parte di hacker. E sai che è l'aggiunta degli hacker, perché in ogni pagina con una filigrana si dice inoltre hacker, su di esso. Ed è per questo demografico di voi che hanno AP informatica con 10 anni di programmazione sotto la cintura e stanno cercando di colmare le lacune e di avere più formale, piuttosto che autodidatta, la formazione, forse. Conto che c'è un demografico molto considerevole classe che ha proprio questo stesso obiettivo. Ti hanno cinque giorni di ritardo. Set di problema sono generalmente dovute il giovedì, ma è possibile estendere cinque di tali termini con questi cose chiamate giorni di ritardo. E faremo anche cadere il punteggio più basso alla fine del semestre secondo le indicazioni del programma. Ma un'altra caratteristica distintiva di CS50 oltre degli anni è diventato l'orario di ufficio. E 'un'opportunità che avete visto in foto visivamente un po' fa in cui ci riuniamo - già in sala da pranzo casa sale, prima che nel seminterrato della Scienza Centro, e quest'anno in Annenberg Hall - quattro notti a settimana 20:00-11:00 dove avrete questo molto molta esperienza condivisa di lavorare, lottare attraverso, alcuni problemi, ma con un sostanziale sostegno Struttura in posizione. Infatti, il modo in cui questo lavoro è che si arriva a Annenberg se avete qualche domanda durante la settimana, si mettono il vostro computer portatile, ti siedi, prendi un po 'di cibo, e si accede Discuti in CS50, un web-based programma di utilità che l'insegnamento il personale ha messo a punto che vi permetterà di inviare domande e vedere di follow-up in un forum di discussione tipica senso, usando le etichette e simili e di completamento automatico per cercare i dati. Ma potrai anche essere in grado di, durante le ore di ufficio ore, hanno intensificato le vostre domande a veri esseri umani. In effetti, l'obiettivo è in ultima analisi, in modo che uno, cominciamo a costruire up nel corso del semestre un corpus di spera informazioni veramente utili, risposte comuni alle più comuni domande, in modo che voi stessi in grado di risolvere i problemi e scollare il più rapidamente possibile, ma pur avendo la personale docente, di solito 20 a 30 di borsisti di insegnamento e assistenti del corso, per il personale in una sola volta. Avremo quello che viene chiamato il CS50 Greeter in Annenberg. E quando stabiliamo che, sai una cosa, a questa domanda, non possiamo rispondere in modo efficace online. Abbiamo bisogno di vedere il tuo computer. Vogliamo parlare con te uno-a-uno. Su uno. Sei davvero in difficoltà e voi, quindi, voglio parlare uno-contro-uno accanto qualcuno, ti verrà inviata al CS50 Greeter, un insegnamento compagno di detenzione, letteralmente, un iPad che ha i nomi degli studenti da un lato, l'insegnamento del personale nomi, dall'altro. Noi fare clic sul proprio nome seguito dal nome di un personale docente, e lo schermo del computer si avvia per favore lampeggia dicendo andare a vedere Alice oppure vai a vedere Bob il personale tabella. E in questo modo, saremo in grado di inviare le cose come modo più efficiente possibile, così come guidare l'utente verso soluzioni ancora più facilmente. Nelle sezioni, questi saranno più opportunità per Hands-On intimi opportunità con uno dei compagni di insegnamento e da 12 a 16 o così dei tuoi compagni di classe in che ogni settimana avremo problemi nel set problema che chiedono una serie di questioni concettuali e di un numero di bit di dimensioni domande di programmazione che si riusciva a capire da soli, e si potrebbe lavorare sul , ma nel contesto della sezione dove lavoriamo attraverso collettivamente alcuni di questi problemi e andare dove il conversazione diverso ci porta. Inoltre, nella sezione avete delle opportunità di rivedere osservazioni del lavoro che hai fatto, il tuo compagni di classe, a volte anonimi, sempre tramite opt-in se si desidera condividere il lavoro che hai inviato. Così sarà davvero una conversazione bidirezionale, l'opportunità di rivedere il proprio lavoro in modo molto più senso dinamico, piuttosto che semplicemente guardando un PDF o un stampa e il pensiero su di esso per alcuni secondi e non necessariamente assorbire il feedback che l'insegnamento personale hanno fornito. E si utilizza uno strumento chiamato qui CS50 Spaces. Per quelli non pratici, questo è noto come il linguaggio C in alto a sinistra, e si arriva a conoscere questo nel corso del tempo. Ma questo è un web-based utility che useremo in sezione che vi permetterà voi e il vostro 15 o in modo da compagni di classe effettuare il login con il vostro compagno insegnamento presso l' fronte alla camera. Sarete in grado di scrivere codice in questa finestra. Sarete in grado di chattare via elettronica, se non sei effettivamente alla sezione in quel particolare momento. E il tuo compagno di insegnamento, quando arriva il momento di discutere Alice o soluzione di Bob in classe, il tizio insegnamento può fare clic su un pulsante e voilà, il progetto sullo schermo, qualunque cosa questo studente ha lavorato in quel particolare punto nel tempo. Così, per quelli di voi che hanno amici che hanno preso in CS50 il passato, si rende conto che le sezioni sono state notevolmente riavviato quest'anno di essere ancora più attivo, tanto più dinamica, e davvero una conversazione a due vie tra l'insegnamento personale e gli studenti. E scenari. Quindi, per questi insiemi di problemi, offriamo non solo la specifica in sé, che è generalmente un piuttosto dettagliata PDF, ma anche le cose conosciuta come procedure dettagliate in cui una membro del corpo docente guiderà una seduta settimanale che cammina letteralmente attraverso il problema proposto, dando dei suggerimenti e consigli e punti di partenza ed è pensato di chiedere al più frequenti domanda, da dove comincio? Beh, si inizia o tuffandosi in specifiche sul suo proprio o partecipando o la visione di queste procedure dettagliate. La procedura dettagliata primo, infatti, sarà questo Venerdì. Saranno il venerdì, non tanto perché pensiamo che sarà un tempo popolare, ma perché possiamo poi filmare molto presto nel corso della settimana per farli on-line entro il fine settimana in modo che si hanno come giorni il maggior numero possibile di impegnarsi effettivamente in quella contenuto. Ma più su che in conferenza questo Venerdì. Ora, in termini di struttura di supporto, la più statistica significativa è forse l'insegnamento 108 borsisti e gli assistenti del corso che corso ha attualmente. Se qualcuno di voi che non hanno classi in conflitto vorrebbe di unirsi a me qui sul palco, sono questi ragazzi che saranno in ultima analisi, certo definire la tua esperienza in corso. Ho avuto un sacco di compagni di insegnamento insegnarmi le classi in il giorno, e mi ricordo molto pochi di quelli francamente. Ma fino ad oggi, mi ricordo ancora tra quei pochi, la mia CS50 TF che veramente mi ha aiutato a rispondere alle domande, che hanno veramente aiutato me quando stavo lottando, e in realtà è stato un partner in questo esperienza di studiare un mondo molto nuovo. In un po ', tutti questi ragazzi si uniranno a voi fuori per torta, che è una tradizione di CS50, nel transetto di Memorial Hall. Ma mi permetta prima di farvi conoscere Nate Hardison, ancora una volta, Rob Bowden, e Tommy MacWilliam, questo corso dell'anno teste. Se voi ragazzi mi unisco a mezzo. Tutti hanno preparato alcune osservazioni ispirazione. TOMMY MacWilliam: non ho preparato niente ispirazione. Ma il mio nome è Tommy. Sono un anziano di Mather. Sto studiando informatica. Sono davvero entusiasta di far parte della squadra di copertura e andando attraverso il viaggio CS50 con voi. Quello che mi piace di CS50 è come insegna davvero a pensare ai problemi in modo nuovo. Questo è veramente una competenza che sara 'prezioso, non importa quale campo si va in. E non solo questo, ma offriamo più caramelle gratis di ogni altro corso nel campus. Si ', e quindi non vedo l'ora di vedere cosa ognuno costruisce questo semestre. E se qualcuno ha dei dubbi ora o per tutta il semestre, sicuramente non esitate a entrare in contatto con me e Sarei felice di aiutarvi. ROB BOWDEN: Ciao. Sono Rob Bowden. Sono un anziano a Kirkland. Si ', proprio cosi'. Siamo tutti molto eccitati per questo prossimo semestre. Speriamo che siamo tutti eccitati. Non mi aspettavo questo. Gia '. Così abbiamo messo tanto impegno nel rendere questo semestre davvero grande. E finché si è disposti a mettere nello sforzo, non vi è così tanto si può ottenere da questo corso. Ah, noi - si '. È possibile ottenere un sacco di divertimento da questo corso. Non avrebbe un organico di 108 se non si poteva ottenere molto di divertimento fuori di esso. Quindi, cercano solo di essere coinvolti e non ve ne pentirete. NATE Hardison: Ciao, ragazzi. Sono Nate. Sono il precettore per il corso. Sono davvero felice di essere qui. Questo è il mio primo anno qui. Spero che tutto questo corso e godere il più Ho goduto finora. E se si volesse imparare a contare fino a 9 o 10 in binario, venire a parlare con me. DAVID J. MALAN: Quindi con il rischio di lasciare questi ragazzi qui in in scena un po 'goffamente, facciamo girare con solo alcuni dei le cose che attendono prima di aggiornare per la torta. Che cosa ci attende? Beh, se prendiamo un rapido sguardo indietro l'anno scorso, nel problema impostato a 0, i vostri predecessori colomba in una programmazione linguaggio chiamato Scratch, un linguaggio di programmazione grafica userete nei primi giorni del corso a partire da questo Venerdì a imparare alcuni concetti sconosciuti per alcuni di voi. Ma realizzare ci sarà un aspetto avanzato di questo per quelli di voi con precedenti conoscenze. Nel problema dello scorso anno set 2, gli studenti si tuffa nel mondo della crittografia, l'arte di cifratura o di rimescolamento informazioni, i programmi di attuazione che i dati crittografati. E in aggiunta hacker, l'anno scorso ha studenti procedere da decifrare o decodificare le password in un tipico computer xe file delle password da venire con algoritmi e euristiche per la forza bruta capire quello che qualcuno è password su un sistema informatico è stato. L'anno scorso, anche nel problema di set 3, ha implicazioni studenti - in problema posto 4 - gli studenti hanno fatto attuare il gioco del Sudoku. E in aggiunta hacker, che l'anno non ha studenti solo attuare come giocare il gioco, ma in realtà un risolutore cui il computer in grado di fornire, l'umano, con note da più rapidamente di quanto hai risolvere quel particolare problema. Nel problema proposto 5, abbiamo fatto scientifica, questa arte di il recupero delle informazioni che è stato accidentalmente o molto volutamente cancellato da un computer. L'anno scorso, il corpo docente e ho passeggiato per il campus scattare fotografie di persone, luoghi e cose, e poi accidentalmente formattato la scheda di memoria della fotocamera che sul nostro aveva tutte quelle foto. Ma non è un problema. Abbiamo fatto un immagine forense di questa scheda di memoria, consegnato fuori a tutti gli studenti della classe, e li ha spronati a scrivere programmi che recuperati tutti i JPEG da quella carta. E questo è in realtà uno dei nostri gruppi preferiti problemi. E ho scavato in una mail da uno dei suoi predecessori, che era molto divertente da leggere qualche tempo fa. Ha scritto - questo è da Matt - Caro David, ieri il mio sorella accidentalmente formattato la scheda SD la sua macchina fotografica e ha perso un anno vale la pena di foto memorabili. Lei purtroppo non è il migliore in backup dei propri dati. Ma questa situazione mi ha ricordato pset 5, così ho pensato che avrebbe cercato di gestire la sua scheda SD con il programma Recover che ho scritto tutto il viaggio di ritorno nel mese di ottobre. Così, dopo quattro ore di capire come creare un immagine grezza dalla scheda SD formattata - Google si è rivelato abbastanza inutile in questo senso fino a quando ironicamente mi è capitato di incontrare le istruzioni su Internet - dopo armeggiare intorno con alcuni degli argomenti del comando, Sono riuscito a creare l'immagine forense. E dopo l'installazione e la configurazione del CS50 Appliance, sono riuscito a eseguire l'immagine forense attraverso il mio programmare e recuperare tutti i 1.027 di fotografie di mia sorella. Giusto, Matt. Quindi, in year's ultimi - [Applausi] Nel problema proposto lo scorso anno 6, abbiamo dato agli studenti un dizionario di 150.000 parole inglesi e li ha sfidati a scrivere un correttore ortografico che ha risposto query della forma questa parola è scritta correttamente o erroneamente il più velocemente possibile. E in un opt-in base erano studenti che possono poi sfidare compagni di classe inviando loro risultati, il quantità di RAM che hanno usato, il numero di cicli di CPU o secondi che hanno usato, in modo che gli studenti sono stati poi classificati sul sito web del corso. Anche in questo caso, aspetto puramente facoltativa di essa, ma grande divertimento in questo molto spesso sarebbe uno studente arrivare a posizione numero 10 o così via il tabellone sul sito web, vanno a cena, e poi tornare e realizzare il suo compagno di stanza era appena bordatura in davanti a lui o lei sul tavolo grande, in modo da versare un altro due o tre ore solo a uno il suo o la sua coinquilina. Così vediamo l'ora di qualcosa di simile anche quest'anno. Nel problema di set 7 abbiamo indirizzare nella direzione del web programmazione, effettivamente risolvere problemi nel sempre ambiente sempre più comune di un browser web. Conoscere sempre meno possiamo scaricare il software su Mac e PC, ma sempre facciamo tutto all'interno del web. E in effetti l'anno scorso, circa l'88% dei progetti finali degli studenti in il corso sono stati web-based. E anche quelli, sono abilità che si derivano da questo classe entro la fine del corso. Perché quello che aspetta alla fine del corso è la Fiera CS50, questa mostra che si basa sull'idea di una fiera della scienza. Ma in questa versione di una fiera fare tutti gli studenti della classe portano i loro computer portatili e dei loro amici e la famiglia e gli altri a nord-ovest della Scienza, un grande edificio nel campus, istituito il proprio computer portatile, prendere qualcosa da mangiare, un po 'pop-corn e bevande, e poi esibire i loro progetti finali per tutti coloro che presenze che l'anno scorso contava circa 2500 partecipanti provenienti da tutta campus. E espressioni come questa e come questo non fosse comune in fiera. Portando alla fiera è il Hackathon CS50, un'opportunità di salire su una navetta di Harvard, a testa in giù la strada per Microsoft alle 8:00 PM, e non tornare a casa fino alle 7:00 AM. Serviamo prima cena alle 8:00 PM, seconda cena alle 01:00, e per quelli ancora in piedi alle 5.00, ci concediamo pancake al IHOP. E il Hackathon è un'opportunità, come illustrato qui, per tuffarsi i progetti finali, sia lavorando su da soli o con gli amici in un ambiente collaborativo, dove il personale docente tutto funziona bene nella notte con un ampio rifornimento di cibo cinese di Hong Kong. Alle 05:00 si immagini come queste essere abbastanza comune questo anno pure. Così come abbiamo aggiornare in un momento per la torta, tenere presente che Il 76% delle persone in questa stanza non hanno alcuna esperienza precedente. E come da programma, ciò che conta in ultima analisi, in questo Naturalmente non è tanto dove si finisce relative alla vostra compagni di classe, ma dove in settimana 11 finiscono rispetto al voi stessi in settimana 0. Questo è CS50.