[SKAN MŪZIKA] [SKAN MŪZIKA] DAVID Malan: Labi. Tas ir CS50. [Muzicēšanu Tritonal, Cash Cash,  "Untouchable"] [SKAN MŪZIKA] SPEAKER 1: Es esmu gatavojas Francija, un jūs gatavojas, too. [SKAN MŪZIKA] DAVID Malan: Tas ir CS50, Hārvardas Universitātes ievads uz intelektuālo uzņēmumiem datorzinātnēs un māksla program-- un pirmo reizi vēsturē, Yale University ir tik labi. Patiesi, vai jūs esat šeit, Cambridge vai New Haven vai Miami vai St Louis vai Amsterdama vai jebkur apkārt pasaulei ņemot CS50, dators zinātne E50, CS50X, CS50 AP, Mēs esam visi viens un tas pats. Laipni lūdzam CS50. Ko mēs have-- [Aplausi] [Smejas] [Aplausi] Tāpēc es kļūdījies sevi daži Pirms laika, kad es sāku off koledžā. Un es saņēmu uz koledžu, un es nolēmu godīgi sakot, stick manā komforta zonā. I beidzās koncentrāciju atzīst, vai galvenais, valdības. Ant tas bija galvenokārt funkcija mani ir diezgan pazīstams ar valdību vai vismaz vēsturi vai man tiešām patika konstitucionālās tiesības vidusskolā. Un tad, kad es saņēmu šeit, es veida no gravitated pret lietām ar kuru es jau biju pazīstams. Pa labi? Nedod Dievs man slikti klasē. Es, protams, gribēju palikt manā komforta zonā, un tā nebija, līdz sophomore gadu, ka es beidzot piecēlās nervu soli pēdas klasē sauc CS50. Un tajā brīdī, darīja es beidzot saprast ka, mans Dievs, mājas varētu faktiski būt jautri. Patiešām, es biju viens no tiem bērniem ka piektdienas vakaros, kad P-SETS tiks atbrīvota, es varētu iet atpakaļ uz manu istabu un nirt pārvērta nakts P komplektu. Un man, ka bija zīme tas, ka bija lauks par mani. Bet to, kas bija svarīgāka bija Fakts, ka I did get šo nervu izpētīt ūdeņus svešs man un saņemt ārpus savas komforta zonas un godīgi sakot, es tikai bija iespēja to darīt, sophomore gadu, ņemot šo klasi / neatbilstības. Patiešām, tas bija ļoti pēdējā dienā, Es beidzot pārgāja pāri un, visbeidzot, deklarēta CS kā mana koncentrācija, liekot Gov tajā brīdī aiz manis. Un tāpēc mēs neesam izklāstot šis kurss pārvērst jums visiem uz CS lielie vai koncentratori, bet drīzāk, lai dotu jums iespēju cerams pārsniedz pasaulē ar kuru jūs pašlaik pazīstams un atvest no šīs pasaules prasmes un zināšanas un gudriem ka jūs varat pieteikties uz savu pašu pasaulē, vai tas ir humanitārajās, sociālajās zinātnēs, dabaszinātnes, vai ārpus tās. Patiešām, ja jūs esat sajūta mazliet bezbailīgs par to šajā telpā nemaz nerunājot šajā klasē, saprast, ka, ja vēsture jebkura norāde, 72% no jums nekad nav veikušas CS kursu pirms. Tātad tas ir ar visiem līdzekļiem nav gadījums ka students sēž pa kreisi vai pa labi vai priekšā vai aiz jums zina daudz vairāk par CS vai plānošanas jo īpaši, nekā jūs. Tas ir faktiski nav gadījums. Un tiešām, daudz atbalsta struktūra ka mēs esam izveidota šajā Protams pēdējo daudzu gadu garumā ir bijis tieši tā reason-- uz nodrošina uz rampas, kas vēl izeja tikpat stingri un tikpat augsta kā ever-- bet slīpums, kas ļauj studentiem mazāk apmierināti un ērtāku gan, lai gūtu panākumus, neatkarīgi viņa vai viņas iepriekš fona. Patiešām, ko galu galā jautājumi šajā klasē nav tik daudz kur jūs galu galā salīdzinot ar saviem klasesbiedriem bet kur tu 12. nedēļā beigties attiecībā pret sevi nulles nedēļas laikā, kas ir kur mēs esam šodien šeit. Patiešām, un tas var ļoti labi un, iespējams, tas izskatās grieķu daudziem no jums. Bet esiet droši, ka šo un tā daudz vairāk būs pilnīgi jūsu satveriet tikai mazliet laika. Bet šodien, mēs koncentrējamies uz dažām no augstāka līmeņa idejas lai dotu jums garšu CS50 un datorzinātne savā ziņā par to, kas jūs pierakstīšanos. Un tiešām, datorzinātnes varētu būt destilēts vairāk vienkārši kā skaitļošanas thinking-- domāt kā dators, ja Jums gribas. Un tur ir tik daudz dažādas lietas sastāvdaļas, kas iet uz, ka, bet pieņemsim ierosināt tikai trīs par šodienu. Ja mērķis klases galu galā nav mācīt jums programmēšana, nav mācīt jums C vai PHP vai SQL vai jebkurš skaits vārdiem un akronīmi In The Protams apraksts, bet gan iemācīt jums efektīvāk risināt problēmas un domāt vairāk metodiski un vairāk algoritmiski, lai runāt. Let 's redzēt, ko īsti tas nozīmē. Tāpēc es ierosinu, ka domāšanu skaitļošanas vārīties uz leju to problēmu risināšana. Kas jums ir nepieciešams, lai atrisinātu problēmu? Jums ir nepieciešams, piemēram, input-- ieejas uz problem-- Jums ir nepieciešama produkciju, kas ir cerams risinājums, un tad jums ir nepieciešams procesu, kas, lai atrisinātu šo problēmu, kas mēs zvaniet algorithm-- kopumu instrukcijas risināšanas dažas problēmas. Bet vispirms, pieņemsim koncentrēties uz pirmo un pēdējā no šīm ieejas un izejas. Datori galu galā, acīmredzot tikai saprot nullēm un uzņēmumiem. Bet kā tas iespējams, būtu? Pat ja jūs neesat pazīstams vispār ar to, kas ir zem motora pārsega, Jūs droši vien vismaz dzirdējis, ka datori saprast binary-- tikai nulles un ones-- bet kā var Jūs, iespējams, kaut ko darīt interesantu? Nu, viena no tēmām no klases notiek būt šis layering-- kur šodien, mēs veikt ātru mirklī pie zemākajā līmenī detaļas, bet ar katru dienu, kurā mēs slānis vai abstrakts virsū šajos rekvizītos lai faktiski atrisinātu augstāku problēmas interesē mūs. Tātad, šeit ir tas, ko mēs varētu saukt binary-- tikai ar alfabētu no 0 un 1. Bet mēs cilvēki lielākoties iepazinušies ar komata. Decembris nozīme 10. Bi nozīmē divi. Un tā ir aiz komata sistēma, mums ir 10 cipari mūsu disposal-- no Protams, nulles līdz deviņi. Tātad, ja jūs apskatīt numuru kā šis, lielākā daļa no jums intuitīvi vienkārši saprast, kas ir 123. Nav nekas tiešām grūti par to. Bet kāpēc tas ir 123? Nu, ja jūs domājat atpakaļ pakāpes school-- vai vismaz kā es uzzināju šo veida world-- tevi varētu atgādināt, ka mēs ārstēt šos lietas kolonnas, vai vietās. Tāpēc mums ir tie, vietu labajā pusē. Desmitiem vietu vidū. Simtiem laist pa kreisi. Un tad kā mēs no šī modeļa symbols-- 1 2 3-- līdz šim augstākā līmenī Ideja, ka mēs zinām, kā 123? Nu, tas ir tikai daži vienkārši aritmētika. Pa labi? Viens ir būtībā nozīmē dod mums 100 reizes 1 plus 10 reizes 2 plus 1 reizes 3. Un, protams, ja mēs out math tur, tas ir 100 plus 20 plus 3-- citādi zināma kā 123. Tātad, ja jūs esat par pati lapa kā šīs tiesības tagad un ir apmierināti ar tā saukto decimāls sistēma kā cilvēks, tas tiešām labi laikā Jūsu joma komforta apsvērt tagad bināro sistēmu. Veikt savvaļas guess-- tas nozīmē, pasaulē datoriem in binary-- cik lielā skaitā? Nulle. Bet kāpēc tā? Nu, izrādās, ka kolonnas vai vietas here-- Viņi nav pilnvaras 10. 1, 10, 100, 1000, un tā tālāk. Viņi vietā, diezgan vienkārši, pilnvaras 2. Tātad, 1, 2, 4, 8, 16, 32, un tā tālāk. Un tāpēc tagad mēs, protams, nokļūt līdz 0 šeit tikai tāpēc, ka mums ir 4 reizes 0 plus 2 reizes 0 plus 1 reizes 0, kas, protams, dod mums 0. Bet kā es varu iet par pārstāv numuru 1? Kas modelis nulles un tie, kas pārstāv ciparu mēs cilvēki zina, kā 1? 001. Un 2? 010. Un tagad modelis sāk atkārtojas. Tagad tas ir 011. Un atkal, 0 četrrāpus, viens 2, viens 1. Tātad 2 plus 1. Tas ir 3. Un tagad pārstāvēt 4, mēs ne tikai mainīt, ka 0 līdz 1. Jums veida ir veikt, tā sakot, un skaitļi sākt flipping ap tikko tāpat kā aiz pasaulē. Tātad, tas ir 4. Tas ir 5. Tas ir 6. Tas ir 7. Un tāpēc mēs esam skaitīti augsta kā 7. Tagad viss, kas mums ir nepieciešams, ir vairāk bits-- vairāk nulles s un viens ir. Un tiešām "bits", ja esat dzirdējuši šo term-- bināro ciparu. Bit ir, ja tas nāk no. Un tāpēc, ja mēs vēlamies, lai pārstāvētu lielāki skaitļi, mums vajag vairāk bitu. Bet pieņemsim virzīties prom no slaidiem tagad lai kaut nedaudz vairāk reāli. Pieņemsim, ka mēs vēlamies, lai faktiski pārstāv šī lieta. Nu pieņemsim to apskatīt tagad pie nedaudz demonstrāciju. Tātad tas ir tīmekļa lietojumprogramma ka viens no CS50 pašu, Michael G, kopā šovasar palīdzēt mums izskaidrot tieši šo ideju. Un vai kāds, piemēram, riska up uz skatuves priekšā visiem saviem klasesbiedriem? Turpat priekšā. Nāciet uz augšu. Jums ir jābūt ērti kameras un internetā. Ak, tieši šeit. LABI. Mēs esam OK. Viss kārtībā. Nāciet uz augšu. Kā tevi sauc? Emily nākt uz augšu. Tātad šis ir Emily. Ko gadu tu esi? Pirmkursnieks. Emily, nice to meet you. David. Viss kārtībā. Tātad uz ekrāna šeit, mums ir šī touch screen kas gatavojas ļaut mums faktiski mijiedarboties ar šo programmu, un tas ir tikai pārlūkprogramma. Tas ir Chrome pilnībā pārmeklēta brīdī, bet tas ir ieprogrammēts Michael līdz reaģēt tādā veidā, kas ļauj mums spēlēt aptuveni ar bināro cipariem. Tā, piemēram, šeit mums ir ne Trīs bet astoņi bits-- nullēm un uzņēmumiem. Tieši tagad, mēs esam apskatot skaita 0. Un tiešām, visi astoņi nullēm in komata nozīmē nulle. Tātad tas ir viss, kas ir tiek hinted šeit. Tātad, ja jūs vēlaties, lai pārstāv numuru 8, kāda ir modelis nullēm un tie, kas jūs vēlaties? Jūs varat vienkārši pieskarties augšu vai uz leju vai paši skaitļi. Viss kārtībā. Tāpēc, ka, protams, ir 8, kā jūs varat redzēt tur. Un, ja mēs vēlējāmies do 16, ko mēs darām? Yep, tikai pieskarties to vēlreiz. 16. Viss kārtībā. Tātad tas ir viss labi un labs, tas joprojām ir ļoti zems līmenis. Mums ir nepieciešams veids, kā šajā reālā pasaule Emily faktiski pārstāv šīs lietas. Un tāpēc pieņemsim, ka mēs savukārt šie nullēm un tiem, kas ir ļoti konceptuāls, par faktisku spuldzēm. Pa labi? Dators ir fiziska, mehānisko, elektrisko ierīci. Un tā input-- vismaz ja jūs plug to, vai maksa it-- ir panākt, lai akumulatora enerģiju un elektroni plūst iekšā un ārā. Tāpēc tagad, kāpēc nav mēs apstāties domāšanu par bitiem kā nullēm un tiem, bet kaut kas vairāk fizisko tāpat spuldzēm šeit. Un, ja Dan Armendariz varētu pievienoties me lai tikai moment-- nāk uz up-- mēs ejam, lai stāv rindā pieteikumu. Nāc uz vairāk, Emily. Atvainojiet tas ir visvairāk neērts demo jums kādreiz. Nāc uz vairāk nekā šeit. Mēs ejam, lai rindā līdzi pateicoties Dan Armendariz, cits loceklis mūsu darbiniekiem, pieteikums pazīstams kā bināro spuldzes. Tātad, kas mums ir šeit ir iPad pieteikumu kas ir šo lietotāju interfeiss uz ekrāna Emīliju. Tas ir tikai got to pašu precīzu UI būtībā tas ir tur. Un, ja jūs tagad vēlaties pārstāv skaitu, teiksim 8, kā jūs iet par to izdarīt Tas Pamanījis labajā pusē, gaismas spuldzes, kas mums ir šeit? Ah-ha. Maģisks. Tātad, ja mēs vēlamies, lai tagad savukārt to vērā kaut kas mazliet grūtāks, un iesim uz priekšu un izvēlēties izlases numurs tāpat skaita 50 šeit. Ieejas šo. Un, ja jūs tagad var apstrīdēt nākt uz augšu ar numuru 50, mums būs pasakains balvu jums. EMILY: OK. Ak mans Dievs. DAVID Malan: Aritmētiski ir patiešām grūti priekšā simtiem jūsu klasesbiedriem. Bet 50 ir atbilde šeit. [Aplausi] Un tāpēc tagad, tas ir domāts, lai būt demonstratīvi par Emīliju. Tātad, šeit ir daži gaisma spuldzes gluži tāpat tie, bet tas ir faktiski maz magnētiskās lentes. Un, kas ir cool par šiem un iemesls mēs izmantojam tos CS50 ir tas, ka viņi atbalsta kaut ko sauc API-- pieteikums programmēšana interfeiss, kas ir tikai iedomātā veids kā pateikt, ka tas, kas ir viens no mūsu darbiniekiem bija vairāk nekā vasarā tika izveidot iPad pieteikumu šeit kas runā internetā uz spuldzēm nekā šeit, kas ir bez vadiem savienots ar citu ierīci. Bet tagad tas ir risinājums gala projektiem. Un tā Emily, ja tu būtu tik piemēram, beigās termiņa, Jūs varat izgreznot savu kopmītnes istabā Tikmēr ar tiem. Paldies Emīliju, kā arī. [Aplausi] Bet tagad, pieņemsim savukārt mūsu uzmanību uz to, ko ka ziņojums varētu būt izskatījās, un tas ir nedaudz kaut kas līdzīgs šim. Faktiski, tas ir piemērs tāpat kā teaser par to, kas nāk no tā, kas ir sauc par API pieprasījums. Un tā, kas mums ir šeit ir vienkārši tieši veidiems ziņu ka pēc pāris nedēļām Laiks CS50, jūs varēs nosūtīt kaut ko diezgan pazīstami, piemēram, ka faktiski pārvērst tos un izslēgt. Bet tas viss ir labi un labs. Pa labi? Mums ir garīgās modeli cerams pārstāv numurus nulle s un viens ir. Un no nullēm un tiem, mēs varam nokļūt augstāku numuru, piemēram, 50, kā Emily vienkārši darīja, vai mēs var pārvietot uz augšu no tā. Un es apgalvot, ka mēs varam pārstāvēt lietas, piemēram, vēstules, kā arī. Pa labi? Datori ir daudz Interesanti, nekā tikai numuru. Un tā kā jūs iet par pārstāv vārdiem uz ekrāna vai e-pastiem vai esejas vai tamlīdzīgi? Nu, izrādās, ka datori vienkārši abstrakts virsū šiem zemā līmenī detaļas, un cilvēki kādu laiku atpakaļ, atnāca ar patvaļīgi, bet konsekventu, kartēšanu skaitļu letters-- tik ka jebkurā laikā jūs redzat lielais burts Datorā ekrāns, izredzes ir to, kas ir zem motora pārsegs ir modelis nullēm un uzņēmumiem kas pārstāv numuru, par šo tabulu, 65. Un vēl fiziski iekšpusē datora, Ir miljoniem lietas sauc transistors-- šos days-- kas ir tikai ieslēdzas, ja jūs, lietas ka var iet un izslēgt un tā iedomāties. Ne astoņi no šiem lielajiem spuldzēm bet miljoniem šo tiny maz gaismas spuldzes, vai slēdži vai tranzistori, ka var ieslēgt un izslēgt pamatojoties uz to, kā jūs programma tos. Un tāpēc tagad mums ir veids, kā vēstules pārstāv, kā arī. Patiesībā, ja man bija, lai izmantotu šo kartēšanas šeit un mēģināt faktiski izskaidrot kaut ko, mēs varētu izskatīties Šajā modelis aiz cipariem tieši tagad. Tātad mēs nebrauksim, lai pat koncentrēties uz bināro vairs. Pieņemsim tikai apsvērt šos kā decimal numuru 72, 73, 33. Bet ko tas varētu pārstāvēt? Kāds ir pietiekami fotogrāfiskās atmiņas zināt, kas uzrakstīti uz ekrāna šeit? Yeah maz. Tik hi. H-I, un tad izsaukuma zīme, kas nebija faktiski uz ekrāna. Bet tiešām tur ir kartēšana par katru vēstuli katru numuru ka jūs varētu vēlēties, lai rakstīt uz klaviatūras. Bet skaitļi nav pārstāvēt tikai burtus. Pa labi? Visi no mums zina par attēlu un fotogrāfijas un audio failus un video failus un tamlīdzīgi. Tik skaidri mēs varam pārstāvēt augstāka līmeņa lietām joprojām. Un tā, ko dators tas ir vienkārši izvēlēties interpretēt modeļus nulles ones dažādi, pamatojoties uz kontekstā. Ja jūs dubultklikšķi Microsoft Word ikona, redzat vārdus uz ekrāna tā vietā, lai krāsas un attēlus jo vārds zina, ka tas ir eseja, ka jūs esat faktiski drukāti. Ja jūs vietā dubultklikšķi uz JPEG vai GIF vai PNG, tā paver un ir attēls, jo .PNG Vai .docx vai kāds failu pagarinājums ir un kāds programmatūra jūs izmantojat zina interpretēt modelis nullēm un tiem atšķirīgi pamatojoties uz to, ko tās mērķis dzīvē ir. Tā, piemēram, šis pati secība numuru varētu pārstāvēt cik red do you gribu, cik daudz zaļā jūs vēlaties, un cik daudz zilo jūs vēlaties. Un tiešām, ja jūs esat kādreiz dzirdējuši RGB-- tik vienkārši sarkans zaļš zils. Un tāpēc, ja es redzu numurus, piemēram, šis man 72 Red, dod man 73 zaļš, un 33 blue, tas ir kā datoru, izmantojot trīs bytes-- kur baits ir astoņi biti vai 24 bits-- nozīmētu diezgan šķebinošs toni no brūna vai dzeltena šeit. Un dažādos kontekstos, varētu tos Precīzi paši modeļi nullēm un uzņēmumiem nozīmē kaut ko pilnīgi atšķirīgs, kā arī. Tātad mums ir tagad veids, pārstāvot information-- nullēm un uzņēmumiem. Papildus, ka, mēs vēstules. Uz augšu, ka mēs varētu saņemt krāsas. Un pieņemsim, uz šodienu ka mēs varam iegūt audio un video un lietas tik daudz sarežģīta nekā. Bet tagad pieņemsim apsvērt kā mēs izmantot šos ieguldījumus un ražot tās izejas Tagad, kad esam veids, kas pārstāv šo informāciju. Nu, mums ir nepieciešams kaut ko sauc algoritms. Atkal norādījumu kopums lai atrisinātu dažas problēmas soli pa step-- un precīzāk, jo labāk. Un tā piemērs, ar kuru cilvēki ir protams mazāk pazīstami šajās dienās, bet tomēr joprojām ar mums programmatūru, ir process, looking up kāds tālruņa grāmatu. Tagad, mazāk un mazāk ļaudis zina katrs gadā, ko šis relikts patiesībā ir šeit. Bet atpakaļ manā dienā, tas bija tālruņu grāmata ar tūkstošiem lappušu un numuru un cilvēku vārdus no A līdz Z. Un, pat ja mēs esam veida krāpšanos bit-- tas galvenokārt dzeltenās lapas. Tur bija arī balts lapas brīdī, kas bija visus šos vārdus un numuri faktisko cilvēku. Un, ja es gribēju skatīties kādu pasažieri A tālruņu grāmata patīk šī šodien, protams, Es vienkārši ierakstiet pirmo pāris rakstzīmes viņa vai viņas vārdu, un mans telefons atrod šo informāciju. Bet process, kurā Jūsu iPhone vai Android tālruni vai kāds ir reāli atrast kāds jūsu kontaktu sarakstā ir identisks tam, ko mēs cilvēkiem iespējams, ir darījuši kādu laiku. Tagad es varētu ņemt to problēma, ja jūs, un izejvielas šeit nav nullēm un uzņēmumiem. Viņi pages--, piemēram, teiksim 1000 lapas. Un, ja es gribēju uzmeklēt kādu patīk Mike Smith šajā tālruņu grāmatā, Es varētu sākt sākumā un redzēt, ka es esmu A sadaļā un tad savukārt vienu lapu laiks, meklē un meklē kā es darīt ar B s un C s un D's un tā tālāk par Mike Smith. Smith, sākot ar S, es ņemšu cerams beidzot atrast viņu. Vai tas algorithm-- ka process-- pareizi? Jā. Tas ir pareizi. Es atrast Mike, ja viņš ir šeit, bet kāda ir brīdinājumu, ka jūs varētu piedāvāt. Tas ir lēns. Pa labi? Es zinu, Mike S ir sava veida pret tā puse no tālruņa grāmatu. Kāpēc heck es esmu sākot sākumā un dodas lapu, lapu pēc lapas. Tātad, protams, es varētu uzsist tā apkārt un sākt no aizmugures, bet kas notiek, lai saņemtu mani tur ar tādu pašu ātrumu, ja jūs willl-- lapu Pēc lapu pēc lapas. Un tas nav dodas uz darbu, ja es gribu meklēt kāds cits, kura nosaukums nāk agrāk alfabētu. Tātad, ko tad man darīt to, ko es uzzināja pakāpē skolā, atkal, darīt lietas nav ar tiem, bet pa pāriem. Tātad, 2, 4, 6, 8, 10, 12, un tā tālāk. Vai tas ir pareizi? Nē. Tas ir sava veida pareizs. Bet daži no jums, kas kurnēja nē, kur ir problēma, vai bug, kļūda tā runāt. Jā. STUDENT: Jūs varētu izlaist pār labo ierakstu. DAVID Malan: Jā. Es varētu izlaist Mike Smith ir jo es esmu veikusi divas lappuses uzreiz un viņš vienkārši notiek, ir iepildīts starp šīm divām lappusēm. Es varētu saprast, ka Es esmu par to T sadaļu tam nav atrasts Mike Smith vēl. Un tā, ko varētu Tur fiksētā būt? Nu, ja man hit Ts tālruņu grāmatā, Es varētu būt vajadzīga divkāršot atpakaļ vienu vai arī tā lapas. Tātad, tas ir fixable, bet tas nav gluži tik vienkārši kā tikai gatavojas ar divām līdz paātrināt manu sniegumu. Bet kas? Nāc šurp. Kas ir tas, ko lielākā daļa cilvēku dodas darīt ar šāda veida tālruņa grāmatu? Jūs esat dota telefona grāmatu. Ko jūs darāt? Kas tas ir? Iet uz vidu. Tāpēc es dzirdēju iet uz vidu, un es atrast sevi aptuveni no M sadaļā, tā sakot. Un tagad to, ko vēlos darīt? Labs darbs. Kā tevi sauc? JAMES: James. DAVID Malan: James, viss labi. Ko man darīt tālāk? JAMES: jūs iet no puse, kas ir S 's. DAVID Malan: Labi. Es iešu uz pusi, kas ir S tā nozīmē, jo, atkal, atrunu šeit bija ka šī lieta ir sakārtots. Tas ir diezgan bezjēdzīgi 1000 lapas ja Verizon nav faktiski kārtot šīs lietas mums A līdz Z. Tātad, ja es zinu, Mike ir iespējams, tā puse no tālruņa grāmatu, Es varu tagad. [Smejas] Asaru problēmu pusi. [Aplausi] Paldies. Asaru problēmu pusi. Tas bija tiešām real-- šo cīņu. Tātad asaru telefona grāmatu uz pusēm, atstājot sevi ar būtībā to pašu problēmu. Bet, protams, uz pusi tik liels. Un, ja es sekot James konsultācijas atkal, un es iet šeit. Es saku, ak tagad es esmu T sadaļā. Un tā, protams, es var saplēst telefona grāmatu pusi vēl vienu reizi, atstājot man ar problēmu, kas ir tagad ceturtdaļa no lieluma. Tāpēc es esmu gājusi no 1000 līdz 500 250 līdz 125 un tā tālāk. Tā uzskata, tāpat kā es esmu ņemot lielākus kodumiem ārā Šīs problēmas ar katru atkārtojuma, vai katrs solis tajā. Un tiešām, laiks es esmu gatavojas tērēt atrast Mike Smith šajā piemērā ir tik daudz mazāk, jo galu galā es esmu gatavojas drāzt šo Pone grāmata leju uz vienu vientuļo lapā. Un, ja Mike ir šajā lapā, es esmu gatavojas iet uz priekšu un dod viņam zvans, atradis to. Bet cik daudz labāk ir tas, ka algorithm-- kas uzdrošinās teikt intuitīvi algorithm-- nekā tiem, mēs sākās ar kuru mēs esam ļoti linear-- atstāta right-- tempā 1 vai 2x? Nu, pieņemsim gabals šis. Mums nav jāuztraucas pārāk daudz par math vai numurus šajā gadījumā šeit. Mēs vienkārši apskatīt zemes gabala. Tātad uz x, vai horizontālo asi, ir lielums problem-- Cik lapas ir tur. Uz y, vai vertikāli ass, ir, cik daudz laika tas notiek, lai mani, lai atrisinātu to. Un varbūt, ka tas, cik daudz Lapa pagriezienus, cik sekundes, cik many-- kādu vienību pasākumu. Un es esmu sastādīts sarkanās taisnas līnijas šeit, jo ja katru papildus lapu no tālruņa grāmatu, Es prasu veikt vienu papildu soli. Tātad, ja Verizon piebilst vienu vairāk lapa nākamgad, Es varētu būt uzsist vēl vienu lapu atrast kādu, piemēram, Mike Smith. Tajā pašā laikā, tad otrs algoritmu, kas Es devos pa pāriem, ir pati forma. Tas joprojām ir ļoti lineārs, ļoti atstāts labi, ņemot vienādas iemaksu baiti katru reizi, bet slīpums ir nedaudz zemāks. Piemēram, ja lielums problēma bija aptuveni šeit un es izmanto manu pirmo algoritmu, Es varētu nonākt visu ceļu augšdaļā minētās sarkanās līnijas. Bet, ja es tā vietā izmantot līdz twosies pieeja, dzeltenā līnija iesaka jo tas ir zemāks, ka tas notiek, lai mani mazāk reizi atrisināt. Bet kāda ir forma Trešais algorithm-- atkal, varbūt visvairāk intuitīvākas algoritmu? Nu, tas izskatās mazliet kaut kas tamlīdzīgs. Tas ir izliektas, vai logaritmisko, forma. Un, pat ja tā nekad veida saplacina ārā, tas asimptotiski collas uz augšu un uz augšu un uz augšu, bet briesmīgi lēni pret visu pārējo. Un kāda ir atņemt? Nu, mēs saucam to log n. Bet ko tas patiesībā nozīmē? Nu ja Verizon dubultojies lappušu skaits tālruņu katalogā nākamgad no 1000 līdz 2000. Cik vēl posmi ir mana Pirmais algoritms gatavojas veikt? Mana pirmā algoritmu. Varbūt 1000 vairāk soļus. Ja viņi dubultojies tālruņu grāmata, es eju ir uzsist pa otru 1000 lapas, lai atrastu Mike. Protams, ja otrais algoritms, varbūt 500, jo es esmu notiek divreiz ātrāk. Bet, ja Verizon dubultojas numuru Lappušu starp šim un nākamajam gadam, ar manu trešdaļu algorithm-- plaisu un iekarot ka James ierosināts, iet uz pusēm un pusi un half-- cik daudz vairāk soļi tas ņem mani nākamgad ir tālruņa grāmata, kuru izmērs 2000? Tikai vienu. Jo ar vienu kodienu, es varētu veikt, no šīs problēmas, puse no lapas prom. Un, ja jūs domājat par to maz crazily now-- ja tālrunis grāmata nav ir 1000 vai 2000 lapu, bet teiksim 4 miljardi pages-- tas ir liels tālruni book-- kā daudzas reizes un cik soļus tas gatavojas veikt mani atrast Mike Smith tālruņu katalogā ar 4 miljardi lappusēm. Jūs varat kārtot sākt darīt math. Viss kārtībā. 4000000000 dalīts ar 2. Tātad tas ir 2000000000 dalīts ar 1. Tas ir 1000000000. Tad pusmiljardu. Tad 250-- lai jūs varētu darīt to atkal un atkal, bet nav tik daudz reizes pirms jums vienas lapas. Un tiešām, pat tad, ja tālrunis Grāmata ir 4 miljardi lappuses vai datu bāzē jūs meklējat ir 4 miljardi ieraksti ilgi, tas notiek, lai jūs dot vai ņemt 32 soļi, tikai, lai atrastu Mike Smith. Un, ja jūs dubultā telefona grāmatu blakus gadu no 4 miljardiem līdz 8 miljardiem, 33 soļi, nevis tikai 32. Un tas ir testaments ar vienu no idejām ka mēs varētu apskāviens datorā zinātne kopumā, kas tas ir skaitļošanas domāšana un tuvojas problēma atklāti, izmantojot instrumentus no Jūsu jau pazīstami instruments kit-- savu nekustamo pasauli ar ko jūs esat pazīstami, bet apvienojot šo ideju faktiski risināt problēmas. Bet mums ir nepieciešams formalizēt OUR risinājumus šīm problēmām. Un tāpēc ļaujiet man iepazīstināt uz brīdi kaut mēs varētu aicināt pseudocode. Liela daļa semestra, mēs tērēt izmantojot faktiskais kods valodās, piemēram, C un PHP un JavaScript un SQL un tamlīdzīgi. Bet tagad, pieņemsim tikai apskatīt kaut ko diezgan intuitīvs piemēram, angļu valodā. Es varētu destilēt ka algoritms, ar kuru Es atklāju Mike par soļiem, kā šis. Paņemiet telefona grāmatu Atvērt, lai vidū tālruņa grāmatu Paskaties nosaukums s Ja Mike ir viens nosaukums ir zvaniet Mike Cits, ja Smith ir agrāk grāmatā Atvērts līdz vidum kreiso pusi grāmatas Else doties līnija 3 Cits, ja Smith ir vēlāk grāmatā Atvērts līdz vidū, tiesības puse no grāmatas Doties uz līnijas trīs cits Padoties Un tur ir dažas pazīmes tagad Tas, ka ir vērts norādīt. Tik viens, visas pozīcijas Esmu izcelta dzeltenā krāsā mēs esam gatavojas sākt aicinot paziņojumus vai funkcijas vai procedūras. Viņi tikai darbības darīt tas, un tur nav visu, ka daudz mainīgums uz to. Nākamais solis šeit gan, tie ir conditions-- ja, cits, cits, ja cits. Un šie ir sauc nosacījumi, vai zari, un viņi lēmuma punktus. Un viņi ļauj mums darīt kaut nosacīti. Un patiesībā, pieņemsim ātri apskatīt varbūt pazīstami face-- mēs sauksim viņu Bill-- un tieši to, ko šie nosacījumi, kā tās var izmantot. Bill Gates: cilvēki padarīt lēmumus katru dienu. Piemēram, pirms jūs iet ārā jums veida ir, ja paziņojums, kas saka, ja līst, tad es ir nepieciešams, lai saņemtu manu jaka. Un datori ir pārsteidzošs, kad jums izlemt šos paziņojumus veidu ka tie var droši izpildīt šīs lietas pie neticams ātrums. Un tā datorprogramma patiešām ir mazliet matemātiku un daži ja paziņojumi kur lēmums tiek veikts. DAVID Malan: Tātad tagad pieņemsim koncentrēties par dažiem citā lines-- tie, es esmu izcelti dzeltenā krāsā šeit. Un izrādās, tur ir atšķirīgs veidi izsakot šo ideju. Bet intuitīvi ko mūsu līnijas 8 un 11 ka es esmu uzsvērusi šeit stāsta jums darīt? Jā, dodieties uz līnija 3, bet ko uzvedība ir tā, ka tiešām liekot? Tas ir sava veida sakaru līnijai vai ciklā, un jūs varat veida redzēt. Pa labi? Ja 8. līniju, jūs iet atpakaļ uz līnijas 3, un tad jūs hit līniju 8 atkal, jūs varētu doties atpakaļ uz 3. līniju, atpakaļ uz 3. līnijas, muguras līnija 3. Tur ir šāda veida cikla vai cilpas. Un tiešām, kas ir izraisīta line 11 potenciāli, kā arī. Un tas ir galvenais programmēšanas būvēt, kā arī. Jūs, iespējams, nevēlaties, lai tikai kaut ko darīt ar paziņojumu vai darīt kaut ko nosacīti ar nosacījumu vai filiāles. Jūs varētu vēlēties, lai kaut ko darīt cikliski ar cilpu. Un mums būs kāds cits, ar kuriem Jums varētu būt familiar-- mēs sauksim viņu Mark-- izskaidrot šo jēdzienu šeit. Mark Zuckerberg: One lieta, ka datori ir tiešām labi atkārtojas komandas. Kā persona, jūs saņemsiet patiešām garlaicīgi, ja jūs bija darīt to pašu daudz reižu pēc kārtas, bet dators var darīt to pašu miljoniem vai pat miljardiem reižu un nav garlaicīgi un jāspēj to izpildīt patiešām labi. Tā, piemēram, ja es gribu novēlēt visiem Facebook dzimšanas dienā nosūtot viņiem e-pastu, tas var aizņemt mani vairāk nekā gadsimta faktiski rakstīt out visiem šiem e-pastiem ikvienam. Bet ar tikai dažas rindiņas kodu, es varu ir sistēma Uzrakstīt ikvienam Facebook vēlas viņus dzimšanas dienā. Tātad, tas ko cilpas ir un kāpēc viņi vērtīgs un kaut kas ka datori var darīt ļoti labi. DAVID Malan: Liels paldies mūsu draugiem at code.org tiem divām filmām. Un tikai pagājušajā nedēļā, iespējams, ir redzams, ka Mark Zuckerberg un Facebook ievietojis šo paziņojumu, kas ir tas, ka viņi vienkārši ir pagājuši svarīgs pavērsiens pirmo reizi. 1 miljards cilvēku izmanto Facebook dienu, īpaši pagājušajā pirmdienā. Viens no septiņiem cilvēkiem uz Zemes acīmredzot pieteicies Facebook. Nu, tas šķiet laba izdevība atskatīties uz kur Facebook sākās, un mēs devāmies cauri CS50 pašas arhīvi, jo izrādās, 2005. gadā, Mark sniedza vieslekciju in CS50. Jūs redzēsiet, ka ražošanas vērtības nebija gluži tas pats toreiz attiecībā uz tehnoloģiju pieejami, un jūs arī redzēt, ka klātbūtne Šī vieslekcija ne vienmēr Piqué interesi Studentu ķermeņa, jūsu priekšteči, tik daudz, cik tas varētu būt tikai dažus gadus vēlāk. Tātad, pieņemsim to apskatīt at Science Center C. SPEAKER 2: lūdzu pievienoties man, un laipni. [Aplausi] Mark Zuckerberg: Yo. Viss kārtībā. Cool šī ir pirmā reize, kad es esmu jebkad bija turēt vienu no šīm lietām. Tāpēc es esmu tikai gatavojas pievienojiet to ļoti ātri. Viss kārtībā. Vai jūs dzirdat to? Vai tas ir labi? Vai tas papildināts vispār? Viss kārtībā. Sweet. Tātad, tas ir, piemēram, viens no pirmajām reizēm Esmu bijis uz lekciju at Harvard, but-- DAVID Malan: Tātad beidzot Science Centrs izdarīja tuvinātu video, bet ne pirms uzņemšanas šajā izvilkums kur Marka runā, ko viņš apsprieda viņa kaimiņiem, Dustin, kurš vēlējās sniegt roku ar šo vietne sauc Facebook.com un sapratu, ka Marks ir aptuveni nerunājot plānošanai languages-- vienu sauc Perl, viens sauc PHP-- kā viņš apspriež pirmsākumi Dustin ieguldījuma. Mark Zuckerberg: I sāka darboties vietā un uzsāka to Harvard februārī, 2004.. Tāpēc es domāju, gandrīz pirms diviem gadiem tagad. Un, kas pāris nedēļu laikā, daži tūkstoši cilvēku bija pierakstījies, un mēs sākām saņemt dažus e-pastus no cilvēkiem, pie citiem koledžās jautā mums, lai uzsāktu to savās skolās. Un man ir lietojis 161 tajā laikā. Tāpēc es nezinu, ja jūs guys zināt reputācija šim studiju kursam, bet tas bija sava veida smags. Tas bija tiešām jautri, protams, bet tas neierakstīja mani ar daudz laika darīt kaut ko citu ar Facebook. Tātad mans istabas biedrs Dustin, kas es domāju tikko bija pabeidzis CS50, bija, piemēram, hey. Es gribu, lai palīdzētu. Es gribu darīt paplašināšanos un palīdzēt jums saprast, kā to izdarīt stuff. Tāpēc es bija, piemēram, tas ir diezgan vēss, vecīt. Bet jums nav tiešām zināt kādu PHP vai kaut kā tā. Tā, ka nedēļas nogalē viņš devās mājās, nopirku grāmatu Perl for Dummies, atgriezās un bija, piemēram, labi. Es esmu gatavs iet. Man bija līdzīgi, vecīt, vietā ir rakstīts PHP ne Perl, bet tas ir forši. Tāpēc viņš pacēla PHP vairāk tāpat dažas dienas, jo I sola, ka, ja jums ir labs fons C, PHP ir ļoti vienkārša lieta uzņemt. Un viņš tikko veida devās uz darbu. Pirms mēs to apskatīt tagad kurā kurss notiek, ļaujiet man uzaicināt tikai daži no SC50 personāla līdzi, lai skatuves. Dažas no tām ir iepirkšanās savas kursi. Bet, ja šiem TFS un SI un protams vadītāji, kuri šeit varētu nākt uz augšu un pievienoties man ātri Sveiki. Atļaujiet man iepazīstināt īpaši Hanna, Maria, Daven, un Rob, CS50 kursa vada šeit Cambridge. [Aplausi] DAVID Malan: Patiesi, apliecinājums atbalsta struktūra, ka protams, ir būvētas no pēdējo daudzu gadu garumā, CS50 darbinieku šogad skaits gandrīz 100, un tas ir šeit Cambridge vien. Tikmēr, New Haven, ir tur daži 40 TFS un CAS un darbinieki tur palaist gaitu, kā arī. Ļauj mums ieviest pirmkārt, Rob Bowden. ROB Bowden: Hi. Es esmu Rob. Šis ir mans sestais gads TFing gaitā. Tātad, visu ceļu atpakaļ manā pirmkursnieks gadu, es neņēma CS50. Jūsu pirmkursnieks fall-- jums varētu būt pazīstams ka jūs varat veikt tikai četrus kursus un tur ir tik daudzi kursi šodien. Tāpēc es esmu, piemēram, eh. Paņēmu AP CS mans vecākais gads vidusskola tas bija briesmīgs. Tātad, es esmu, piemēram, eh. Datorzinātnes nav par mani. Tātad tas bija pār Protams manas pirmkursnieks kritums, kas man bija draugs CS50, un Es domāju, ka es apmeklēja vienu lekciju ar viņu. Tas ir tāpat, ak, tas ir sava veida labāks nekā to, kas man bija vidusskolā. Un gaitā no gadu, man bija mana problēmu komplekti kursos man bija tiešām lietojat. Bet es atklāju, ka, ja es vēlējās atlikt uz tiem, Es varētu iet atpakaļ uz CS50 un apskatīt dažas no šo stuff. Tātad, jā. ES esmu foršs. Es vilcināšanās ar kodēšanu. Tātad, tad tas ir beigās kritums, ka es saprotu, hey, datorzinātnes ir diezgan vēss. Es galu galā, ņemot CS51. Nākamajā semestrī, Es galu galā, ņemot CS61. Un tas viss no turienes, tad es galu galā deklarējot datorzinātnes, kas man bija pilnīgi nekāda nodoma darīt kad es stājās koledžā. Un tagad es esmu šeit. Tātad, protams, ir tas, ko jūs darīt to. Es ceru, ka jums baudīt to. [Aplausi] DAVID Malan: Paldies Rob. Un tagad Maria, mūsu galvu kursu palīgs. MARIA: Hey guys. Mans vārds ir Marija. Es esmu otrā kursa students in Cabot Māja, kas nāk no Bulgārijas, un es esmu super satraukti būt daļa no darbiniekiem šogad. Paņēmu CS50 kā pirmkursnieks pagājušajā gadā, un es nekad pat domāja par CS iepriekš. Tāpēc es absolūti mīlu šo kursu, un es ceru, ka jūs visi love it tik daudz, kā es darīju. Un, jā. Laipni lūdzam CS50. DAVID Malan: Paldies Maria. [Aplausi] Tagad Hanna, mūsu galvenais mācīšana puisis. HANNA: Sveiki, es esmu Hanna. Es esmu vecākais Cabot studē datorzinātnes. Paņēmu CS50 kā pirmkursnieks un bija bijis TFing-- šis būs mans trešais gads. Tāpēc es būs laimīgi iesaistīti in CS50 par visiem četriem gadiem, un es gaidu uz sadarbību ar jums visiem. DAVID Malan: Paldies Hanna. [Aplausi] Un visbeidzot, Daven, mūsu precepter. DAVEN: Hey guys. Es esmu pavēli pār datorzinātnes šeit. Tas būs mans ceturtais gads mācība. Es arī palīdz pārvaldīt kursu. Tāpēc es esmu pārliecināts, ka jūs redzēsiet mani apkārt, īpaši darba laika. Es esmu vienmēr pie darba laika. Tātad, ja jūs redzat mani kājām apkārt, noteikti nāk teikt hi. Man patīk, lai apmierinātu visus. Pretējā gadījumā ir jautri, un Tiksimies apkārt. DAVID Malan: Paldies Daven kā labi. Tātad jūs atbilst visiem šie ļaudis pirms ilgi. Bet bez turpmākas ADO, ja jūs puiši varētu vēlētos, lai atsāktu savu sēdvietas no agrāk. Atļaujiet man iepazīstināt no tālienes tagad daži no mūsu draugiem no New Haven, jo īpaši Kurss ir galvas, kas būs ir pārraudzīt CS50 there-- profesors Brian Scassellati, Jason, un Andi, kurš just-- tāpēc, ka mums nebija kārdināt liktenis ar jebkuru FaceTime vai like-- tikko mums atsūtīja minūtes Pirms šādu video, kurā viņi saka hello from lekciju zālē at Yale, kurā lekcija tiek straumēta tieši tagad. Tātad mūsu draugi no Yale. BRIAN SCASSELLATI: Hi, David. Hi, visi Hārvardas. Mums ir tik satraukti, lai celt CS50 uz Yale šajā semestrī. Mans vārds ir Brian Scassellati, bet visi tikai prasa man SCAS. Un es esmu šodien šeit, lai ieviestu uz jums CS50 darbinieki. [Uzmundrinoša] Un vēl svarīgāk, es esmu šeit ieviest, kā arī visiem studentiem Yale kurš no šā rīta ir padarījusi šo populārākie Protams Yale tās CS50 studentiem. [Uzmundrinoša] Tāpēc mēs esam ļoti satraukti lai redzēt jūs šeit piektdien un sestdien Puzzle dienu un ir liels lekciju. Bye. [Aplausi] DAVID Malan: Uz ekrāna šeit ir nosaukumi retajām 140 darbinieku locekļi, kas gaida jums pār Protams no semester-- daži no tiem šeit Cambridge, daži no viņiem šeit New Haven. Un tiešām jums ir iespēja šo sestdien, kā SCAS piezīmes, lai apmeklēt CS50 Puzzle diena. Jums varētu būt redzējis maz puzzle gabalus paslīdēja zem durvju nesen. Mums ir dažas ekstras šeit vēlāk, kad tu eksistē. Ja jums apkopot visu četru puzzle gabali un apvienot spēkus ar telpām tuvumā jūsu vietā jūsu house vai kopmītnes, tie būs montēt uz QR code-- vai divdimensiju svītrkodu, ka reizi montē un skenēta ar tālrunis radīs Jums zināmā pasakains balvu or-- Es domāju jūs varētu vienkārši nofotografēt šo tagad arī. Bet atrast šos puzzle gabalus tomēr lai uzvarētu šo pasakains balvu. Un patiešām ir viens no tradīcijām in SC50-- ah, pārāk lēns. Viena no tradīcijām CS50 ir kalpot kūku pēc pirmās lekcijas. Un tā patiešām, jo dažas minūtes no tagad, būs kūka pasniegta ārpus gan šeit, gan New Haven, kā arī. Bet first-- mēs dekorēts viņiem pašiem. Bet first-- un cerams tur būs pietiekami. Bet vispirms, ātri apskatīt. Tātad lekcijas patiešām būs ražots galvenokārt šeit Cambridge. Bet katru mēnesi, mēs hop līdz Yale ar CS50 ražošanas komandas un plūsma kurss pretējā virzienā, kā arī, lai kā lai šīs divas augstskolas patiesi pirmo reizi vēsturē tik tuvu kopā, cik iespējams kā viens tajā pašā kursā. Runājot par atbalsta struktūras, kas ir tika piecēlās šeit Cambridge, kā arī kā New Haven, ir sadaļas. Patiešām, kā daži no jums var zināt, mums ir dažādas dziesmas laikā gaitā tiem mazāk ērti, ērtāk, un kaut kur starp, lai neatkarīgi no jūsu iepriekšējo fona, jūs varat galu galā izdodas klasē. Darba laiks tikmēr, ir iespēja pirmdienās un otrdienās un ceturtdienu vakaros strādāt gan šeit un New Haven uz mūsu kursa s Problēma komplekti ar desmitiem Kurss darbinieki pie jums. Problēma noteikti tikmēr, ir atbalsta lietām, kuras mēs saucam walkthroughs, kas ir video balstās konsultācijas, kas FAQ patiesi atbildot par to, kur sākt nedēļas izaicinājums. Un postmortems staigāt jums caur iespējamiem risinājumiem tā, ka noslēgumā Problēma iestatīts pārāk, jums zināt, tieši to, ko jūs varētu darīt savādāk vai pavisam citādi. Problēma nosaka paši nāk divos izdevumos, standarta izdevums ka mēs sagaidām un aicinām vairums class-- apmēram 90% plus do-- un ts hacker izdevums uz kura katra lapa ir emblazoned hacker izdevums, hacker izdevums, hacker izdevums, lai jums ir, ka karma ja jūs, niršanai uz vairāk uzlabotas versijas Kursa problēma komplekti ka vāks šķietami pats materiāls bet ar sarežģītāku pieeju un ar papildu fona dažreiz ieviests. Tikmēr, tur deviņas vēlu dienās, ka Jūs varat pieteikties uz kursu ir problēma kopas, kā arī zemāko punktu skaitu, ko mēs piliens pie terminiem beigās. Bet ko gaida? Nu, garšu problēmas nosaka pie rokas piektdien un nākamajā nedēļā, kur mēs plunčāties tikai dažas dienas kaut ko sauc Scratch, grafisko programmēšana valoda izstrādājusi mūsu draugiem at MIT Media Lab, kas ļauj programmēt vai nu pirmo reizi vai jaunā vidē vispār izmantojot vilkt un nomest tipa vidi. Kuru puzzle gabalus Tikai savienojas kopā ja tas padara loģisku jēga to darīt. Tikmēr problēma noteikti divi pagājušajā gadā, piemēram, tomēr mēs ieviest klasi uz pasaules kriptogrāfija, māksla šifrējot vai kodēšanas informāciju. Patiešām, šis teksts šeit, ja atšifrēti, faktiski novest jūs uz kādu jautru galamērķi. Un problēma noteikt, kas mums bija studenti darīt, ir īstenot tieši tiem veidu things-- algoritmu, vai norādījumu kopums kodēšanas un kodēšanas informācija. Un hakeru izdevumā par šo pašu problēmu kopumu, vai mēs izaicinājums studentiem veikt šifrētu failu no tipiska datora sistēma ar daudzām lietotājvārdus un šifrētu paroles un kreka šos passwords-- faktiski izdomāt kādi tie bija, nezinot neko a priori par šiem faktiskajiem paroles. Tikmēr, vai mēs pāreju problēmu kopas, tad meklē pasaule grafikas. Un patiesībā, jūs varētu iedomāties tagad, ka šis, iespējams, varētu būt vienkāršākais veids, kā pārstāvēt melnā un baltā attēlu. Balts pixel, vai kvadrātveida, kā augšā turpat, varētu būt pārstāvēta ar 1 un melns kvadrāts varētu būt pārstāvēta ar 0. Un tikai, izmantojot vairāk bitu kā mēs ierosināja agrāk ar 72 un 73 un 33, mēs varētu pārstāvēt krāsu pikseļi, kā arī. Un ko mēs darām laikā šī problēma ir komplekts parasti pastaigāties apkārt Campus ar digitālo kameru, nofotografēt cilvēki, vietas un lietas. Tad kaut kā katru semestri, mēs, šķiet, nejauši dzēsts vai bojāts atmiņas karti uz kuru visus šos fotogrāfijas ir, un tāpēc jums ir apstrīdēti lai tad rakstītu programmatūru ar kuru atgūt šos JPEG no kopiju mūsu kameras karti. Tikmēr mēs puses, jūs vēlāk termins vārdnīca angļu vārdiem kas ir 143,000 vārdiem, un jums ir nepieciešams nākt klajā ar Smart Way novietojot tos atmiņā, vai RAM tā sakot, lai atbildētu vaicājumus veidlapas: tas vārds, tas vārds, īstenojot Ātrākais pareizrakstības pārbaudītājs, ka jūs varat, pat pinning sevi potenciāli pret klasesbiedriem lai redzētu, kura no jums izmanto vismazāk laika daudzums braucot savu kodu un pat vismazāk atmiņas apjomu. Vēlāk termiņā jūs tiešām īstenot savu web serveri. Līdz ar to ne tikai mājas lapā, kas valodā sauc HTML un vairāk, bet web serveri, kas faktiski klausās pieprasījumiem internetā un atbild uz tiem. Un tiešām, tas ir, kā mēs tilts Mūsu pasaule C, ar kuru jūs iepazītos nākamnedēļ un PHP un HTML un JavaScript un CSS un tamlīdzīgi. Tā kā viens no pirmās sijas, pamatojoties Projekta mēs vēlāk terminu ir vēsturiski CS50 Finance. Etrade.com stils tīmekļa vietne, kas ļauj jūs pirkt un pārdot akcijas praktiski bet arī rakstot kodu runāt ar Yahoo Finanses kļūst daļēji reālā laika akciju citē lai atjauninātu savu portfolio. Bet visbeidzot, protams, ir pēdējais project-- iespēja darīt visvairāk neko procenti no jums, lai atrisinātu problēmu, šeit vai aiz interese Jums tas ir kaut kā iedvesmoja ar gūto pieredzi šajā klasē. Un klases, kā jūs zināt, kulminācija tā saukto CS50 Hackathon un CS50 Fair un jebkurš skaits Citu kultūras pasākumi visā semestra kas ļauj iesaistīties ar otru un kursa darbinieki. Piemēram, pie Uguns un ledus Sitar šogad, labi, piektdienas pēcpusdienā, mēs aicinām daži 50 studenti uz pusdienām, kurš vēlētos pievienoties mums, sevi, un darbinieki, un mūsu draugi no rūpniecības un alauni tērzēt par dzīvi reālajā pasaulē un ārpus baudot labu pusdienas. Pie Hackathon būs redzat šādus attēlus kā tiem, ieskaitot lielu candy-- un no 2014. gada pirmo LAIKU_ dārzeņi. [Aplausi] Bet līdz 5:00, tas ainu parasti izskatīties mazliet kaut kas līdzīgs šim. Un tad tikai nedēļu vai tik vēlāk, ir CS50 Fair uz kuriem ap 2000 plus studenti un darbinieki un pasniedzēji dalībnieki no visas universitātes pilsētiņā un pāri pilsētiņās šogad nāk, lai redzētu un priecātos par sasniegumi no CS50 studentiem, kas tagad tu. Un tiešām, kamēr šogad mēs ņemšu būt aicinot un Busing ikviens at Yale, kas vēlas nākt līdz Cambridge šo sestdien uz CS50 Puzzle Diena, un mēs darīsim tieši to pašu decembrī par CS50 Hackathon lai Harvard un Yale studenti līdzīgi līdzdalībnieki abos šajos pasākumos. Mēs arī tur CS50 izstādēs Cambridge un New Haven šogad lai studenti par abiem pilsētiņās un darbinieki un pasniedzēji var redzēt katra attiecīgā Campus ir sasniegums. Un šie sasniegumi rosinās šo atmiņu jo tas un tas, un galu galā Tas, kas jums visiem iziet no klases valkājot nedaudz kaut kas jums bija, cerams laimīgs vai lepni teikt, ka es paņēmu CS50. Bet pirms tam, un Pirms mēs apkalpojam kūka, mēs esam izveidojuši together-- pateicoties CS50 s Ražošanas komandas un noteiktu sevi stick, viens gadījums, ka mēs izmantojam tādas lietas for-- kad mēs nosūtījusi ne tikai šeit Cambridge bet arī uz New Haven savākt dažus hellos no Protams darbinieki un visi ļaudīm Jūs tiksies gan šeit, gan jaunos Haven nākamajos mēnešos. Atļaujiet man ieviest daži vairāk CS50 darbinieku. Mark Zuckerberg: Vai, kas padara to iet? Ak, tas notiek. Tas notiek. Ooh. Yarr! [Mūziku spēlē ANDY GRAMMER, "Honey, I'M  GOOD "] MARY: Tas ir Caitlin. Tas ir Jay, un es esmu Marija. SATO: Hi, guys. Es esmu Sato. MICHAEL G .: Hi. Mans vārds ir Michael, G. Doug LLOYD: Es neesmu. Nē. Es esmu Doug Lloyd. Es nespēju noticēt, ka es esmu saimniecībā Pašbildes stick tieši tagad. SPEAKER 4: Hi. SPEAKER 5: Hi. SPEAKER 6: Sveiki. SPEAKER 7: Hi. SPEAKER 8: Hey. Mēs piekārtiem at Yale. Mēs esam patiesi satraukti par šajā semestrī, jo tas ir Pirmo reizi tas nāk Yale. Tas būs awesome! [SKAN MŪZIKA] JACOB SCHERBA: Mans vārds ir Jēkabs Scherba. Es esmu satraukti, lai mācītu CS50, jo es domāju, tas nesīs datorzinātnes līdz cilvēki un pieejams veids. SPEAKER 9: Es esmu patiešām satraukti mācīt CS50 jo es ņēma klasi pagājušajā gadā, un tas ir viens no labākajiem klasēm. SPEAKER 10: Jā. Mans padoms ir jums vajadzētu veikt CS50. JACOB SCHERBA: Es izvēlējos CS jo Es domāju, ka tas ir jautri un radošs veids risināt problēmas analītiski veidā. SPEAKER 11: Atpakaļ, kad es biju mazliet pirmkursnieks un baidās no datorzinātņu un baidās no darot inženierzinātnes un stuff, tas bija pirmais grūti klasē man bija, un tā bija arī mana mīļākā klase jebkad. Doug LLOYD: Šis ir mans devītais gadu mācību CS50. Tas padara mani skaņu tik vecs! Tur vienmēr kaut ko jaunu. Tur vienmēr kaut kas aizraujošs. Tur vienmēr jauniem izaicinājumiem, ko saskaras jauni studenti, un tas ir jautri, lai palīdzētu viņiem un piedzīvot tos problēmas ar viņiem un palīdzēt viņiem atrisināt viņu problēmas. SPEAKER 12: Kad es pirmo reizi iemācījās darīt CS, tas bija kā mācību super jaudu. Un redzēt, ka citiem studentiem un lai palīdzētu viņiem caur šo procesu ir viens no visbiežāk Apbalvošanas lietas, es esmu jebkad. SPEAKER 7: Es izvēlējos CS jo, Sākumā es biju math koncentratoru un es ņēma CS50 un iemīlēja ar to. Es arī jutu, ka ar CS, es varētu veidot lietas. Un tas, es domāju, bija tiešām foršs aspekts. SPEAKER 13: Daži padomi jauns skolēni, ir doties uz darba laika un žaut ar awesome TFS. SPEAKER 14: Sāciet savu P-sets agri, dodieties uz darba laika, kļūt frends ar savu TF. SPEAKER 15: Jā. Viss viņa teica. SPEAKER 16: Vai nav bail lūgt palīdzību. SPEAKER 17: Jā. SPEAKER 18: Sāciet savu P-sets agri. SPEAKER 19: Tā ir liels sociālā pieredze. Padarīt daudz draugu šādā veidā. SPEAKER 14: Dodieties uz sadaļu Tas ir jautri. SPEAKER 11: Es domāju, iet par to. Tas ir patiešām grūti. Jūs saņemsiet no tā ko jūs laisti to, bet tas ir patiešām jautri klase it īpaši, ja jūs esat gatavi nodot laiku tajā, bet tas palīdz, ja jūs nodot laiku tajā. Jūs saņemsiet daudz vairāk no tā vēlāk. MIKE: Es esmu Mike. CAMILLE: Es esmu Camille. Hanya: Es esmu Hanya. MATT: Es esmu Matt. PETER: Es esmu Peter. PHILLIP: Es esmu Phillip. PATRICK: Es esmu Patrick. ROB Bowden: Esmu Rob Bowden. BRIAN SCASSELLATI: My vārds ir SCAS, un this-- ALL: --is CS50. SPEAKER 20: At Yale. SPEAKER 21: At Yale. [Smejas] DAVID Malan: Tas ir tas par CS50. Mēs redzēsim jūs no Yale Piektdiena, Puzzle dienu sestdien. Cake tagad pasniedz. Tas ir CS50. [SKAN MŪZIKA]