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