[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.