[MÚSICA] [MÚSICA] DAVID Malan: Està bé. Això és CS50. [Música que es reprodueix tritonal, Cash Cash,  "Intocable"] [MÚSICA] ALTAVEU 1: Vaig a França, i vostè va, també. [MÚSICA] DAVID Malan: Aquest és CS50, La introducció de la Universitat de Harvard a l'intel·lectual empreses de ciències de la computació i les arts de la program-- i per primera vegada en la història, de la Universitat de Yale també. De fet, si vostè està aquí a Cambridge o en New Haven o Miami o San Luis o Amsterdam o en qualsevol part al voltant del món tenint CS50, ordinador ciència E50, CS50X, CS50 AP, tots som un i el mateix. Benvingut a CS50. El que tener-- [Aplaudiments] [El] [Aplaudiments] Així que he comès un error jo alguns Fa temps, quan vaig començar la universitat. I vaig arribar a la universitat, i vaig decidir francament, s'adhereixen dins de la meva zona de confort. Vaig acabar declara una concentració, o una major, de govern. Formiga que era sobretot una funció de mi sent bastant familiaritzat amb el govern o almenys la història o Em va agradar molt dret constitucional a l'escola secundària. I així, quan vaig arribar aquí, em espècie de gravitat cap a les coses amb el qual ja estava familiaritzat. Dret? Déu no permeti que faig malament a la classe. Per descomptat, volia estar dins de la meva zona de confort, i no va ser fins el segon any que per fi té el valor suficient per posar un peu en una classe anomenada CS50. I en aquest moment, vaig fer finalment em vaig adonar que, per Déu, la tasca podria en realitat ser divertit. De fet, jo era un d'aquests nens que en les nits de divendres, quan els P-sets serien alliberats, jo tornaria a la meva habitació i busseig a P-conjunts de la nit. I per a mi, això era un signe que es tractava d'un camp per a mi. Però el que era més important va ser la fet que em va fer arribar fins a aquest nervi per explorar aigües desconegudes per a mi i obtenir més enllà de la meva pròpia zona de confort i, francament, jo només era capaç de fer això segon any mitjançant l'adopció d'aquesta classe passa / falla. De fet, va ser l'últim dia que Finalment vaig canviar i, finalment, CS declarada com el meu concentració, gov posar en aquest punt darrere meu. I el que no estem establint en aquest curs per encendre tots vostès en certes carreres o concentradors de CS, però en lloc de donar-li una oportunitat és d'esperar que anar més enllà del món amb el qual UD es troba familiaritzat i portar de tornada d'aquest món habilitats i coneixement i comprensió que es pot aplicar al seu propi món, ja sigui en les humanitats, les ciències socials, ciències naturals, o més enllà. De fet, si estàs sentint-se una mica intrèpid per estar en aquesta sala i molt menys en aquesta classe, adonar-se que si la història és cap indicació, el 72% de vostès mai han pres un curs de CS abans. Pel que és per tots els mitjans no és el cas que l'estudiant que seu a l'esquerra o a la dreta o davant o darrere de vostè sap molt més sobre CS o programació en particular que tu. Això no és de fet el cas. I, de fet, gran part de l'estructura de suport que hem establert en aquest Per suposat en els últims anys ha estat precisament per aquesta reason-- de proporcionar una rampa que encara surt de la mateixa manera que amb rigor i tan alt com ever-- però el pendent de les quals permeten als estudiants menys còmode i més còmode per igual per tenir èxit amb independència dels seus antecedents abans. De fet, el que en última instància assumptes d'aquesta classe no és tant on acabes en relació amb els seus companys de classe però en el que a la setmana 12 acabar amb respecte a si mateix en la setmana zero, el que és on som avui aquí. De fet, i això pot molt bé i probablement té un aspecte com el grec per a molts de vostès. Però pot estar segur, que això i molt més va a estar completament dins del seu captar en tan sols una mica de temps. Però avui en dia, ens centrem en alguns de les idees de més alt nivell per donar-li un gust de CS50 i la informàtica en un sentit del que que està signant. I, en efecte, la informàtica podrien ser destil·lada més simplement com pensando-- computacional pensar com un equip, si es vol. I hi ha tantes coses diferents ingredients que entren en què, però proposarem només tres d'avui. Si l'objectiu de la classe en última instància, no és ensenyar que programant, No és que li ensenyi C o PHP o SQL o qualsevol nombre de les paraules i acrònims en el Descripció del curs, sinó més aviat per ensenyar-li a resoldre problemes més eficaçment i per pensar de manera més metòdica i més algorítmica, per dir-ho. Anem a veure què és exactament el que això significa. Així que m'agradaria proposar que el pensament computacional es redueix per a la resolució de problemes. Què es necessita per resoldre un problema? Cal que com a input-- l'entrada a la problema-- que necessita una sortida, la qual és d'esperar que la solució, i llavors és necessari un procés pel que per resoldre aquest problema, que que anomenarem 1 algorithm-- un conjunt de instruccions per resoldre algun problema. Però primer, anem a centrar-nos en la primera i l'última d'aquestes entrades i sortides. Ordinadors, després de tot, pel que sembla, només entén zeros i uns. Però com pot ser això possible? ni tan sols si està familiaritzat en absolut amb el que hi ha sota la campana, és probable que almenys oïda computadores entenen binary-- només zeros i ones-- però com pot que possiblement hagi de fer alguna cosa interessant? Doncs bé, un dels temes de la classe que està passant sent aquest layering-- on avui, anem a prendre un cop d'ull ràpid al nivell més baix detalls, però amb cada dia que passa, on Capa o abstracta en la part superior d'aquests detalls per resoldre realment el nivell més alt problemes d'interès per a nosaltres. Així que aquí és el que podríem anomenar binary-- amb només un alfabet de 0 i 1. Però nosaltres, els éssers humans són majoritàriament familiaritzat amb decimal. 10 des significat. Bi significa dues. I així, al decimal sistema, tenim 10 dígits en la nostra disposal-- de per descomptat, del zero al nou. Així que si ens fixem en una sèrie així, la majoria de vostès intuïtivament acaba de comprendre que és 123. No hi ha res molt dur en això. Però per què és 123? Bé, si vostè pensa de nou a school-- grau o almenys la forma en què vaig aprendre aquest amable de la seva món-- poguessin recordar que tractem a aquests coses en les columnes, o llocs. Així tenim el lloc de les unitats a la dreta. Les desenes lloc en el medi. Els centenars col·loquen a l'esquerra. I llavors Com podem arribar d'aquest patró symbols-- Febrer 1 3-- a aquest nivell més alt idea que coneixem com 123? Bé, és només una mica d'aritmètica simple. Dret? La que no hi ha essencialment vol dir donar-nos 100 per 1 més 10 vegades 2 més 1 vegades 3. I per descomptat, si fem la matemàtiques allà, és 100 més el 20 més 3-- també coneguda com 123. Així que si vostè està en el mateixa pàgina que aquest dret ara i se senten còmodes amb el l'anomenat sistema decimal com un ésser humà, en realitat és ben dins l'abast de la comoditat a considerar ara el sistema binari. Tome un salvatge guess-- això representa, en el món dels ordinadors binary-- en quin nombre? Zero. Però ¿per què és això? Doncs bé, resulta que les columnes o llocs aquí-- les que no són potències de 10. 1, 10, 100, 1000, i així successivament. Són en canvi, bastant Simplement, les potències de 2. Per tant, 1, 2, 4, 8, 16, 32, i així successivament. I pel que ara, per descomptat, arribar a 0 aquí simplement perquè tenim 4 vegades 0 0 més 2 vegades més 1 vegades 0, el que per descomptat ens dóna 0. Però, com faig per que representa el número 1? Què és el patró de zeros i uns per representar els números dels éssers humans coneixen com 1? 001. I 2? 010. I ara el patró comença a repeticions. Ara és el 011. I de nou, quatre potes, un 0 2, un 1. Així que 2 més 1. Això és 3. I ara per a representar 4, es no n'hi ha prou amb canviar que un 0 a 1. Que tipus de ha de portar, per així dir-ho, i els números començar a moure d'una tirada al voltant de només de la mateixa manera que en el món decimal. Així que això és 4. Això és 5. Aquesta és 6. Aquesta és 7. I així hem comptat fins a un 7. Ara tot el que necessitem és simplement més d'una bits-- més de zero i un. I de fet "bits", si ha sentit aquest dígit binari term--. Bit és d'on ve. I pel que si volem representar nombres més grans, que necessiten més bits. Però anem a passar lluny de diapositives ara a alguna cosa una mica més real. Suposem que volem representen en realitat aquesta cosa. Així que anem a fer una ullada ara en una petita demostració. Així que aquesta és una aplicació basada en web que un dels CS50 pròpia, Michael G, armar aquest estiu per ajudar a dilucidar exactament aquesta idea. I ho faria algú com aventurar-se en l'escenari davant de tots els seus companys de classe? Just al davant. Anem amunt. Ha de ser còmode a la cambra i l'Internet. Oh, aquí mateix. D'ACORD. Estem bé. Tot bé. Anem amunt. Quin es el teu nom? Emily s'encén cap amunt. Així que aquesta és Emily. En quin any estàs? Estudiant de primer any. Emily, gust a conèixer-te. David. Tot bé. Així que a la pantalla aquí, tenim aquesta pantalla tàctil el que ens va a permetre En realitat interactuar amb aquest programa, i és només un navegador. Es va projectar Chrome completa en aquest moment, però és estat programat per Michael de respondre d'una manera que permet ens permet jugar una mica amb dígits binaris. Així, per exemple, aquí no tenim 3, sinó vuit zeros i uns. bits-- En aquest moment, estem mirar el nombre 0. I de fet, els vuit zeros en decimal vol dir zero. Així que això és tot el que és sent insinuat aquí. Així que si vostè vol representar el número 8, Quin és el patró de zeros i els que et volen? Simplement toc amunt o cap avall o els números mateixos. Tot bé. Així que per descomptat és 8, com es pot veure allà. I si volguéssim fer 16, què fem? Sí, només ha de tocar de nou. 16. Tot bé. Així que això és tot fi i bo, és encara molt baix nivell. Necessitem una forma al món real per Emily de la realitat que representa aquestes coses. I així, suposem que convertir aquests zeros i uns, la qual cosa és molt conceptual, en les bombetes de llum reals. Dret? Un equip és un físic, , Dispositiu elèctric mecànic. I la seva input-- almenys si que la connecta o càrrec it-- és tenir energia de la bateria i electrons que flueixen dins i fora. Així que ara, per què no deixem de pensar sobre els bits com zeros i uns, però una mica més físic de la mateixa manera que les bombetes aquí. I si Dan Armendariz podria unir-se jo per només un moment-- anem up-- posarem en cua una sol·licitud. Venir a més, Emily. Malauradament, aquest és el més demostració incòmode per alguna vegada. Anem per aquí. Anem a fer cua amb gràcies a Dan Armendáriz, un altre membre del nostre personal, una aplicació coneguda com bulb binari. Així que el que tenim aquí és una aplicació per iPad que té la següent usuari interfície a la pantalla per Emily. Només té la mateixa interfície d'usuari exacta en essència, que està per allà. I si ara vol representar el nombre, diguem 8, Com anar fent aquest s'adonés de la dreta, les bombetes que tenim aquí? Ah-ha. Màgic. Així que si volem convertir això en ara cosa una mica més difícil, i seguirem endavant i triar una a l'atzar nombre com el número 50 aquí. Entrada això. I si ara pot ser impugnada per pujar amb el número 50, tindrem un fabulós premi per a vostè. EMILY: OK. Oh Deu meu. DAVID Malan: Aritmètica és realment difícil davant de centenars dels seus companys de classe. Però el 50 ha estat la resposta aquí. [Aplaudiments] I pel que ara, això està destinat a ser demostrativa per Emily. Així que, aquí, és una mica de llum bombetes com aquestes, però en realitat és el petites bandes magnètiques. I el que és bo d'aquests i la raó per la qual els fem servir en CS50 és que es recolzen cosa que es diu 1 API-- una programació d'aplicacions interfície, que és només una forma elegant de dir que el que un dels nostres empleats va fer durant l'estiu es creen una aplicació per iPad aquí que les converses a internet a les bombetes més d'aquí, que són sense fils connectat a un altre dispositiu. Però això és ara una opció per als projectes finals. I així, Emily, si així ho faria com, al final de la paraula, vostè pot adornar la seva habitació de la residència mentrestant amb els. Gràcies a Emily també. [Aplaudiments] Però ara, centrarem la nostra atenció al que el missatge podria haver semblat, i és una mica alguna cosa com això. De fet, aquesta és una exemple simplement com un reclam del que està per venir del que està diu una sol·licitud de l'API. I així, el que tenim aquí és simplement exactament el tipus de missatge que després d'unes poques setmanes temps en el CS50, podràs ser capaç d'enviar a alguna cosa bastant familiar, com que en realitat encendre'ls i fora. Però tot això està bé i bo. Dret? Tenim el model mental d'esperar per a la representació de nombres amb zero i un del de. I a partir de zeros i uns, podem arribar a un major nombre com 50, com Emily acaba de fer, o que pot moure cap amunt d'això. I afirmo que podem representar coses com les lletres també. Dret? Els ordinadors són molt més interessant que només nombres. I així, com anar sobre les paraules que representen a la pantalla o missatges de correu electrònic o assajos o similars? Doncs bé, resulta que els ordinadors simplement abstracta a la part superior d'aquests baix nivell Fa detalls, i els éssers humans algun temps, va arribar amb un arbitrària, sinó una constant, mapeig de números per letters-- pel que cada vegada que vegi una lletra majúscula Un en el seu ordinador pantalla, les probabilitats són el que hi ha sota de la campana és una patró de zeros i uns que representen el nombre, per aquesta taula, 65. I més activitat física en l'interior del seu equip, hi ha milions de coses trucades transistors-- aquests days-- quals són només canvia si es vol, les coses que pot encendre i apagar-se i així imaginar. No vuit d'aquests grans bombetes però milions d'aquests diminuts mica de llum bulbs, o interruptors o transistors, que es pot encendre i apagar basat en la forma en què els programa. I pel que ara tenim una forma de en representació de les lletres també. De fet, si hagués d'utilitzar aquest mapatge d'aquí i tractar de realitat explicar alguna cosa, podem fixar-nos en aquest patró de dígits decimals ara mateix. Pel que no anem a fins i tot centrar-se en binari més. Anem a considerar aquests com nombre decimal 72, 73, 33. Però el que podria representar aquest? Algú té una prou memòria fotogràfica saber el que està escrit a la pantalla aquí? Sí alguns. Així hola. H-I i després un signe d'exclamació, que no era en realitat a la pantalla. Però de fet hi ha un mapatge per a cada lletra de cada número que és possible que vulgueu escrigui en el teclat. Però els números no han de representen només lletres. Dret? Tots nosaltres sabem sobre les imatges i fotografies i arxius d'àudio i arxius de vídeo i similars. Així que clarament podem representar coses de nivell més alt encara. I així el que un ordinador fa és simplement triar per interpretar els patrons dels zero de forma diferent en funció del context. Si feu doble clic a una icona de Microsoft Word, les paraules que es veuen a la pantalla en lloc dels colors i imatges perquè la paraula sap que es tracta d'una assaig que realment has escrit. Si en lloc de fer doble clic en un JPEG o GIF o PNG, que s'obre i es tracta d'una imatge pel fet que el PNG o .docx o el que sigui l'arxiu extensió és i qualsevol programari sap que està utilitzant per interpretar un patró de zeros i uns de manera diferent sobre la base del que el seu propòsit a la vida és. Així, per exemple, aquest mateixa seqüència de nombres podria representar la quantitat de vermell que fer desitja, la quantitat de verd és el que vols, i la quantitat de blau vols. I de fet, si alguna vegada has sentit RGB-- blau verd tan sols vermell. I pel que si veig números com, això dóna'm 72 vermell, dóna'm 73 verd, 33 i blau, així és com un ordinador utilitzant tres bytes-- on un byte és vuit bits o 24 bits-- representaria un to bastant desagradable de color marró o groc aquí. I en diferents contextos, els vaig poder exactament els mateixos patrons en zeros i uns significa alguna cosa completament diferent també. Així que ara tenim una forma de representar zeros i uns. informació-- A més d'això, tenim lletres. A més d'això, podríem obtenir colors. I anem a suposar per avui que podem obtenir d'àudio i vídeo i les coses molt més sofisticat que això. Però ara considerarem com fem servir aquestes entrades i produir les sortides ara que tenim una forma de representar la informació. Bé, necessitem alguna cosa anomenat un algoritme. Un cop més, un conjunt d'instruccions per a la solució d'alguns problemes pas a step-- i la més precisa, millor. I així un exemple amb el qual els éssers humans són certament menys familiars en aquests dies, però tot i això és encara amb nosaltres al programari, és el procés de buscar a algú en una guia telefònica. Ara, cada vegada menys persones es coneixen any el que aquesta relíquia en realitat és aquí. Però en els meus temps, això era una llibreta de telèfons amb milers de pàgines i números i noms de les persones de l'A a la Z. I tot i que estem tipus de trampa 1 bit-- això és sobretot pàgines grogues. També eren blancs pàgines en el moment, que tenia tots aquests noms i nombre d'éssers humans reals. I si volia mirar a algú en una llibreta de telèfons com això fins ara, per descomptat, Jo només escric en els primers caràcters del seu nom, i el meu telèfon troba aquesta informació. No obstant això, el procés pel qual el seu telèfon iPhone o Android o el que és en realitat la recerca algú en la seva llista de contactes és idèntic al que els éssers humans Probablement ho han fet des de fa algun temps. Ara podria aprofitar aquesta problema, si es vol, i les entrades aquí no són zeros i uns. Estan pages-- com, diguem 1.000 pàgines. I si volia veure algú com Mike Smith en aquest directori, Podria començar pel principi i veig que estic a la secció A i després girar a una pàgina a la un moment, mirant i mirant com faig per al B i el C i de el D's i així successivament per a Mike Smith. Smith començant amb una S, em quedo esperem que finalment el troba. És aquesta algorithm-- que procés-- correcta? Sí. És correcte. Vaig a trobar a Mike si ell és aquí, però Quin és l'advertiment que és possible oferir. És lent. Dret? Sé que Mike S és una espècie de cap la segona meitat de la guia telefònica. Per què diables estic començant pel principi i anar pàgina per pàgina per pàgina. Així que, per descomptat, podria donar-li la volta i començar des de la part posterior, però això va a aconseguir mi no a la mateixa velocitat, si willl-- pàgina després pàgina rere pàgina. I no funcionarà si vull per buscar una altra persona la nom ve abans en l'alfabet. I què si faig el que après a l'escola primària, Un cop més, les coses no per altres però de dos en dos. Així que 2, 4, 6, 8, 10, 12, i així successivament. És correcte? No. És una mica correcta. Però alguns de vostès que no va murmurar, On està el problema, o l'insecte, l'error per així dir-ho. Sí. ESTUDIANT: És possible ometre sobre l'entrada dreta. DAVID Malan: Sí. Jo podria saltar sobre Mike Smith és perquè m'he pres dues pàgines alhora i que només passa a ser intercalat entre aquests dos pàgines. Podria adonar-se que Sóc a la secció T no haver trobat Mike Smith encara. I així el que podria ser el fixat allà? Bé, si ho faig colpejar la Ts en la guia telefònica, Pot ser que necessiti duplicar còpies d'una o de manera pàgina. Així que és corregible, però que no és tan senzill com s'acaba d'anar per dos per accelerar el meu rendiment. Però que? Vinga. Què és el que la majoria dels éssers humans van a veure amb aquest tipus de llibreta de telèfons? Que li donin la guia telefònica. Què fas? Què és això? Anar a la mitjana. Així vaig sentir anar a la meitat, i jo em trobo més o menys en la secció H, per dir-ho així. I ara què faig el que vull fer? Bona feina. Quin es el teu nom? JAMES: James. DAVID Malan: James, està bé. Què faig ara? JAMES: vas al un mitjà que té els de S. DAVID Malan: Està bé. Vaig a anar a la meitat d'aquesta té les de S a ella perquè, de nou, 1 estipulació aquí va ser que aquesta cosa està ordenada. És un bastant inútil 1.000 Verizon pàgines si no ho fa realitat ordenar aquestes coses per a nosaltres A a la Z. Així que si sé Mike és probablement a la segona meitat de la guia telefònica, Ara pot. [El] Esquinçar el problema a la meitat. [Aplaudiments] Gràcies. Esquinçar el problema a la meitat. Que en realitat era real-- aquesta lluita. Així esquinçar la llibreta de telèfons per la meitat, deixant a mi mateix amb fonamentalment el mateix problema. Però, és clar, la meitat de gran. I si segueixo James consells de nou, i vaig aquí. Jo dic, oh ara estic a la secció T. I així, per descomptat, pot esquinçar la guia telefònica la meitat un cop més, deixant mi amb un problema que és ara un quart de la mida. Així que he passat de 1000-500 a 250-125 i així successivament. Se sent com si estigués prendre mossos més grans a terme d'aquest problema amb cada iteració, o cada pas en ella. I de fet, el temps vaig a gastar la recerca de Mike Smith en aquest exemple és molt menys perquè finalment estic va a reduir gradualment aquest llibre posa a sota a una sola pàgina en solitari. I si Mike està en aquesta pàgina, estic seguirà endavant i donar-li una trucada d'haver-lo trobat. Però, quant millor és que algorithm-- que s'atreveixen a dir intuïtiva algorithm-- que els que iniciat amb la qual estem molt linear-- esquerra a dreta- a un ritme d'1 o 2 vegades? Bé, anem a traçar això. No hem de preocupar-nos massa per matemàtiques o números en aquest cas aquí. Només mirem una parcel·la. Així que a la X o eix horitzontal, és la mida de la problema-- Quantes pàgines hi són. A la I o la vertical, eix, és la quantitat de temps Es em va a prendre per resoldre-ho. I potser això és quants voltes de pàgina, el nombre de segons, com many-- alguna unitat de mesures. I he dibuixat un vermell línies rectes aquí, perquè si cada pàgina addicional de la guia telefònica, requereixo per fer un pas addicional. Així que si Verizon s'afegeix una pàgina més el proper any, Vaig a haver de voltejar una pàgina més trobar algú com Mike Smith. Mentrestant, el segon algoritme, que Vaig ser de dos en dos, té la mateixa forma. Encara és molt lineal, molt a l'esquerra dret, tenint iguals bytes cada vegada, però el pendent és una mica més baix. Per exemple, si la mida de el problema era més o menys aquí i he fet servir el meu primer algoritme, Jo podria acabar tot el camí a la part superior de la línia vermella. Però si en lloc d'utilitzar a twosies s'apropen, la línia groga suggereix perquè és més baixa, que prendrà em fa menys temps que el de resoldre. Però el que és la forma de la algorithm-- tercera vegada, podria dir-se que l'algoritme més intuïtiu? Bé, es veu una mica alguna cosa com això. És corb, o logarítmica, en forma. I tot i que mai tipus de s'aplana, asimptòticament polzades i més i més amunt però terriblement lent enfront de tota la resta. I el que és el portar? Bé, en diem log n. Però, què significa realment? Bé, si Verizon va duplicar el nombre de pàgines de la guia telefònica el proper any de 1.000 a 2.000. Quantes més passos és el meu primer algoritme va a prendre? El meu primer algoritme. Tal 1.000 passos més. Si es va duplicar la llibreta de telèfons, vaig a haver de donar la volta a través d'un altre 1.000 pàgines per trobar Mike. Per descomptat, si la segona algoritme, potser perquè sóc 500 va dues vegades més ràpid. Però si Verizon duplica el nombre de pàgines entre aquest any i el pròxim, amb el meu tercer algorithm-- la bretxa i conquerir que James va proposar, passant per la meitat i meitat i half-- com molts més passos li em prendrà l'any que per tenir una guia telefònica d'una mida de 2.000? Només un. Perquè amb un sol mos, puc prendre, d'aquest problema, la meitat de les pàgines de distància. I si es pensa en això una mica bojament ara-- si la guia telefònica no ho fa tenen 1.000 o 2.000 pàgines, però diguem 4000000000 pages-- que és un gran telèfon book-- com moltes vegades o quants passos Es em va a haver de trobar Mike Smith a la guia telefònica amb 4 milions de pàgines. Pot espècie de començar a fer els càlculs. Tot bé. 4000000000 dividit per 2. Així que això és de 2000000000 dividit per 1. Això és 1 mil milions. A continuació, la meitat de mil milions. Llavors 250-- perquè pugui fer això una vegada i una de nou, però no és que moltes vegades abans s'arriba a una pàgina. I, de fet, fins i tot si el telèfon llibre és de 4 milions de pàgines o la base de dades Aquesta és la pàgina és de 4 mil milions de registres de longitud, que va a haver de donar o prendre 32 passos només per trobar Mike Smith. I si es duplica la guia telefònica proper els anys del 4000000000000 a la 8 mil milions, 33 passos en lloc de només 32. I això és una prova a una de les idees que podríem abastar en equip ciència més general, que És aquest pensament computacional i abordar un problema francament l'ús d'eines de la seva eina ja està familiaritzat kit-- el món real amb el que està familiaritzat, però l'aprofitament d'aquestes idees per resoldre efectivament els problemes. Però hem de formalitzar la nostra solucions a aquests problemes. I així presentaré per un moment cosa que podríem anomenar pseudocodi. Gran part del semestre, anem a passar utilitzant codi real en llenguatges com C i PHP i JavaScript i SQL i similars. Però per ara, anem a veure alguna cosa bastant intuïtiu com anglès. Jo podria destil·lar que algoritme amb el qual Em vaig trobar amb Mike en passos d'aquest tipus. Recollir la guia telefònica Obert a mitjans del directori telefònic Mira el nom de Si Mike es troba entre el nom de truqui a Mike Perquè si Smith és anterior al llibre Obert a la meitat de la meitat esquerra del llibre Si no anirà a la línia 3 Perquè si Smith és tard en el llibre Obert a la meitat de la la meitat dreta del llibre Passi a la línia de tres un altre Rendir-se I hi ha algunes característiques ara d'aquest que val la pena assenyalar. Així que un, totes les línies He ressaltat en groc començarem a cridar declaracions o funcions o procediments. Són només accions fan això, i no hi ha tot el que molt la variabilitat a ella. El següent pas aquí, però, són aquests conditions-- si, en cas contrari, si una altra cosa, una altra cosa. I aquests són anomenats condicions, o branques, i són els punts de decisió. I ells ens permeten fer alguna cosa condicionalment. I de fet, anem a fer un ràpid mira potser un face-- familiaritzat l'anomenarem i Bill-- exactament el que aquestes condicions, com podrien ser utilitzats. Bill Gates: La gent fa decisions tots els dies. Per exemple, abans de sortir et tipus de tenir una sentència if que es diu, si està plovent, llavors jo necessitarà aconseguir el meu jaqueta. I els ordinadors són increïbles una vegada que es decidir aquest tipus de declaracions que poden executar de manera fiable aquestes coses a una velocitat increïble. I pel que un programa d'ordinador molt és una mica de matemàtiques i alguns si les declaracions on la decisió es va fer. DAVID Malan: Així que ara ens centrarem en alguns lines-- diferent els quals he destacat en groc aquí. I resulta que no és altra cosa formes d'expressar aquesta idea. Però intuïtivament el que les nostres línies 8 i 11 que jo he destacat aquí que li diu fer? Sí, pas a la línia 3, però el comportament és que realment la inducció? És una espècie de bucle o cicle, i es pot tipus de veure-ho. Dret? Si en la línia 8, que vagi de nou a la línia 3, i després es va colpejar la línia 8 de nou, és possible tornar a la línia 3, de nou a la línia 3, de tornada a la línia 3. Hi ha aquest tipus de cicle o bucle. I de fet, això és induïda en línia 11, potencialment també. I això és un bàsic programació construir també. És possible que no vulgui simplement fer alguna cosa amb un comunicat o fer alguna cosa condicionalment amb una condició o branca. És possible que vulgueu fer alguna cosa cíclicament amb un bucle. I tindrem una altra persona amb qui és possible que familiar-- l'anomenarem Mark-- explicar aquest concepte aquí. Mark Zuckerberg: Un El que els ordinadors són realment bo en està repetint ordres. Com una persona, s'obtindria molt avorrit si va haver de fer la mateixa cosa un munt de vegades en una fila, però un equip pot fer la mateixa cosa milions o fins i tot milers de milions de vegades i no s'avorreixen i poder per fer-la molt bé. Així, per exemple, si desitjar a tots a Facebook un feliç aniversari mitjançant l'enviament d'un correu electrònic, em podria prendre més d'una segle per escriure realment a terme tots aquests missatges de correu electrònic a tots. Però amb només unes poques línies de codi, el que pugui té un sistema d'enviar un correu electrònic a tot el món a Facebook que desitgin elles un feliç aniversari. Així que això és el que són i per què bucles que són valuoses i una mica que els ordinadors poden fer molt bé. DAVID Malan: Moltes gràcies als nostres amics en Code.org per a aquestes dues pel·lícules. I tot just la setmana passada, és possible que tingui vist que Mark Zuckerberg i Facebook publicat aquest anunci, que és que només han passat un important fita per primera vegada en la història. 1 mil milions de persones utilitzen Facebook en una sol dia, concretament el passat dilluns. Un de cada set éssers humans a la Terra aparentment iniciat sessió a Facebook. Bé, això sembla una bona oportunitat mirar cap enrere en on va començar a Facebook, i vam anar a través de la pròpia CS50 arxius perquè resulta que en l'any 2005, Marc va donar una conferència convidat a CS50. Vostè veurà que els valors de producció no eren exactament el mateix per aquell temps pel que fa a la tecnologia disponibles, i vostè també veure que la presència d'aquesta conferència de convidats no necessàriament despertar l'interès de l'alumnat, els seus predecessors, tant com que podria tenir només uns pocs anys més tard. Així que anem a fer una ullada al Centre de Ciències de C. ALTAVEU 2: Si us plau, uneixin-se a mi, i la benvinguda. [Aplaudiments] Mark Zuckerberg: Jo. Tot bé. Refredar aquesta és la primera vegada que he han hagut de tenir una d'aquestes coses. Així que només vaig a adjuntar molt ràpid. Tot bé. Pots escoltar-lo? És això bo? S'amplifica aquesta en absolut? Tot bé. Dolç. Per tant, això és com una de les primeres vegades He estat en una conferència a la Universitat de Harvard, però- DAVID Malan: Així que, finalment, la Ciència Centre va fer un zoom al vídeo, però no abans de la captura d'aquesta extracte on parlar de Marc, el qual parlava de la seva company de quart, Dustin, qui volgut donar un cop de mà amb aquest El lloc cridat el Facebook.com i es va adonar de que la selecció està a punt de Les Llengües esmentar a la programació un anomenat Perl, un PHP-- crida en la qual analitza els orígens de la contribució de Dustin. Mark Zuckerberg: I va començar a córrer el lloc i llançat al Harvard al febrer de 2004. Així que suposo que fa gairebé dos anys. I en un parell de setmanes, un pocs milers de persones s'havien inscrit, i vam començar a rebre alguns correus electrònics de les persones en altres col·legis demanant per a nosaltres per llançar-ho en les seves escoles. I jo estava prenent 161 en el moment. Així que no sé si vostès saben la reputació d'aquest curs, però era una mica pesat. Va ser un curs molt divertit, però que no em va deixar amb molt temps de fer res més amb Facebook. Així que el meu company de quart Dustin, que suposo acabava d'acabar CS50, era com, bo. Vull ajudar a terme. Vull fer l'expansió i ajudar a trobar la manera de fer les coses. Així m'agrada, que és bastant fresc, tipus. Però no se sap molt bé qualsevol PHP o alguna cosa per l'estil. Així que aquest cap de setmana va anar a casa, comprat el llibre de Perl per als maniquís, vam tornar i era com, bé. Estic llest per anar. Jo estava com, amic, el lloc està escrit en PHP no Perl, però això està bé. Així que es va recollir sobre PHP com un parell de dies perquè prometre que si vostè té un bon fons en C, PHP és una cosa molt fàcil d'aprendre. I ell només tipus de se'n va anar a treballar. Abans de fer una ullada ara a en què el curs va, permetin-me convido només algunes del personal de fins a SC50 l'escenari. Alguns d'ells estan comprant seus propis cursos. Però si aquests TFS i AC i el curs caps que són aquí podrien venir a un màxim i s'uneixin a mi per a un hola ràpid. Permeti que presenti, en particular, Hanna, Maria, Daven, i Rob, curs de CS50 dirigeix ​​aquí a Cambridge. [Aplaudiments] DAVID Malan: De fet, testimoni de la estructura de suport que té el curs construïda al llarg dels molts anys passats, personal CS50 números d'aquest any gairebé el 100, i això és aquí a Cambridge sol. Mentrestant, a New Haven, hi ha alguna 40 TFS i AC i membres del personal allà per executar el curs també. Et presentem el primer, Rob Bowden. ROB Bowden: Hola. Estic en Rob. Aquest és el meu sisè any TFing en el curs. Per tant, tot el camí de tornada al meu el primer any, no prenia CS50. El seu primer any fall-- vostè podria estar familiaritzat que només es pot prendre quatre cursos i hi ha tants cursos d'avui. Així m'agrada, eh. Vaig prendre AP CS meu últim any de l'escola secundària va ser horrible. Per tant, jo sóc com, eh. La informàtica no és per a mi. Així que després es va acabar la curs del meu primer any caure, que tenia un amic a CS50, i Crec que vaig assistir a una conferència amb ella. És com, oh, això és una mica millor del que tenia a l'escola secundària. I en el transcurs de la any, vaig tenir els meus propis butlletins de problemes en els cursos realitat estava prenent. Però vaig descobrir que cada vegada que volgut posposar les coses en què, M'agradaria tornar a CS50 i mirar a algunes d'aquestes coses. Així que, si. Sóc guai. Jo la dilació amb la codificació. Així llavors és al final de la caiguda que m'adono, hey, ciències de la computació està molt bé. Acabo tenint CS51. En el proper semestre, Acabo tenint CS61. I tot a partir d'aquí, a continuació, m'acaben de declarar ciències de la computació, que vaig tenir absolutament cap intenció de fer-ho quan vaig entrar a la universitat. I ara sóc aquí. Pel que el curs és el que fem d'ella. Espero que ho gaudeixin. [Aplaudiments] DAVID Malan: Gràcies a en Rob. I ara Maria, la nostra Per suposat cap assistent. MARIA: Hola nois. El meu nom és Maria. Sóc un estudiant de segon any en Cabot Casa, procedents de Bulgària, i estic super emocionada d'estar part de la plantilla d'aquest any. Vaig prendre CS50 en el seu primer any l'any passat, i que ni tan sols CS pensat per endavant. Així que m'encanta el curs, i jo espero que tots l'estimen tant com jo. I, si. Benvingut a CS50. DAVID Malan: Gràcies a Maria. [Aplaudiments] Ara Hanna, els nostres companys de l'ensenyament del cap. HANNA: Hola, sóc Hanna. Sóc un gran en Cabot l'estudi de la informàtica. Em va prendre CS50 en el seu primer any i tenia TFing-- estat aquest serà el meu tercer any. Així que seré involucrat feliç en CS50 per als quatre anys, i estic mirant cap endavant a treballar amb tots vostès. DAVID Malan: Gràcies a Hanna. [Aplaudiments] I, finalment, Daven, el nostre preceptor. Daven: Hola nois. Sóc un precepte més en la informàtica aquí. Aquest serà el meu quart any d'ensenyament. També ajudo a gestionar el curs. Així que estic segur que em veu al seu voltant, especialment en les hores d'oficina. Estic sempre en horari d'oficina. Així que si vostè em veu caminant voltant, sens dubte vénen a saludar. M'encanta conèixer a tot el món. Altrament, es diverteixen, i jo et veuré per aquí. DAVID Malan: Gràcies a Daven també. Pel que compleix amb tots aquestes persones en poc temps. Però sense més preàmbuls, si vostès ho faria agradaria tornar als seus seients de darrere. Permeti que presenti al lluny ara alguns dels nostres amics de New Haven, en els caps dels cursos particulars que van a es supervisa CS50 allà-- professor Brian Scassellati, Jason, i Andi, que sol-- pel que no temptar la sort amb qualsevol FaceTime o la com- només ens han enviat minuts Fa el següent vídeo en el qual diuen hola de sala de conferències a Yale, en el qual la conferència està sent transmès en aquest moment. Pel que els nostres amics de Yale. BRIAN Scassellati: Hola, David. Hola, tothom a Harvard. Estem molt emocionats de portar CS50 a Yale aquest semestre. El meu nom és Brian Scassellati, però tothom em diu Los SCA. I jo sóc aquí avui per presentar perquè el personal CS50. [ANIMA] I el més important, estic aquí per presentar així tots els estudiants de la Yale que a partir d'aquest matí han fet d'aquest el més popular curs a Yale els estudiants CS50. [ANIMA] Així que estem molt emocionats a estar veient aquí divendres i dissabte per Trencaclosques dia i tenen una gran conferència. Bye. [Aplaudiments] DAVID Malan: A la pantalla és aquí els noms de les algunes de 140 personal els membres que l'esperen durant el curs de la semester-- alguns d'ells aquí a Cambridge, alguns d'ells aquí a New Haven. I, en efecte que tindrà una oportunitat aquest dissabte, Els SCA com notes, a assistir a CS50 Trencaclosques dia. És possible que hagi vist petites peces d'un trencaclosques lliscat sota de les portes recentment. Tenim alguns extres aquí més endavant, quan vostè existeix. Si es muntin els quatre trencaclosques peces i les forces de fusionar-se amb habitacions la seva propers al seu casa o dormitori, que van a muntar en una code-- QR o un dos codis de barres dimensionals, que un cop muntat i escanejat amb el seu telèfon el portarà en certa fabulós premi o- suposo vostè podria fotografiar això ara tant be. Però trobar aquestes peces d'un trencaclosques, però, per tal de guanyar el fabulós premi. I, de fet una de les tradicions en SC50-- ah, massa lent. Una de les tradicions en CS50 és servir la coca després de la primera conferència. I així, de fet, en una pocs minuts a partir d'ara, Hi haurà coca serveix fora tant aquí com a New Haven també. Però primer-- els vam decorar nosaltres mateixos. Però primer-- i és d'esperar no hi haurà suficient. Però primer, una mirada ràpida. Així és, en efecte conferències seran produït sobretot aquí a Cambridge. Però cada mes, anem a saltar a la Universitat de Yale amb l'equip de producció del CS50 i corrent el curs en el revers direcció, així pel com perquè aquests dos campus realment per primera vegada en la història tan a prop com sigui possible com un en el mateix curs. En termes de l'estructura de suport que està ha aixecat aquí a Cambridge, així com a New Haven, són seccions. De fet, com alguns de vostès poden saber, tenim diferents pistes dins el curs per als menys còmode, més còmode, i en algun punt intermedi de manera que independentment dels seus antecedents abans, Pot ser que en última instància tenir èxit en la classe. Les hores d'oficina per la seva banda, són una oportunitat els dilluns i dimarts i dijous a la nit per treballar tant aquí ia New Haven en el nostre curs de butlletins de problemes amb dotzenes el personal del curs a prop seu. Problema estableix per la seva banda, són amb el suport de coses que anomenem tutorials, que es basa vídeo tutorials que realment respondre a preguntes freqüents d'on començar el desafiament d'una setmana. I autòpsies que caminen a través de possibles solucions de manera que l'extrem de la massa problema, es sap exactament el que podria haver fet diferent o completament d'una altra manera. El problema estableix mateixos vénen en dues edicions, una edició estàndard que esperem i convidem a la major part de la class-- un 90% més que fer-- i un denominat edició pirata informàtic en el qual cada pàgina està estampat edició pirata, pirata informàtic edició, edició pirata informàtic, perquè tingui aquest karma si es vol, per al busseig en versions més avançades de conjunts de problemes del curs que la cobertura ostensiblement el mateix material però amb un enfocament més sofisticat i amb el fons addicional de vegades introduït. Mentrestant, hi ha nou dies de retard que es pot aplicar al problema del curs estableix, així com la puntuació més baixa, el que ens cau a l'extrem termes. Però el que li espera? Bé, una gust del problema estableix a la mà el divendres i la setmana que on ens fiquen per uns pocs dies en alguna cosa anomenat Scratch, una programació gràfica llenguatge desenvolupat pels nostres amics en el Laboratori de Mitjans del MIT que permet programar ja sigui per primera vegada o en un nou entorn complet utilitzant un entorn de tipus arrossegar i deixar anar. Mitjançant el qual les peces del trencaclosques Només s'ensamblen per acoblament si té sentit lògic per fer-ho. Mentrestant, en conjunt de problemes de dos any passat, per exemple, ens introduïm la classe al món de la criptografia, l'art de la encriptació o codificació de la informació. De fet, aquest text aquí si desxifrat, en realitat el portarà a una destinació divertit. I en el conjunt de problemes, el que teníem estudiants fer és aplicar exactament les mateixes tipus de coses-- un algoritme, o conjunt d'instruccions per codificar i codificació de la informació. I en l'edició pirata informàtic d'aquest mateix conjunt de problemes, què ens desafien els estudiants a prendre una arxiu xifrat des d'un ordinador típic sistema amb un munt de noms d'usuari i contrasenyes xifrades i a esquerdar aquells passwords-- en realitat esbrinar el que eren sense saber res A priori sobre les contrasenyes reals. Mentrestant, tenim transició en el problema s'estableix a continuació, mirant el món dels gràfics. I de fet, es pot imaginar ara que això podria potser ser la forma més senzilla per representar una imatge en blanc i negre. Un píxel blanc, o un quadrat, com en la part superior dreta allà, podria ser representat amb un 1 i un quadrat negre podria ser representat amb un 0. I només mitjançant l'ús més bits com si proposat anteriorment amb el 72 i el 73 i el 33, podríem representar els píxels de color també. I el que fem durant aquest conjunt és un problema en general, fer una passejada per campus amb una càmera digital, prendre fotografies de persones, llocs i coses. Llavors d'alguna manera cada semestre, sembla que accidentalment eliminat o danyar la targeta de memòria en què totes aquestes fotos són, i pel que tenen el repte a continuació, escriure programari amb la qual recuperar aquests arxius JPEG a partir d'una còpia de la targeta de la nostra càmera. Mentrestant, fem que la mà més endavant en el terme d'un diccionari de paraules en anglès que tenen 143.000 paraules, i el que necessita per arribar amb una forma intel·ligent carregar-los en la memòria, o RAM per així dir-ho, per respondre consultes de la forma: es tracta d'una paraula, És aquesta una paraula, l'aplicació de la més ràpid corrector ortogràfic que es pot, fins i tot el fixar-se a si mateix potencialment contra companys de classe per veure qui de vosaltres fa servir el mínim de temps quan s'executa el codi, i fins i tot el mínim de memòria. Més tard, en terme és el que realment implementar el seu propi servidor web. Per tant, no només un lloc web en una llenguatge anomenat HTML i més, però un servidor web que en realitat escolta les peticions a internet i respon a ells. I de fet, així és com tendim un pont nostre món de C amb el qual també familiaritzar setmana que ve i PHP i HTML i JavaScript i CSS i similars. Perquè una de les primera web basat projecte que fem més endavant en el terme és històricament CS50 Finances. estil Etrade.com un lloc web que permet comprar i vendre accions virtualment al mateix temps que l'escriptura de codi per parlar amb Yahoo Finances aconseguir en temps real semi Stock cita per tal d'actualitzar la seva pròpia cartera. Però, finalment, per descomptat, és més del projecte definitiu l'oportunitat de fer gairebé qualsevol cosa de el seu interès per resoldre un problema aquí o més enllà del seu interès que això és d'alguna manera inspirada per les lliçons apreses a la classe. I la classe, com vostè sap, culmina en l'anomenada CS50 Hackathon i CS50 Fira i qualsevol nombre d'altres esdeveniments culturals durant el semestre que li permeten participar entre si i amb el personal del curs. Per exemple, al foc i del gel a Sitar Aquest any, a més, el divendres a la tarda, convidem a uns 50 estudiants a esmorzar, qualsevol li agradaria unir-se a nosaltres, a mi mateix, i el personal, i els nostres amics de la indústria i ex-alumnes per xerrar sobre la vida al món real i més enllà mentre gaudeix d'un bon dinar. A l'hackathon es veus aquest tipus d'imatges ja que aquests, incloent un munt de candy-- i a partir de 2014 per primera vegada-- verdures. [Aplaudiments] Però abans de les 5:00 del matí, generalment ho fa l'escena mirar una mica alguna cosa com això. I a continuació, només una setmana o més tard, és la Fira CS50 a la qual alguns 2000 més estudiants i el personal i la facultat membres de tot el campus i als campus d'aquest any vingut a veure i delit en el èxits dels estudiants, que CS50 és ara. I, en efecte, mentre que aquest any anem a es convida a qualsevol persona i transport escolar a la Universitat de Yale que li agradaria arribar a Cambridge aquest dissabte per CS50 Trencaclosques Dia, i farem exactament el mateix al desembre per al CS50 hackathon de manera que els estudiants de Harvard i Yale partake per igual en tots dos d'aquests esdeveniments. També tindrem en fires CS50 Cambridge i en New Haven aquest any perquè els estudiants en tant campus i el personal i la facultat pot veure cada respectiva L'assoliment de campus. I els èxits induirà tal memòria com això i això i en última instància això, en la qual tots vostès sortir de la classe que porta una mica alguna cosa en el que vostè era d'esperar feliç o l'orgull de dir que vaig prendre CS50. Però abans d'això i abans de servir la coca, hem posat junts-- gràcies a CS50 de equip de producció i una certa acte pal, l'única ocasió en què fem servir tals coses para-- quan el vam enviar no només aquí a Cambridge sinó també a New Haven per recollir un parell de salutacions de la El personal del curs i de tota la gent es trobarà tant aquí com a Nova Refugi durant els següents mesos. Permeti que presenti una quants més de personal de l'CS50. Mark Zuckerberg: ¿Aquesta fer que es vagi? Oh, que va. Es va. Ooh. Yarr! [Música que es reprodueix Andy Grammer, "Sóc més  BO "] MARY: Es tracta d'Caitlin. Això és Jay, i estic Maria. SATO: Hola, nois. Estic Sato. MICHAEL G.: Hola. El meu nom és Michael, G. DOUG LLOYD: No sóc. No. Sóc Doug Lloyd. No puc creure que estic sostenint 1 autofoto peguen en aquest moment. ALTAVEU 4: Hola. ALTAVEU 5: Hola. ALTAVEU 6: Hola. ALTAVEU 7: Hola. ALTAVEU 8: Hola. Estem sortint a Yale. Estem molt emocionats per aquest semestre perquè és la primera vegada que ve a Yale. Serà increïble! [MÚSICA] JACOB Scherba: El meu nom és Jacob Scherba. Estic emocionat d'ensenyar CS50 perquè crec de portar la informàtica a i persones en forma accessible. ALTAVEU 9: Estic molt excitat per ensenyar CS50 perquè vaig prendre la classe de l'any passat, i és una de les millors classes. ALTAVEU 10: Sí. El meu consell és que vostè ha de prendre CS50. JACOB Scherba: em va triar perquè CS Crec que és una manera divertida i creativa per resoldre problemes en forma analítica. ALTAVEU 11: Quan jo era una mica estudiant de primer any i la por de la informàtica i por de fer enginyeria i aquestes coses, que era la primera classe dura Vaig prendre, i també era la meva classe preferida mai. DOUG LLOYD: Aquest és el meu CS50 novè any d'ensenyament. Això em fa sonar tan vell! Sempre hi ha alguna cosa nova. Sempre hi ha alguna cosa interessant. Sempre hi ha nous reptes que enfronten les nous estudiants, i és divertit per ajudar-los a i experimentar les desafiaments amb elles i ajudar-los a resoldre els seus problemes. ALTAVEU 12: Quan per primera vegada après com fer-ho CS, era com l'aprenentatge d'una superpotència. I en veure que a altres estudiants i per ajudar-los a través d'aquest procés és un dels més coses gratificants que he. ALTAVEU 7: he triat perquè en el CS començant, jo era un concentrador de matemàtiques i Vaig prendre i CS50 es va enamorar d'ella. També vaig sentir que amb CS, jo podria construir coses. I això, vaig pensar, estava un aspecte molt fresc. L'altaveu 13: Alguns consells per a la nova estudiants és anar a les hores d'oficina i passar l'estona amb la impressionant TFS. ALTAVEU 14: Comenceu el seu P-Sets d'hora, anar a les hores d'oficina, convertit frends amb el TF. ALTAVEU 15: Sí. Tot el que deia. ALTAVEU 16: No tingueu por de demanar ajuda. ALTAVEU 17: Sí. ALTAVEU 18: Comenceu el seu P-Sets d'hora. ALTAVEU 19: És una gran experiència social. Fer un munt d'amics d'aquesta manera. ALTAVEU 14: Ves a la secció És divertit. ALTAVEU 11: És a dir, anar a per això. És molt difícil. Que anem a sortir-ne el que va posar en ell, però és un molt divertit classe especialment si estàs disposat a posar el temps en ella, però ajuda si vostè posa el temps en ella. Vostè obtindrà molt més fora d'ell més endavant. MIKE: Sóc Mike. CAMILLE: Sóc Camille. Hanya: Sóc Hanya. MATT: Sóc Matt. PETER: Sóc Pere. PHILLIP: Sóc Phillip. Patrick: Sóc Patrick. ROB Bowden: Sóc Rob Bowden. BRIAN Scassellati: El meu Els SCA nom és, i això- TOTS: --is CS50. ALTAVEU 20: En Yale. ALTAVEU 21: En Yale. [El] DAVID Malan: Això és tot per CS50. Ens veiem a la Universitat de Yale Divendres, Trencaclosques Dia dissabte. Coca ara se serveix. Això és CS50. [MÚSICA]