[Musika jotzen] [MUSIKA - Rossini, "RANZ DES VACHES "WILLIAM TELL FROM] [MUSIKA - English erritmora, "Martxoa Buruak giratorio "DE] [Txaloak eta txaloak] DAVID MALAN: Beraz, hau da CS50. Nire izena David Malan da. Eta 73% duzun dute aldez aurreko esperientzia ez informatika ere, zer uste duzu kontrakoa. Beraz, gaur egun, txip urrun genuke pentsatu genuen duten ezagutza eza, baina, halaber, at ematen duzu zentzu bat, duzun dutenentzat erosotasun gehiago, eta horrek norabide seihileko honetan joan ahal izango duzu. Hargatik honekin hasi. Izan nuen ideia ez dago zer barruan da Ordenagailu bat, nahiz eta, zu bezala, I erabili egunero. Baina kutxa bat da, eta ez da ez da sartu sarrera asko. Gutxi, ez da, eta zer? Seguruenik, korronte bat. Eta, hain zuzen ere, osagai bat honekin, elektrizitatea, gai izan behar dugu, badirudi pixka bat nahiko egiten ari dira egun hauetan. Baina egunaren amaieran, dugu gauzak adierazteko buruz dugun zaintzeko. Informazioa irudikatu nahi izan dugu forma batzuk ere. Eta, seguruenik zauden gutxienez vaguely ideia bitar edo ezagunak bit nolabait edo beste, ordenagailuak to zero eta murriztu ere bai. Baina ezin, eta, gutxienez, besarkatu dugu jarri argi apur bat behar da hori? Beraz, gutxi horiek behar dut lanparak mahaian hemen. Elektrikoa outlet bat dut hemen. Barruan eta hori proposatzen dut nire ordenagailua da gutxienez bat Gauza horiek, zerbait egiteko gai izatearen piztu edo itzali. Kasu honetan, hain zuzen ere, da mahaian lanpara, baina beheko mailan, zerbait da izeneko transistore bat. Baina gure munduan, mahai lanpara bat da eta, beraz, Aurrera joan eta hau entxufatu dut nire elektrizitatea hemen sartu. Eta hori erabiliz erraz hau aldarrikatzen dut, simple telefonoa, simple: up honek, I Informazio irudikatzeko daiteke. Adibidez, oraintxe bertan, I am ezer ez adierazten du, ezta? Deitzen 0 dut edo naiz ordezkari faltsu, zerbaiten kontrako benetan present izan baita. Baina besterik ez dut piztu bada Etengailu hau, Orain, irudikatzen dut 1. Hau oso sinplea pieza erabiliz memoria dituzu, bada, ezin dut irudikatu informazioa. Orain, zoritxarrez, nire ordenagailua ezin dute hainbeste guztiak. Baino ezin da irudikatzeko bi balio mundu osoan - 0 edo 1. Baina, zer irtenbide bat begi-bistakoa da, gaur egun, nahi dugu, gure ordenagailuaren zabaldu nahi izanez gero, memoria eta gehiago adierazten baino, 0 eta 1? Beno, har dezagun, adibidez, pixka bat. Har dezagun switch beste bat, beste bat transistorea, ordea, nahi duzun pentsatu. Let me aurrera eta honek entxufatu nire ordenagailua ere. sartu Eta, diotenez, orain dela noa pixka bat gehiago eta elektrizitatea erabiliz etengailu horiek gehiago inflexio eta off, hala nola irudikatzeko ahal dut informazioa. Beraz, oraintxe bertan, hau da, 1. Nahi dut, orain adierazten bada 2, hau egin ahal izan dut. Baina normalean, konbentzio, egingo dugun azkenean, ikusi, hau egin zidan izango dute. Hau da, 0, beraz, hau da: 1. 2 hau izango litzateke. Eta ez da harritzekoa, hau 3 izango litzateke. Beraz, modu honetan, oraindik ere, ezin gora zenbatu ditugu, are gehiago? Lortu dut pixka bat, hirugarren, hirugarren switch bat izanez gero, zer altuena zenbakia Orain, nahi dut zenbatu arte, 0-tik? 7 Beraz, naiz 0 galtzen hasten da, ezta? Piztu dut argi hori galtzen, eta delako benetan konektatu honen hirugarren eta azken nire socket elektriko bihurtzen argia hemen, ondoren, gaitasuna adierazten daukat bi balio du hemen, bi balio Hemen, bi balore hemen - eta, beraz, 2 aldiz 2 aldiz irudikatzeko ahal dut 2, edo zortzi balio posible. Eta hasi badut kontabilitate 0, beraz, duten 0, 1, 2, 3, 4, 5, 6, 7 da. Binary hau, beraz. Benetan gisa duten bezain sinplea. Argudiatzeko eta hori da, benetan gustatuko litzaidake nahiko gehien ezagutzen areto honetan guztiontzat. Let me aurrera eta ireki bat apur testu editore hemen. Eta eskola kalifikazioa tik baliteke gogoratzen izan dugun bezala, ehunka gauza lekua, hamarnaka leku, eta leku direnak. Eta gogora ekarri izan duzu hamartar batzuk gero zenbakia, ausazko zerbait bezala 123 bezala, funtsean, egiten duzun idazten duten inprimakia Hiru zutabe horiek. Eta zergatik ez da 1, 2, 3, zer 123 gisa ezagutzen dugu? Beno, ezkerreko zutabean, dugu 100 bat gehi bi 10s, hori da, beraz, 120, gehi hiru 1s, hori da, beraz, 123. Gaur egun, mundu honetan bakarrik dugula argiztatuta da berdin gisa izan zara ezagutzen urtez, izan ezik, gaur egun, gure zutabeak ez dira 10 eskumenak. Besterik ez dira 2 eskumenak. Beraz, berriz, hori ere bai, hau da, hau da da twos lekua izango da, hau da, Fours lekua izango da. Eta nago bakarrik errazena erabiliz mekanismoak gauza bihurtu du on eta off - elektrizitatea nagusiak edo elektrizitatea ez nagusiak - Ez dut nahiko berdina dute adierazpen bederatzi bidez 0-sorta. Super simple mantentzeko goaz ordenagailuen mundu honetan. Besterik ez naiz 0 edo 1 - edo desaktibatzeko, faltsuak edo egia. Eta, beraz, zer oraintxe noa ordezkari da, 1, 1, 1, horietako bakoitzak delako argiak argiztatuta dago. Beno, hori ematen dit ko 4 2 gehi bat, beraz, duten 6 da, gehi bat 1, eta hori 7. Eta ERGO hiru sekuentzia honek bit kopurua adierazten du 7. Beraz, une honetan, guztien barruan zure ordenagailua, aukeratu edozein zenbaki izan transistoreak, bit kopurua edozein. Baina egunaren amaieran, dugu Informazio irudikatzeko dezakezu gisa besterik ez dela. Orain, tamalez, besterik ez dugu zenbatzen arte 7 CS50 beraz, orain arte, baina espero pixka bat egin ahal izango dugu, baino hobea. Eta, hain zuzen ere, esan dezakegu. Suposatzen dugu gizakiak besterik ez arbitrarioki erabaki ari gara zenbakiak erlazionatzeko 1, 2, 3, adibidez, 4, 5, 6, 7, hizki zehatz batekin alfabetoa. Eta arrazoi historiko, noa hasteko zertxobait nahierara, baina nago , esan gizakiak joan, dugu estandar gisa erabakitzeko, orokorrean, hori 65 zenbakia gutun A. adierazten 66 B. Dot, dot, dot izango da. 90 gutun Z. ordezkatzen egingo Eta dezagun, benetan jarri dugu galtzen batzuk pentsatu horretan, zatoz gora genezake harridura puntu zenbakiekin eta minuskulak, eta hain zuzen ere, beste pertsona batzuk egin Gurekin duten. Beraz, orain bit izan genuen eta horrekin dugu irudikatzeko zenbakiak, zenbaki horrekin letrak irudikatzeko aukera izango dugu, eta, ondorioz, letrak Hasteko dugu konposatzen postak eta inprimatzeko karaktere pantailan. Beraz, egin iezadazue gonbidatzeko, ahal izango banu, zortzi ausartak boluntarioek - ez duten axola ez bakarrik agertzen kamera, baina interneten - etorri eta hemen, besteak beste, zortzi irudikatzeko bit, baizik eta horiek hiru baino. Beraz, nola bat, bi? Nola hiru buruz? Nola argi buruzko lau urdina, bukaeran bost? Hemen, norbaiti buruz? Aurrean, sei, zazpi aurrean, eta aurrean zortzi, bai. Beraz, beraz, besterik ez dut gertatu dena prestatuta etorri paper babesleak osoan sorta batekin. Eta paper-pieza horiek dira zenbakiak zer adierazten duten zutabeak you guys dira adierazten du. Beraz, izango duzu - Zein da zure izena? Ikaslea: Anna Leah. DAVID MALAN: Anna Leah, duzu 128s zutabea izango da. Eres? Ikaslea: Chris. DAVID MALAN: Chris borondatea 64s zutabea izango da. Eres? Ikaslea: Dan. DAVID MALAN: Dan borondatea 32s zutabea izango da. Ikaslea: Pramit. DAVID MALAN: Pramit borondatea 16 zutabea izango da. Ikaslea: Lillian. DAVID MALAN: Lillian 8s izango da. Ikaslea: Jill. DAVID MALAN: Jill borondatea 4S zutabea izango da. Ikaslea: Mary. DAVID MALAN: Mary 2s izango da, eta? Ikaslea: David. DAVID MALAN: David borondatea 1s zutabea izango da. Beraz baduzu mutilak pixka bat zapaldu ezin aurrera, beraz, mundu guztiak ikusten. Zer duzu guys ez da ikusten duen paper babesleak hauek itzuli da apur Cheat xafla hori buruz agintzeko zortzi bit horiek bai tzen dituzten esku edo ez goratzen bere eskua. Bere eskua igotzen bada, Oraindik 1 ordezkari. Bere eskua behera geratzen bada, Oraindik 0 ordezkari. Bien bitartean, ikusleen behar dugu irudikatu ahal izateko, oinarritzen honetan mapping, zer hiru gutun-hitz horiek Folks dira ortografia buruz. Beraz, une batean, behar duzu irakurri bizkar off lehenengo lerroa Zure Cheat orria, eta bai zarela edo goratzeko ez goratzeko zure esku igaroz. Bazara 1 bada, bada, goratzen duzu 0 bat bazara, ez duzu stand baldarki, besterik gabe. Joan. Zer zenbakia, lehenengo eta behin, dira mutil hauek ordezkari? 66. 66, ezta? 1 dugu 64s zutabean, bat 2s zutabean 1. Ematen dit 66, hori agertzen da, beraz, egon ordezkari B. Beraz, you guys dute idatzita - Ados, nahikoa da. B. Beraz, orain mugi gaitezen kalera Gure bigarren gutuna. Joan. Nor da azkarrena math at hemen? Beraz, 79. Berriz ere, gehitu dugu baldin zutabe guztiak horretan, ez da 1, gaur egun, besterik ez egin dugu lehen bezala errazena batera 7 adibide dugu orain get kopurua 79. Zein da gure mapping arabera da gutun O. Beraz Oraindik dugu ia ez dago. B, O. Eta, azkenik, joan. Zer ari dira orain ordezkari dira? Adostasun gutxiago. Hori besterik absolutua zurrumurru bat. Bai, hain zuzen ere 87 da. Good. Beraz, bada, orain, mapa dugu atzera duten arte - dezagun hasteko gure ASCII taula deituz, American Standard Code for Informazioa trukatzeko. Ematen dizkigun letra - ez "bo" baina "Arku". Eta hori ezin hobea da you guys arku bat egiteko cue eta bizkarrean, burua. Eskerrik asko. [Txaloak] DAVID MALAN: horiek mantendu ditzakezu. Benetan, izango litzateke, nahiz eta edozeinek mahaian lanpara bat bezala, hau ere? [AUDIENCE FROM Hoot] DAVID MALAN: Idazmahaiko lanpara? [Barreak] DAVID MALAN: Benetan? Mahaian guztiontzat lanparak? Guztiak eskubidea. Beraz, oso errazena batekin hasten printzipioak, orain dugu, ez bakarrik zenbatuko 0-tik gora igotzeko modu guztiak, 7, dugu bere gain hartu besterik ez dela gehiago bota arabera bit edo gehiago argiak edo gehiago transistoreak Arazo hau da, ahal irudikatzeko handiagoa eta handiagoa zenbakiak eta ERGO, handiagoa eta handiagoa eremuak alfabetoak, ingelesez bezala. Eta besterik ez dezagun fede hartu gaur hori, era berean, ezin izan dugu hasteko irudikatzeko grafikoak eta bideo eta edozein Beste hedabideek duten gara-kopurua ezagutzen gaur egun. CS50 hau da, beraz, eta klase honetan zaren ondoan daude, berriz ere, asko ikaskideekin nor gutxi jo dute duzun esperientzia. Eta hori bakarrik aipatuko dut, zeren behin, duela gutxi bat gisa barne FRESHMAN ekitaldiak aholkularitza eta at azken udaberrian en sophomore aholkularitza ekitaldia, entzun ohi dugu ikasle disclaim gora datozen CS taula, bai, Izan dut hau hartu pentsatzen intro klasea, baina ez naiz benetan ordenagailu pertsona. Edo, ziur aski, baina denek badaki ni baino gehiago. Eta hau jarri dut handiena letra posible da, mezu hau helarazi nahi duten ez da hori, hain zuzen ere. Eta bazara buruari, egin beharko lukete Izan ere, nik, hemen egongo? Konturatzen ez hori bakarrik da ikastaro honen izenburua Informatikako Sarrera Zientzia, Informatikako Aurkezpena da Zientzia I. Beraz, ez da hain zuzen ere bat, hala nola, bigarren sarrera. Beraz, ez zara, hain zuzen ere, okerreko lekuan. Eta helburu dute gaur I artean daude hala nola, kezkak edozein assuage behar duzu , izan liteke, baina baita bat margotzeko zer dendan-en argazkia ikasle gutxiago eta erosoagoa berdin ikastaro honetan. Baina lehen, handouts batean hitz bat Gaur egun, behar duzu, eta horien artean Galdera ohikoenak daude. Honez gurea ikuspegi aspalditik orain berria kalifikatzeko bat ezagutaraztea Ikastaro honetan sartzeko aukera - hots, SAT / UNSAT. Philosophically niretzat, askoz askoz da, askoz ere garrantzitsuagoa dela Irakasgai honetan ikasleak erakartzeko materiala, egon arabera desafioa materiala, eta kezkatu, orain arte, hain buruz puntuazioak benetako mekanika eta gutun-en seihilekoa kalifikazio amaiera, baina benetan besarkada Ikastaro eta bere material. Eta hau benetan sentitzen da, oro har, zer da interesgarria da beraientzat, eta sentitzen desafioa eta saritu baina porrotari beldurrik gabe. Eta, hain zuzen ere, hori ere errepikakorra da sarrera hau eta beste gai beste alor batzuetan ikastaroak, dituzun trepidation hau denean da behatz bat jarriz Ohituta uretan. Nik neuk, berriro 1995ean, FRESHMAN bat izan zen. Nintzen asko izateaz bideratuta bat aldundiei kontzentratzailea hemen. Eta, hala ere, beti nuke hazi pixka batekin informatika interesa du. Beti izan dut, bitxia. Baina orduan, nahiz eta, beldur hori izan dut nahiz eta oinez joatea CS50, beraz, askoz ere beraz, ez dut, nahiz eta erosketak it FRESHMAN urtean. Eta arrazoi bakarra oin bat jarri dut-en atea sophomore urtean izan dut delako onartzen zen / igaroko da huts egiten hartzeko. Baina are pasatzeko / Fail eskatzen eskuratu dut nerbio sortu hitzordu bat egiteko Irakaslea momentuan Kernehan batera, Ekarri paper handi honetan, eta galdetu bere sinadura eta bere baimenik arakatzeko Ohituta ur horiek. Eta ez da azken urteotan lagundu hori egiten CS50, noiz dugun erabiltzen pass izateko / huts egiten badute, antzera litzateke dozenaka edo zure ikaskideekin ehunka dute etorri, Jainkoa debekatzeko, hartan Sanders aurrean formulario hau da, hori adimenak batzuetan ezintasuna adierazten du, Esan, naiz ausartzen egin zure ikaskideek 'maila daude. Zein da barregarria, baina ez dut uste mentalitatea ez da hori. Eta ez da inoiz kultura hau izan da SAT / UNSAT, edo igaroko / gehiago huts egiten Orokorrean, ikasturte honetan, edo campus honetan benetan. Beraz, aurten aldatu dugu. Ecstatic erdia izango nuke klase hau amaitu edo gehiago CS50 hartuta sortu SAT / UNSAT. Urtebeteko denbora, zoragarria izango litzateke ia denek bada. Ordutik aurrera, agian, lan egingo dugu gutun Harvard kalifikazio an College, oro har. Baina, oraingoz, hori egin dugu gure barruan egin esfera, eta heartily nuke Galdera ohikoenak animatu horiek berrikusi duzu, eta galderak ikusten duzu zaizkion moduan, eta beraz, espero duzu, nik ez bezala, ez du nahiko bera izan duten beldurra faktorea denean zer da ziurrenik esploratzen Ohituta leku bat. Beraz, zer da CS50? Ra sarrera bat da ordenagailuaren enpresa intelektuala zientzia eta programazio artea. Baina, zer da hori benetan esan nahi du? Beno, beraz, orain arte, oso laburki hitz egin dugu buruzko informazio ordezkari. Baina demagun benetan nahi dugun zerbait egin behar du berarekin. Nozioaren sartzea behar dugu zer algoritmo bat deitu dugu. Algoritmo bat prozesu bat, prozesu bat da, argibideak multzo bat zerbait egiten. Algoritmo bat, eta zerbait izan daiteke: super simple. Esate baterako, adibide bat duten zenbait ezagutzen baduzu ere izan daiteke, hau da hemen gauza. Beraz, liburu honetan, hemen da, gero eta gehiago, datatua, baina Bazen behin, berau jasotako izen asko eta telefono zenbakietara. Eta, hain zuzen ere, nahi nuen aurkitu bada telefono liburu honetan norbait - esan, norbaitek izendatu Mike Smith - Mike Smith aurkitu dut kopurua edozein modu nahiko erraza da. Hasieran izan dut eta joan Orrialdearen 1, ez dago han. Page 2, ez dago han. Page 3. Algoritmoa, hau da, hori prozesua, zuzena al da? Beraz, zuzena, eskubidea da? Lelo bat mota naiz egiten ari en duten eran, baina azkenean egingo dut aurkituko abizenak S, eta espero Mike Atal horretan, eta bihurtu egingo dut nire algoritmoaren bidez egiten da. Baina ziur aski ez da intuitiboa. Gehienak honetan giza arrazoizkoa behin gela ez litzateke hori egin. Zer izango litzateke egin duzu? Joan zinela zuzen erditik, ezta? Gutxi gorabehera erditik. Eta, oh konturatzen zara, andrea hauek dira Mike Smith, abizena Smith izanik, beraz, ez da, argi eta garbi, eta gero hasi Liburuaren erdia ezker. Aldera behar du, S eskubidea da. Eta puntu honetan, nahiz eta gurekin gehienak ez egin hau errealitate dezakegu literalki Kendu erditik arazo hau. [Eta txaloak txalo] DAVID MALAN: Eskerrik asko. [Eta txaloak txalo] DAVID MALAN: literalki dezakezu malko honetan Zati arazo, ni batera utzita, literalki, big gisa erdia arazo bat. Beraz, bada, telefono-liburua izan zen -, eta ziurrenik zen - 1.000 orrialde inguru, orain bakarra da, 500. Ez dut hau berriro eta konturatzen naiz, ai, madarikatua, urrunegi joan naiz, naiz TS dut atala, era berean, ezin dut - figuratiboan edo literalki - erauzi telefono liburua - benetan izan zen askoz errazagoa da, gainera. Hitzez hitz, ezin dut erauzi telefono liburua erdia, nirekin batera utziz orain ez 1.000, ez 500 - 250 orrialde. 125 eta joan naiz, eta horren erdia, eta horren erdian, eta horren erdia, azkenik, I arte egingo utzi bakarra orria. [Barreak] DAVID MALAN: Hori da zati huts egiten dut. Orri bakar bat, zeinetan Mike espero da. Orain algoritmo ezberdinak horiek izan daitezke Ordena ebaluatu edo ebaluatu en desberdinak. Lehenengoa izan zen, oso lineala, ezta? Piztu orria, Mike bilatzeko. Piztu orria, Mike bilatzeko. Oso lineala da. Bat gehiago telefono orrialde bada liburua, seguruenik niretzat hartzen joan bigarren bat gehiago, beste bat gehiago, denbora-unitatea, Hala ere, denbora ari gara informatika. Beraz, hau bezalako liteke I marraztu lerro hau Hemen, beraz, tamaina gisa Arazo ezkerretik eskuinera handitzen - telefono-liburua lortzen handiagoa txikiagoak - eta denbora handitu gertatzen bertikal ardatza, handiagoa da telefono-liburua da. Beraz n bakarrik, oro har, aldagai bat da, zientzialari ordenagailua erabili behar adierazten balio batzuk, zenbaki batzuk. Beraz, n da linealki handitzen joan. Bikoiztu telefono-liburuaren tamaina, haren Niri hartu birritan askoz joan denbora, segur aski, Mike aurkitzeko. Orain arte ezin izan dut smart honi buruz, ezta? Aspertu nintzen azkar lortzean. Egin liteke hau twos arabera. Beraz, bi orrialde, gero, lau, ondoren, sei, zortzi eta gero. Eta hasi bidez hegan nuen pixka bat azkarrago, arrisku txikiak at arren Mike ekarri, baina kurba hori ez da guztiak desberdinak izango. Oraindik da zuzen bat izango da line, baina pixka bat azkarrago. Baina, zer egin dezaket? Ez zuen benetan zerbait funtsean, hobeto. Deitzen logaritmikoa dugu lortu dut denbora, n log, zeinaren berde hau lerro ditu, askoz ere, askoz gutxiago zuzen ezazu ertzean. Baizik eta, iradokitzen du sailkatuko da gisa infinitura hurbiltzen inoiz beraz, pixkanaka-pixkanaka, izan dut benetan hartu 1.000 orrialde telefono-liburua, bikoiztu du bere tamaina hurrengo urtean - duelako suposatzen asko jende gehiago herri batera joan. Beraz, orain lortu dut 2.000 orrialde, baina nola beste hainbat urrats hori smarter algoritmoa behar da? Bat besterik ez. Esan nahi dut, indartsu dagoela gauza bat da. 4.000 orrialde dugu bada, datorren urtean, hori niretzat hartzen joan bi baino gehiago urratsak. Beraz bota handiagoa eta handiagoa dezakezu Niri arazoak, ez web bezala da handiagoa eta arazo handiagoak bota Googles eta Facebooks honetan egunero mundua, eta ez da Operazio handi bat, besteak beste. Jarri dut pentsatu eta arreta delako sartu nire algoritmoa zein konpontzeko arazoak eraginkortasunez. Eta, hain zuzen ere, hori izango da ikastaro honen helburuak. Izango duzu, bidean, ikasten programa. Ikasten programatu beharko duzu en hizkuntza edozein zenbaki. Baina egunaren amaieran, jakina da arazoak konpontzeko eta lortzeko arazoak konpontzera hobeto -, eta, gisa Kasu honetan bezala, arazoak konpontzeko gehiago eraginkortasunez. Beraz, orain arte, egin dugun honetan nahiko intuizioa. Dezagun aurkezten zerbait nahiko generic izeneko pseudocode. Beraz, azkenean, lortu dugu, Ikastaro honetan, hainbat programazio hizkuntzetan. Baina gaur bertan egingo dugu English-bezala sintaxia, non esan nolako duzu zer esan nahi duzu, baina inoiz hain bazara succinct eta zu ez kezkatu gramatika eta esaldiak osorik. Adieraztea besterik ez duzu zeure burua bezala laburki ahalik. Beraz pseudocode ingelesa-bezala sintaxia dela adierazten programazio hizkuntza bat. Eta bukaera duen norabidean, let me proposatzen eredua dugu prozesua dugu zerbait gutxi kontatzen du deskribatzen ezberdinean, oraingoan hartu ekoiztutako bost minutuko bideo honetan begiratu gure TED lagunei arabera definitzen pseudocode da, zer definitzen algoritmikoak pentsamendua da, eta are Adibidez, nahiz eta ikusteko buruzko bazara da, berez, super erraza, oso emateko mental hasteko joan eredua, hiztegia, eta horrek duen do askoz konplexuagoa algoritmo nahiko azkar. [BEGIN bideo-erreprodukzioa] [Musika jotzen] Narratzailea: Zer algoritmo bat da? Informatika ere, algoritmo bat da batzuk konpontzeko jarraibideak ezarri Arazo urratsez urrats. Normalean, algoritmoak egikaritzen dira ordenagailuak, baina gizakiak izan dugu algoritmoak, bai. Esate baterako, nola joan zenbakia kontatuta buruz gela batean pertsona? Beno, ni bezalako ari bazara, seguruenik litzaidake duzu Pertsona bakoitzeko puntu bat, at Garai batean, eta zenbatzen 0-tik gora. 1, 2, 3, 4, eta abar. Beno, hori algoritmo bat da. Izan ere, utzi adierazteko saiatu en pixka bat gehiago formalki pseudocode in - English-bezalako sintaxia duten antza programazio hizkuntza bat. Demagun N berdinak 0. Gelan pertsona bakoitzeko, ezarri N N plus 1 berdinak. Nola pseudocode hau interpretatzeko? Beno, lerro bat adierazten du, nolabait esateko, aldagai bat deitu eta N initializes bere balioa 0. Honek esan nahi du, besterik gabe, hasiera batean Gure bildu, gauza diren kontatuta gabiltza 0 balioa du. Guztiak egin ondoren, hasi aurretik kontatuta, ez dugu ezer zenbatuko oraindik. N aldagai hau deituz konbentzio bat besterik ez da. Deitu nuen gehien ezer. Orain bi lerro demarks hasiera begizta, urrats dituen sekuentzia bat errepikatu aldiz batzuk. Beraz, gure adibidean, urrats hartzen ari gara gela pertsona kontatuta. Line azpian bi lerro hiru da, deskribatzen duen zehazki nola kontatuta buruzko dizugu. Koska dakar dela Hiru lerro izango dela errepikatu. Beraz, zer pseudocode esaten duena da duten 0, hasierako bakoitzaren ondoren gelan pertsona, egiten zaitugu handitzeko N 1. Orain algoritmoa hau zuzena da? Beno, goazen gainean Bang pixka bat. Ba al badira lan bi gela pertsona? Ikus dezagun. Lerro batean, N abiarazi dugu, eta 0. Bi pertsona bakoitzeko, ahala, gero, N-1 dugu arabera. Beraz bitartez lehen bidaia on begizta, N eguneratu dugu, 0 eta 1. Beraren bidez bigarren bidaia On begizta, eguneratu dugu N-1 eta 2. Eta, beraz, algoritmo hau amaitu aurretik, 2 n da, hain zuzen ere, eta horrek kopuruaren datorrenean gela dute. Orain arte, beraz, ona da. Nola txoko kasu bati buruz, nahiz eta? Demagun daude 0 pertsonek gelan - Niri, gainera, nork zenbatzen ari da egiten. Lerro batean, N abiarazi dugu, eta 0. Oraingo honetan, ordea, hiru lerro ez du exekutatu guztietan ez da geroztik gelan pertsona. Eta, beraz, N 0 jarraitzen du, eta horrek, lotzeko gelako pertsonen kopurua. Nahiko erraza da, ezta? Kontatuta, baina pertsona bat, aldi bat nahiko eraginkorra ere, ez? Ziur asko hobeto egin dezakegu. Zergatik ez zenbatzeko bi pertsona aldi berean? Horren ordez, 1, 2, 3, 4, 5, 6, 7 de kontatuta, 8, eta abar, zergatik ez kontatzea, 2, 4, 6, 8, eta abar? Soinuak ere azkarrago, eta ziur aski da. Dezagun adierazteko optimizazioa honetan pseudocode batean. Demagun N berdinak 0. Gela batean, pertsona bikote bakoitzeko, ezarri N N 2 plus berdinak. Pretty simple aldaketa, ezta? Baino Aldaketa pertsona bat aldi berean, zenbatu ordez dugu Horietako bi aldi berean. Algoritmo hau da, beraz, bi aldiz gisa azken bezain azkar. Baina ez da zuzena? Ikus dezagun. Ba al badira lan bi gela pertsona? Lerro batean, N abiarazi dugu, eta 0. Pertsona pare bat dela eta, ahala, gero, N dugu bi. Eta, beraz, algoritmo hau amaitu aurretik, N 2, hain zuzen ere, eta horrek kopuruaren datorrenean gela dute. Demagun hurrengo daudela 0 gela dute. Lerro batean, N abiarazi dugu, eta 0. Lehen bezala, hiru lerro ez du exekutatu guztietan daude, ez baitute inolako bikoteka gelan pertsona. Eta, beraz, N 0 jarraitzen du, eta horrek, hain zuzen ere kopuruaren datorrenean gela dute. Baina zer gertatzen da, hiru badira gela pertsona? Nola algoritmoa tarifa? Ikus dezagun. Lerro batean, N abiarazi dugu, eta 0. Pertsona horiek pare bat, Kontatzailea dugu N 2. Baina orduan, zer? Ez dago pertsona pare osoko beste gelan, eta, beraz, bi lerro ez Jada aplikatzen da. Eta, beraz, algoritmo hau amaitu aurretik, N 2 da, oraindik ere, eta hori ez da zuzena. Izan ere, algoritmo honek, esan daiteke buggy, duelako da akats bat. Ematen dizu zenbait berri pseudocode batera zuzentzeko. Demagun n bikote bakoitzeko 0-berdintasuna gela pertsona. Ezarri N N 2 plus berdinak. Pertsona bat unpaired geratzen bada, ezarri N N plus 1 berdinak. Bereziki, arazo hau konpondu nahi, dugu sartu, lau lerro bat, baldintza, bestela, adar bat bezala ezagutzen bakarrik exekutatzen egon badago pertsona ezin dugu beste batekin. Eta beraz, gaur egun, ez ote da bat edo hiru edo pertsona kopuru bakoitiak edozein gela, algoritmo hau orain, horiek kontatzea. Ezin hobea egiten dugu? Beno, 3s edo 4S edo are ahal izan dugu zenbatu Eta 5s 10s, baina hori baino haratago, oso pixka bat iritsi zaila da. Egunaren amaieran, exekutatu ala ez ordenagailuak edo gizakiak, algoritmoak multzo bat besterik ez dira, argibideak dituzten dituen arazoak konpontzeko. Hauek dira hiru izan ziren. Zer nahi duzu arazoa konpontzeko algoritmo bat da? [END bideo-erreprodukzioa] DAVID MALAN: Hori bakarrik denbora da Marrazki bizidunen forma egingo dut agertzen. Baina non istorioa uzten off, orain, nola hobeto egiten dugu? Hirukoak eta Fours, aldarrikatzen dugu, zenbatu ahal izango dugu jendea askoz azkarragoa da, baina ezin dugu Funtsean do baino hobeto? Eta ahal dugun apustua dut. Aurkezten dugu gure pixka bat bada pseudocode hemen, proposatzen dut hau bezalako lerro bat lortu ahal izango dugu. Ez dugu jendea zenbatu joan bat, bi, hiru, lau. Ez dugu bi joan doa, lau, sei, zortzi. Funtsean, hobeto egin behar dugu arazoa planteatzea, eta honetan kasuan, bestela aprobetxatuz baliabide gutxien. Besterik gabe, une batean, barkatzen izango duzu espero dut eta umorea gurekin zutik arabera lekua da, eta nahi dugu eskatu duzun bakoitzean hartu zure adimenak kopurua 1. Ari zara, gero, gero joan baldarki, denbora pasatzen, aurkitu beste norbait nor da zutik, konbinatu zure zenbakiak elkarrekin Horietako batzuek gehitzen hasi ziren. Duzu bat da, ondoren eseri lasterka joan behera lehenengo, eta beste pertsona da, errepikatu egingo da. Beraz, beste era batera esanda, guztien seeding arabera zenbakia, 1 eta, ondoren, horiek konbinatuz 1s 2s 2s eta horietan sartu 4S sartu, denek batera, gero eta gehiago eserita,, behar dugu amaieran algoritmo hau, besterik ko mailegua arima ez zuten eseri bezain azkar baina nor osoa ikusleen Aldaketa ditu bere kontuan. Beraz, nahi baduzu, bada, goazen aurrera eta - urratsa - Zutik leku batean. Eta exekutatu. [Jendetza MURMURING] DAVID MALAN: Badakizu Lauren non dago? 729? [Jendetza MURMURING] DAVID MALAN: Ondo? [Jendetza MURMURING] DAVID MALAN: Ondo da, behar dugu egon amaieran ari dira. Ko ikaskide hemen zutik oraindik ere ikusten dugu. Nork behar parekatuta egon behar da? You guys off parekatu nahi izanez gero. Gora gora norbait. Zergatik ez esku bat uzten dut hemen. Jendea oso gutxi diren oraindik zutik zenbakiak zer egiten duzu zure gogoan izan? Ikaslea: 78. DAVID MALAN: 78 gehi - nork behera zutik hemen? Ikaslea: 39. DAVID MALAN: Plus 39. Plus nork dago oraindik zutik? 81? Ados, nork bestela? 81 bat? Wow. Eta gero, zer itzuli da? Ikaslea: 49. DAVID MALAN: 49, gehi? Ikaslea: 98. DAVID MALAN: 98 gehi? Hau da, beste norbait? 12? Lan ona. [Barreak] DAVID MALAN: Oh, 112 - Oh. Lan ona! [Barreak] [Txaloak] DAVID MALAN: inork zutik? Sentitzen dut? Ikaslea: 99. DAVID MALAN: 99. Inork zutik? Eta ikasle-kopurua hemen da benetan, arabera - ez zenbaki bat behar duzu? Oh, pertsona kopurua, benetako gela, kontuan arabera irakaskuntza bekadunek egiten guztion modu on, 729 izan zen. Beraz, Harvard ikasleek roomful bat daudelarik nork bere burua zenbatuko da, erantzuna da 637. [Barreak] DAVID MALAN: hain hurbil. Baina oraindik ere. Ados, beraz, irakaskuntza bat Oraingoz, ezta? Hau da, orain zer akats bat deskribatzen dugun bezala. Somewhere bidean, batzuk egin dugu aritmetika gaizki, edo norbait eseri, edo utzi, edo zerbait gaizki joan da. Baina hori fina. Nahiz eta oraindik ere, zeren eta, ez dugu lortu nahiko hurbil. Argudiatzeko eta asmatu dugun nuke nahi okerra erantzun asko baino azkarrago litzateke dut Nire gehiago hurbilketa lineala erabiliz. Hargatik, hain zuzen ere bere gain hartu genuen lortu duten zuzendu, baina uste orain zer garai bakoitzean gertatzen da, nire versus egin inozoa seinalatuz algoritmoa. Bat, bi, hiru. Daude, hain zuzen ere bada, 729 edo 637 pertsona Hemen, hartu dute litzateke me hitzez hitz, 637 edo 729 pointings hatz eta nire guztira Aldaketa incrementing. Eta zer hobeto nuen arabera bi, lau, sei, zortzi joan, eta abiadura bikoiztu dela, eta beharbada, hirukoitza edo laukoitzak, nola I can arabera Horretarako nire buruan kontatuta. Baina planteamendu hau guys hartu izan zen, funtsean, desberdina da. Hasieran delako, duzun guztia altxatu. Guztiak, beraz, 729. Eta, ondoren, literalki erdia eseri du behera. Eta, ondoren, beste duzun erdia eseri. Eta, ondoren, beste duzun erdia eseri. Eta zenbat aldiz guztira duzula guys eseri zitekeen behera gutxi gorabehera zortzi edo bederatzi edo hamar aldiz, guztira, gure guztira Aldaketa da arabera. Eta egin ahal dugu ordenatzeko hau da, beste biderik. Izan badugu 1.024 pertsona, gela batean, aldiz asmoz kopurua guztira halve 1.024 pertsona 10 da. Orain, pentsatzen hasi beste norabidean. Demagun, Ridiculously, izan dugu, esan lau milioi gela honetan, pertsonak, edo pixka bat handiagoa den gela bat. Zenbat aldiz litzateke desagertu egin dugu algoritmo honen bidez, besteak beste, erdia klase horren esertzen? Besterik ez da, hala nola, 32 hartzen joan eragiketak, nahiz eta tamaina klase batean lau milioi. Zergatik? Lau milioi bi doa delako milioi eta milioi bat doa, eta doan 500 milioi eurokoa da, eta 250 doan milioi, dot, dot, dot. Bakarrik egin dezaket zatiketa batzuk 32 aldiz, puntu, denek izan ezik Pertsona bat utzi beharko litzateke zutik. Eta hori ere, indartsu bat sort da Ideia hori gero eta gehiago saiatu behar dugu Ikastaro honetan, eta leverage programazio eta informatika gehiago oro har, ideia batekin germen horiek eta gero ezin dugu konpondu arazo asko, askoz ere indar handiz. Beraz, nahiko sinple horrekin hasi ginen pseudocode eta gela batean tipo bat, baina Orain, gela oso bat pertsona betetako dute, batez ere, hobeto egiten dugu. Beno, goazen orain trantsizio batetik benetako kodea pseudocode batzuk. Hizkuntza hori gertatuko den ikusteko buruzko bazara deitu ahal izateko Javascript-a, eta honen dugu itzultzeko norabidean seihilekoa amaitu aurretik. Programazio hizkuntza bat da duzula erabili webgune eta beste egiteko software egun hauetan. Eta erabiltzen dugu, lagun bati esker gure Stanford at, kodetzeko batzuk ezkutuko informazioa hemen. Hau steganography artea da, beraz, hitz egin non ezkutatu ditzakezu bestela, zer agertzen den informazioa zarata edo erabat ezberdina izan Irudi elkarrekin. Baina jakin irudia txertatu da, hain zuzen mota mezu sekretua. Hargatik aurrera dit eta tira sortu berean irudi hemen, hau web arakatzaile batean denbora. Eta nire eskua uhin batzuk at noa gaur egun, xehetasunak eta, bereziki, duzuenontzat hau itxura eman Ikusteko Javascript-a ez da soilik baina grekoa, gisa Ohituta hizkuntza erabat. Baina hau adibide bat da programazio hizkuntza bat. Eta orain, fedea hartzen duten kodea lehen lerroa hau - eta kodearen arabera, esan nahi dut testua. Testua hitzez hitz, hori ezin dut ondo idatzi Microsoft Word-en, izan bada dut eskubidea, ondoren, software zerbait berarekin. Programazio iturburu kodea, programazio kodea, benetan besterik testua, eta itxura ezberdinetan oinarritzen da, zer hizkuntza , erabiltzen ari zara, ez ingelesez ez bezala, eta Espainiako eta Errusiako guztiak begiratu, hainbat horiek idatzi duzu zure teklatua at. Lehenengo lerroa, beraz, orain hartzen fedea, besterik gabe irekitzen batetik grafikoa internet, zaratatsu grafikoa duten ikusi besterik ez dugu. Hurrengo lerro hau hemen adibide bat da begizta, eta benetan ikusi dugu bera TED bideoa jargon. Begizta zerbait gertatzen da berriro eta, berriro ere, eta nahiz eta hau, nahiz eta erabat críptica itxura du, gako-hitza, eta parentesi batzuk, eta puntu batzuk. Itzuli beharko dugu hori luze baino lehen, begizta baina hori ez da, funtsean, programa kontatzea, batetik bestera joateko osoko horiek zaratatsua puntu, ezkerretik eskuinera, goitik behera. Egunaren bukaeran, irudi bat delako gustatzen hori - eta ez duzu mota ikusten proiektorea honetan - Benetan, besterik gabe, puntu sare bat. Beraz, puntu horietako bakoitza identifikatu ahal izango dugu koordenatua, x, y bat, eta honekin programa, orain hasiko gara egiteko puntu horietan zerbait. Beraz, zer da aurrera hemen naiz eta ez da aldaketa batzuk egin behar izan dut. Lehen aurrera eta get rid dut duten berde eta urdin guztiak zarata, eta aurrera noa eta ondorengoa idatzi Admittedly críptica sintaxia. irudia im. ezarri urdin kokapena x, koma at, kokapena y, 0 bezala. Bestela esanda, besterik nahi dut itzali urdin guztiak irudi duten puntuak. Aurrera joan orain eta sakatu dut Run hau / Save botoia, eta ikusiko duzu Eskuineko aldean nabarituko, ondorioz, irudia agertzen da. Orain, bere super berdea, baina hori ez da harritzekoa, literalki aktibatuta dudalako off, 1 eta 0 bat egiten da, guztien irudi horretan urdina. Beno, orain dezagun pixka bat gehiago. irudia, dot setGreen, x, y im. Eta horrek esan nahi du, besterik gabe, ezker batetik bestera joateko izateko eskubidea, eta, ondoren, goitik behera. Piztu duten off balio duen 0, bai. Gorde. Eta proiektorea da, ez, ez duzu Benetan ezer ikusten da. Nire eramangarria pantailan, hasi besterik ez badut peer eskuineko bidea, eta apur bat ikusten dut irudia, ari dira oraindik ere, zeren ez gorri batzuk. Dituzun inoiz bada entzun siglak RGB du - gorria, berdea, urdina - konposizioan hau da aipatuz irudi bat erabiliz hiru kolore horiek. Eta oraintxe, bota dugu urruntzen guztiak berdea, urdina, baina ez da gehiegi ez gorria. Hargatik sortu me biradera gorria. Nola egin dezaket hori? Beno, lehenik eta behin, eskatu dut Programa honetan, galdera bat. Aurrera joan eta dezagun deitzen dut aldagai bat, besterik gabe, algebra bezala. X edo y edo z izan dezakezu. Aldagai bat deklaratzen dut eta esan, aldagai hau jarri, aldi baterako, balioa Irudi getRed balioa x, y at. Eta, berriro ere, itzuli behar dugu guztiak etorkizunean xehetasun honetan. Baina oraingoz, besterik gabe, fede hartzen duten lerro hau programa galdezka, zer x, y balioa gorria da? Jakin dot at? Ondoren, zerbait egin behar da noa. Ondoren irudi dot multzo gorria egin dut x, y, y, baina une honetan noa sustatzeko da gorria aldiz eginez, esan dezagun, 10. Beraz, 10 handitu da faktore bat. Let me Zooma orain eta click / exekutatu zitzaketen gorde. Eta voila, hori izan zen, ez dago osoa denbora, nahiz eta gure giza begiak ezin izan du ikusi nahiko du. Beraz, berriro ere, hau da, orain benetako kodea da, Hizkuntza bat ikusiko dugu adibide etorri itzuli luze baino lehen. Konturatzen, baina, batez ere, zuk horiek gabe, hala nola, esperientzia duten, nahiko da laster geure burua garela izango da kodea idazten ez duten bezala. Izan ere, tresna bat duten guztiak zarela zertxobait ezagutzen, agian, ez da CS50 en ikastaroa egin erosketa-tresna, hain zuzen, benetan berrabiarazi uda honetan batzuk CS50 en ohia egin ikasleek, Orain, buelta TFS. Beraz, hau gertatzen da web orri bat eraiki behar izeneko PHP hizkuntza batean. Izeneko MySQL datu-base bat erabiltzen da, gauza duten gure eskuetan izango dugu zikin geroago seihilekoan. Baina, sinetsi edo ez, nahiz eta zerbait horrela, azken finean murrizten begiztak eta baldintza errazena eta adarrak, bezala, besterik gabe, ikusi dugu Une Duela TED bideoa. Zer egin behar nuela pentsatu nuen, orain ez da kuota zerbait dugu langileek egin dute campusean, baizik eta zerbait Ikasle ohi bat - hiru ikasle, hain zuzen ere - egin da azken urte honetan, Sierra, Daniel, eta Sam, horietatik azkena izan, aldez aurretik ez programing esperientzia denean CS50 hartu zuen. Eta bere proiektua behin betiko dute, erakusgai CS50 azokan, beti izeneko aplikazioa wrdly, hau da, bat web-oinarritutako programa egin dute Bideo honetan pentsatu nuen partekatu nahi nuke ematen duzu, besterik gabe, zer da zentzua Epe amaitu aurretik posible. [Musika jotzen] DAVID MALAN: That Astea Zero hasi aste azken 12 urte honetan. [Txaloak] DAVID MALAN: aurkezpenik bat bezala ere, benetan zure gosea, zer egin behar da whet posible, ikusi ahal izango duzu, dagoeneko, edo laster ikusi, market.cs50.net, bat Tresna berri ikastaroko taldea duela lanean ari dira, eta denbora horretan Harvard Ikasle lankidetzan Agentziak, eta hala, aurten hasita eta espero jarraitu honetara udako datozen estandar bat izango duzu campuseko aukera eta erosteko saltzeko interes gauzak duzu. Eta HSA bidez, lankidetza da, ikusiko duzu Era berean, gai izango elementuak jaregin off HSA en dendak fisiko bat batean hasi etorkizunean puntua, beraz, gisa proxy gauzak, batez ere, zu lizentziaduna da, eta ez dute zertan nahi baztertu gauzak, baina benetan ordaindu Folks nahi duzun dezake birbidaltzea Hemen campusean. Modu horretan etorri. Baina apur bat zehazkiago, tresna bat hori atera CS50 du azken urteetan, eta horrek egiten duzun batzuk izan ezagunak, eta beste batzuk, zuk izan liteke orain googling, CS50.net/2x, eta ikusiko duzu aurkitu Chrome luzapena esteka hau da, nola daiteke erakusleak Ikusteko Javascript-a erabiltzea, hizkuntza bera dugu Eiffel dorrea erabiltzen da une bat lehenago, 2x erreproduzitzeko abiadura ezartzeko guztiak Harvard iSites bideoak. Hori dela eraiki da CS50 bideoa egin jokalari sartu. Baina honetan ere, hasiko baduzu dig iturburu-kodea sartu da, eta horrek egiten zaitugu zorionez eskuragarri, ikusi nola izango zara dezakezu ere konpondu horrelako arazoak, webgune batean trepetak azkartu dituzten dagoeneko bazara ondo ezagutzen. Hitz bat orain, noski, eta, beraz, itxaropenak eta zer datza aurretik. Oro har, eta, hain zuzen ere bildu dugu hemen hala ere - Astelehen eta asteazkenetan ostiral honetan, bildu dugu delako Erosketak Astea - 1:00 etatik 2:00 etara, nahiz eta batzuetan, 2:30 arte. Emandako agian duzula, beraz, nahi edo dute klase batzuk hartu 2:00 PM aurrera, edo aurretik ere, konturatzen ez ikastaroa da, zer deitzen solidario aldi berean, matrikula, zeinaren bidez egiten zaitugu laguntzeko eskaria egin Ad Kontseiluak eta Zure egoiliar zure izenean dekano bada gatazka bat duzu nonbait honetan 1:00 etatik 2:30 sorta. A duten URL online Head xehetasun gehiago. Baina laguntza egitura aldetik ezaugarri CS50, ikasle Gero eta gutxiago erosoa berdin, dugu eskaintzen sail ibilbideak desberdin. Eta aste honetan off pare bat da, baina luze baino lehen, zuk nahi bezala eskatuko zaizu zure erosotasun maila. Zaude gutxiago dutenen artean eroso, erosoagoa da, edo nonbait artean? Eta hiru izan dugu ibilbideak hori erantzuteko hain zuzen ere, ikusleak ere. Beraz, epe puntu gabe behar duzu are sentitzen zaren bezala lehian gehiago duen edozein ikaslek aurka edo gutxiago baino background. Izan ere, jakina da ekarri ahal izango askoz gehiago, elkarlanerako eta askoz hori baino gehiago irekita. Arazo multzo dagokionez, ikusiko duzu aurkitu ere, eta gain aste bakoitzaren arazo edizio estandarra ezartzeko, ez da, askotan, "hacker bat edizioa "Hori da ekarri beharreko norakoak % 5% 10 edo, beraz, aldeko demografikoa, nor da hain zuzen ere, besteak beste erosoagoa eta gehiago nahi estandarra baino erronka bat pset duten edizioa espero du. Gehiago horietan xehetasunak izan curriculumaren aurkitu. Baina, era berean, bertan aurkitu daitezke xehetasunak ikastaroak on berandu egun. Normalean arazoa ezartzen dira ostegunetan ondorioz. Hala ere, asko luzatu dezakezu epeak hau ostegunetan from beherakada Besterik gabe, gurekin bilera erdibidean by ostiraletan, beraz, hitz gutxi batzuk beroketa erantzutea aste horrek arazo batzuk galderak multzo, automatikoki gero, emango dizu aparteko 24 ordu. Ere izango dugu jaregin zure txikiena puntuazio gisa, ikasketa planaren arabera. Emateko zer arazoa zentzua dekoratuak dira - da, hain zuzen ere, delako Ikastaro horrek arazo ezartzen duten azken finean, ia definitzen ikaslearen esperientzia, are gehiago baino hitzaldiak, are gehiago, atal baino gehiago beste edozein baino, beraz, Ikastaroaren alderdi. Iaz, esate baterako, hasi gara aurten hasiko dugu, Scratch-ekin. Bereziki ostiral honetan, erabili, egiten zaitugu besterik gabe, egun batean, denbora, grafiko bat programazio hizkuntza, eta horrela egiten zaitugu hasteko programazio arrastatu eta puzzle piezak jaregiten bakarrik muntatzen fisikoki egiten du zentzua galtzen beraz, logikoki egin. Hurrengo astean, azkar egingo dugu trantsizioa C, nahiko zaharra da, baina oso txikia da eta simple hizkuntza gaituen utziko Benetan, 0-tik 60 joan zehar gutxiren astez, eta, ondoren, parlay horiek berean trebetasunak eta ezagutza oinarrizko programazioa eraikuntzen sartu Goi-mailako PHP bezalako hizkuntzak, Ikusteko Javascript-a, eta oraindik beste batzuk oraindik. Iaz, ikastaroan pset hirugarren kriptografia hori izan da, domeinu-aplikazio zehatz horren bidez dugu zalantzan ikasleek edozein ezartzeko zifraketen zenbakia, programak dituen to Scramble edo unscramble informazioa, it enkriptatu. Hacker ediziorako, aitzitik, hacker ikasle eman dugu fitxategi batean Unix estandarra duten ordenagailu batetik erabiltzaile-izenak eta pasahitzak, horietatik bigarrenak izan ziren enkriptatuta eta hacker horiek zalantzan dugu desenkriptatzeko ikasleek, onena bezala esango nuke, pasahitzak ere, oraindik ere, horretan domeinu berean. Scramble, joko bat da, batzuekin dira, agian, ezagutzen duzu. A auzitegi pieza, non ikasleek galdetzen dugu datu izan berreskuratzeko bestela nire digitala egin ezabatuko kameraren compact flash txartela da, benetan software irudikatu idatziz, Bertan izan ziren zero eta bai en kamera digitala duten lehen konposatutako JPEG grafiko bat? A mota erronka azken urtean azkarrena idazten parte hartu ortografia-egiaztatzailea posible, lehian lagun eta ikaskideekin galtzen aurka Gustatuko litzaidake dute. Huff 'n puff ezartzeko, konpresio programa bat. Eta, ondoren, seihilekoa amaitu CS50 batera Ogasun, webean oinarritutako aplikazioa horrek eTrade-antzeko web bat sortu duzu erosi eta saldu, stockak, beraz, hitz egiten, egia esan, ia dio arabera denbora errealean, komatxo Yahoo! Finantzatzeko. Zer ez genuen iaz egin zen ko arazo multzo geratzen hala ere, gogoko. Nik inoiz ez baduzu nahi desagertu shuttle.cs50.net, erabiltzaile bat ikusiko duzu Interfaze hau atsegin apur bat. Baina duela bi urte, klase horrela, Google Maps eta erabiliz Google Earth-en plug-in, eta apur bat campus inguruan gidatzeko savvy da, beraz, joko honen helburua izan zen, aurpegiak batzuk ikusten duzun bezala dezakezu, da campusa inguru gidatu bila langileak, irakasteko bekadun eta CAk, eta denean, ez duzu ipintzeko Zure anezka-autobusa gainean. Horietako bat ere ez, benetan, badirudi hemen izan da, beraz Cheat kodea idatzi beharko dugu. [Barreak] DAVID MALAN: Ez goaz. Guztiak eskubidea. Hemen eta orain, langileek campus osoan laced. Eta, ikusten duzun bezala dezakezu eskuineko an pantailaren aldean, anezka-autobusa du hutsik eserleku. Eta helburua izan da idazteko kodea duten hau simulatzeko eta gidatzeko picking eta jaregitea Bidaiari-off. Hori ere, hizkuntza bat erabiliz Ikusteko Javascript-a deitzen zaio. Beraz, konturatzen programak duten bezala gure ibilbide bera izango da hau urtean, bai. Dagokionez, gaur egun, laguntza osagarriak, bulego orduetan egin behar dugu. Zure etxean egin zenuen bezala, baliteke ikusi jantokia edo Annenberg hasieran, etxea jangela batean gara aretoak lau gau aste bat - Leverett, Pfoho, Eliot eta Annenberg Urte honetan, 8:00 etatik 11:00 etara. Eta zer egin aurten genuke pentsatu genuen zerbait apur bat desberdina da. Entzun duzu rumblings bada iaz pixka bat gehiegi deserosoa izan zen, hau urteko bulego orduetan, ikusiko dugun bezala deskribatu Datorren astean, gehiago organikoa izango da, Horren bidez, iristerakoan, izan dituzu bat bereziki taula bidali non anitz taldekideak zain, eta gauza egin dugu askoz gehiago ekologikoan. No gehiago ilara, ez gehiago iPad, baina baizik eta gehiago eduki intimoa inguru besterik taula elkarrizketak zortzi edo, beraz, ikasleak, eta horrela dugu bestela, gutxi gorabehera, zer sentitzen duen askoz txikiagoa da klase bat izango litzateke. , Eskaintzen dugu, bai, gauza horiek izeneko walkthroughs, bideoak filmatu en Ikastaro horrek irakaskuntza batek aurrera bekadun, Zamyla, bertan zuen ibiltzen duzu, aste-en bidez arazo multzo, aholkuak eta trikimailuak egiteko eskainiz erronka arautuko aurretik. Eta alderantziz, arazo multzo ondoren direla-eta, aurten, baita ere askatu dugu txiki klipak deitu post-mortems duten benetan oinez bidez ordezkari irtenbideak, bai onak eta txarra, zein bidez nola ondoriozta dezakezu edo izan behar duzu, ezin izan dute inplementatu zeure irtenbidea. Eta zer gertatzen da, lehen aldiz, eskainiko dizugu aurten ere bai, bereziki, duten ikasleek beren kabuz eskuratu ikastaro horrek beste baliabideak, baina, hala ere, borrokan ari dira guztiak ere, ikastaroaren ikasle horiek parekatu bera izango da, baliabideak baimentzen, tutoreekin, beraz, askoz intimista izango duzu Etxe jantokiak baino aukera laguntza bat-on-bat onartzeko. Orain batzuetan antzematen azken bistan partidu amaieran. Izan ezagutzen zenuke CS50 Hackathon du. Beno, abenduaren datozen, 8:00 etatik Etatik 7:00 etara, hasiera batean Epea irakurtzen, aukera bat izango da, to kideekin bildu - hau litzateke 9:00 PM inguruan - eta zuk dive zure azken garaian sartu proiektuaren ezarpenaren ondoan ikaskideekin, lagunekin, eta janaria. Hau litzateke 1:00 AM inguruan izan denean, elikagai sorta lehenengo iritsi. Eta hau da 4:00 AM buruz duten CS50 Hackathon hartan urteko bereziki. Baina ikastaroaren amaiera egia da to CS50 Azoka ekarri zuen, bat-zabal campusean zure azken proiektu propioak erakusketa, zein familia eta lagunak dira, guztiak gonbidatuta, gure langileen hautaketaren gisa eta Gure industria lagunak. Honetan, esaterako, antzematen da 2.000-plus jendea bertaratu urteetan. Hau bezalako espresioak ez dira arraroa, eta, era berean, egin zure ikaskideekin gauzak gozamenerako lortzen duzun. Eta egia esan, azken hori lortzen dugun hasiera-de-epe ekitaldi bat, eta baita. Bezalako iruditzen zaizun honek gauzak, edo gutxienez Oraindik duzun bitxi zer gisa hau, ezagutzen tradizio berri bat Ikastaro deritzo CS50 Puzzle Eguna. Eta hau izan zen instituted bikote baten urte atzera benetan campusa seinalerik informatika ez dela buruz , programazioa eta, zalantzarik gabe, ez da besarkatzen buruz bakarrik dituzten ikasleak duten aurretiko esperientzia. Benetan arazoa konpontzeko buruzko oro har. Eta, beraz, Puzzlea Eguna, iragan gutxi batzuk baino gehiago urte ditu, atsegina bilakatzen gure lagunak elkarlanean at Facebook, beraz, ez dago primerako izango sariak eta ibaia zeharkatzen pizza at i-lab datozen larunbat honetan. URL zuzenduko duten bi edo hiru lagunak bada nahi partake zenuke berri honen tradizioan. Horrela mantentzen baduzu bat galdetu nahi nuke Kontuan gauza, eta lortu dugu, besterik gabe, bi minutuko klip horren gainean gaur egun ixteko. % 73 kopurua gogoratzen da. Tarta ere, zain izango duzu honetatik kanpo gurutzea bezala adjourn bat besterik ez une pare, eta horrek tradizio bat da, Ikastaroa, bai. Baina hau aurrekontua da gakoa Ikastaro horrek ikasketa plana gogoan. Zer da ikastaro honetan, azken finean, garrantzitsuena ez da, hainbeste, non azkenean erlatiboa zure ikaskideekin, baina non Astea 12, duzu, azkenean erlatiboa Aste 0 zeure burua. Baina ohi duzun dugu utziko hemen gaur, azken hau ez da hemen gure Daniel beraren arabera, nork egin zuen wrdly bideo une bat besterik ez duela. Utzi ohi dut honekin zer datza aurretik. Eta egiten dugun honetan, CS50 badugu izan gela aurrean langileak gora etorri etapa guztiak margotzen baten ikusizko irudi gehiago bezala zer zain aurten - baldar lortzean. Honekin ondorioztatu dugu Hemen pantailan. [Musika jotzen] DAVID MALAN: Hau da CS50. [MUSIKA - MATT & KIM, "ongi da"] HIZLARIA: 1 CS50 katuak baino gehiago maite dut. HIZLARIA 2: Whoaaaa! [Barreak] DAVID MALAN: Hau da, beraz, ez da CS50. Baduzu, ikusiko dugu ostiralean. [Txaloak eta txaloak] Narratzailea: Hurrengo CS50 egun bat eszenatokian demo ez da aurreikusi bezala. DAVID MALAN: Mike aurkitu nahi dugu Telefono liburu honetan Smith. Beno, zer dira zure instincts? Jauzi egin dut gutxi gorabehera baliteke erditik aurrera telefono-liburua, begiratu behera, ikusten M naiz nintzen, eta orain ezagutzen ditut, Mike duten Smith ez da ezkerrera. Eskuinera egin behar izan zuen. Eta, beraz, puntu honetan, dugu daiteke literalki malko - Puntu honetan, literalki dezakegu malko - puntu honetan, ezin dugu figuratiboan Kendu erdi liburu telefonoa. [UKELELE STRUMMING]