SPEAKER 1: Ciao mondo, questo è CS50 Live. Vorremmo iniziare questa volta con un gridare ai nostri amici a St. Louis, Missouri, dove un gruppo di volontari noto come LaunchCode sono stati raccogliendo studenti CS50x in Per prendere la classe insieme. E l'obiettivo in definitiva è che, dopo l' fine del semestre, è di accoppiare quelle Gli studenti con un lavoro locale tech. Ora origine la gente LaunchCode, e gli studenti coinvolti, andavano di convocare in una biblioteca locale in cui a poche centinaia di persone avevano RSVP. Ma tante persone sono finite in RSVPing la fine per questa iniziativa, che finito per trasferirsi in un opera locale casa, raffigurato qui. Ora è un po 'piccola. Ma se si guarda mai così da vicino è possibile vedere sul palco che prima slitta dalla settimana 0 che parla del fatto che Il 73% dei tuoi compagni, forse te compreso, non hanno precedente esperienza. E infatti era molto l' caso in questo teatro qui. Così i nostri saluti alla gente a LaunchCode e la cittadini di St. Louis. Se vivete da soli locale a San Louis, si sentono liberi di check them out a launchcodestl.com. O, forse, accendere il notiziario locale canale come faremo qui per voi. SPEAKER 2: Una straordinaria opportunità per qualsiasi San Louisan cercando di atterrare uno di quelli ad alta tecnologia, un impiego ben retribuito. Per la prima volta in assoluto, lo stesso classe di programmazione di computer che è insegnato online Harvard e del MIT è viene offerto di persona presso la St. Louis Public Library. E 'tutto grazie all'organizzazione LaunchCode, che sta cercando di risolvere il talento divario tecnico qui a St. Louis. Ora chiunque passi questo quattro mesi Naturalmente è probabile ottenere un pagati apprendistato che potrebbe trasformarsi in un lavoro di programmazione di computer. Co-fondatore di LaunchCode dice, se si imparare questo insieme di abilità, in oggi mercato si è quasi garantito alla terra un lavoro a sei cifre in un paio di anni, con uno stipendio di partenza circa $ 50.000. Che suona abbastanza bene. Quindi, che tipo di persona dovrebbe prendere in considerazione questa classe? JIM McKelvey: Devi essere abbastanza intelligente, OK? Devi essere estremamente duro lavoro. Ma non avere frequentato le migliori scuole. Non devi essere grande in matematica. Non è necessario avere alcune delle cose che si possono ritenere necessario. E questo corso vi dirà se ce l'hai. SPEAKER 2: Wow, ora, se siete chiedendosi se ci sono abbastanza lavori di programmazione disponibili a St. Louis, la risposta è un sì grande. McKelvey dice che ci sono più di 1.000 posizioni aperte e non solo numero sufficiente di persone locali che cercano per riempirle. Ora, questa classe inizia Lunedi alle 05:30 presso il Central Branch al St. Louis Public Library. Se siete interessati, e io sono sicuro che alcuni di sarai, le informazioni che ksdk.com. SPEAKER 1: Alcuni dei tuoi compagni di classe Desidero ora dire ciao. Up prima è Suzanne, da Winthrop, Massachusetts, una città vicina appena giù la strada da qui. SUZANNE: Ciao mondo, sono Suzanne. Io vivo a Winthrop, Massachusetts, Stati Uniti, in acqua. E sono 63 anni. Sono un infermiere in pensione. Ho quattro figli e due nipoti. Sono anche un regista teatrale e un'attrice. E qualche volta quest'anno io apparirò a Discovery Channel "The Strangolatore di Boston. "Io giocare a Zenovia Clegg. Sto prendendo CS50 perché amo EDX. Ho preso due corsi precedenti. Ho preso la giustizia e la sanità pubblica e cambiamenti ambientali. E li amavo. Anche perché la scienza del computer mi spaventa un po '. E nella mia fascia di età stiamo incoraggiati a fare cose che ci spaventano. Così sto prendendo CS50 e guardando trasmette ad esso. Quindi, il mio nome è Suzanne, e questo è CS50. SPEAKER 1: Up prossimo sono diversi saluti da alcuni dei tuoi compagni a Brewer High School nel Maine. Diamo un ascolto. STUDENTI BREWER HIGH SCHOOL: Ciao mondo, siamo Brewer alta. PATRICK: Ciao, sono Patrick. ADAM: Sono Adam. NIKOLAI: Sono Nikolai. BEN: Sono Ben. DYLAN: Sono Dylan. NICK: Sono Nick. CHRISTINA: Sono Christina. JONATHAN: Sono Jonathan. CHARLES: Sono Charles. BREWER High School Students: E questo è CS50. SPEAKER 1: Ciao Brewer High School - e ora Stuart e un suo amico, dal vicino stato della Virginia. STUART: Ciao mondo, il mio nome è Stuart. E io sono dalla Virginia. E questa è la mia prima volta facendo un corso Harvard o qualsiasi corso on-line così. Mi piace molto il computer e vuole per saperne di più su di loro. Sono Stuart, e questo è CS50. SPEAKER 1: Ciao Stuart. Così abbiamo anche tenuto d'occhio su Twitter, dove uno dei tuoi compagni di classe, Umberto dal Messico, aveva questo tweet di recente. Ehi, @ davidjmalan, fatemelo farti una domanda - Mark Zuckerberg ha CS50? Così, purtroppo, Marco non ha infatti prendere CS50 momento dell'iscrizione come una matricola qui ad Harvard. Piuttosto ha saltato avanti per una più corso avanzato conosciuto come CS51, che affronta argomenti di informatica come concetti di astrazione e di programmazione come funzionale di programmazione Object Oriented Programming. Ora, nel momento in cui è stato insegnato da un professore di nome Henry Leitner, che effettivamente insegnato al corso quando ho preso pure. Il nostro precettore, Rob Bowden, recentemente sedette con il professor Latiner per parlare di alcuni dei suoi ex studenti oltre a me. ROB BOWDEN: Ciao, mi chiamo Rob Bowden, e sono qui con il dottor Henry Leitner, che è il Decano Associato di informazione Tecnologia al DCE, e Senior Lecturer in Informatica. Va bene, così ho sentito dire che hai avuto alcune celebrità passano attraverso alcuni dei vostri corsi. HENRY LEITNER: Va bene, quindi mi piace dire ai miei studenti io sono stato ad Harvard un lungo tempo. E quando si dice - bene come tempo sei qui? - la mia risposta è che io sono abbastanza vecchio per avere lavorato su compiti a casa con che miliardario dropout Bill Gates. Ma sono anche abbastanza giovane per avere effettivamente insegnato che il miliardario dropout Mark Zuckerberg, di Facebook fama. Quindi il mio incontro con Bill Gates va via Ritorno all'inizio del 1974, 1975 Anno accademico. La storia è vero che Bill Gates ' amico Paul Allen è andato a edicola in Harvard Square e venne su a Popular Electronics Magazine, che è stato con una storia sul mondo del primo personal computer, che si doveva costruire effettivamente - assemblare dalle parti - l'Altair. È venuto di corsa verso Dormitorio Bill Gates '. E hanno ottenuto tutti entusiasti che il rivoluzione dei personal computer era di circa per iniziare senza di loro. Quindi, al momento, Gates ed io - stavamo lavorando sui problemi. Questo perché eravamo entrambi arruolati in una teoria naturalmente computazione, una molto mathy corso di laurea. E il primo giorno di classe Professore detto a tutti in sala per girare a loro vicino e di introdurre se stessi, e quindi collaborare con che la persona problema imposta. Così Gates ed io - Non sapevo chi fosse in quel momento. Era forse sedici o diciassette anni, ma sembrava che fosse dodici, ad essere onesti. E abbiamo iniziato a lavorare su compiti a casa insieme. Ma poi quando l'Altair è uscito in Popular Electronics Magazine, catturato la sua attenzione. Ha appena scomparso. Ha smesso di fare i compiti a casa. Mi sono arrabbiata con lui. E vorrei proprio vederlo in quello laboratorio di informatica abbiamo avuto a Harvard per di ricerca, al momento, che è stato chiamato Aiken Computation Lab. A PDP-10 è stato utilizzato. E fu a smanettare giorno e notte, fondamentalmente solo che vi abitano. Come ho scoperto dopo, era in realtà progettazione di software per l'originale Altair, un sistema operativo, insieme il linguaggio di programmazione BASIC che stava per correre. L'idea è che per un personal industria dei computer a decollare voi avrebbe bisogno di essere in grado scrivere software. E la scrittura di programmi e la macchina lingua lanciando interruttori non aveva intenzione di farlo, salvo al di là delle hobbisti. Qual è stato interessante al momento è stato il Altair era così popolare non si poteva anche comprare uno, certamente dopo è stato annunciato. Così Bill Gates, incredibilmente, con la sua amico Paul Allen, ha scritto un programma su il PDP-10 che simulava il comportamento di questo Altair, perché le specifiche sono completamente redatto in Popular Electronics Magazine. Quindi, come ho detto, mi sono arrabbiato con lui, non ha prestato attenzione. È scomparso, andò a Albuquerque, New Mexico, mettersi in mostra quello che aveva fatto alla gente che aveva costruito l'Altair. E a volte, lasciando il college - lasciando Harvard - per avviare una società era inaudito. E così quando ho scoperto che è quello che era successo mi è stato fatto. Perché io continuavo a pensare - la mia genitori mi avrebbero ucciso se avessi abbandonato la scuola solo per spegne e avviare una società. E poi naturalmente c'è Mark Zuckerberg. Ho avuto modo di conoscerlo anche perché è venuto dopo aver terminato CS51. Direi che è stato dopo [incomprensibile] aveva completato il corso. Voleva lavorare come un insegnamento collega nel successivo anno per CS51. E venne al colloquio. E la verità della questione è la sua performance è stata un po 'debole rispetto alle altre persone che aveva intervistato. In realtà è stato il più debole del gruppo. Quindi non mi sento come se potessi in buona coscienza assumerlo. Inoltre, è stato in un po 'di problemi con il consiglio di amministrazione. Se avete visto il film, The Social Network. OK, così gran parte di essa è di fatto vero. A quel tempo aveva appena finito di fare il Facemash, non Facebook, ma la App Facemash. E aveva portato giù la Harvard rete inavvertitamente. E in più aveva rubato le facce di Harvard donne collegio di laurea a fare questo progetto. Così è stato portato al consiglio di amministrazione. Egli è stato schiaffeggiato sulle mani. Così era in qualche guaio. E penso che era una sorta di sconcertato da questo. Così mi piace dire alla gente che prendo un piccolo, minuscolo 'di credito per il successo di Facebook, perché - A, almeno la metà o 1% di Capacità di programmazione di Zuckerberg è venuto dal mio corso - ciò che ha imparato lì. E in secondo luogo, avevo lui assunto come insegnamento compagno, non avrebbe avuto il tempo per completare Facebook al punto che ha fatto. Così è stato un sacco di insegnamento divertimento informatica a Harvard. Voglio dire, ci sono solo persone fantastiche che vanno a fare grandi cose. Potrei andare avanti e raccontare altro gente, ma penso che il nostro tempo è scaduto. ROB BOWDEN: Così suona come Bill Gates ti deve dei soldi per provocare tutti che lo stress in Teoria di calcolo. E Mark Zuckerberg ti deve dei soldi per lasciarlo avviare Facebook. HENRY LEITNER: Questo è un bel modo di pensare, certo. ROB BOWDEN: Va bene, bene grazie. Questo è stato grande. Grazie per avermi. Stringergli la mano, forse. Devo stringergli la mano? Dobbiamo rifare il finale? Come dobbiamo fare la fine? SPEAKER 1: Successivamente, una domanda da [? Peccato,?] uno dei tuoi compagni di classe in Vietnam che aveva questo da dire. Come posso contattare altri persone nel mio paese? Beh, anche questa è una grande domanda. E se si accede all'interfaccia EDX, per informazioni pagina principale di CS50x, vedrai un link a meetups CS50, che porterà di meetup.com/meet50, che è uno strumento che abbiamo istituito per consentire a trovare le persone che sono locali rispetto a così che si può effettivamente incontrare, non solo virtualmente con i compagni quest'anno, ma in persona pure. In realtà, quando si visita questo URL, ti visualizzare una mappa che assomiglia a questo, dove ogni marcatore rappresenta uno o più dei tuoi compagni in quella parte del mondo. Infatti in questo momento, alcuni dei più comunità popolari di studenti CS50x sono a New York, Londra, Delhi, Il Cairo, e San Francisco, e oltre 199 altri città pure. Quindi, se interessati in riunione con alcuni compagni di classe a livello locale, si dirigono verso incontrare meetup.com/meet50. Una domanda ora da Scott a New York, che aveva questa domanda a scrivere - più ogni programma utilizza stringhe, così Perché printf incluso nella libreria standard di I / O, e GetString non lo era? È GetString una funzione definita in biblioteca CS50? Quindi sì, in effetti, è davvero GetString definito nella biblioteca di CS50. E printf, nel frattempo, è in la libreria di I / O standard. Ora, nel giorno, in cui C era inventato, sicuramente era importante, un funzionalità fondamentale per codice come printf effettivamente stampa qualcosa sullo schermo. Questo era così fondamentali per la scrittura di software, in particolare programmi che vengono eseguiti all'interno di quella finestra del terminale in bianco e nero, che aveva un senso per printf per essere incorporato nella lingua del biblioteche stessa. Ora non c'è bisogno GetString per per ottenere le stringhe da parte degli utenti. Piuttosto è possibile utilizzare le funzioni come scanf. Infatti, se non familiare, dare un'occhiata a alcune procedure dettagliate della settimana 5 dove siamo camminare attraverso il processo di utilizzo questa funzione scanf, per ottenere input dall'utente. Il problema è che funziona come scanf, che sono costruiti in C librerie standard, è che essi non fare alcun controllo degli errori. E in realtà non allocano la memoria per le stringhe. Così un paio di cose cattive può accadere - 1, è possibile superare i confini di l'array, in cui nel migliore dei casi, il programma potrebbe bloccarsi. Ma nel peggiore dei casi, un avversario potrebbe essere in grado di prendere in consegna il vostro programma. E avete bisogno di gestire tutte le di quella memoria se stessi. Così GetString toglie un lotto di tale complessità. In modo che allocare memoria per voi. Facciamo in modo che non si va al di là i confini di un array. E torniamo nullo se nulla in effetti va storto. Così GetString aggiunge semplicemente, alla fine della giornata, tutta una serie di utili il controllo degli errori. Ora un commento da David in Ohio che sostiene questo - no, non è necessario l'apparecchio per tutti i progetti. Ora che cosa voleva dire con questo? Beh, si scopre che David procurato, da un sito online, un Nokia LCD, come questo qui, che è davvero la dimensione di qualcosa che si potrebbe vedere su un cellulare vecchio. E ha anche procurato un lancio Tiva bordo, un pezzo di hardware che si collega a questo LCD. Ora è abbastanza piccola. Come potete vedere qui è un Trimestre degli Stati Uniti per la scala. E quello che ha fatto con questo è in realtà attuare un programma in C. Infatti, non è necessario il CS50 apparecchio per scrivere programmi in C. È non hanno nemmeno bisogno di un Mac o un PC. È anche possibile scrivere ed eseguire codice C su un dispositivo embedded come questo. Beh, che cosa ha fatto David realtà scrivere ed eseguire? Beh, il check-out. Ha implementato Mario su questo piccolo piccolo schermo del cellulare come da Problema Set 1. Quindi penso che sarei d'accordo con uno dei Compagni di classe di Davide che, nello stesso Filetto di Facebook in cui David introdotto questo piccolo programma per l' mondo, ha risposto con - sei un compagno bestia. In effetti siete. Ora next up è un pezzo di spam. Se siete in gruppo Facebook di CS50, è Potreste aver notato alcuni messaggi come questo che a volte scivolare in là. Se incappi in qualche Spam, un grosso problema. Basta segnalarlo a noi e faremo andare avanti ed eliminarlo. Ma prima abbiamo eliminato questo abbiamo non poteva fare a prendere un paio di screenshots e ridere un po '. Questo particolare studente qui - faremo lo chiamano Alan MobilePhone - pubblicato il suo numero di cellulare, il suo BlackBerry indirizzo di chat, il suo ID Skype, il suo indirizzo email - nessuno dei quali si dovrebbe effettivamente contattare. Ma come per le foto qui, a quanto pare come Alan MobilePhone ha un bel po ' iPhone in vendita in quello che sembra essere un magazzino abbastanza anonimo. Ora che lo stesso David ha risposto a Alan Il cellulare con il seguente - non vengono con gedit installato? Ora, normalmente si pensa che alcuni spambot sarebbe solo ignorare una risposta il thread originale. Ma no, Alan MobilePhone ha avuto questo da dicono - tutti i nostri telefoni sono nuovo di zecca, venire con scatola e accessori originali, tutti i nostri telefoni sono SIM libero, e così via. OK, forse un generato automaticamente rispondere a David umani risposta, ma David ha spinto un po 'oltre - vi installare e testare il CS50 apparecchio per noi prima della spedizione? Va bene, così vediamo cosa Alan MobilePhone ha da dire ora. Sì e tutto il nostro prodotto è il lavoro con Le schede SIM e le reti internazionali. Fantastico, ora un altro compagno di classe di nostra, danese, ha risposto a questa. Sarebbe fantastico. Prendete il mio ordine anche per due, più uno libero, 5s iPhone con il CS50 apparecchio preinstallato. E, infine, Alan MobilePhone Detto questo - sì, tutto funzionerà. Fidati di me. Quindi quali prodotti sarebbe ti piace comprare da noi. Spiacenti Alan MobilePhone, si sta ora bannato. Chris, ora, da Toronto, ha chiesto la questione di noi. Ho un'idea per CS50 Live. Penso che sarebbe bello se David, o alcuni degli altri staff CS50, ha giocato uno o più graffi presentato giochi per Problem Set 0. Quindi questo è un ottimo suggerimento. E la cosa è, dal Problem Set 1 è stato rilasciato il 1 ° gennaio, abbiamo migliaia effettivamente ricevuti di graffiare progetti. Quindi noi non potevamo fare tutto giustizia qui e CS50 Live. Così abbiamo pensato di strappare uno che attirato la nostra attenzione recentemente noto come Duello Wizards. Duello Wizards 'stato scritto da un compagno di classe di nome Patrick in Ohio. E dovrei avvertire che questo progetto veramente andati ben oltre quello che era previsto Problema Set 0. Non a tutti preoccupatevi se non è qualcosa che si può necessariamente realizzare nella vostra prima volta programmazione, sia con Scratch o qualsiasi altra lingua. Ma abbiamo pensato che sarebbe stato divertente da giocare un po 'di Duel Wizards' qui. [GIOCO MUSICA] Incredibile, quindi se ti vuoi per riprodurre o remixare Duel Wizards ', Prendete un guardare a questo URL qui. Vai avanti e basta mettere in pausa il video se volete scrivere che dentro Beh next up è un altro progetto Scratch, questo da uno studente di nome David da Cambridge, Massachusetts. Quindi questo era in realtà il primo programma io stesso ho scritto nel 2007. Ero uno studente laureato al momento e avevo croce registrato in un corso di formazione al MIT, ha insegnato dal professor Mitchel Resnick. Al momento, Scratch non ha esiste veramente. Fu solo in formato beta, e noi - studenti in questa classe - hanno avuto l' opportunità unica di giocare effettivamente con, e sperimentare con Scratch prima di chiunque altro. In effetti, uno dei nostri primi incarichi in questa classe era effettivamente rendere il nostro proprio progetto Scratch. E a questo giorno mi ricordo di trascorrere un po ' otto ore su un Venerdì sera di tutte le cose lavorando su Oscartime qui. E ora quelli di voi ha familiarità con Oscar il Grouch da Sesame Street potrebbero in un momento ricordare il brano che è in procinto di essere giocato. E ho usato per avere molto, molto bei ricordi della canzone. Ma credimi, dopo otto ore di ascoltando qualcosa sul loop, con un ciclo infinito tipo, molto inacidisce rapidamente un po 'di quella memoria. Ma per voi, si ottiene solo uno sguardo a questo. E io ti do questo esempio di Oscartime. [GIOCO MUSICA] SPEAKER 4: (cantando) Oh, io amo spazzatura - qualcosa di sporco o squallido o polverosi, nulla cencioso o marcio o arrugginito. Sì, io amo spazzatura. Ecco alcune cose più marcio. Sì, amo, amo, amo spazzatura. SPEAKER 1: Ora, se vuoi giocare o remix Oscartime, e migliorare , vai a questo URL qui. Bene, la prossima è una domanda da [? Bosco?] a Hong Kong, che ha scritto questo - cosa è il linguaggio di programmazione dietro Scratch del MIT? Ecco, questo è una grande domanda. Ma piuttosto che risposta che noi, abbiamo deciso di prendere le nostre telecamere giù la strada del MIT Media Lab, dove l' Gruppo Kindergarten permanente è, guidati da Il professor Mitchel Resnick, da cui Ho preso anni fa, di classe. Ci siamo incontrati non solo con il professor Resnick, ma anche la John Maloney, l'autore originale di il programma Scratch. Così il software molto è stato utilizzato per creare altro software è stato scritta principalmente da John. Nella foto qui infatti è John, io, e Mitchell in piedi dietro un vero e proprio incarnazione mondo di Scratch poco dopo la nostra conversazione. Ma prima di prendere un ascolto, sessanta secondi qui di cuccioli. [MUSICA - JOHN MAYER, "Wildfire"] Scratch realtà in tutta sincerità tiene un posto speciale nel nostro cuore qui a CS50. Anzi, abbiamo introdotto Scratch nel corso del 2007. E che cosa è sorprendente che anno è stato il seguente. Considerando che, in anni precedenti, diciamo 2006, abbiamo avrebbe circa 200 studenti acquisti sul Certo, che in Harvard parlano mezzi per cadere da un corso di primo settimane del semestre, ma non necessariamente prendere la classe. Il 67% di questi studenti sarebbe tipicamente rimanere e tornare in settimane che seguono. Nel frattempo, nel 2007, quando abbiamo introdotto Scratch così come qualche altro tweaks curriculari, abbiamo saltato fino al 97% indice di conservazione di quegli studenti che sono stati acquisti CS50. E così da allora Scratch è stato una parte fondamentale di CS50, anche se solo in quella prima settimana. Ma oserei dire che dà il tono della Naturalmente, e parla davvero il nostro obiettivo in CS50 di fare informatica tanto più accessibili. Detto questo, il nostro grazie a Mitchell e John e tutto il team di Scratch. Ora prendiamo quel campo viaggio lungo la strada. MITCHEL RESNICK: Ciao, Sono Mitch Resnick. Sono un professore di Learning Research qui al Media Lab del MIT. E ho anche diretto team del MIT Scratch. JOHN MALONEY: Io sono John Maloney, e io era un ricercatore per circa undici anni, lavorando su un progetto Scratch come lo sviluppatore di piombo. MITCHEL RESNICK: Chiamiamo la nostra ricerca gruppo il gruppo Lifelong Kindergarten perché siamo ispirati dal modo i bambini imparano a scuola materna. Nelle scuola materna classici, i bambini sono giocosamente progettazione e realizzazione di cose in collaborazione tra loro - costruzione di torri con blocchi di legno, fare foto con dito vernici e pastelli. Come abbiamo sviluppato Scratch, abbiamo voluto catturare quello spirito asilo per studenti di tutte le età. JOHN MALONEY: Uno dei grandi motivazioni per Scratch è stato questo progetto che Mitchel e Natalie aveva iniziato chiamato il Computer Clubhouse. E hanno visto un sacco di ragazzi fare cose con strumenti multimediali come Photoshop e vari strumenti di produzione audio, ma hanno Non facevano alcuna programmazione. I bambini non stavano facendo alcuna programmazione. E ci siamo guardati intorno e disse: - bene, perché non stanno facendo? E la risposta sembra essere che non ci non era uno strumento che era appropriato per tale impostazione. MITCHEL RESNICK: Mentre stavamo sviluppando Scratch, mi è stato ispirato da alcuni dei idee del mio mentore Seymour Papert, che ha sviluppato il logo linguaggio di programmazione. Seymour diceva sempre che era importante per una nuova tecnologia per avere un piano basso, significa che è facile da ottenere iniziare con un soffitto alto, si intende può fare di più e di più complesso cose con esso. Abbiamo anche voluto avere quello che noi chiamiamo muri di larghezza, cioè ci sono molti diversi percorsi. Che si può fare molte diverse cose con il software. Non è sufficiente solo per iniziare facilmente e fare cose complesse, se ognuno sta facendo la stessa cosa. Volevamo avere molti diversi percorsi, perché sappiamo diversa le persone hanno interessi diversi, e noi voleva che tutti siano in grado di lavorare su progetti che crescevano su dei propri interessi. JOHN MALONEY: Vorrei dire che noi considerate circa dieci volte di più i comandi e le caratteristiche che hanno mai finito in Scratch. Avremmo dibattiti infiniti su esattamente quello formulazione di mettere su blocchi, e le cose come se il default la direzione dello sprite dovrebbe essere fino o verso destra. Così abbiamo pensato a tutte queste cose, soprattutto molto presto esperienze che le persone avrebbero con Scratch, e cercando di fare in modo che le cose potrebbero essere scoperti solo con la sperimentazione. MITCHEL RESNICK: Quando eravamo prima progettazione Scratch nostro target di riferimento era età otto e le sedici. JOHN MALONEY: Sulla fascia bassa del spettro, abbiamo scoperto che molto più giovane bambini stavano usando Scratch di abbiamo mai previsto. Ricordo ancora il primo Scratch giorno, credo, che abbiamo avuto. Questo piccolo di sei anni, ragazzo entrò Sul lato superiore, sono stato sorpreso a, per esempio, l'uso di Scratch corsi universitari come CS50. Perché noi non abbiamo davvero pensare Scratch come lingua per l'insegnamento scienza computer a computer scienziati. Un'altra sorpresa è il numero di gli adulti lo usano. Abbiamo scoperto che le persone che sono come pieno I programmatori di tempo godono di programmazione Scratch come una sorta di hobby. E così abbiamo visto la gente sul Scratch sito web creare progetti che fare, per esempio - ray tracing sistemi di rendering 3D. Non ci potevo credere quando ho visto che. MITCHEL RESNICK: Come abbiamo iniziato a lavorare su Scratch, abbiamo voluto rendere diversa dalla precedente programmazione lingue in modo da renderlo accessibili a una più vasta gamma di persone. Così abbiamo avuto tre conduttori principi guida. In primo luogo abbiamo voluto renderlo più tinkerable, così si potrebbe costruire programmi molto più come mettere Mattoncini LEGO insieme. Così abbiamo avuto la programmazione visuale blocco che non è insieme. In secondo luogo, abbiamo voluto lasciare che la gente lavorare su progetti più significativi, cose che erano personalmente rilevante per loro. Ecco perché facciamo Scratch così rich media. In terzo luogo, abbiamo voluto renderlo più sociale. Poiché molti dei migliori apprendimento esperienze arrivano quando si interagire con gli altri. Così abbiamo aggiunto la comunità online Scratch fin dall'inizio, proprio quando abbiamo lanciato il software, in modo che la gente avrebbe avere un pubblico per le loro creazioni, e anche ottenere ispirato da ciò che gli altri hanno creato. Da quando abbiamo lanciato zero ci sono stati circa 4,5 milioni di progetti sono state condivise sul Sito di Scratch. JOHN MALONEY: Così ho fatto aderito al progetto di ordinamento di supplica a Mitchel. Ho chiesto di unita quando ho sentito parlare, perché ho pensato che stava per essere una cosa così fresco e Volevo aiutare. Ma la mia lingua preferita era Smalltalk, e io avevo contribuito a sviluppare questa versione di Smalltalk chiamato Squeak. Così ho detto, bene, verrò fare questo lavoro finché io può costruire in Squeak. E Mitchel ha detto - Oh, certo, non lo faccio cura ciò che è fatto dentro Basta farlo funzionare. Ed è così che è arrivato a essere scritto in Squeak. Quindi, con Scratch 2.0 abbiamo pensato che ci avrebbe cercato di fare Scratch portata fuori a più persone, rendendo più una applicazione cloud based. E, anche se c'era una versione di Squeak che correva nel browser, esso download richiesto e l'installazione di un plug-in. E sapevamo che un sacco di gente avrebbe hanno difficoltà a farlo, sia perché era un processo complicato o perché la loro amministrazione a loro scuola, o qualsiasi altra cosa, non lo permetterebbe. Quindi volevamo qualcosa che era gentile di integrato nel browser, o era tipo di impostazione predefinita, non ci sulla maggior parte dei browser. Abbiamo considerato Java, abbiamo considerato Silverlight, abbiamo considerato JavaScript, e abbiamo considerato Flash. A quel punto Flash è stato davvero in ascesa. Adobe è stato davvero spingendo. E noi non sapevamo ancora che sarebbe stato essere un problema su iOS, e dispositivi mobili, e così via. Così siamo andati con Flash. E col senno di poi sarebbe ho forse stato meglio se fossimo andati con JavaScript perché è diventato la lingua dominante. Ma non credo che ci sia alcun modo di potrebbe aver visto tutto il le cose che stavano per cambiare tra allora e adesso. E ci vogliono tre anni o giù di lì per mettere insieme qualcosa di simile. Quindi fate la vostra ipotesi migliore e sperare per il meglio. MITCHEL RESNICK: One nuovi progetti chiamato Scratch Junior, cercando di avere Scratch scendere ai ragazzi ancora più giovani. E 'in corso di rivolge a cinque anni a sette anni di età, come scuola materna alla seconda elementare. La prima versione di esso sarà sul iPad. E abbiamo intenzione di farlo venire nel mezzo del 2014. Così Scratch Junior sarà un po ' ridimensionato versione. Avrà un po 'meno funzionalità, e anche fare le cose più adeguato allo sviluppo per i più piccoli. JOHN MALONEY: Mi piace il fatto che Scratch 2.0, in particolare, è una sorta di prestazioni segretamente superiori quanto si possa immaginare. Per impostazione predefinita, quando si sta facendo animazioni e così via, tu sei limitato all'aggiornamento tasso dello schermo. E abbiamo progettato deliberatamente in modo che lo fa solo un po 'per telaio, in modo che se tu dici ripetere 10, spostare 10, è in realtà vede muoversi in dieci piccoli incrementi. Tuttavia, c'è una sorta di modalità nascosta chiamata modalità turbo, che si può ottenere per turno cliccando sulla bandiera verde. E che consente fondamentalmente gestito tipo il più velocemente possibile. Quindi questo è quello che permette di fare le cose come il tracciante ray, e non fare necessario - il raggio tracciante originale, abbiamo dovuto aspettare come circa mezz'ora di vedere i risultati, perché era tipo di chugging attraverso un fotogramma alla volta. Ma, con lo spostamento click cosa, è possibile ottenere i risultati in qualcosa di simile 20 secondi. Quindi, tutto ad un tratto si può solo tipo di cose di alto livello in Scratch, ma è una caratteristica nascosta. SPEAKER 1: Grazie così tanto da Mitchel e John per tutto che hanno fatto per CS50. Grazie a Andrew, Al, e Shelley, che sono dietro le telecamere questa settimana. E grazie mille a tutto il studenti, quelli di voi là fuori che contenuti presentati. E in effetti, se si desidera contribuire ai contenuti per un futuro settimana, fare raggiungere a noi tramite Facebook, Reddit, Twitter, o uno qualsiasi degli altri mezzi del corso. Questo è tutto per CS50 Live. Questo era CS50. Dannazione.