[Powered by Google Translate] SPEAKER 1: Questo è CS50. Così era il luogo dove vi trovate qualche anno fa, e quando ero una matricola al tempo, non ero proprio in questo cammino di fare scienza computer, di fare ingegneria. In effetti, sono entrato in questo posto come un concentratore di governo. Ero stato al liceo un ragazzo che amava le cose come la storia. Mi piaceva diritto costituzionale, il tipo di inglese e matematica, così tipo di a tutto tondo, ma non necessariamente conoscere le cose che non mi erano stati insegnati al liceo. E così primo anno, ho avuto questa trepidazione, per cui anche se piaciuto computer, giochi per computer e simili, certo non ho mai pensato a me stesso come una persona computer, un informatico, e francamente, ho pensato che i miei amici del liceo che stavano prendendo del computer scienza fosse un po '- geek. Eppure, quando sono arrivato qui nel campus, c'era questo corso, CS50, e in il tempo, ha avuto 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 di governo, passando per il maggior numero di requisiti, come ho potuto, attraversare contare le cose per generazione ed o core e l'anno come, e poi studente del secondo anno, per qualche ragione, mi sono il coraggio di mettere piede in Science Center B, dove CS50. Un esperto informatico molto famoso con il nome di Brian Kernighan è stato insegna qui che l'anno, e anche allora, avevo solo disposto a realtà compilare la mia carta di studio prendendo questa classe pass / fail. Mi guardai intorno a me, e ho pensato che tutti in questa stanza ha avuto modo di conoscere modo più su informatica, di programmazione, di computer. Tutti devono essere programmare in questa stanza da quando avevano 12 anni, ma in realtà, che non era il caso. E così l'ultimo giorno, il Lunedi quinto del semestre che prendo questo salto e il cambiamento di pass / fail per un giudizio in lettere, e finiscono per cambiare il mio concentrazione che lo stesso giorno per l'informatica. Ora che non è il nostro obiettivo in questa classe, di trasformare tutti nel computer scienza concentratori, ma in realtà, di proporre che c'è questa opportunità in questo campo e in altri campi con i quali si potrebbe essere abbastanza sconosciuto, dato che le scuole superiori in genere seguono un curricolare abbastanza standard percorso, ma ad avventurarsi in, in CS50, nelle nuove acque. E se si è seduti qui oggi a pensare che in realtà non appartengono, in modo da fare la maggior parte delle persone a destra e a sinistra. In effetti, l'anno scorso, il 76% degli studenti di questa classe non aveva alcuna esperienza precedente. Quindi, contrariamente a quanto si potrebbe pensare, la maggior parte delle persone sedute intorno a te oggi non lo fanno, infatti, hanno alcuna esperienza precedente. 18% hanno preso una classe CS, e il 6% hanno preso due o più. Nel frattempo, chiediamo ai nostri studenti ogni anno di descrivere se stessi in termini del livello di comfort, e questo è - non c'è una definizione di questo. È solo tipo di saperlo, se non siete molto confortevole in CS50. E l'anno scorso, abbiamo avuto l '55% in questa fetta di torta verde qui, autodescrittivi come gli studenti meno confortevoli che francamente non avevamo idea che perche ' acquisti il ​​corso di quel primo giorno, ma lo stesso il 55% è rimasto con noi fino fine periodo, come ha fatto il 35%, che erano a metà strada tra quelli più confortevoli e quelle meno confortevole. Così che cosa è la scienza del computer? Beh, al liceo, e in realtà, più in generale, là fuori in questi giorni, c'è questa percezione o questa idea sbagliata che l'informatica è programmazione. E questo è assolutamente un aspetto di informatica, ma la programmazione, qualunque sia la lingua, è in realtà solo uno strumento che gli scienziati informatici utilizzare per risolvere i problemi, sia nel campo della informatica o, sempre più in questi giorni, nelle scienze fisiche, il naturale scienze, nella medicina, nelle scienze umane, di analizzare grandi insiemi di dati. Ovunque vi sono computer e dati, c'è la possibilità di applicare lezioni apprese in una classe come CS50. Quindi cerchiamo di risolvere un problema che uno scienziato computer potrebbe andare in giro solving e cercare di mettere un po 'di gergo, mettere un po' quadro concettuale, intorno quello che potrebbe altrimenti essere alcune idee piuttosto astratte. Quindi questo è un telefono. Non si vedono queste cose troppo spesso. Il collegio sembra ancora avere questi nelle case e dormitori, ma back in the day, quando si voleva utilizzare un telefono come questo, non vi era alcuna indirizzo di libro elettronico nel telefono cellulare. Piuttosto, è tirato su qualcosa di noto come una rubrica telefonica, e questi elenchi telefonici aveva circa 1.000 pagine in genere. Essi sono stati ordinati dalla A alla Z, e si doveva semplicemente trovare la pagina diritto di trovare la persona che stai cercando, al fine di trovare il loro nome e la loro numero di telefono. Ora, come si fa a fare guardando 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 pagina quattro, a pagina cinque, a pagina sei, e per ordinare di lineare, lungo una linea retta, passare attraverso questa rubrica, e anche anche se sta per essere incredibilmente noioso, se Mike Smith è in questo libro, sto finalmente sta per raggiungerlo quando finalmente capovolgere la S sezione di questo libro. Ora, naturalmente, non c'è bisogno di essere uno scienziato del computer per sapere 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, giusto? Così ci si capovolgere approssimativamente al centro, guarda qui, e mi sembra di trovarmi nella sezione M. Ok, allora M non è chiaramente quello che sto cercando. Mike è a destra, per così dire, di questa sezione, e come alcuni di voi hanno visto prima, possiamo ora procedere letteralmente a strappare questo problema in un mezzo. Davvero non dovrebbe essere colpito. Strappare il basso la linea di giunzione in realtà non è così difficile. Le persone reali fare in questo modo, ma in fondo la cucitura, si ora hanno due problemi. Ciascuno dei quali è grande la metà, e possiamo letteralmente buttare che la metà del problema di distanza. Ora siamo lasciati non con 1.000 pagine, ma dire, 500. Così ora che cosa devo fare? Beh, un essere umano tipico andrà o meno a metà di nuovo, e mi trovo a la sezione R, quindi non abbastanza. Quindi, di nuovo, posso distruggere questo problema a metà. Grazie. Così ora ho solo circa 250 pagine, e posso farlo di nuovo, e ancora, e di nuovo, e vanno da circa 125 a 60, a 30, a 15, e così via. E, infine, mi vengono ridotti a una delle pagine S, sul quale, se è nella rubrica telefonica, Mike Smith dovrebbe essere. Ora che è un algoritmo, ovviamente, abbastanza ragionevole, ed è un una volta algoritmo usare in questo caso, ma che cosa possiamo sorta di togliere da questo? Beh, il primo approccio, corretto, se ingenuo, però, era, può essere descritto da tale linea retta. Quindi, se il x-asse, qui diciamo, questa è la dimensione del problema. Così come l'asse x va a destra, il problema diventa più grande. Che cosa significa essere più grande? Nel contesto di questo problema, più pagine nella rubrica. C'è qualcosa in più che possiamo quantificare. Sul l'asse y, tempo di risolvere. Così come asse sale, presumiamo ci vuole presumibilmente più tempo. In modo che il primo approccio di ricerca lineare da pagina uno a pagina 1000 è una procedura lineare, un algoritmo lineare o processo, e possiamo descriverlo da questa linea retta. Se posso aggiungere una pagina di più per la rubrica, sta andando, nel peggiore caso, mi porti una pagina più girare per trovare Mike Smith. Se posso aggiungere 100 pagine, 100 più flips, o unità di tempo. Ora posso essere un po 'intelligente con questo. Non ho bisogno per davvero girare una pagina alla volta. Posso fare le cose come due alla volta o quattro alla volta, ma anche questo non è tutto ciò che fondamentalmente meglio. Anche se si tratta di due alla volta, sì, quel tipo di questa linea si muove verso il basso un po ', e significa che ci vuole meno tempo, dato lo stesso numero di pagine, ma non è decisamente migliore. Ma cosa dobbiamo 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 tale problema, non crescono quasi più veloce. Questo sarebbe una curva logaritmica, log di n, dove n è solo nella dimensione dei il problema, il numero di pagine di questo rubrica. 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 nel telefono libro, e lo raddoppiare a 1.000, in questo modello più intelligente lanciando al centro, come molti altri page-tearers ci vuole per 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. Avevo appena strappare una volta in più. Così, in breve, la dimensione del problema può crescere molto più velocemente rispetto al costo di in realtà la risoluzione. Ora, questo è solo un algoritmo di questo tipo. Ci sono altri possiamo risolvere in questo stesso modo. E allora perché non lo facciamo - se si mi umorismo, anche se goffamente qui a Sanders, andare avanti, tutti, se si potesse, e stare in piedi al suo posto. Come si può vedere nella schermata qui, questo è un algoritmo, un processo, un computer programma, se si vuole, che deve essere eseguito dagli esseri umani, che ha appena tre punti. Siamo già in passo uno, sei si alzò. E ora pensa a te stesso il numero uno. Questo è il tuo numero attuale. Tutti qui è il numero uno. Fase due, in coppia con qualcuno e in piedi i numeri insieme, e poi adottare questa somma come il tuo nuovo numero. Uno di voi dovrebbe sedersi, quindi ripetere. A questo punto, sempre meno persone dovrebbe essere in piedi. E 'qui che diventa più imbarazzante. Qualcuno qui, qui. La parte peggiore è, si hanno anche per fare molto verbalmente aritmetica di fronte di centinaia di undergrads Harvard. Ok, un po 'di un bug qui. Ok, qual è il tuo numero? Nove. Va bene. Qual è il tuo numero? 179. Ok, bene. Così 188. Quindi voi ragazzi può sedersi. Qual è il tuo numero? 118. Alcuni undergrad intelligente iniziare a fare i conti. Ok, 118, 188. Che altro abbiamo? 71. 79. Va bene. E? 47, che il personale della scuola, che ci dà il numero? 705 è la risposta. E questo è, infatti, esattamente corretto. No, erano in realtà un po 'fuori là, ma come questo dovrebbe aver lavorato? Quello che doveva essere appena successo? Quindi ad ogni iterazione di questo algoritmo, abbiamo iniziato con qualche numero di persone in piedi, e che era il numero totale n, in un primo momento. Poi la metà di voi si sedette, e siamo andati a più di due n. Poi la metà di voi seduti, siamo andati a più di quattro n, n più di otto, più di 16 anni, e così via, fino a che, anche se di tipo disintegrato lì al fine, in teoria, aveva tutti accoppiati in balcone, e soppalco, e orchestra qui, avremmo avuto solo una persona in piedi solo, con un totale valore, in questo caso, di 705. Ora, cosa vuol dire, però, per il tempo di esecuzione? Beh, pensate se io, come l'essere umano, aveva fatto questo manualmente. Avrei iniziato abbastanza ingenuamente, ma correttamente con uno, due, tre, quattro, cinque, sei, sette, otto, 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 due, quattro, sei, otto, dieci, dodici. E che ottiene molto più veloce, ma ora fondamentalmente, facendo leva sulla intelligenza collettiva di tutti in questa stanza, siamo in grado di ottenere una curva molto Altri prodotti come questo, per cui oggi, il numero delle persone in questa stanza potrebbe raddoppiare, altre 700 persone a piedi in questa stanza per 1.400 persone, ma sarebbe solo portarci un'iterazione più di questo algoritmo per risolvere. E così sempre più, in questi giorni, quando abbiamo questi dati enorme mette in Facebook e Google, e simili, è risolvere i problemi con questo po 'di intuizione, questo po 'di intelligenza, che ci sta permettendo sempre di più a fare molto, cose molto più potenti con i computer di oggi. Se vi piace questo genere di cose, si potrebbe avere visto su Facebook di CS50 Giorno proprio puzzle, in arrivo questo Sabato. Se si desidera partecipare a una cosa del genere, per cui si e due, o tre, o quattro squadre di quattro vorrebbe risolvere alcuni enigmi tali come questo, vi levate in piedi la possibilità di vincere fantastici premi, tra cui un Wii, e alcune carte regalo, e di alcuni altri Facebook bottino questo Sabato, mezzogiorno alle 15:00. Vai a cs50.net/rsvp per tale. E questa diapositiva è in linea se si desidera giocare. I puzzle di quest'anno devono essere nuovi. Si può notare in classe, anche, tutte le telecamere più di quest'anno. Quindi non solo il corso di essere girato in modo consueto, CS50 può anche essere partecipare a un documentario sulla istruzione superiore che sta guardando il esperienza di trasformazione che uno studente può avere in questi giorni in un corso di studio universitario. Così verso la fine questi, non solo saremo riprese per questo, saremo riprese nonché per, sempre, il nostro pubblico online, nonché, a volte, questo pubblico qui. Quindi, diamo il benvenuto alla classe quest'anno i nostri studenti di Harvard di estensione, Graduate School of Design, l'educazione, la scuola di business, il Kennedy School, la scuola di legge, così come un certo numero di studenti provenienti da Belmont, Lexington, Newton, e scuole di alta Watertown. Benvenuti a tutti voi. Inoltre, quest'anno, come avrete sentito, Harvard e MIT, e Berkeley ora hanno stipulato una partnership di collaborazione su un iniziativa denominata edx, che è un iniziativa di aprire l'istruzione a tutti più persone on-line e, in fondo, iniziare a fare ricerche su una scala molto più ampia di come le persone imparano. E così CS50 sarà primo corso del college che partecipano iniziativa, pure, il che significa che avrà accesso a tutte le più strumenti, tutti i contenuti più curricolare, tutti i contenuti video più come Di conseguenza, come pure di ieri mattina, le 53.019 persone che hanno registrato a prendere CS50 con voi quest'anno su Internet. Che cosa questo significa, in particolare, è che il personale docente e non ho trascorso un po 'di tempo questa estate preparando per la caduta, sia nel campus e fuori, in modo da poter cominciare a costruire un corpus di interessante, di convincente, di coinvolgere contenuti educativi, che si concentra in particolare sulla mezzi di trasporto più intimi della materia piuttosto complessa. Quindi, in aggiunta alle lezioni del corso, e sezioni, e le cose procedure dettagliate cd, che ci rivisitare in appena un po ', avremo anche questi cortometraggi di quest'anno che consentono di entrare in contatto con il corso di un un'angolazione diversa tutti insieme. Quindi cerchiamo di utilizzare questo come un'opportunità per dare una rapida occhiata a quello che discute questa nozione di binario. Così in informatica ci sono cose chiamate algoritmi, due dei quali abbiamo appena preso uno sguardo al - queste procedure per risolvere i problemi. Ma alla fine della giornata, è necessario rappresentare le informazioni in qualche modo, e si necessità di rappresentare in modo che un computer può comprendere. E anche se non capisco computer, e sei in che il 76% in questo momento, probabilmente un po 'vago senso che i computer in qualche modo si occupano di zero e uno, il sistema binario, per così dire. Ora, perché è così? Beh, si rivela quando i computer la prima volta circa, se è necessario per rappresentare informazioni, si poteva fare con l'elettricità, e anche se questo è un po ' di una semplificazione eccessiva, un modo molto semplice di registrazione delle informazioni è o ruotando l'elettricità in, uno in binario, per così dire, o tornitura che l'elettricità off. Quindi Barry, se non ti dispiace, potremmo abbassare le luci completamente solo per un momento? Questo qui è uno zero binario molto gratuita. Va bene, se si spengono le luci di backup, ora Sanders Theatre è rappresenta il valore binario di uno. Purtroppo, con appena un po ', con un solo set di luci, possiamo solo rappresentano due numeri in tutto il mondo, zero e uno, e sarebbe bello se computer poteva contare un po 'più alto di quello, ma anzi, che possono. Permettetemi quindi di tirare verso l'alto sullo schermo qui il nostro amico, Nate Hardison, che darà noi una rapida occhiata nel corso di pochi minuti a questa nozione di binario. NATE Hardison: Torna quando hai imparato a leggere e scrivere i numeri, è imparato a conoscere le cifre da zero a nove. Per scrivere i numeri interi maggiori di nove, si impara che tutto quello che aveva a che fare è stato utilizzare una combinazione di queste cifre, come nel 52 e 437. Quindi questo modo di numeri scrittura ha una, la notazione decimale nome. Perché decimale? Beh, la radice latina di decimale, deca, significa 10, e quando si hanno 10 cifre nel vostro sistema di notazione, 10 diventa un numero un po 'speciale. Diamo un'occhiata al numero 437 scritto in notazione decimale a capire perché. Siamo in grado di spezzare prima 437 in 400 più 30 più 7. Siamo in grado di prendere parte ancora di più, in modo che abbiamo quattro volte 100 più 3 volte 10 più 7 volte 1. Ricordo l'apprendimento sul luogo quelli, il luogo 10s, il 100s posto, e così via? Questo è esattamente dove proviene. E, infine, possiamo vedere come abbiamo un sacco di poteri di 10 incorporato in qui. Abbiamo 4 volte 10 per il 2 Plus 3 volte 10 per il 1 più 7 i tempi da 10 a zero. Così ora si vede perché 10 è un numero speciale in notazione decimale. In effetti, abbiamo un nome. Si chiama la base, dal momento che è la base dell'esponente in la nostra aritmetica qui. Notazione decimale non è l'unico modo per rappresentare i numeri. In realtà, anche se ci liberiamo delle cifre da due a nove anni, possiamo ancora rappresentano tutti i numeri che abbiamo potuto con decimali. Quindi, ora che abbiamo due cifre, zero e uno, due è il nostro numero speciale, la base del nostro sistema di notazione. Il nome di questo sistema è chiamato notazione binaria, poiché la prefisso bi significa due. Così, invece, ora, di avere un posto quelle, e il luogo 10s, e così via, ora hanno un posto quelli, un luogo twos, un posto quattro, e così via, salendo dal potenze di due. Quindi cerchiamo di vedere questo facendo un po 'di conteggio. Quindi zero è ancora zero, e uno è ancora uno. Tuttavia, ora che abbiamo un luogo due a due, invece di un luogo 10s, 10 rappresenta il numero due. Per ottenere tre, si aggiunge uno a che, e ottenere 11. Quattro, dal momento che c'è ora un posto a quattro zampe, è rappresentato da 100. Cinque è 101. Six è 110. Sette è 111. Otto, ancora una volta, ha il suo posto. Quindi è 1000. E penso che si ottiene il punto. SPEAKER 1: 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? Torna in grado di scuola, hai imparato a contare con precisione nel moda che Nate ha proposto, ma probabilmente non hanno mai pensato essa in quanto, il fatto che ci sia questo luogo quelli, luogo 10s e 100s luogo, 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 zero e uno, ovviamente non solo accendere le luci e si spegne necessariamente. Hai bisogno di fare su una scala molto più grana più fine. E per una grana più fine, si potrebbe ricordare questo giocattolo po 'sciocco dall'infanzia, Woolly Willy e queste piccole particelle magnetiche. Quindi le particelle magnetiche sono qualcosa che è possibile allineare in un paio di direzioni diverse, forse nord-sud o sud-nord. E così un sacco di incarnazioni fisiche di tecnologia in questi giorni che utilizzano binario, che utilizzano zero e uno, semplicemente magnetismo all'interno che allinea le cose-down o down-up, in modo da rappresentare uno zero o un uno, rispettivamente. Così infatti, passiamo dalla astratta qui, e guardare l'interno di ciò che è un disco del computer più tradizionale duro. Questo sembra essere un po 'più grande su schermo, in quanto è da un desktop computer, ma ancora oggi i portatili hanno questa stessa tecnologia, ma a poco a poco di essere sostituito da altre cose sofisticate che sono in realtà non si muovono parti - l'interno, poi, di un disco rigido. SPEAKER 2: 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 segnali software che raccontano il disco rigido come memorizzare i dati. I circuiti del disco rigido tradurre quei segnali in tensione fluttuazioni. Questi, a loro volta, controllano le parti in movimento del disco rigido, alcuni dei pochi parti in movimento a sinistra del computer moderno. Alcuni dei segnali di controllo di un motore, che piastre di metallo rivestite scuole. I tuoi dati sono in realtà memorizzati su questi piatti. Altri segnali spostare le testine di lettura-scrittura per leggere o scrivere i dati sui piatti. Questo macchinario è così precisa che un capello umano non riusciva nemmeno a passare tra le teste dei piatti rotanti, ma funziona tutto a velocità terrificante. SPEAKER 1: Così ora lo zoom su ciò che sta realmente accadendo in cima a questi piatti in termini di magnetismo, abbiamo questa seconda di due sguardi. SPEAKER 3: diamo un'occhiata a quello che abbiamo appena visto al rallentatore. Quando un breve impulso di energia elettrica viene inviata alla testa di lettura e scrittura, si ribalta su una piccola elettromagnetico per una frazione di secondo. Il magnete crea un campo, che cambia la polarità di un piccolo, piccolo parte delle particelle metalliche che rivestono superficie di ogni piatto è. Una serie modello di queste piccole aree a carico fino sul disco rappresenta un singolo bit di dati in un sistema binario usato dai computer. Ora, se la corrente viene inviato tramite un modo di lettura-scrittura testa, l'area è polarizzata in una direzione. Se la corrente viene inviata 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 e la lettura-scrittura testa mobile. Mettere insieme milioni di questi segmenti magnetizzati, e hai un file. Ora i pezzi di un singolo file può essere sparsi in tutto piatti di un'unità, 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? SPEAKER 1: In effetti. 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 tutto ciò che ancora molto di interesse, eccetto forse un po 'di aritmetica e matematica. Non abbiamo modo di rappresentare le cose così lontani come lettere alfabetiche, in modo che noi esseri umani in grado di comunicare, utilizzando questi dispositivi stessi. Ma per fortuna, esiste codifiche, modelli di zero e uno 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 uno numero rappresenta una determinata lettera - per esempio, il numero che conosciamo come valore decimale 65 è nota come la lettera maiuscola al computer. Il valore decimale 97 in computer è conosciuto come una minuscola. E che cosa significa in realtà? Beh, anche se Nate, un momento fa, solo contato fino da zero a otto, se dovessimo continuare a contare fino a 65, o più, a 97, il modello di zero e uno che avrebbe disegnato sullo schermo sarebbe esattamente ciò che un computer utilizza per rappresentare la lettera A in tutte le protezioni, o la lettera di un in minuscolo. E in effetti, c'è un intero schema a questo. Questo è, a prima vista, grafico opprimente di codifiche, ma se ci si concentra solo sulla metà destra qui, notare in questa colonna centrale, abbiamo questo nozione di numeri seguiti da lettere. E in alto, abbiamo 32, e il carattere char, alla quale 32, la intero, ora si riferisce, è apparentemente il carattere barra spaziatrice. Quando si ottiene il carattere barra spaziatrice su un computer portatile, quello che sei davvero invio di un numero, un modello di zero e uno, un flusso di energia elettrica, se si vuole, che rappresenta quegli zeri e uno, 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 il 65 è davvero A, e 97 è davvero un minuscolo. Quindi, ora che abbiamo questo schema di codifica, si può iniziare a precisare le cose. In effetti, i computer in genere si esprimono in unità standard, non utilizzando un singolo bit, che ancora una volta, non è affatto utile solo rappresentano zero o uno, luci accese o spente, ma piuttosto, utilizzando sequenze di bit. E l'unità di misura più comune, come probabilmente sapete, o almeno dedotto, è un byte. Un byte è solo otto bit, otto zeri o quelli in fila. Così possiamo iniziare ortografia cose. E così se si potesse, 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 non si ha realmente bisogno per sapere altrimenti cosa sta succedendo 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 sei stato il luogo 128s, è il posto 64s, è il posto 32s. Ma stiamo andando ad avere molto rapidamente per invertire questa. Quindi lasciate che vi soddisfano tutti laggiù. E si dovrebbe essere nel posto 128s tutta la strada, qui molto simile alla centinaia luogo o il luogo migliaia sarebbe più a sinistra, vogliamo il più grande segnaposto di essere qui a sinistra pure. Abbiamo 64s, 32, 16s, 2s 8s, 4s,, e 1 - eccellente. Così ora abbiamo - va bene, puoi aiutarmi. Così ora abbiamo - come ti chiami? JOANNE: Joanne. SPEAKER 1: Così Joanne ed io sono ora in corso a consigliare questi ragazzi su come può andare in giro ortografia qualcosa. Quindi, sulle spalle dei loro fogli di carta, hanno un piccolo foglio frode che sta per dire loro se rappresentavano uno zero o un uno. E perché non, per semplicità, ci rappresentano zero da solo lì goffamente. Molto buono. Oppure uno alzando la mano, con un uno. E vediamo se non possiamo precisare una frase di quattro caratteri qui. Quindi, andare avanti ora, volontari, ed eseguire un round alzando la mano se sei un uno, o tenere giù se sei uno zero. Quindi, ora che ci sono questi tre mani in alto, quale numero, tutti gli altri, sono in realtà rappresenta? Va bene, 67. Perché? Beh, sanità mentale rapido check. Posto 64s, perché è uno. E 'come una volta di 64, più 1 volte due, così che è 66, più 1 volte 1. E 'più 1, quindi 67. Così ora questi ragazzi sono collettivamente rappresentano il 67, che a quanto pare rappresenta ciò che qui in ASCII? Va bene, così un C. Va bene. Così ora andiamo per arrotondare due. Devo dire con le mani verso il basso, e poi secondo 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, ciò che siamo ora? Esprimere è 83. Così si può fare la matematica. Ma per la persona la cui mano è alto, si aggiunge il numero che rappresentano. Così ora abbiamo 83. Facciamo espandere il foglietto un po ', e ora abbiamo - questo potrebbe essere ovvio dove stiamo andando qui, ma tuttavia, terzo round. Ok, terzo round è buono per andare laggiù, così terzo round, che numero sono questi ragazzi ora che rappresenta? Ok, ho sentito 53, che rappresenta ora - interessante. Ora, perché questo tipo di contro-intuitivo risultato, giusto? Se vogliamo rappresentare cinque - noi tutti probabilmente sanno dove questo sta andando - perchè non mi è sufficiente alzare il posto a quattro zampe e il luogo quelli? Beh, ci rendiamo conto che c'è una differenza, in fondo, tra come un computer interpreta questi bit. Se stai cercando di rappresentare il numero cinque, allora assolutamente, abbiamo appena alzi la mano numero quattro e alzare il numero da un lato. Ma non siamo qui per rappresentare i numeri. Il contesto qui sul palco è che siamo la rappresentazione di caratteri o caratteri, e in questo contesto, il computer deve capire che oh, questo modello di bit non è un numero da solo. In realtà rappresenta un concetto di livello superiore. In questo caso, una lettera alfabetica. Quindi il fatto che ora rappresenta il numero cinque con l' valore 53 è perché in ASCII, la cosa che esteticamente vedere come la numero cinque in sé ha bisogno di un modello di bit - perché perché? Beh, il mondo appena deciso di usare i numeri più bassi, zero, uno, due, tre per quella che sembrava essere cose abbastanza criptici. E in effetti, questi sono i personaggi che non sono su una tastiera. Espressioni speciali di cui avete bisogno in un computer per fare cose interessanti, ma gli esseri umani non è mai effettivamente digitare. Quindi 53, infatti, rappresenta cinque. Ora, come un controllo di integrità finale, che numero dovrebbero rappresentano solo un momento? Ok, quindi 48. E in effetti, andare avanti, quarto round. 16 plus 32 è effettivamente 48. E così un grande applauso, se potessimo, per i nostri otto volontari qui. Molto ben fatto. Qualsiasi direzione va bene. Così ora abbiamo un modo non solo di pensare a come rappresentare i dati, e in realtà rappresenta fisicamente, ma anche fare più alto cose di livello sopra. E in effetti, questo sta andando essere un tema in tutta informatica di costruire le cose sempre più interessante e complesso in cima idee piuttosto semplici - in questo caso, a zero e uno. 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, è possibile andare fuori in informatica in un numero qualsiasi di direzioni. In questo caso qui, questo è un grafico che avete la pagina posteriore del guida non ufficiale a CS ad Harvard, oggi uno dei due stampe. Questo suggerisce che le molte direzioni diverse, in cui si può andare dopo una corso come questo - l'apprendimento di intelligenza artificiale, di grafica, di machine learning, 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 CS50 questo autunno, non c'è corsi introduttivi in ​​primavera, Informatica 1, per esempio, è ancora un altro sulla rampa a questo nuovo mondo. Ora, per inciso, nell'interesse di risolvere i problemi relativi ai corsi, CS50 realizzare insieme qualche tempo fa per cercare di risolvere uno di questi problemi, una problema noto come my.harvard, che molti di voi potrebbero utilizzare effettivamente Negozio 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 distribuire stessi, nonché ancora altre cose entro la fine del semestre, si rendono conto che questo si basa su un aperto di dati. In questo caso, naturalmente, catalogo, e permette agli studenti in questo caso esplorare un insieme piuttosto complesso di dati. Abbiamo scavato la scorsa notte alcune statistiche basate sulle poche migliaia di persone che hanno utilizzato questo nel corso degli ultimi giorni. Se siete stati curiosi di sapere quanti corsi tuoi amici in realtà tendono a negozio, beh, oggi questi dati suggeriscono che la 7.6 è la media numero di corsi sulla lista della spesa di qualcuno. E ora ti do anche la statistica del maggior numero di corsi sulla lista della spesa di qualcuno - e noi tutti probabilmente sanno qualcuno come questo. 201 è record di quest'anno. Ora alcuni dei nostri ex studenti e del personale effettivamente messo insieme una clip dipingere un quadro per voi di quello che questo percorso di informatica e CS50 è di per sé. Lasciatemi andare avanti e tirare su, grazie al signor Harvahd qui, un video prodotto da alcuni dei vostri predecessori, se potessimo tenere le luci per questo. [MUSIC PLAYING] SPEAKER 1: 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 effettivamente tenute a partecipare o guardare lezione del corso, presenta otto gruppi di problemi, prendere due quiz, presentare un progetto finale. In termini di qualità, si rende conto che i miei commenti in apertura su pass-fail, cosa che abbiamo molto prendere a cuore in CS50 - non c'è quasi sufficiente di una cultura ad Harvard di provare qualcosa e rischiare il fallimento. In effetti, abbiamo avuto i numeri di studenti, ed io in particolare, che era preoccupati per danneggiare il vostro GPA, o di ottenere una B in qualcosa come CS50, e la possibilità di seguire un corso come questo e altri corsi di gateway a il livello introduttivo pass / fail è una opportunità molto sottoutilizzato in questo scuola in generale. E quindi per favore sapere, anche mi sono iscritta a questo corso inizialmente per pass / fail credito sola, e anche se ho fatto interruttore alla fine della giornata, era quei cinque prime settimane, fino al Lunedi quinto del semestre, che è del valore soglia, che mi ha permesso di mettere effettivamente piede in questi nuovi acque, e in realtà provare qualcosa di molto familiare e molto scomodo per me in quel momento. Quindi, in termini di ciò che oggi il ruolo dei diversi punti di vista da cui si può avvicinarsi a questo corso serve - così lezioni. E 'a voi. Se ci si impegna con noi in prima persona in questa sede, infatti, sappiamo statisticamente che circa il 40% di voi si tipo di venire e andare oltre la 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 ci sono questi innumerevoli risorse, alcune delle quali faremo rumore attraverso in un attimo, tra cui conferenze e sezioni, e cose dette procedure dettagliate, e l'ufficio ore, e simili, ed è più risorse rispetto al tipico studente dovrebbe o potrebbe trarre vantaggio fisicamente, ma è perché degli stili di apprendimento diversi che ogni corpo studentesco manifesta. E così nelle lezioni, il ruolo primario come la vedo io non è quello di spingere verbalmente out materiale abbastanza complesso e per fornire necessariamente tutte le complessità dei fondamenti che esploreremo questo semestre, ma piuttosto, a fare le cose come abbiamo fatto finora, già questi esempi coinvolgono esseri umani sul palco cercando di dipingere un quadro mentale, e anche creare, oserei dire, alcuni di questi momenti memorabili, in modo che anche quando si lottare con certi argomenti, ci sono queste memorie, come oh, anche se che era abbastanza astratto, la matematica, mi sono perso di trasporto di un uno, come, davvero, alla fine della giornata, non è affatto dissimile da qualcosa che già conoscono. E così il ruolo che le lezioni servirà sia di persona qui a Sanders oppure on-line in video è davvero a preparare il terreno mentalmente per voi ogni settimana per i diversi concetti e problemi che saremo tuffarsi. Per quanto riguarda i concetti di alto livello, la maggior parte di queste parole potrebbero scorrere più la testa per il momento. E questo è bene. Quelli di voi che entrerà in corso 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 in quanto erano 12, si rendono conto che ci saranno opportunità in sezioni e problema di set di andare fino in profondità in più diversi argomenti, compilando qualunque lacune si potrebbe avere dal tuo liceo o prima di sfondo. Per quanto riguarda le lingue, si rende conto che ciò che nel linguaggio che usiamo è CS50 irrilevanti alla fine della giornata. Ci capita di usare principalmente un linguaggio chiamato C. Verso la fine del semestre, si introduce web-centric linguaggi, come PHP e JavaScript. Ma noi e gli altri potreste insegnare a un corso come questo nella maggior parte qualsiasi moderna linguaggio di alto livello - Python e Ruby, e gli altri sono molto popolari in questi giorni, perché realizzare, alla fine della giornata, non stai imparando in questo C. Tu non sei imparare PHP o JavaScript. Stai imparando come risolvere i problemi, sia web-based, basato su computer, o stessa data-oriented, usando questi semplicemente come strumenti. Ora, in termini di logistica, che verrà utilizzato alla fine qualcosa chiamato CS50 Appliance. Non importa se avete un Mac, un PC, un computer Linux, o simili, avrete software liberamente disponibile a partire la prossima settimana con i quali da utilizzare il CS50 Appliance, un ambiente virtuale che verrà utilizzato sul vostro proprio computer, in modo che tu e tutti i tuoi compagni di classe hanno una divisa Linux desktop in questo caso. E 'il set di problema, però, in cui potrete davvero mettere le mani sporco in corso. E alla fine della giornata, è il set di problema, credo, che in realtà definire l'esperienza di uno studente in questo corso. Rendetevi conto che molti dei set problema sarà pubblicato in due edizioni - una edizione standard che ci aspettiamo e incoraggiare il 90% del classe per tuffarsi. Ma abbiamo anche pubblicato alcune serie di problemi nelle cosiddette edizioni di hacker, e si So che è l'edizione hacker, perché in ogni pagina con una filigrana, esso dice edizione degli 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 tali lacune, e di avere più formale, piuttosto che autodidatta di formazione, forse, realizzare che vi è una notevole demografico nella 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 tali scadenze che utilizzano queste cose chiamate giorni di ritardo, e noi anche cadere il tuo punteggio più basso alla fine del semestre, per il indicazioni contenute nella programma. Ma un'altra caratteristica che definisce CS50 nel corso degli anni è diventato ufficio ore, l'opportunità che avete visto in foto visivamente un po 'fa, in cui ci riuniamo in precedenza in sale da pranzo della casa, prima che nel seminterrato del centro scientifico, e quest'anno in Annenberg padiglione, quattro sere a settimana 20:00-11:00, dove avrete questo molto esperienza comune di lavoro su, alle prese con alcuni problemi, ma con una struttura di supporto sostanziale posto. Infatti, il modo in cui questo lavoro è che si arriva a Annenberg se si dispone di qualche domanda durante la settimana. Potrai portare il vostro laptop, ti siedi, prendi un po 'di cibo, e si accede CS50 per discutere, un web-based programma di utilità che il personale docente ha sviluppata che vi permetterà di inviare domande e vedere in un followup tipico senso forum di discussione, utilizzando le etichette e simili, e il completamento automatico per cercare i dati. Ma potrai anche essere in grado di, durante le ore di orario di ufficio, la vostra domande aumentata a veri esseri umani. In effetti, l'obiettivo è in ultima analisi, in modo che uno, cominciamo a costruire il corso del semestre un corpus di informazioni si spera veramente utile, risposte comuni alle domande più comuni, in modo che tu stesso in grado di risolvere i problemi e scollare il più rapidamente possibile, pur avendo l'insegnamento personale - di solito il 20% e il 30% dei borsisti di insegnamento e corso di assistenti per il personale in una sola volta. Avremo quello che viene chiamato il CS50 Greeter in Annenberg, e quando stabilire che, sai una cosa? Questa domanda, abbiamo davvero rispondere efficacemente online. Abbiamo bisogno di vedere il tuo computer. Vogliamo parlare con te uno contro uno. Sei davvero in difficoltà, e quindi si vuole parlare uno contro uno accanto a qualcuno, ti verrà inviata al Greeter CS50, un insegnamento azienda collega, letteralmente, un iPod che contiene i nomi degli studenti su un lato, insegnando nomi del personale dall'altro. Noi raccogliamo il suo nome, seguito dal nome di un personale docente, e la vostra schermo del computer inizia a lampeggiare, dicendo per favore andare a vedere Alice o per favore andare a vedere Bob al tavolo degli insegnanti. E in questo modo, saremo in grado di inviare le cose nel modo più efficiente possibile, così come guidare verso soluzioni tanto più facilmente. Nelle sezioni, queste saranno le opportunità per più intime mani- sulle opportunità con uno dei ragazzi di insegnamento e 12 a 16 o così di tuoi compagni di classe, in cui ogni settimana, avremo problemi nel set problema che chiedono una serie di domande concettuali, e una serie di bite-sized programmazione di domande che si può capire da soli, e si potrebbe lavorare da soli, ma nel contesto della sezione, lavoreremo attraverso collettivamente alcuni di questi problemi e andare dove il conversazione ci porta. Inoltre, nella sezione avrete la possibilità di rivedere argomenti del lavoro che hai fatto, i tuoi compagni di classe, a volte anonimi, sempre da parte di un opt-in, se si desidera condividere la lavoro che hai inviato. Così sarà davvero una conversazione bidirezionale, e la possibilità di rivedere il proprio lavoro in un senso molto più dinamico, piuttosto che semplicemente guardando un PDF o stampa e di pensarci per qualche secondo e non necessariamente assorbire il feedback che il docenti 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 faremo usare in sezione che vi permetterà voi e ai vostri compagni di classe 15 o in modo da effettuare il login con tuoi compagni insegnamento nella parte anteriore della stanza. Sarete in grado di scrivere codice in questa finestra. Sarete in grado di chattare via elettronica se non si è in realtà a sezione a 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 sia quello studente è stato lavorando in quel particolare momento. Così, per quelli di voi hanno amici che hanno preso CS50 in passato, realizzare che le sezioni sono state notevolmente riavviato quest'anno di essere ancora più attivo, tanto più dinamico, e in realtà, una conversazione a due vie tra docenti e studenti. E scenari. Quindi, per questi insiemi di problemi, offriamo non solo la specifica in sé, che è generalmente un PDF abbastanza dettagliata, ma anche le cose conosciute come procedure dettagliate, in cui un membro del corpo docente condurrà un settimanale sessione che cammina letteralmente attraverso il set problema, dandovi suggerimenti e consigli, e punti di partenza, e ha lo scopo di chiedere molto frequente domanda: da dove cominciare? Beh, si inizia o tuffandosi in specifiche da solo, 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 popolare tempo, ma perché possiamo poi filmare molto presto nel corso della settimana e ottenere loro on-line entro il fine settimana in modo da avere il numero di giorni possibili esercitino effettivamente tali contenuti pure. Ma più su che in conferenza questo Venerdì. Ora, in termini di struttura di supporto, il dato più significativo è forse i compagni di insegnamento 108 e assistenti del corso che questo corso ha attualmente. Se qualcuno di voi che non hanno classi in conflitto desidero unirmi me qui sul palco, sono questi ragazzi che alla fine davvero definire il tuo sperimentare nel corso. Ho avuto un sacco di compagni di insegnamento insegnarmi classi nel corso della giornata, e io Ricordo molto pochi di quelli, francamente, ma fino ad oggi, mi ricordo ancora tra quei pochi mio CS50 TF, che veramente mi ha aiutato a rispondere alle domande, che in realtà mi ha aiutato quando ero in difficoltà, e davvero è stato un partner in questo esperienza di studiare un mondo molto nuovo. In un po ', tutti questi ragazzi si uniranno a voi al di fuori per la torta, che è una tradizione di CS50, nel transetto di Memorial Hall, ma lasciatemi prima di introdurre di nuovo Nate Hardison, Rob Bowden, e Tommy McWilliams, corso di quest'anno a capo. Se voi ragazzi mi unisco a mezzo. Tutti hanno preparato alcune osservazioni ispirazione. TOMMY McWilliams: non ho preparato niente di ispirazione. Ma il mio nome è Tommy. Sono un anziano di Mather. Sto studiando informatica, davvero entusiasta di far parte della squadra teste e passando attraverso il viaggio CS50 con voi. Quello che mi piace di CS50 è come insegna davvero a pensare problemi in modo nuovo. Questo è veramente una capacità che sta per essere prezioso, non importa quale campo si va in. E non solo questo, ma offriamo più caramelle gratis di ogni altro corso nel campus. Quindi sono solo davvero l'ora di vedere cosa ognuno costruisce questo semestre. E se qualcuno ha dei dubbi ora o tutto il semestre, sicuramente sentitevi liberi di 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 veramente grande, e come fino a quando si è disposti a mettere nello sforzo, c'è così tanto si può ottenere da questo corso. È possibile ottenere un sacco di divertimento da questo corso. Non avrebbe un organico di 108 se non si poteva ottenere un sacco di divertimento fuori di esso, quindi basta cercare 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, per quanto ho ci è piaciuto finora. E se si volesse imparare a venire a nove o dieci in binario, vengono parlare con me. SPEAKER 1: Quindi con il rischio di lasciare questi ragazzi qui sul palco un po ' goffamente, facciamo girare con solo alcune delle 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 di impostare a zero, l' predecessori colomba in un linguaggio di programmazione chiamato Scratch, un grafico linguaggio di programmazione che verrà utilizzato nei primi giorni del corso, a partire questo Venerdì, per imparare alcuni concetti sconosciuti per alcuni di voi, ma mi rendo conto ci sarà un aspetto avanzato di questo per quelli di voi con prima sfondo. Nel problema dello scorso anno impostare due, gli studenti si tuffa nel mondo del crittografia, l'arte di cifratura o di rimescolamento informazioni, programmi di attuazione che i dati crittografati, e nella scorsa edizione degli hacker anno ha studenti procedere per rompere o decodificare le password in un tipico computer. xc file delle password da venire con algoritmi ed euristiche per forza bruta capire cosa la password di qualcuno su un computer sistema era. L'anno scorso o due, nel problema di impostare quattro studenti hanno fatto attuare il gioco del Sudoku. E l'edizione hacker che anno ha non solo agli studenti come implementare giocare il gioco, ma in realtà un risolutore, per cui il computer in grado di fornire, l'umano, con note, da più rapidamente di quanto si risolvere quel particolare problema. Nel problema proposto cinque, abbiamo fatto scientifica, l'arte di recuperare informazioni che è stato accidentalmente o deliberatamente eliminato dal computer. L'anno scorso, il corpo docente e ho passeggiato per il campus di prendere fotografie di persone, luoghi e cose e poi accidentalmente formattato la scheda di memoria sulla nostra macchina fotografica che aveva tutte quelle foto. Ma nessun problema, abbiamo fatto una immagine scientifica 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 un vecchio indirizzo email da uno dei suoi predecessori, che era molto divertente da letto qualche tempo fa. Questo è da Matt. Caro David, ieri mia sorella accidentalmente formattato SD la fotocamera carta e ha perso un intero anno di foto memorabili. Lei purtroppo non è il migliore in backup dei propri dati. Ma questa situazione mi ha ricordato p-set di cinque, quindi ho pensato di provare a gestire la sua scheda SD attraverso il recupero programma che ho scritto per tutto il tragitto nel mese di ottobre. Così, dopo quattro ore di capire come creare un'immagine prima presso il formattato la scheda SD - Google rivelarsi piuttosto utile a questo proposito, fino a quando ho ironicamente capitato di incontrare le istruzioni su Internet - dopo armeggiare intorno con un po 'di argomenti della riga di comando, sono riuscito per creare l'immagine forense, e dopo l'installazione e la configurazione del CS50 Appliance, sono riuscito a eseguire l'immagine forense attraverso il mio programma e recuperare tutti i 1.027 di fotografie di mia sorella, scrive Matt. Nel set problema dello scorso anno sei, abbiamo dato agli studenti un dizionario di 150.000 parole inglesi e li ha spronati a scrivere un correttore ortografico che interrogazioni con risposta della forma, è questa parola scritta correttamente o non correttamente il più velocemente possibile. E su opt-in base erano studenti che possono sfidare poi i compagni di classe inviando loro risultati, la quantità di RAM che usano, il numero di Cicli di CPU o secondi che hanno usato, in modo che gli studenti sono stati poi ordinati in sito web del corso - di nuovo, aspetto puramente facoltativa, ma molto divertente dal fatto che molto spesso sarebbe uno studente arriva al numero posizione 10 o giù di lì sul grande scheda, sul sito web, andare fuori a cena e poi tornare indietro, e realizzare suo compagno di stanza aveva appena bordato di fronte a lui o lei sul tabellone, in tal modo versando altre due o tre ore solo a uno il suo compagno di stanza. Quindi, non vediamo l'ora di qualcosa di simile anche quest'anno. Nel set problema 7 abbiamo indirizzare nella direzione della programmazione web, in realtà risolvere problemi in ambiente sempre più comune di un browser web. Sappiate dunque sempre meno possiamo scaricare il software su Mac e PC, ma sempre più, possiamo fare tutto all'interno della rete. E in effetti, l'anno scorso, circa l'88% dei progetti finali degli studenti nel corso sono web-based. E anche quelli, sono abilità che si derivano da questa classe di la fine dei corsi, perché ciò che attende alla fine dei corsi è la Fiera CS50, questo mostra che si basa sull'idea di una fiera della scienza, ma in questa versione di una fiera fare tutti gli studenti della classe di portare i loro computer portatili, e la loro amici e parenti, e altri a nord-ovest della Scienza, un grande edificio su campus, impostare il proprio computer portatile, prendere qualcosa da mangiare, un po 'pop-corn e bevande, e poi esporre i loro progetti finali per tutti coloro presenti in, che l'anno scorso contava circa 2500 partecipanti provenienti da tutta campus, ed espressioni come questo, e come questo non erano rari in fiera. Portando alla fiera è il Hackathon CS50, l'opportunità di salire su un Harvard navetta, a testa in giù per la strada a Microsoft alle 8:00 PM, e non andare a casa fino alle 7:00 AM. Serviamo prima cena alle 8:00 PM, seconda cena alle 1:00 del mattino, e per chi ancora in piedi 05:00 trattiamo di pancake al IHOP. E il Hackathon è un'opportunità, come illustrato qui, a tuffarsi nella vostra progetti finali, sia che lavorino da soli o con gli amici in un ambiente collaborativo, in cui il personale docente tutto funziona bene nella notte con un ampio rifornimento di cibo cinese di Hong Kong. Alle 05:00 volontà immagini come queste siano abbastanza comune anche quest'anno. Così come abbiamo aggiornare in un momento per la torta, di tenere presente che il 76% per cento del persone in questa stanza non hanno alcuna esperienza precedente, e come da programma, ciò che conta in ultima analisi, in questo corso non è tanto dove si finisce rispetto ai vostri compagni di classe, ma dove, in settimana 11, rispetto a finire voi stessi in settimana 0. Questo è CS50.