1 00:00:00,000 --> 00:00:00,479 2 00:00:00,479 --> 00:00:10,830 >> [Duke luajtur muzikë] 3 00:00:10,830 --> 00:00:12,080 [MUSIC - Rossini, "RANZ DES VACHES "nga WILLIAM TELL] 4 00:00:12,080 --> 00:00:24,222 5 00:00:24,222 --> 00:00:25,472 >> [MUSIC - BEAT ANGLISHT, "MARS I KRERËVE kthyeshëm "] 6 00:00:25,472 --> 00:02:24,538 7 00:02:24,538 --> 00:02:31,510 >> [Duartrokitje dhe brohoritjet] 8 00:02:31,510 --> 00:02:33,520 >> DAVID Malan: Pra, kjo është CS50. 9 00:02:33,520 --> 00:02:34,730 Emri im është David Malan. 10 00:02:34,730 --> 00:02:39,250 Dhe 73% prej jush nuk kanë përvojë të mëparshme me shkenca kompjuterike, 11 00:02:39,250 --> 00:02:41,300 në kundërshtim me atë që ju mund të mendoni. 12 00:02:41,300 --> 00:02:45,290 Pra, sot ne menduam se do të chip larg në se mungesa e familjaritetit, por edhe 13 00:02:45,290 --> 00:02:48,970 t'ju japë një ndjenjë të, për ato prej jush me shumë komoditet, e cila drejtime 14 00:02:48,970 --> 00:02:50,550 ju mund të shkoni këtë semestër. 15 00:02:50,550 --> 00:02:51,890 >> Pra, le të fillojë me këtë. 16 00:02:51,890 --> 00:02:55,490 Unë me të vërtetë nuk kanë asnjë ide se çfarë është brenda një kompjuter, edhe pse, si ju, unë 17 00:02:55,490 --> 00:02:56,780 përdorin atë çdo ditë. 18 00:02:56,780 --> 00:03:00,000 Por kjo është një lloj kuti, dhe ka Inputet jo shumë në të. 19 00:03:00,000 --> 00:03:01,350 Minimalisht, nuk ka, çfarë? 20 00:03:01,350 --> 00:03:03,120 Ndoshta një kabllo të energjisë. 21 00:03:03,120 --> 00:03:06,640 >> Dhe me të vërtetë me këtë një përbërës, energji elektrike, ne duket të jetë i aftë të 22 00:03:06,640 --> 00:03:09,490 bërë mjaft këto ditë. 23 00:03:09,490 --> 00:03:12,130 Por në fund të ditës, ne duhet të paraqesin gjërat 24 00:03:12,130 --> 00:03:12,860 se ne lidhje me kujdes. 25 00:03:12,860 --> 00:03:15,240 Ne duhet të paraqesin informacione në disa forma. 26 00:03:15,240 --> 00:03:18,365 Dhe ju jeni me siguri të paktën paksa të njohur me idenë nga binar ose 27 00:03:18,365 --> 00:03:21,370 bit njëfarë mënyre apo tjetër, kompjutera reduktuar në zero dhe ato. 28 00:03:21,370 --> 00:03:26,320 Por mund ne përqafojmë se dhe të paktën vënë një grimë e dritës për këtë? 29 00:03:26,320 --> 00:03:28,880 >> Pra, unë kam këto pak llambat tavolinë këtu. 30 00:03:28,880 --> 00:03:30,450 Unë kam një prizë elektrike këtu. 31 00:03:30,450 --> 00:03:33,930 Dhe unë jam duke shkuar për të propozojë që brenda e kompjuterit im është të paktën njëri prej 32 00:03:33,930 --> 00:03:37,300 këto gjëra, diçka të aftë e duke u ndezur ose off. 33 00:03:37,300 --> 00:03:40,200 Në këtë rast, kjo është me të vërtetë një llambë tavolinë, por në nivel më të ulët, kjo është diçka 34 00:03:40,200 --> 00:03:41,500 quajtur një tranzitor. 35 00:03:41,500 --> 00:03:44,730 >> Por në botën tonë, kjo është një llambë tavolinë, kështu që Unë jam duke shkuar për të shkuar përpara dhe plug kjo 36 00:03:44,730 --> 00:03:47,990 në energji elektrike time këtu. 37 00:03:47,990 --> 00:03:52,970 Dhe unë pretendojnë se duke përdorur këtë të thjeshtë, pajisje të thjeshtë, kjo switch thjeshtë, unë 38 00:03:52,970 --> 00:03:54,850 mund të paraqesin informacione. 39 00:03:54,850 --> 00:03:58,090 Për shembull, tani, unë jam përfaqësojnë asgjë, e drejtë? 40 00:03:58,090 --> 00:04:01,820 Unë jam që përfaqësojnë atë që unë do të thërrasë 0 ose false, e kundërta e diçkaje 41 00:04:01,820 --> 00:04:03,130 në të vërtetë të qenit të pranishëm. 42 00:04:03,130 --> 00:04:07,050 Por në qoftë se unë thjesht të kthehet në këtë kaloni, tani unë kam një të përfaqësuara 1. 43 00:04:07,050 --> 00:04:10,720 Pra, duke përdorur këtë pjesë shumë të thjeshtë kujtesës, në qoftë se ju do, unë mund të përfaqësojë 44 00:04:10,720 --> 00:04:11,450 informacion. 45 00:04:11,450 --> 00:04:14,350 >> Tani për fat të keq, kompjuteri im nuk mund të bëjë të gjithë se shumë. 46 00:04:14,350 --> 00:04:17,430 Ajo mund të përfaqësojnë vetëm dy vlera në të gjithë botën - 47 00:04:17,430 --> 00:04:18,620 0 ose 1. 48 00:04:18,620 --> 00:04:21,839 Por çfarë është një zgjidhje e qartë, tani, në qoftë se ne duam të zgjeruar kompjuterik tonë 49 00:04:21,839 --> 00:04:25,120 kujtesës dhe përfaqësojnë më shumë se vetëm 0 dhe 1? 50 00:04:25,120 --> 00:04:27,060 >> E pra, le të rrëmbyer një grimë të tillë. 51 00:04:27,060 --> 00:04:30,260 Le të kap një tjetër kaloni, një tjetër tranzitor, megjithatë ju dëshironi të 52 00:04:30,260 --> 00:04:31,130 mendoni rreth saj. 53 00:04:31,130 --> 00:04:34,170 Më lejoni të shkojnë përpara dhe plug kjo në kompjuterin tim si. 54 00:04:34,170 --> 00:04:38,270 Dhe unë jam duke shkuar për të kërkuar, tani, që nga energji elektrike duke përdorur një pak më shumë dhe 55 00:04:38,270 --> 00:04:42,290 kthyer më shumë nga këto çelsin në dhe off, unë mund të përfaqësojnë më shumë të tilla 56 00:04:42,290 --> 00:04:43,020 informacion. 57 00:04:43,020 --> 00:04:44,660 >> Deri tani, kjo është 1. 58 00:04:44,660 --> 00:04:48,120 Nëse unë dua të përfaqësojnë tani 2, unë mund ta bëjë këtë. 59 00:04:48,120 --> 00:04:51,510 Por zakonisht, konventë, si ne do të përfundimisht shohin, do të kenë më bëjë këtë. 60 00:04:51,510 --> 00:04:55,260 Pra, kjo është 0, kjo është 1. 61 00:04:55,260 --> 00:04:56,720 Kjo do të jetë 2. 62 00:04:56,720 --> 00:04:59,920 Dhe jo çuditërisht, kjo do të jetë 3. 63 00:04:59,920 --> 00:05:02,610 >> Pra, në këtë mënyrë, ende, mund të ne numërimin deri edhe më tej? 64 00:05:02,610 --> 00:05:06,500 Nëse unë të marrë një grimë e tretë, një kaloni tretë, çfarë është numri më i lartë mundem tani 65 00:05:06,500 --> 00:05:09,720 llogariten deri tek nga 0? 66 00:05:09,720 --> 00:05:12,020 7 Pra, në qoftë se unë jam duke filluar në 0, e drejtë? 67 00:05:12,020 --> 00:05:15,980 Sepse në qoftë se unë të kthehet në këtë dritë mbi dhe fakt ky plug tretë dhe përfundimtar 68 00:05:15,980 --> 00:05:20,090 dritë në prizë elektrike time këtu, atëherë unë kam aftësinë për të përfaqësuar 69 00:05:20,090 --> 00:05:24,930 ndonjë prej dy vlerave këtu, dy vlera këtu, dy vlera këtu - 70 00:05:24,930 --> 00:05:32,610 dhe kështu që unë mund të përfaqësojë 2 herë 2 herë 2, ose tetë vlera të mundshme. 71 00:05:32,610 --> 00:05:36,340 Dhe në qoftë se unë të fillojë të kontabilitetit në 0, kështu që kjo është 0, 1, 2, 3, 4, 5, 6, 7. 72 00:05:36,340 --> 00:05:37,480 >> Pra, kjo binar. 73 00:05:37,480 --> 00:05:39,420 Ajo me të vërtetë është aq e thjeshtë sa se. 74 00:05:39,420 --> 00:05:41,930 Dhe unë do të argumentojnë se kjo është në të vërtetë mjaft të njohur për shumicën 75 00:05:41,930 --> 00:05:43,180 të gjithë në këtë dhomë. 76 00:05:43,180 --> 00:05:45,710 Më lejoni të shkojnë përpara dhe të hapur një editor teksti pak këtu. 77 00:05:45,710 --> 00:05:49,040 >> Dhe ju mund të kujtojnë nga klasën e shkollës që kemi pasur gjëra të tilla si qindra 78 00:05:49,040 --> 00:05:51,970 vendi, vendi dhjetëra, dhe ato vend. 79 00:05:51,970 --> 00:05:55,040 Dhe kujtojnë se në qoftë se keni pasur disa decimal të Numri i, si diçka të rastit 80 00:05:55,040 --> 00:05:59,470 si 123, ju do të në thelb shkruar qe jashtë në formën 81 00:05:59,470 --> 00:06:00,450 prej këtyre tri kolona. 82 00:06:00,450 --> 00:06:04,070 Dhe pse eshte 1, 2, 3 çka ne e dimë si 123? 83 00:06:04,070 --> 00:06:11,220 Mirë, në kolonën pari nga e majta, ne kemi e 100 plus dy 10s, kështu që është 120, 84 00:06:11,220 --> 00:06:14,250 plus tre 1s, kështu që është 123. 85 00:06:14,250 --> 00:06:17,990 >> Tani kjo botë që ne vetëm të ndriçohet është pikërisht njëjtë si 86 00:06:17,990 --> 00:06:21,150 ju keni qenë i njohur me vite të tëra, përveç tani, kolona tona 87 00:06:21,150 --> 00:06:22,060 nuk janë fuqitë e 10. 88 00:06:22,060 --> 00:06:23,780 Ata janë vetëm kompetencat e 2. 89 00:06:23,780 --> 00:06:27,830 Pra, kurse kjo është vendi ato, kjo do të jetë vendi twos, kjo është 90 00:06:27,830 --> 00:06:29,540 do të jetë vendi i katër këmbët. 91 00:06:29,540 --> 00:06:33,260 >> Dhe për shkak se unë jam vetëm duke përdorur thjeshtë e mekanizmave për të kthyer gjërat 92 00:06:33,260 --> 00:06:37,100 mbi dhe off - me energji elektrike është i rrjedh apo energji elektrike nuk është i rrjedh - 93 00:06:37,100 --> 00:06:40,880 Unë nuk kanë mjaft ekspresive njëjtë 0 varg si përmes nëntë. 94 00:06:40,880 --> 00:06:43,270 Ne jemi duke shkuar për të mbajtur atë super e thjeshtë në këtë botën e kompjuterëve. 95 00:06:43,270 --> 00:06:45,060 Kam vetëm 0 ose 1 - 96 00:06:45,060 --> 00:06:47,890 off apo on, e vërtetë apo e rreme. 97 00:06:47,890 --> 00:06:52,610 >> Dhe kështu ajo që unë jam duke përfaqësuar të drejtë tani është 1, 1, 1, sepse secili nga këto 98 00:06:52,610 --> 00:06:54,000 dritat është e ndriçuar. 99 00:06:54,000 --> 00:06:59,600 E pra, që më jep një plus 4 One 2, kështu që qe eshte 6, plus një 1, dhe që është 7. 100 00:06:59,600 --> 00:07:03,450 Dhe prandaj e bën këtë sekuencë prej tre bit të përfaqësojnë numrin 7. 101 00:07:03,450 --> 00:07:06,330 >> Pra, të gjithë këtë kohë, brenda tuaj kompjuter, të ketë qenë ndonjë numër i 102 00:07:06,330 --> 00:07:08,090 transistorëve, çdo numri i bit. 103 00:07:08,090 --> 00:07:10,380 Por në fund të ditës, ne mund të paraqesin informacione 104 00:07:10,380 --> 00:07:12,560 si thjesht si ajo. 105 00:07:12,560 --> 00:07:16,770 Tani për fat të keq, ne kemi numëruar vetëm deri në 7 në CS50 kështu largët, por 106 00:07:16,770 --> 00:07:18,550 shpresojmë se ne mund të bëjë një grimë më mirë se kaq. 107 00:07:18,550 --> 00:07:19,550 Dhe me të vërtetë mundemi. 108 00:07:19,550 --> 00:07:23,570 >> Supozoni se ne si njerëz vetëm vendosur në mënyrë arbitrare se ne jemi duke shkuar 109 00:07:23,570 --> 00:07:28,750 të shoqërojnë si numrat 1 dhe 2, 3, 4, 5, 6, 7, me letra specifike e 110 00:07:28,750 --> 00:07:29,410 alfabeti. 111 00:07:29,410 --> 00:07:32,350 Dhe për arsye historike, unë jam duke shkuar për fillojnë disi arbitrare, por unë jam i 112 00:07:32,350 --> 00:07:36,880 duke shkuar për të thënë, njerëzit, ne jemi duke shkuar për të vendosë si një standard, globalisht, që 113 00:07:36,880 --> 00:07:43,200 65 paraqet numrin A. letër 66 do të përfaqësojë B. Dot, dot, dot. 114 00:07:43,200 --> 00:07:45,140 90 do të përfaqësojë Z. letër 115 00:07:45,140 --> 00:07:48,000 >> Dhe le të supozojmë, nëse ne me të vërtetë vënë disa menduar në të, ne mund të dalë 116 00:07:48,000 --> 00:07:50,860 me numrat për pikë thirrje dhe vogle shkronja dhe në të vërtetë, 117 00:07:50,860 --> 00:07:52,710 njerëz të tjerë që kanë bërë për ne. 118 00:07:52,710 --> 00:07:56,410 Deri tani kemi pasur bit me të cilën ne mund të përfaqësojnë numrat, numrat me të cilat 119 00:07:56,410 --> 00:08:00,130 ne mund të përfaqësojë letra, dhe me Letrat ne tani mund të fillojnë kompozimin 120 00:08:00,130 --> 00:08:02,650 email dhe karaktere shtypje në ekran. 121 00:08:02,650 --> 00:08:05,850 >> Pra më lejoni të ftoj, nëse unë mund të, tetë trima vullnetarë - 122 00:08:05,850 --> 00:08:09,200 të cilët nuk e mendjes shfaqeshin jo vetëm në kamera, por në internet - 123 00:08:09,200 --> 00:08:13,130 për të ardhur deri këtu dhe përfaqësojnë tetë të tilla bit, në vend se këta tre. 124 00:08:13,130 --> 00:08:14,380 Pra, si në lidhje me një, dy? 125 00:08:14,380 --> 00:08:16,290 Si rreth tre? 126 00:08:16,290 --> 00:08:20,230 Si rreth katër në dritën blu, pesë në fund? 127 00:08:20,230 --> 00:08:21,250 Rreth dikë gjatë këtu? 128 00:08:21,250 --> 00:08:25,320 Gjashtë në front, shtatë në front, dhe tetë në para, si edhe. 129 00:08:25,320 --> 00:08:29,050 >> Kështu që unë vetëm ka ndodhur në mënyrë që të vijnë të përgatitur me një bandë e tërë e rrëshqet të letrës. 130 00:08:29,050 --> 00:08:34,150 Dhe në këto copa letre janë numra që përfaqësojnë atë kolona 131 00:08:34,150 --> 00:08:35,809 ju djema janë duke shkuar për të përfaqësuar. 132 00:08:35,809 --> 00:08:36,740 Pra, ju do të jetë - çfarë është emri juaj? 133 00:08:36,740 --> 00:08:37,570 >> STUDENT: Anna Leah. 134 00:08:37,570 --> 00:08:40,370 >> DAVID Malan: Anna Lea, ju do të jetë kolona 128s. 135 00:08:40,370 --> 00:08:41,059 Ju jeni? 136 00:08:41,059 --> 00:08:41,510 >> STUDENT: Chris. 137 00:08:41,510 --> 00:08:43,620 >> DAVID Malan: Chris do të jetë kolona 64s. 138 00:08:43,620 --> 00:08:44,070 Ju jeni? 139 00:08:44,070 --> 00:08:44,540 >> STUDENT: Dan. 140 00:08:44,540 --> 00:08:46,970 >> DAVID Malan: Dan do të jetë kolona 32s. 141 00:08:46,970 --> 00:08:47,470 >> STUDENT: Pramit. 142 00:08:47,470 --> 00:08:49,430 >> DAVID Malan: Pramit do të jetë kolona 16s. 143 00:08:49,430 --> 00:08:50,290 >> STUDENT: Lillian. 144 00:08:50,290 --> 00:08:51,904 >> DAVID Malan: Lillian do të jetë 8s. 145 00:08:51,904 --> 00:08:52,768 >> STUDENT: Jill. 146 00:08:52,768 --> 00:08:55,025 >> DAVID Malan: Jill do të jetë kolona 4s. 147 00:08:55,025 --> 00:08:55,400 >> STUDENT: Mary. 148 00:08:55,400 --> 00:08:57,000 >> DAVID Malan: Maria do të jenë 2s, dhe? 149 00:08:57,000 --> 00:08:57,470 >> STUDENT: David. 150 00:08:57,470 --> 00:08:59,220 >> DAVID Malan: David do të jetë kolona 1s. 151 00:08:59,220 --> 00:09:02,030 Pra, nëse ju djema mund të futemi pak përpara në mënyrë që të gjithë mund ta shohin. 152 00:09:02,030 --> 00:09:05,370 Çfarë ju djema nuk e shoh është se në mbrapa e këtyre rrëshqet e letrës është një 153 00:09:05,370 --> 00:09:09,760 fletë mashtrojnë pak që është gati të udhëzojë këto tetë bit ose të 154 00:09:09,760 --> 00:09:12,380 ngrenë dorën e tyre apo jo ngrenë dorën e tyre. 155 00:09:12,380 --> 00:09:14,100 Nëse dora e tyre shkon lart, ata janë të përfaqëson një 1. 156 00:09:14,100 --> 00:09:17,120 Nëse dora e tyre qëndron poshtë, ata janë përfaqëson një 0. 157 00:09:17,120 --> 00:09:21,410 >> Ndërkohë, ne publiku duhet të jetë në gjendje të kuptoj se, bazuar në këtë 158 00:09:21,410 --> 00:09:26,490 , hartes çka tre-letër fjalë këto folks janë gati për të përcaktuar. 159 00:09:26,490 --> 00:09:29,700 Pra, në një moment të vetëm, ju jeni duke shkuar për të lexoni rreshtin e parë off pasme të 160 00:09:29,700 --> 00:09:32,880 fletë mashtrojnë tuaj, dhe ju jeni ose duke shkuar për të rritur apo të rritur jo dorën tuaj. 161 00:09:32,880 --> 00:09:35,710 Nëse ju jeni një 1, që ju të rritur, nëse ju jeni një 0, ju qëndroni atje 162 00:09:35,710 --> 00:09:38,594 ajër, ashtu si kjo. 163 00:09:38,594 --> 00:09:40,386 Go. 164 00:09:40,386 --> 00:09:43,945 Çfarë numri, së pari dhe më kryesorja, janë këta njerëz përfaqësojnë? 165 00:09:43,945 --> 00:09:47,140 166 00:09:47,140 --> 00:09:48,860 >> 66. 167 00:09:48,860 --> 00:09:49,560 66, e drejtë? 168 00:09:49,560 --> 00:09:52,400 Ne kemi një 1 në kolonën 64s, a 1 në kolonën 2S. 169 00:09:52,400 --> 00:09:56,340 Kjo më jep mua 66, kështu që shfaqet për t'u përfaqësuar B. So 170 00:09:56,340 --> 00:09:57,075 ju djema keni shkruar - 171 00:09:57,075 --> 00:09:58,300 OK, kjo është e mjaftueshme. 172 00:09:58,300 --> 00:09:59,430 B. 173 00:09:59,430 --> 00:10:01,610 >> Pra, tani le të lëvizë mbi Letra jonë e dytë. 174 00:10:01,610 --> 00:10:03,530 Go. 175 00:10:03,530 --> 00:10:06,860 Kush është më e shpejtë në matematikë këtu? 176 00:10:06,860 --> 00:10:07,750 Pra 79. 177 00:10:07,750 --> 00:10:11,840 Përsëri, në qoftë se ne të shtoni deri gjitha kolonat në të cilin ka një 1, aktualisht, vetëm 178 00:10:11,840 --> 00:10:14,840 si ne e bëmë para se me thjeshte shembuj të 7, ne tani 179 00:10:14,840 --> 00:10:16,140 marrë numrin 79. 180 00:10:16,140 --> 00:10:19,910 I cili sipas hartës sonë është shkronja O. Pra, ne jemi pothuajse atje. 181 00:10:19,910 --> 00:10:22,590 B, O. Dhe së fundi, shkoni. 182 00:10:22,590 --> 00:10:26,420 183 00:10:26,420 --> 00:10:30,120 >> Cilat janë ato përfaqësojnë tani? 184 00:10:30,120 --> 00:10:31,370 Më pak konsensus. 185 00:10:31,370 --> 00:10:34,660 186 00:10:34,660 --> 00:10:36,460 Kjo është vetëm një shushurimë absolute. 187 00:10:36,460 --> 00:10:40,090 Po, kjo është në fakt 87. 188 00:10:40,090 --> 00:10:40,490 Mirë. 189 00:10:40,490 --> 00:10:44,480 >> Pra, nëse ne tani hartë që back up për të - le të të fillojnë thirrjen tabelë tonë ASCII, 190 00:10:44,480 --> 00:10:46,450 Kodi Standard Amerikan për Informacione Interchange. 191 00:10:46,450 --> 00:10:47,700 Kjo na jep letrën - 192 00:10:47,700 --> 00:10:51,260 193 00:10:51,260 --> 00:10:54,810 jo "bo", por "harku". Dhe kjo është një e përsosur cue për ju djema për të marrë një hark 194 00:10:54,810 --> 00:10:56,100 dhe kreu në shpinë. 195 00:10:56,100 --> 00:10:56,980 Shumë falemnderit. 196 00:10:56,980 --> 00:10:57,886 >> [Duartrokitje] 197 00:10:57,886 --> 00:10:59,136 >> DAVID Malan: Ju mund t'i mbani ato. 198 00:10:59,136 --> 00:11:01,850 199 00:11:01,850 --> 00:11:05,942 Edhe pse në të vërtetë, dikush do të si një llambë tavolinë, gjithashtu? 200 00:11:05,942 --> 00:11:07,300 >> [Hoot nga publiku] 201 00:11:07,300 --> 00:11:08,390 >> DAVID Malan: Desk llambë? 202 00:11:08,390 --> 00:11:10,850 >> [Qeshura] 203 00:11:10,850 --> 00:11:11,860 >> DAVID Malan: Really? 204 00:11:11,860 --> 00:11:13,230 Llambat tavolinë për të gjithë? 205 00:11:13,230 --> 00:11:14,310 Dakord. 206 00:11:14,310 --> 00:11:20,990 Pra, duke filluar me shumë të thjeshta e parime, ne kemi tani jo vetëm që numërohen 207 00:11:20,990 --> 00:11:24,750 nga 0 deri të gjithë rrugën deri në 7, ne kemi Supozohet se vetëm duke hedhur më shumë 208 00:11:24,750 --> 00:11:28,080 bit ose më shumë dritat ose transistorëve më shumë në këtë problem, ne mund të 209 00:11:28,080 --> 00:11:32,680 përfaqësojnë numra të mëdha dhe më të mëdha, dhe Ergo, shkon të mëdha dhe më të mëdha të 210 00:11:32,680 --> 00:11:33,780 alfabetet, si anglisht. 211 00:11:33,780 --> 00:11:37,770 Dhe vetëm le të marrin në besim për sot që në mënyrë të ngjashme, ne mund të fillojmë të 212 00:11:37,770 --> 00:11:42,220 përfaqësojnë grafika dhe video dhe çdo Numri i mediave të tjera me të cilat ne jemi 213 00:11:42,220 --> 00:11:43,610 i njohur sot. 214 00:11:43,610 --> 00:11:49,240 >> Pra, kjo është CS50, dhe në këtë klasë krahas prej jush janë, përsëri, shumë e shumë 215 00:11:49,240 --> 00:11:53,050 shokët e klasës që kanë sa më pak përjetojnë si ju. 216 00:11:53,050 --> 00:11:57,730 Dhe unë përmend kjo vetëm për shkak mjaft shpesh, duke përfshirë si kohët e fundit si një nga 217 00:11:57,730 --> 00:12:01,860 studente këshillimin ngjarjet dhe në i paedukuar mjaft pranverën e kaluar e këshilluar 218 00:12:01,860 --> 00:12:06,420 Ngjarja, ne shpesh dëgjojmë nxënësit mohojmë kur vjen deri në tabelën CS, mirë, 219 00:12:06,420 --> 00:12:10,070 Unë kam qenë duke menduar në lidhje me marrjen e kësaj klasa intro, por unë nuk jam me të vërtetë një 220 00:12:10,070 --> 00:12:11,120 Personi kompjuter. 221 00:12:11,120 --> 00:12:13,220 Ose, por të gjithë me siguri di më shumë se unë. 222 00:12:13,220 --> 00:12:17,340 Dhe unë vënë këtë në font të madh të jetë e mundur, për të përcjellë këtë mesazh që 223 00:12:17,340 --> 00:12:18,730 që nuk është në fakt rast. 224 00:12:18,730 --> 00:12:21,100 >> Dhe në qoftë se ju jeni pyesin, duhet Unë, në fakt, të jetë këtu? 225 00:12:21,100 --> 00:12:25,950 Kuptojnë se jo vetëm që ky kurs të Hyrje titulli Computer 226 00:12:25,950 --> 00:12:31,740 Shkenca, ajo është Hyrje në kompjuter Shkenca I. Pra, nuk është me të vërtetë 227 00:12:31,740 --> 00:12:33,170 një hyrje të dytë të tillë. 228 00:12:33,170 --> 00:12:35,390 Pra, ju nuk jeni, në fakt, në vendin e gabuar. 229 00:12:35,390 --> 00:12:39,000 Dhe në mesin e qëllimeve kam për sot janë të qetësoj çfarëdo shqetësimi të tillë ju 230 00:12:39,000 --> 00:12:42,430 mund të ketë, por edhe për të pikturuar një fotografia e asaj që është në dyqan për 231 00:12:42,430 --> 00:12:45,720 Nxënësit më pak dhe më të rehatshme njësoj në këtë kurs. 232 00:12:45,720 --> 00:12:49,320 >> Por pare, nje fjalë në njërën nga fletëpalosje ju keni sot, ndër të cilat 233 00:12:49,320 --> 00:12:50,780 janë një numër i Fakte. 234 00:12:50,780 --> 00:12:54,290 Ajo ka qenë një vizion i yni për disa kohë tani për të futur një kategorizimin e ri 235 00:12:54,290 --> 00:12:57,010 opsion në këtë kurs - domethënë, SAT / UNSAT. 236 00:12:57,010 --> 00:13:01,930 Filozofikisht për mua, ajo është shumë më shumë, shumë më e rëndësishme se 237 00:13:01,930 --> 00:13:05,050 Nxënësit në këtë klasë të angazhohen me materiale, të sfidohet nga 238 00:13:05,050 --> 00:13:09,800 materiale, dhe shqetësohen shumë, shumë më pak rreth mekanika e rezultateve aktuale 239 00:13:09,800 --> 00:13:12,590 dhe klasat letër në semestër fundi, por me të vërtetë përqafojnë 240 00:13:12,590 --> 00:13:13,970 Kursi dhe materiale të saj. 241 00:13:13,970 --> 00:13:18,140 Dhe me të vërtetë kjo ndihet, më në përgjithësi, për çfarë është interesante për ta, për të 242 00:13:18,140 --> 00:13:21,390 të ndjehen të sfiduar dhe shpërblehet, por pa frikën e dështimit. 243 00:13:21,390 --> 00:13:25,030 >> Dhe me të vërtetë, kjo është një shumë e përsëritur Tema hyrëse në këtë dhe të tjera 244 00:13:25,030 --> 00:13:28,680 kurse në fusha të tjera, që ju keni ky ankth kur është fjala për 245 00:13:28,680 --> 00:13:31,040 vënë gishtat e dikujt në ujëra të panjohura. 246 00:13:31,040 --> 00:13:34,880 Unë vetë, përsëri në vitin 1995, ishte një studente. 247 00:13:34,880 --> 00:13:37,990 Unë kam qenë shumë e fokusuar në një flotacion Gov këtu. 248 00:13:37,990 --> 00:13:41,060 Dhe unë ende do të rritur gjithmonë me një grimë e një interes në shkenca kompjuterike. 249 00:13:41,060 --> 00:13:42,180 Unë kam qenë gjithmonë kureshtar. 250 00:13:42,180 --> 00:13:47,610 >> Por pastaj përsëri, madje, kam pasur këtë frikë e edhe shkelën këmbë në CS50, aq shumë 251 00:13:47,610 --> 00:13:49,420 kështu që unë nuk e kam edhe dyqan atë vit fillestar. 252 00:13:49,420 --> 00:13:53,460 Dhe arsyeja e vetme që kam vënë një këmbë në i paedukuar mjaft dera vit ishte sepse unë 253 00:13:53,460 --> 00:13:55,340 u lejohet të marrë atë të kalojë / dështojnë. 254 00:13:55,340 --> 00:13:58,920 Por edhe të kalojë / dështojnë kërkohet që të shkoj deri nervore të bëni një takim 255 00:13:58,920 --> 00:14:01,970 me Profesor Kernehan në atë kohë, sjellë këtë fletë të madhe letre, dhe të kërkojë 256 00:14:01,970 --> 00:14:04,470 atë për nënshkrimin e tij dhe e tij leje për të eksploruar 257 00:14:04,470 --> 00:14:05,700 këto ujëra të panjohura. 258 00:14:05,700 --> 00:14:09,030 >> Dhe kjo nuk ka ndihmuar në vitet e fundit se kur e bëjnë këtë në CS50, kur ne 259 00:14:09,030 --> 00:14:12,500 përdoret për të kalojë / dështojnë, në mënyrë të ngjashme do të dhjetra ose qindra të shokëve tuaj 260 00:14:12,500 --> 00:14:15,970 kanë për të dalë, Zoti na ruajt, në front i Sanders me këtë formë, që 261 00:14:15,970 --> 00:14:19,520 në disa mendjet përfaqëson një paaftësi, Unë guxoj të them, për të kryer 262 00:14:19,520 --> 00:14:20,800 janë të nivelit kolegët tuaj. 263 00:14:20,800 --> 00:14:23,410 Cili është qesharake, por unë mendoj nuk ka se mentaliteti. 264 00:14:23,410 --> 00:14:27,210 Dhe kurrë nuk ka qenë në këtë kulturë i SAT / UNSAT, ose të kalojë / dështojnë më shumë 265 00:14:27,210 --> 00:14:30,610 në përgjithësi, në këtë kurs, apo me të vërtetë në këtë kampus. 266 00:14:30,610 --> 00:14:32,310 >> Pra, këtë vit ne kemi ndryshuar atë. 267 00:14:32,310 --> 00:14:35,630 Unë do të jetë sa gjysma e ekstazë kjo klasë ose më shumë përfundoi 268 00:14:35,630 --> 00:14:38,700 duke marrë CS50 SAT / UNSAT. 269 00:14:38,700 --> 00:14:42,130 Në një vit kohë, ajo do të jetë e mrekullueshme në qoftë se pothuajse të gjithë është. 270 00:14:42,130 --> 00:14:44,410 Pas kësaj ndoshta ne do të punojmë on notave letër në Harvard 271 00:14:44,410 --> 00:14:45,480 Kolegji më në përgjithësi. 272 00:14:45,480 --> 00:14:48,900 Por tani për tani, ne do të bëjmë këtë brenda tonë sferë vet, dhe unë do të përzemërsisht 273 00:14:48,900 --> 00:14:53,400 inkurajuar ju për të shqyrtuar ato dhe Fakte bëni pyetje si ju e gjykojnë të arsyeshme, në mënyrë që 274 00:14:53,400 --> 00:14:58,000 shpresojmë se ju, ndryshe nga mua, nuk do të mjaft kanë se faktor njëjtin ndjejë kur 275 00:14:58,000 --> 00:15:01,040 eksploruar çfarë është ndoshta një vend të panjohur. 276 00:15:01,040 --> 00:15:02,786 >> Pra, çfarë është CS50? 277 00:15:02,786 --> 00:15:06,150 Kjo është një hyrje në ndërmarrjet intelektuale e kompjuterit 278 00:15:06,150 --> 00:15:07,700 shkenca dhe arti i programimit. 279 00:15:07,700 --> 00:15:08,770 Por çfarë do që me të vërtetë do të thotë? 280 00:15:08,770 --> 00:15:12,510 >> E pra, deri tani, kemi biseduar shumë shkurtimisht informacion në lidhje me përfaqësimin. 281 00:15:12,510 --> 00:15:15,070 Por mendoj se ne të vërtetë duan të bëjë diçka me të. 282 00:15:15,070 --> 00:15:17,890 Ne kemi nevojë për të futur nocionin e ajo që ne do të thërrasë një algoritmi. 283 00:15:17,890 --> 00:15:21,540 Një algoritmi eshte nje procedure, nje proces, një grup i udhëzime për 284 00:15:21,540 --> 00:15:22,780 duke bërë diçka. 285 00:15:22,780 --> 00:15:25,620 >> Dhe një algoritmi mund të jetë diçka thjeshtë super. 286 00:15:25,620 --> 00:15:28,660 Për shembull, një shembull me të cilin disa ju mund të jetë i njohur është ky 287 00:15:28,660 --> 00:15:29,350 Gjëja këtu. 288 00:15:29,350 --> 00:15:32,510 Pra, ky libër këtu është gjithnjë e më datë, por një herë e një kohë, ajo 289 00:15:32,510 --> 00:15:34,720 përmbante një tërësi shumë të emrave dhe numrat e telefonit. 290 00:15:34,720 --> 00:15:37,710 Dhe me të vërtetë, në qoftë se unë të kërkuar për të gjetur dikush në këtë libër telefonit - 291 00:15:37,710 --> 00:15:39,800 thonë, dikush me emrin Majk Smith - 292 00:15:39,800 --> 00:15:43,810 Unë mund të gjeni Mike Smith në çdo numër mënyra mjaft i thjeshtë. 293 00:15:43,810 --> 00:15:47,700 Unë mund të fillojë në fillim dhe lëvizin në tek faqja 1, nuk ka. 294 00:15:47,700 --> 00:15:49,240 Page 2, nuk janë atje. 295 00:15:49,240 --> 00:15:49,960 Page 3. 296 00:15:49,960 --> 00:15:53,430 Është se algoritmi, është se Procesi, saktë? 297 00:15:53,430 --> 00:15:54,620 >> Pra, kjo është e saktë, e drejtë? 298 00:15:54,620 --> 00:15:58,070 Unë jam natyrë e një idiot për të bërë atë në se mënyra, por në fund unë do të 299 00:15:58,070 --> 00:16:02,670 gjeni mbiemrin S, dhe shpresojmë se Mike është në atë seksion, dhe unë do të bëhet 300 00:16:02,670 --> 00:16:04,100 bërë me algorithm tim. 301 00:16:04,100 --> 00:16:05,440 Por sigurisht kjo nuk është intuitive. 302 00:16:05,440 --> 00:16:08,020 Shumica e çdo qenie njerëzore të arsyeshme në këtë dhomë nuk do të kishte bërë këtë. 303 00:16:08,020 --> 00:16:10,180 Çfarë do të kishit bërë? 304 00:16:10,180 --> 00:16:11,480 >> Ju do të keni shkuar drejt në mes, e drejtë? 305 00:16:11,480 --> 00:16:12,000 Afërsisht të qëndër. 306 00:16:12,000 --> 00:16:16,310 Dhe ti e kupton, oh, këto janë Znj Pra, Mike Smith, emri i fundit ishte Smith, 307 00:16:16,310 --> 00:16:19,050 nuk është e qartë, atëherë në gjysma e majtë e librit. 308 00:16:19,050 --> 00:16:21,040 Ai duhet të jetë në drejtim të S është në të djathtë. 309 00:16:21,040 --> 00:16:24,090 Dhe në këtë pikë, edhe pse shumica prej nesh mos e bëni këtë në realitet, ne mund të 310 00:16:24,090 --> 00:16:27,125 fjalë për fjalë të gris këtë problem në gjysmë. 311 00:16:27,125 --> 00:16:27,640 >> [Brohoritje dhe duartrokitje] 312 00:16:27,640 --> 00:16:28,950 >> DAVID Malan: Faleminderit. 313 00:16:28,950 --> 00:16:30,150 >> [Brohoritje dhe duartrokitje] 314 00:16:30,150 --> 00:16:34,660 >> DAVID Malan: Ju mund të vërtetë të gris këtë Problemi në gjysmë, duke lënë mua me të, 315 00:16:34,660 --> 00:16:36,120 fjalë për fjalë, një gjysmë si problem i madh. 316 00:16:36,120 --> 00:16:39,750 Pra, nëse ky libër telefoni ishte - dhe kjo ndoshta ishte - rreth 1000 faqe, tani 317 00:16:39,750 --> 00:16:40,840 kjo është vetëm 500. 318 00:16:40,840 --> 00:16:44,710 Në qoftë se unë bëj këtë përsëri dhe unë të kuptojë, oh, Damn, unë shkova shumë larg, unë jam në Ts 319 00:16:44,710 --> 00:16:46,480 seksion, unë mund të në mënyrë të ngjashme - 320 00:16:46,480 --> 00:16:48,030 fjalë për fjalë apo figurativisht - 321 00:16:48,030 --> 00:16:50,260 gris librin e telefonit - kjo ishte në fakt shumë më e lehtë në atë kohë. 322 00:16:50,260 --> 00:16:53,610 Unë fjalë për fjalë mund të shqyej librin e telefonit në gjysmë, duke lënë mua tani me 323 00:16:53,610 --> 00:16:55,186 jo jo 1000, 500 - 324 00:16:55,186 --> 00:16:56,680 250 faqe. 325 00:16:56,680 --> 00:17:00,210 Dhe unë mund të shkoj 125, dhe gjysma e se, dhe gjysma e se, dhe gjysma e se, 326 00:17:00,210 --> 00:17:04,760 derisa më në fund unë do të lihet me vetëm një faqe të vetme. 327 00:17:04,760 --> 00:17:06,430 >> [Qeshura] 328 00:17:06,430 --> 00:17:07,589 >> DAVID Malan: Kjo është Pjesa I dështojnë. 329 00:17:07,589 --> 00:17:10,400 Një faqe e vetme në të cilën Mike është shpresë. 330 00:17:10,400 --> 00:17:14,630 Tani ato algoritme të ndryshme mund të jenë të lloj i vlerësuar apo të vlerësohen në 331 00:17:14,630 --> 00:17:15,270 mënyra të ndryshme. 332 00:17:15,270 --> 00:17:17,300 I pari ishte shumë lineare, e drejtë? 333 00:17:17,300 --> 00:17:18,500 Kthejeni faqen, shikoni për Mike. 334 00:17:18,500 --> 00:17:19,630 Kthejeni faqen, shikoni për Mike. 335 00:17:19,630 --> 00:17:20,560 Është shumë lineare. 336 00:17:20,560 --> 00:17:23,339 Nëse ka një faqe më shumë në telefon libër, ajo ndoshta do të marrë mua 337 00:17:23,339 --> 00:17:27,380 një më shumë dyta, një njësi më shumë nga koha, megjithatë ne jemi duke njehsuar kohën. 338 00:17:27,380 --> 00:17:32,470 >> Kështu që unë mund të tërheqë këtë linjë si kjo këtu, ku si madhësia e 339 00:17:32,470 --> 00:17:34,700 Rritjet e problemeve nga e majta në të djathtë - 340 00:17:34,700 --> 00:17:37,480 Libri i telefonit merr të vogla për të madhe - 341 00:17:37,480 --> 00:17:41,080 dhe koha do të rritet në Boshti vertikal, madhe 342 00:17:41,080 --> 00:17:42,030 libër telefoni është. 343 00:17:42,030 --> 00:17:46,180 Pra, n është vetëm një variabël i përgjithshëm që shkencëtarët kompjuter të përdorur për të përfaqësuar 344 00:17:46,180 --> 00:17:48,210 disa vlera, disa numër. 345 00:17:48,210 --> 00:17:50,740 Pra, n do të rritet linear. 346 00:17:50,740 --> 00:17:53,040 Dyfishojë madhësinë e librit të telefonit, është duke shkuar për të marrë mua dy herë më shumë 347 00:17:53,040 --> 00:17:54,780 kohë, ka shumë të ngjarë, për të gjetur Mike. 348 00:17:54,780 --> 00:17:56,390 >> Tani unë mund të ketë qenë i zgjuar në lidhje me këtë, e drejtë? 349 00:17:56,390 --> 00:17:57,800 I was getting bored shpejt. 350 00:17:57,800 --> 00:17:58,910 Mund të ketë bërë këtë duke twos. 351 00:17:58,910 --> 00:18:01,870 Kështu dy faqe, atëherë katër, pastaj gjashtë, pastaj tetë. 352 00:18:01,870 --> 00:18:05,220 Dhe unë mund të fillojnë të fluturojnë nëpërmjet saj një pak më të shpejtë, megjithëse në rrezik të vogël të 353 00:18:05,220 --> 00:18:09,210 duke tejkaluar Mike, por kjo nuk është kurba do të jetë mbi të gjitha që të ndryshme. 354 00:18:09,210 --> 00:18:12,550 Ajo është ende do të jetë një e drejtë line, por pak më të shpejtë. 355 00:18:12,550 --> 00:18:13,710 >> Por çfarë kam bërë? 356 00:18:13,710 --> 00:18:15,845 Unë në fakt e bëri diçka të rrënjësisht të mirë. 357 00:18:15,845 --> 00:18:21,990 Kam arritur atë që ne do të thërrasë logaritmike , koha log n, ku kjo e gjelbër 358 00:18:21,990 --> 00:18:27,730 Linja ka një shumë, shumë, shumë edge pak drejt saj. 359 00:18:27,730 --> 00:18:33,050 Dhe në vend, ajo sugjeron, si ajo lloj i afrohet pafundësinë ndonjëherë kështu gradualisht, 360 00:18:33,050 --> 00:18:36,700 se unë në fakt mund të marrë një 1000 faqe- librin e telefonit, dyfishojë madhësinë e saj 361 00:18:36,700 --> 00:18:39,610 vitin e ardhshëm - sepse mendoj shumë më shumë njerëz lëvizin në qytet. 362 00:18:39,610 --> 00:18:43,250 >> Deri tani unë kam marrë 2000 faqe, por si hapa shumë më shumë është se zgjuar 363 00:18:43,250 --> 00:18:45,200 algorithm do të marrë? 364 00:18:45,200 --> 00:18:46,060 Vetëm një. 365 00:18:46,060 --> 00:18:48,060 Unë do të thotë, kjo është një gjë e fuqishme. 366 00:18:48,060 --> 00:18:51,400 Nëse shkojmë në 4.000 faqet vitin e ardhshëm, që do të marrë mua 367 00:18:51,400 --> 00:18:53,020 vetëm dy hapa më shumë. 368 00:18:53,020 --> 00:18:56,500 Kështu që ju mund të hedhin më të mëdha Problemet në mua, jo ndryshe nga web është 369 00:18:56,500 --> 00:18:59,560 hedhur probleme më të mëdha dhe më të mëdha çdo ditë në Googles dhe Facebooks e 370 00:18:59,560 --> 00:19:01,590 bota, dhe kjo nuk është tillë një punë e madhe. 371 00:19:01,590 --> 00:19:05,840 Sepse kam vënë mendim shumë dhe kujdes në Algoritmi im me të cilin për të zgjidhur 372 00:19:05,840 --> 00:19:07,020 Problemet efikase. 373 00:19:07,020 --> 00:19:09,260 >> Dhe me të vërtetë, që do të jetë një nga qëllimet e këtij kursi. 374 00:19:09,260 --> 00:19:11,230 Ju do të, së bashku rrugën, mësojnë se si të programit. 375 00:19:11,230 --> 00:19:13,360 Ju do të mësoni se si të programit në ndonjë numër të gjuhëve. 376 00:19:13,360 --> 00:19:16,670 Por në fund të ditës, sigurisht është në lidhje me zgjidhjen e problemeve dhe marrjen e 377 00:19:16,670 --> 00:19:20,490 më të mirë në zgjidhjen e problemeve - dhe, si në raste si ky, zgjidhjen e problemeve 378 00:19:20,490 --> 00:19:22,030 në mënyrë më efikase. 379 00:19:22,030 --> 00:19:23,990 >> Tani deri tani, ne kemi bërë këtë mjaft intuitive. 380 00:19:23,990 --> 00:19:27,420 Le të futur diçka në mënyrë të drejtë generic quajtur pseudokod. 381 00:19:27,420 --> 00:19:29,150 Pra, ne do të merrni përfundimisht, në këtë kurs, të 382 00:19:29,150 --> 00:19:30,570 gjuhë të ndryshme programimi. 383 00:19:30,570 --> 00:19:34,280 Por sot ne do të bëjmë atë në anglisht-si Sintaksa, ku ju vetëm lloji i thonë 384 00:19:34,280 --> 00:19:37,330 çfarë ju thotë, por ju jeni ndonjëherë në mënyrë ngjeshur dhe ju mos u bëni merak rreth 385 00:19:37,330 --> 00:19:38,960 gramatika dhe fjali të plota. 386 00:19:38,960 --> 00:19:41,600 Ju vetëm të shprehë veten si koncize të jetë e mundur. 387 00:19:41,600 --> 00:19:45,400 >> Pra pseudokod është anglisht-si Sintaksa që përfaqëson 388 00:19:45,400 --> 00:19:46,750 një gjuhë programimi. 389 00:19:46,750 --> 00:19:51,170 Dhe për këtë qëllim, më lejoni të propozoj që ne tani të modeluar procesin ne vetëm 390 00:19:51,170 --> 00:19:54,990 përshkruar i numërimit diçka pak ndryshe, këtë herë duke marrë një 391 00:19:54,990 --> 00:19:59,040 shikoni në këtë video pesë-minutësh të prodhuar nga miqtë tanë në TED që 392 00:19:59,040 --> 00:20:03,170 përcakton se çfarë është pseudokod, përcakton se çfarë menduarit algorithmic është, dhe madje edhe 393 00:20:03,170 --> 00:20:07,030 pse shembull ju jeni gati për të parë është, në vetvete, super e thjeshtë, kjo është 394 00:20:07,030 --> 00:20:09,820 do të fillojnë të na japë mendor model, fjalorin, me të cilin do të 395 00:20:09,820 --> 00:20:14,588 të bëjë shumë, shumë më tepër komplekse Algoritme mjaft shpejt. 396 00:20:14,588 --> 00:20:15,576 >> [FILLO video playback] 397 00:20:15,576 --> 00:20:29,920 >> [Duke luajtur muzikë] 398 00:20:29,920 --> 00:20:31,100 >> Transmetuesi: Çfarë është një algoritmi? 399 00:20:31,100 --> 00:20:34,730 Në shkenca kompjuterike, një algoritmi është një vendosur e udhëzimeve për zgjidhjen e disa 400 00:20:34,730 --> 00:20:36,620 Problemi hap pas hapi. 401 00:20:36,620 --> 00:20:39,650 Në mënyrë tipike, algoritme janë ekzekutuar nga kompjuterat, por ne njerëzit kanë 402 00:20:39,650 --> 00:20:41,230 Algoritmet, si edhe. 403 00:20:41,230 --> 00:20:43,290 Për shembull, si do të shkojë Rreth numëruar numrin 404 00:20:43,290 --> 00:20:44,750 e njerëzve në një dhomë? 405 00:20:44,750 --> 00:20:47,980 E pra, në qoftë se ju jeni si unë, ju ndoshta do të Pika në çdo person, një në 406 00:20:47,980 --> 00:20:50,120 një kohë, dhe numërimin deri nga 0. 407 00:20:50,120 --> 00:20:52,970 1, 2, 3, 4, dhe kështu me radhë. 408 00:20:52,970 --> 00:20:54,140 >> E pra, kjo është një algoritëm. 409 00:20:54,140 --> 00:20:57,600 Në fakt, le të përpiqemi për të shprehur atë një pak më zyrtarisht në pseudokod - 410 00:20:57,600 --> 00:21:00,700 Anglisht-si sintaksa që i ngjan një gjuhë programimi. 411 00:21:00,700 --> 00:21:02,580 Le N 0 të barabartë. 412 00:21:02,580 --> 00:21:06,970 Për çdo person në dhomë, të vendosur N barabartë me N plus 1. 413 00:21:06,970 --> 00:21:08,400 >> Si për të interpretuar këtë pseudokod? 414 00:21:08,400 --> 00:21:12,840 E pra, një linjë deklaron, në mënyrë që të flasin, një ndryshore të quajtur N dhe initializes 415 00:21:12,840 --> 00:21:14,250 vlera e saj me 0. 416 00:21:14,250 --> 00:21:17,550 Kjo thjesht do të thotë se në fillim të algorithm tonë, gjë me të cilën 417 00:21:17,550 --> 00:21:19,650 ne jemi duke numëruar ka një vlerë prej 0. 418 00:21:19,650 --> 00:21:22,620 Pas të gjitha, para se të fillojë numërimi, ne nuk kemi numëruar ende asgjë. 419 00:21:22,620 --> 00:21:25,340 Thirrja e kësaj N ndryshueshme është vetëm një konventë. 420 00:21:25,340 --> 00:21:26,890 Unë mund të ketë ndonjë gjë më e quajti atë. 421 00:21:26,890 --> 00:21:30,560 >> Tani linjë dy demarks fillimi i një lak, një sekuencë e hapave që do të 422 00:21:30,560 --> 00:21:32,310 përsëris disa numrin e herë. 423 00:21:32,310 --> 00:21:35,910 Pra, në shembullin tonë, ne jemi duke marrë hap është duke numëruar njerëzve në dhomë. 424 00:21:35,910 --> 00:21:38,730 Nën dy linjës është linjë tre, i cili përshkruan saktësisht se si 425 00:21:38,730 --> 00:21:40,160 ne do të shkojnë për numërim. 426 00:21:40,160 --> 00:21:43,440 Kryeradhë nënkupton se ajo është tre të linjës që do të përsëriten. 427 00:21:43,440 --> 00:21:47,380 >> Pra, çfarë është duke thënë se është pseudokod se pas duke filluar nga 0, per secilin 428 00:21:47,380 --> 00:21:50,690 person në dhomë, ne do të rritet nga N 1. 429 00:21:50,690 --> 00:21:53,050 Tani është ky algoritëm korrekt? 430 00:21:53,050 --> 00:21:54,580 E pra, le të më përplaste mbi një grimë. 431 00:21:54,580 --> 00:21:57,270 A do të punojë në qoftë se ka dy njerëz në dhomë? 432 00:21:57,270 --> 00:21:58,170 Le të shohim. 433 00:21:58,170 --> 00:22:00,260 >> Në një linjë, ne kemi nisja N në 0. 434 00:22:00,260 --> 00:22:03,660 Për secilin prej këtyre dy njerëzve, ne pastaj Rritja N nga 1. 435 00:22:03,660 --> 00:22:07,310 Pra, në udhëtimin e parë përmes loop, ne update N nga 0 në 1. 436 00:22:07,310 --> 00:22:11,070 Në udhëtimin e dytë përmes se njëjtë lak, ne Përditëso N 1-2. 437 00:22:11,070 --> 00:22:15,780 Dhe kështu deri në fund të këtij algoritmi s, n është 2, të cilat me të vërtetë përputhet me numrin e 438 00:22:15,780 --> 00:22:16,700 njerëz në dhomë. 439 00:22:16,700 --> 00:22:17,760 >> Deri më tani, në mënyrë të mirë. 440 00:22:17,760 --> 00:22:19,610 Si në lidhje me një rast qoshe, pse? 441 00:22:19,610 --> 00:22:22,590 Supozoni Ndodhen 0 njerëz në dhomë - përveç meje, 442 00:22:22,590 --> 00:22:24,170 kush është duke bërë numërimin. 443 00:22:24,170 --> 00:22:27,150 Në një linjë, ne kemi nisja N në 0. 444 00:22:27,150 --> 00:22:30,280 Këtë herë, edhe pse, linja tre nuk ekzekutuar fare pasi nuk ka një 445 00:22:30,280 --> 00:22:31,370 person në dhomë. 446 00:22:31,370 --> 00:22:35,260 Dhe kështu N mbetet 0, që përputhet Numri i njerëzve në dhomë. 447 00:22:35,260 --> 00:22:36,420 Shumë e thjeshtë, e drejtë? 448 00:22:36,420 --> 00:22:39,630 >> Por njerëzit e numërimit në një kohë është shumë e paefektshme, shumë, apo jo? 449 00:22:39,630 --> 00:22:40,920 S'ka dyshim se ne mund të bëjmë më mirë. 450 00:22:40,920 --> 00:22:43,120 Pse nuk llogariten dy njerëz në një kohë? 451 00:22:43,120 --> 00:22:49,300 Në vend të llogaritur 1, 2, 3, 4, 5, 6, 7, 8, dhe kështu me radhë, pse nuk e llogarisin, 2, 452 00:22:49,300 --> 00:22:51,460 4, 6, 8, dhe kështu on? 453 00:22:51,460 --> 00:22:53,700 Kjo edhe tingëllon më të shpejtë, dhe kjo me siguri është. 454 00:22:53,700 --> 00:22:56,240 >> Le të shprehim këtë optimization në pseudokod. 455 00:22:56,240 --> 00:22:57,800 Le N 0 të barabartë. 456 00:22:57,800 --> 00:23:02,450 Për secilën palë e njerëzve në dhomë, vendosur N barabartë me N plus 2. 457 00:23:02,450 --> 00:23:04,120 Ndryshimi Pretty thjeshtë, apo jo? 458 00:23:04,120 --> 00:23:06,750 Sesa njerëzit numërimin e në një kohë, ne vend të llogarisë 459 00:23:06,750 --> 00:23:08,300 ata të dy në një kohë. 460 00:23:08,300 --> 00:23:10,980 Ky algoritëm është kështu dy herë aq shpejt sa fundit. 461 00:23:10,980 --> 00:23:12,180 >> Por a është kjo e saktë? 462 00:23:12,180 --> 00:23:12,920 Le të shohim. 463 00:23:12,920 --> 00:23:15,330 A do të punojë në qoftë se ka dy njerëz në dhomë? 464 00:23:15,330 --> 00:23:17,550 Në një linjë, ne kemi nisja N në 0. 465 00:23:17,550 --> 00:23:20,920 Për këtë një palë të njerëzve, ne pastaj Rritja N nga dy. 466 00:23:20,920 --> 00:23:24,860 Dhe kështu deri në fund të këtij algoritmi-së, N është 2, të cilat me të vërtetë përputhet me numrin e 467 00:23:24,860 --> 00:23:25,650 njerëz në dhomë. 468 00:23:25,650 --> 00:23:28,250 >> Supozoni tjetër që ka 0 njerëz në dhomë. 469 00:23:28,250 --> 00:23:30,840 Në një linjë, ne kemi nisja N në 0. 470 00:23:30,840 --> 00:23:34,330 Si më parë, tre linja nuk ekzekuton fare, pasi që nuk ka ndonjë palë 471 00:23:34,330 --> 00:23:35,380 e njerëzve në dhomë. 472 00:23:35,380 --> 00:23:38,350 Dhe kështu N mbetet 0, e cila në të vërtetë përputhet me numrin e 473 00:23:38,350 --> 00:23:39,570 njerëz në dhomë. 474 00:23:39,570 --> 00:23:42,280 >> Por, çfarë nëse janë tre njerëz në dhomë? 475 00:23:42,280 --> 00:23:44,130 Si e bën këtë algoritëm fare? 476 00:23:44,130 --> 00:23:44,990 Le të shohim. 477 00:23:44,990 --> 00:23:47,460 Në një linjë, ne kemi nisja N në 0. 478 00:23:47,460 --> 00:23:50,870 Për një palë të këtyre njerëzve, ne pastaj Rritja N nga 2. 479 00:23:50,870 --> 00:23:51,800 Por atëherë çfarë? 480 00:23:51,800 --> 00:23:54,960 Nuk është një tjetër palë e plotë të njerëzve në dhomë, kështu që nuk ka dy linja 481 00:23:54,960 --> 00:23:56,180 zbatohet më. 482 00:23:56,180 --> 00:24:00,530 Dhe kështu deri në fund të këtij algoritmi-së, N eshte akoma 2, e cila nuk eshte korrekte. 483 00:24:00,530 --> 00:24:03,810 >> Në të vërtetë, ky algoritëm është e thënë të jetë buggy, sepse ajo ka një gabim. 484 00:24:03,810 --> 00:24:05,820 Lejon dëmshpërblim me disa pseudokod ri. 485 00:24:05,820 --> 00:24:09,670 Le të barabartë 0 n për çdo palë e njerëzve në dhomë. 486 00:24:09,670 --> 00:24:12,550 Bëje N barabartë me N plus 2. 487 00:24:12,550 --> 00:24:17,140 Nëse një person mbetet unpaired, vendosur N barabartë me N plus 1. 488 00:24:17,140 --> 00:24:20,140 Për të zgjidhur këtë problem të veçantë, ne kemi futur, në përputhje katër, një 489 00:24:20,140 --> 00:24:24,520 kusht, i njohur ndryshe si një degë se vetëm ekzekuton në qoftë se ka një 490 00:24:24,520 --> 00:24:26,640 Personi që ne nuk mund të palë me tjetrën. 491 00:24:26,640 --> 00:24:30,440 Dhe kështu që tani, nëse ka një apo tre apo ndonjë numër i rastësishëm i njerëzve në 492 00:24:30,440 --> 00:24:33,290 dhomë, ky algoritëm tani do të numëroni ato. 493 00:24:33,290 --> 00:24:34,560 >> Mund të bëjmë edhe më mirë? 494 00:24:34,560 --> 00:24:38,820 E pra, ne mund të mbështeteni në 3s apo 4S apo edhe 5s dhe 10s, por përtej kësaj, ajo është 495 00:24:38,820 --> 00:24:41,360 duke shkuar për të marrë një pak e vështirë për pikë. 496 00:24:41,360 --> 00:24:44,660 Në fund të ditës, nëse ekzekutohet nga kompjuterat apo njerëzve, 497 00:24:44,660 --> 00:24:46,750 algoritme janë vetëm një grup e udhëzimeve me 498 00:24:46,750 --> 00:24:48,290 e cila për të zgjidhur problemet. 499 00:24:48,290 --> 00:24:49,792 Këto ishin vetëm tre. 500 00:24:49,792 --> 00:24:52,404 Çfarë problemi do të zgjidhë me një algoritmi? 501 00:24:52,404 --> 00:24:52,901 >> [VIDEO END rishikim] 502 00:24:52,901 --> 00:24:55,883 >> DAVID Malan: Kjo është e vetmja kohë Unë do të shfaqet në formë të kartonave. 503 00:24:55,883 --> 00:25:01,050 Por, ku kjo histori lë jashtë, tani, është se si mund të bëjmë më mirë? 504 00:25:01,050 --> 00:25:04,680 Threes dhe katërkëmbëshe, ne pretendojnë, ne mund të llogarisë njerëz shumë më të shpejtë, por mund të kemi 505 00:25:04,680 --> 00:25:06,290 të bëjë thelbësisht më mirë se kjo? 506 00:25:06,290 --> 00:25:07,540 Dhe unë bast mundemi. 507 00:25:07,540 --> 00:25:11,980 >> Në qoftë se ne kemi prezantuar një grimë e vet tonë pseudokod këtu, unë jam duke shkuar për të propozojë 508 00:25:11,980 --> 00:25:14,550 se ne mund të arrijmë një linjë si kjo. 509 00:25:14,550 --> 00:25:17,280 Ne nuk jemi duke shkuar për të numëruar njerëzit një, dy, tre, katër. 510 00:25:17,280 --> 00:25:19,470 Ne nuk jemi duke shkuar për të shkuar dy, katër, gjashtë, tetë. 511 00:25:19,470 --> 00:25:23,390 Ne jemi duke shkuar për të bërë thelbësisht më mirë duke rimenduar problemin, dhe në këtë 512 00:25:23,390 --> 00:25:27,080 rasti, leveraging një tjetër underutilized burim. 513 00:25:27,080 --> 00:25:31,460 >> Në një moment të vetëm, unë shpresoj se ju do të fal dhe humor na duke qëndruar deri në 514 00:25:31,460 --> 00:25:34,470 vendi, në të cilën pikë ne jemi duke shkuar për të kërkoni secili prej jush të marrë në tuaj 515 00:25:34,470 --> 00:25:36,400 Mendjet numri 1. 516 00:25:36,400 --> 00:25:39,560 Ju jeni pastaj do të gjithnjë e më të ajër, si koha kalon, të gjejnë 517 00:25:39,560 --> 00:25:42,740 dikush tjetër që është në këmbë, të kombinuar Numrat tuaj së bashku 518 00:25:42,740 --> 00:25:43,720 duke shtuar ato. 519 00:25:43,720 --> 00:25:47,490 Njëri prej jush është që të racës, atëherë do të ulet poshtë e parë, dhe personi tjetër 520 00:25:47,490 --> 00:25:48,880 është duke shkuar për të përsëritur. 521 00:25:48,880 --> 00:25:53,090 >> Pra, me fjalë të tjera, nga mbjellëse të gjithë ju me numrin 1, dhe pastaj 522 00:25:53,090 --> 00:25:57,800 kombinuar ato 1s në 2s dhe atyre 2s në 4s, gjithnjë e më shumë me të gjithë 523 00:25:57,800 --> 00:26:02,740 ulur poshtë, ne duhet, në fund të ky algoritëm, kanë vetëm një kredi 524 00:26:02,740 --> 00:26:07,570 Shpirti që nuk ulen të shpejtë të mjaftueshme, por i cili ka tërë numërimin audienca 525 00:26:07,570 --> 00:26:09,180 në mendjen e tij apo të saj. 526 00:26:09,180 --> 00:26:13,730 >> Pra, nëse ju do të, le të shkojë përpara dhe të - Hapi i parë - të qëndrojë deri në vend. 527 00:26:13,730 --> 00:26:15,600 Dhe ekzekutuar. 528 00:26:15,600 --> 00:26:36,580 >> [Turmën duke pëshpëritur] 529 00:26:36,580 --> 00:26:38,820 >> DAVID Malan: A e dini se Lauren ku është? 530 00:26:38,820 --> 00:26:40,179 729? 531 00:26:40,179 --> 00:27:23,350 >> [Turmën duke pëshpëritur] 532 00:27:23,350 --> 00:27:24,340 >> DAVID Malan: Të gjithë të drejtë? 533 00:27:24,340 --> 00:27:39,110 >> [Turmën duke pëshpëritur] 534 00:27:39,110 --> 00:27:41,365 >> DAVID Malan: Të gjithë të drejtë, ne duhet të jetë pranë përfundimit. 535 00:27:41,365 --> 00:27:44,340 536 00:27:44,340 --> 00:27:47,670 Ne e shohim një shoku qëndronte këtu ende. 537 00:27:47,670 --> 00:27:48,770 Kush tjetër duhet të çiftëzohet? 538 00:27:48,770 --> 00:27:50,020 Nëse ju djema doni të çiftuar off. 539 00:27:50,020 --> 00:27:53,260 540 00:27:53,260 --> 00:27:56,520 Dikush up krye. 541 00:27:56,520 --> 00:27:58,150 Pse nuk mundem të japë një dorë këtu. 542 00:27:58,150 --> 00:28:01,370 Për shumë pak njerëz të cilët janë ende qëndruar, çfarë bëni ju numrat 543 00:28:01,370 --> 00:28:02,790 keni në mendjen tuaj? 544 00:28:02,790 --> 00:28:04,020 >> STUDENT: 78. 545 00:28:04,020 --> 00:28:06,010 >> DAVID Malan: 78 plus - 546 00:28:06,010 --> 00:28:07,840 kush është duke qëndruar këtu poshtë? 547 00:28:07,840 --> 00:28:08,370 >> STUDENT: 39. 548 00:28:08,370 --> 00:28:09,590 >> DAVID Malan: Plus 39. 549 00:28:09,590 --> 00:28:12,310 Plus kush tjetër është ende në këmbë? 550 00:28:12,310 --> 00:28:13,650 81? 551 00:28:13,650 --> 00:28:15,960 OK, kush tjetër? 552 00:28:15,960 --> 00:28:17,200 Një tjetër 81? 553 00:28:17,200 --> 00:28:17,860 Wow. 554 00:28:17,860 --> 00:28:19,210 Dhe pastaj çfarë është në shpinë? 555 00:28:19,210 --> 00:28:20,360 >> STUDENT: 49. 556 00:28:20,360 --> 00:28:21,812 >> DAVID Malan: 49, plus? 557 00:28:21,812 --> 00:28:22,950 >> STUDENT: 98. 558 00:28:22,950 --> 00:28:24,980 >> DAVID Malan: 98 plus? 559 00:28:24,980 --> 00:28:28,190 Është se dikush tjetër? 560 00:28:28,190 --> 00:28:29,155 12? 561 00:28:29,155 --> 00:28:30,460 Good job. 562 00:28:30,460 --> 00:28:33,610 >> [Qeshura] 563 00:28:33,610 --> 00:28:34,690 >> DAVID Malan: Oh, 112 - 564 00:28:34,690 --> 00:28:35,410 oh. 565 00:28:35,410 --> 00:28:36,220 Good job! 566 00:28:36,220 --> 00:28:38,660 >> [Qeshura] 567 00:28:38,660 --> 00:28:42,570 >> [Duartrokitje] 568 00:28:42,570 --> 00:28:43,820 >> DAVID Malan: Çdokush tjetër ende në këmbë? 569 00:28:43,820 --> 00:28:46,710 570 00:28:46,710 --> 00:28:47,260 Na vjen keq? 571 00:28:47,260 --> 00:28:48,110 >> STUDENT: 99. 572 00:28:48,110 --> 00:28:49,810 >> DAVID Malan: 99. 573 00:28:49,810 --> 00:28:52,620 Çdokush tjetër ende në këmbë? 574 00:28:52,620 --> 00:28:57,290 Dhe numri i përgjithshëm i nxënësve këtu është e vërtetë, sipas te - 575 00:28:57,290 --> 00:28:59,400 ju keni një numër? 576 00:28:59,400 --> 00:29:03,170 Oh, numri aktual i njerëzve në dhomë, sipas parasysh që 577 00:29:03,170 --> 00:29:07,660 vllezër mësimore ishin bërë në rrugën e të gjithëve ne, ishte 729. 578 00:29:07,660 --> 00:29:11,070 Pra, nga një dhomë të nxënësve të Harvardit të cilët numërohen veten e tyre, 579 00:29:11,070 --> 00:29:14,126 Përgjigja është 637. 580 00:29:14,126 --> 00:29:15,480 >> [Qeshura] 581 00:29:15,480 --> 00:29:16,350 >> DAVID Malan: Pra ngushtë. 582 00:29:16,350 --> 00:29:17,360 Por ende. 583 00:29:17,360 --> 00:29:22,110 OK, kështu që është një mësim moment, e drejtë? 584 00:29:22,110 --> 00:29:24,120 Kjo është ajo që ne tani e përshkruajnë si një bug. 585 00:29:24,120 --> 00:29:28,120 Diku përgjatë rrugës, ne e bëmë disa aritmetike e gabuar, apo dikush u ul, 586 00:29:28,120 --> 00:29:29,930 ose majtas, apo diçka shkoi keq. 587 00:29:29,930 --> 00:29:30,930 Por kjo është në rregull. 588 00:29:30,930 --> 00:29:33,390 Sepse edhe akoma, ne mori mjaft të ngushtë. 589 00:29:33,390 --> 00:29:37,480 Dhe unë do të argumentojnë se ne mori të gabuar përgjigjeni një shumë më shpejt se unë do të ketë 590 00:29:37,480 --> 00:29:39,770 përdorimin e më shumë qasjen time lineare. 591 00:29:39,770 --> 00:29:42,630 >> Pra, le të supozojmë që kemi bërë në fakt të marrë që korrigjuar, por mendoj se tani në lidhje me atë 592 00:29:42,630 --> 00:29:46,870 po ndodhte çdo herë, kundrejt mia vet algorithm treguar naive. 593 00:29:46,870 --> 00:29:48,420 Një, dy, tre. 594 00:29:48,420 --> 00:29:53,010 Nëse ka të vërtetë janë 729 apo 637 njerëz këtu, që do të marrë mua 595 00:29:53,010 --> 00:29:57,720 fjalë për fjalë 637 ose 729 pointings i gishtit dhe 596 00:29:57,720 --> 00:29:59,490 rrisim numërimin tim total. 597 00:29:59,490 --> 00:30:01,910 Dhe unë mund të bëjë një pak më të mirë nga duke shkuar dy, katër, gjashtë, tetë, dhe 598 00:30:01,910 --> 00:30:05,660 dyfishtë që shpejtësia, ndoshta edhe e trefishtë ose katërfishtë, në varësi se si edhe unë mund të 599 00:30:05,660 --> 00:30:07,110 të bëjë që numëruar në kokën time. 600 00:30:07,110 --> 00:30:10,720 >> Por, kjo qasje që ju djema e mori ishte tërësisht i ndryshëm. 601 00:30:10,720 --> 00:30:12,770 Sepse në fillim, të gjithë ju u ngrit. 602 00:30:12,770 --> 00:30:14,620 Pra, të gjitha 729. 603 00:30:14,620 --> 00:30:17,370 Dhe pastaj fjalë për fjalë gjysma e ju ul. 604 00:30:17,370 --> 00:30:19,720 Dhe pas kësaj, një tjetër gjysma prej jush u ul. 605 00:30:19,720 --> 00:30:22,650 Dhe pas kësaj, një tjetër gjysma prej jush u ul. 606 00:30:22,650 --> 00:30:27,470 >> Dhe numri i përgjithshëm i herëve që ju djema mund të ketë ulur është afërsisht 607 00:30:27,470 --> 00:30:31,740 tetë ose nëntë, ose dhjetë herë gjithsej, në varësi të asaj numërimin ynë i përgjithshëm është. 608 00:30:31,740 --> 00:30:33,300 Dhe ne mund të lloj të bëjë kjo mënyrë tjetër. 609 00:30:33,300 --> 00:30:37,740 Nëse do të kishim 1.024 njerëz në dhomë, Numri i përgjithshëm i herë ju mund të 610 00:30:37,740 --> 00:30:41,870 përgjysmojë 1.024 njerëz është 10. 611 00:30:41,870 --> 00:30:43,370 >> Tani mendoni rreth saj në drejtim tjetër. 612 00:30:43,370 --> 00:30:49,170 Supozoni, qesharake, që kemi pasur, të themi katër milliard njerëz në këtë dhomë, 613 00:30:49,170 --> 00:30:50,860 ose një dhomë pak më e madhe. 614 00:30:50,860 --> 00:30:54,550 Sa herë do të kemi shkuar përmes këtij algoritmi, të tilla që gjysma 615 00:30:54,550 --> 00:30:58,110 e asaj klase ulet? 616 00:30:58,110 --> 00:31:03,050 Është vetëm do të marrë 32 të tillë operacionet, madje edhe në një klasë të madhësisë së 617 00:31:03,050 --> 00:31:03,770 katër miliard më. 618 00:31:03,770 --> 00:31:04,055 Pse? 619 00:31:04,055 --> 00:31:06,980 Sepse katër miliard më shkon në dy miliard, shkon në një milion, shkon në 620 00:31:06,980 --> 00:31:09,925 500 milionë, shkon në 250 milion, dot, dot, dot. 621 00:31:09,925 --> 00:31:14,940 Unë mund ta bëni vetëm se ndarja e disa 32 herë, në të cilën pikë, të gjithë me përjashtim të 622 00:31:14,940 --> 00:31:17,820 një person do të jetë lënë në këmbë. 623 00:31:17,820 --> 00:31:21,590 >> Dhe kjo, gjithashtu, është një lloj i fuqishëm Ideja se gjithnjë e më shumë ne do të përpiqemi për të 624 00:31:21,590 --> 00:31:24,690 levave në këtë kurs, dhe në programimi dhe shkenca kompjuterike më shumë 625 00:31:24,690 --> 00:31:29,400 në përgjithësi, këto mikrobe e një ideje me të cilat ne pastaj mund të zgjidhin shumë probleme, 626 00:31:29,400 --> 00:31:31,130 shumë më të fuqishëm. 627 00:31:31,130 --> 00:31:34,610 Pra, kemi filluar me mjaft e thjeshtë që pseudokod dhe një djalë në një dhomë, por 628 00:31:34,610 --> 00:31:38,205 tani me një dhomë të tërë plot me njerëz kemi bërë krejtësisht të mirë. 629 00:31:38,205 --> 00:31:41,460 >> E pra, le të tani tranzicionin nga pseudokod për disa kodin aktual. 630 00:31:41,460 --> 00:31:44,200 Kjo gjuhë që ju jeni gati për të parë ndodhë të quhet JavaScript, dhe 631 00:31:44,200 --> 00:31:46,190 ne do të kthehen në këtë drejtim Semestri së fundi. 632 00:31:46,190 --> 00:31:49,960 Kjo është një gjuhë programimi që ju përdorin për të bërë faqet e internetit dhe të tjera të tilla 633 00:31:49,960 --> 00:31:51,360 software këto ditë. 634 00:31:51,360 --> 00:31:54,890 Dhe ne kemi përdorur atë, në sajë të një mik i yni në Stanford, për të shifroj 635 00:31:54,890 --> 00:31:56,630 disa informata fshehur këtu. 636 00:31:56,630 --> 00:31:59,500 Ky është arti i Steganography, kështu që të flasin, ku ju mund të fshehin 637 00:31:59,500 --> 00:32:03,990 Informacioni në atë që ndryshe duket jenë zhurma ose një krejtësisht ndryshe 638 00:32:03,990 --> 00:32:05,220 image krejt. 639 00:32:05,220 --> 00:32:10,120 Por mishëruar në këtë imazh të veçantë është me të vërtetë një mesazhi sekret në terezi. 640 00:32:10,120 --> 00:32:12,950 >> Pra më lejoni të shkoj përpara dhe tërheq lart image njëjtë këtu, kjo 641 00:32:12,950 --> 00:32:14,270 Ora në një shfletues web. 642 00:32:14,270 --> 00:32:17,710 Dhe unë jam duke shkuar për të tundë dorën time në disa nga detajet për sot, veçanërisht 643 00:32:17,710 --> 00:32:21,780 për ato prej jush që kjo duket si jo vetëm JavaScript greke, por, si një 644 00:32:21,780 --> 00:32:23,930 gjuha krejtësisht të panjohura. 645 00:32:23,930 --> 00:32:26,190 Por ky është një shembull i një gjuhë programimi. 646 00:32:26,190 --> 00:32:30,660 >> Dhe tani për tani, të marrë në besim që kjo vija e parë të kodit - 647 00:32:30,660 --> 00:32:32,470 dhe nga kodi, unë vetëm do të thotë tekst. 648 00:32:32,470 --> 00:32:35,660 Teksti që unë mund të keni shtypur fjalë për fjalë në Microsoft Word, nëse unë kam 649 00:32:35,660 --> 00:32:37,630 software drejtë për të pastaj të bëjë diçka me të. 650 00:32:37,630 --> 00:32:42,120 Programim kodin burim, programimi Kodi, është me të vërtetë vetëm tekst, dhe ajo 651 00:32:42,120 --> 00:32:45,420 duket të ndryshme bazuar në atë gjuhë ju jeni duke përdorur, jo ndryshe dhe anglisht 652 00:32:45,420 --> 00:32:49,200 Spanjisht dhe rusisht të gjitha të duken të ndryshme kur ju shkruani ato në tastierën tuaj. 653 00:32:49,200 --> 00:32:53,520 >> Pra këtë linjë të parë, tani për tani të marrë në besimi, thjesht hap një grafik nga 654 00:32:53,520 --> 00:32:56,160 internet, se grafik zhurmshme ne vetëm e pa. 655 00:32:56,160 --> 00:32:59,900 Kjo linjë tjetër këtu është një shembull i një loop, dhe ne fakt panë se njëjtë 656 00:32:59,900 --> 00:33:01,130 Zhargoni në video TED. 657 00:33:01,130 --> 00:33:03,750 Një lak është diçka që ndodh përsëri dhe përsëri, dhe edhe pse kjo 658 00:33:03,750 --> 00:33:08,440 duket absolutisht e fshehtë, me fjalen për të, dhe disa kllapa, dhe 659 00:33:08,440 --> 00:33:09,510 disa semicolons. 660 00:33:09,510 --> 00:33:13,070 Ne do të kthehen me atë para se të gjatë, por se loop ka në thelb është 661 00:33:13,070 --> 00:33:17,310 thënë programin, iterate mbi të gjitha prej këtyre dots zhurmshme, nga e majta në të 662 00:33:17,310 --> 00:33:18,980 drejtë, fund e krye. 663 00:33:18,980 --> 00:33:21,260 >> Sepse në fund të ditës, një imazh pëlqen kjo - dhe ju mund të vërtetë 664 00:33:21,260 --> 00:33:22,860 lloji i shohin atë në këtë projektor - 665 00:33:22,860 --> 00:33:25,280 është me të vërtetë vetëm një rrjet i dots. 666 00:33:25,280 --> 00:33:29,730 Pra, ne mund të identifikojë secilin prej këtyre dots nga një y koordinativ, x,, dhe me këtë 667 00:33:29,730 --> 00:33:33,890 Programi, tani ne mund të fillojnë të bëjë diçka për këto pika. 668 00:33:33,890 --> 00:33:37,540 >> Pra, ajo që unë jam duke shkuar për të shkuar përpara dhe këtu nuk është që unë jam duke shkuar për të bërë disa ndryshime. 669 00:33:37,540 --> 00:33:41,000 Së pari unë jam duke shkuar për të shkuar përpara dhe për të hequr qafe nga të gjithë që të gjelbër dhe kaltërosh 670 00:33:41,000 --> 00:33:43,520 zhurma, dhe unë jam duke shkuar për të shkuar përpara dhe shtypni poshtë 671 00:33:43,520 --> 00:33:45,710 pa dyshim sintaksa fshehtë. 672 00:33:45,710 --> 00:33:48,020 im për imazhin. 673 00:33:48,020 --> 00:33:53,380 vendosur në blu e lokacionit x, presje, Vendndodhja y, me 0. 674 00:33:53,380 --> 00:33:55,610 Me fjalë të tjera, unë dua të vetëm fik të gjitha blu 675 00:33:55,610 --> 00:33:56,920 dots në atë foto. 676 00:33:56,920 --> 00:33:59,800 >> Unë jam duke shkuar për të shkuar përpara dhe tani klikoni kjo Run / Save button, dhe ju do të 677 00:33:59,800 --> 00:34:02,850 njoftim në anën e djathtë, image rezultuar duket. 678 00:34:02,850 --> 00:34:06,120 Tani gjelbër e saj super, por që nuk është për t'u habitur, sepse unë fjalë për fjalë u kthye 679 00:34:06,120 --> 00:34:11,070 off, duke bërë A 1 A 0, të gjithë blu në atë foto. 680 00:34:11,070 --> 00:34:12,540 >> E pra, tani le ta bëjmë atë një pak më shumë. 681 00:34:12,540 --> 00:34:16,989 im për imazhin, dot setGreen, x, y. 682 00:34:16,989 --> 00:34:20,659 Dhe kjo vetëm do të thotë iterate nga e majta në të djathtë dhe pastaj fund e krye. 683 00:34:20,659 --> 00:34:23,520 Kthejeni atë me një vlerë të nga 0, si edhe. 684 00:34:23,520 --> 00:34:24,750 Ruaj. 685 00:34:24,750 --> 00:34:28,100 Dhe në projektor, ju nuk mund të vërtetë me të vërtetë shoh ndonjë gjë në të gjitha. 686 00:34:28,100 --> 00:34:31,380 >> Në ekranin tim laptop, në qoftë se unë vetëm të kolegëve në rrugën e drejtë, unë mund të shoh një grimë e një 687 00:34:31,380 --> 00:34:33,300 image, sepse ata janë ende disa të kuqe në atje. 688 00:34:33,300 --> 00:34:35,540 Nëse ju keni dëgjuar ndonjëherë RGB akronim - 689 00:34:35,540 --> 00:34:36,830 e kuqe, jeshile, blu - 690 00:34:36,830 --> 00:34:39,110 ajo duke iu referuar kësaj përbërjeje një imazh i përdorur 691 00:34:39,110 --> 00:34:40,230 vetëm ato tri ngjyra. 692 00:34:40,230 --> 00:34:43,159 Dhe tani, ne kemi hedhur larg të gjitha jeshile, të gjitha blu, por 693 00:34:43,159 --> 00:34:44,500 nuk ka shumë të kuqe. 694 00:34:44,500 --> 00:34:45,920 >> Pra më lejoni të maniak deri kuqe. 695 00:34:45,920 --> 00:34:47,070 Si mund të bëj se? 696 00:34:47,070 --> 00:34:49,300 E pra, së pari, unë jam duke shkuar për të pyetur ky program një pyetje. 697 00:34:49,300 --> 00:34:52,030 Unë jam duke shkuar për të shkuar përpara dhe le të thërrasë atë një ndryshore, ashtu si në algjebër. 698 00:34:52,030 --> 00:34:54,060 Ju mund të keni X ose y ose Z. 699 00:34:54,060 --> 00:34:57,230 Unë jam duke shkuar për të deklarojë një ndryshore dhe thonë, të vënë në këtë variabël, 700 00:34:57,230 --> 00:35:02,790 përkohësisht, vlera e Imazhet getRed vlerën te x, y. 701 00:35:02,790 --> 00:35:05,870 >> Dhe përsëri, ne do të kthehen për të gjithë i këtij detaje në të ardhmen. 702 00:35:05,870 --> 00:35:10,630 Por tani për tani, vetëm të marrë në besim që kjo linjë është kërkuar programin, çfarë 703 00:35:10,630 --> 00:35:12,740 është vlera e kuqe në x, y? 704 00:35:12,740 --> 00:35:14,450 Në atë pikë të caktuar? 705 00:35:14,450 --> 00:35:15,710 >> Atëherë unë jam duke shkuar për të bërë diçka për të. 706 00:35:15,710 --> 00:35:21,100 Atëherë unë jam duke shkuar për të bërë image dot caktuar kuqe në x, y, y por këtë herë unë jam duke shkuar për 707 00:35:21,100 --> 00:35:24,760 rritur atë duke bërë herë të kuqe, le të themi, 10. 708 00:35:24,760 --> 00:35:26,870 Pra, të rritur atë nga një faktor i 10. 709 00:35:26,870 --> 00:35:29,880 Më lejoni të zoom jashtë tani dhe të mund të klikoni Run / Save. 710 00:35:29,880 --> 00:35:36,430 Dhe voila, se ishte atje tërë kohë, edhe pse sytë tona njerëzore 711 00:35:36,430 --> 00:35:37,900 nuk mund të mjaft të shohin atë. 712 00:35:37,900 --> 00:35:41,470 >> Pra, përsëri, kjo tani është kodi i vërtetë, një shembull i një gjuhë që ne do të vijë 713 00:35:41,470 --> 00:35:42,770 përsëri në para se të gjatë. 714 00:35:42,770 --> 00:35:46,670 Por e kuptojnë, veçanërisht ato prej jush me asnjë përvojë të tillë, ajo është mjaft e 715 00:35:46,670 --> 00:35:50,280 më shpejt që ne vetë do të jetë shkruar kodin se si atje. 716 00:35:50,280 --> 00:35:54,520 Në fakt, një mjet me të cilin ju jeni të gjithë disi i njohur, ndoshta, është e CS50 717 00:35:54,520 --> 00:35:57,330 Kursi i vet-pazar mjet, i cili ishte restartohet në fakt këtë verë nga disa 718 00:35:57,330 --> 00:36:01,070 i CS50 nxënësit e veta ish, tani kthehet TFS. 719 00:36:01,070 --> 00:36:04,740 >> Pra, kjo ndodh të jetë një website ndërtuar në një gjuhë që quhet PHP. 720 00:36:04,740 --> 00:36:08,510 Ajo përdor një bazë të dhënash të quajtur MySQL, gjërat me të cilat ne do të marrë në duart tona 721 00:36:08,510 --> 00:36:10,190 pista më vonë në semestër. 722 00:36:10,190 --> 00:36:14,140 Por besoj se kjo apo jo, edhe diçka si kjo në fund të fundit redukton në 723 00:36:14,140 --> 00:36:19,480 thjeshte e sythe dhe kushtet dhe degët, si ato ne pamë vetëm një 724 00:36:19,480 --> 00:36:21,530 Momenti më parë në video TED. 725 00:36:21,530 --> 00:36:25,180 >> Ajo që unë mendova se do të bëni tani është të mos ndajnë vetëm diçka që ne kemi bërë Stafi 726 00:36:25,180 --> 00:36:28,010 për kampus, por diçka një ish-student - tre 727 00:36:28,010 --> 00:36:29,080 Nxënësit, në fakt - 728 00:36:29,080 --> 00:36:33,950 e bëri këtë vit të kaluar, Sierra, Danieli dhe Sam, i fundit prej të cilëve nuk kishte asnjë para 729 00:36:33,950 --> 00:36:36,370 Përvoja programing kur ai mori CS50. 730 00:36:36,370 --> 00:36:39,950 Dhe për projektin e tyre finale, ata ekspozuar, në Panairin CS50, një 731 00:36:39,950 --> 00:36:43,720 Aplikimi quhet wrdly, e cila është një web-based program për të cilën ata e bënë 732 00:36:43,720 --> 00:36:47,670 kjo video që unë mendova se do të ndajnë për ju jap një kuptim të vetëm atë që është 733 00:36:47,670 --> 00:36:49,280 të jetë e mundur deri në fund të termit së. 734 00:36:49,280 --> 00:37:57,170 >> [Duke luajtur muzikë] 735 00:37:57,170 --> 00:38:00,570 >> DAVID Malan: Kjo është nga Zero Javës të javës 12 të këtij viti kaluara. 736 00:38:00,570 --> 00:38:05,470 >> [Duartrokitje] 737 00:38:05,470 --> 00:38:09,520 >> DAVID Malan: Si një ngacmues, gjithashtu, me të vërtetë për të ngjall oreksin tuaj është që ajo që është 738 00:38:09,520 --> 00:38:14,580 të jetë e mundur, ju mund të keni parë tashmë, ose mund të shohim së shpejti, market.cs50.net, një 739 00:38:14,580 --> 00:38:17,710 mjet i ri që ekipi Kursi ka qenë duke punuar në, këtë herë në 740 00:38:17,710 --> 00:38:21,530 bashkëpunim me Student Harvardit Agjencitë, të tilla që duke filluar këtë vit 741 00:38:21,530 --> 00:38:24,980 dhe duke vazhduar me shpresë në këtë vijnë verë ju do të keni një standard 742 00:38:24,980 --> 00:38:27,890 mundësi në kampus për të blerë dhe shesin gjëra me interes për ju. 743 00:38:27,890 --> 00:38:32,220 Dhe me partneritet nëpërmjet HSA, ju do të gjithashtu të jetë në gjendje të heqë off artikuj 744 00:38:32,220 --> 00:38:35,950 në njërën nga dyqane fizike HSA-së në disa Pika në të ardhmen, në mënyrë që të 745 00:38:35,950 --> 00:38:39,150 gjërat prokurë, veçanërisht si ju diplomuar dhe nuk domosdoshmërisht duan të 746 00:38:39,150 --> 00:38:44,110 hidhni gjëra, por në fakt paguajnë atë përpara për folks që mund të pasojnë ty 747 00:38:44,110 --> 00:38:45,270 këtu në kampus. 748 00:38:45,270 --> 00:38:46,740 Pra, më shumë që do të vijnë. 749 00:38:46,740 --> 00:38:49,830 >> Por pak më konkretisht, një mjet që është dalë nga CS50 në vitet e fundit 750 00:38:49,830 --> 00:38:52,760 vjet, me të cilën disa prej jush mund të jetë njohur dhe të tjerët prej jush mund të jetë 751 00:38:52,760 --> 00:38:57,940 googling tani, në CS50.net/2x, ju do të gjeni një lidhje me një zgjatje Chrome 752 00:38:57,940 --> 00:39:01,250 e cila është demonstrative se si ju mund të përdorin JavaScript njëjtën gjuhë, që ne 753 00:39:01,250 --> 00:39:06,660 përdoret me kullës Eifel një moment më parë, për të zbatuar shpejtësinë 2x rishikim 754 00:39:06,660 --> 00:39:09,000 për videot gjitha iSites Harvard. 755 00:39:09,000 --> 00:39:11,880 Kjo është diçka që është ndërtuar në vet lojtar CS50 e videove. 756 00:39:11,880 --> 00:39:14,870 Por kjo, gjithashtu, në qoftë se ju të filloni të gërmoj në kodin burimor, të cilat ne do të 757 00:39:14,870 --> 00:39:18,840 për fat të mirë të bërë në dispozicion, ju do të shihni se si ju mund edhe të zgjidhur problemet si kjo, 758 00:39:18,840 --> 00:39:23,180 përshpejtimin e Widgets në faqet e internetit me të cilat ju jeni tashmë të njohur mirë. 759 00:39:23,180 --> 00:39:26,630 >> Pra, një fjalë tani në kurs dhe pritjet dhe çfarë shtrihet përpara. 760 00:39:26,630 --> 00:39:29,445 Në përgjithësi, ne me të vërtetë do të mblidhen këtu të hënave dhe të mërkurën - edhe pse 761 00:39:29,445 --> 00:39:31,490 kjo e premte, ne do të mblidhen, sepse i Javës Shopping - 762 00:39:31,490 --> 00:39:34,640 1:00-14:00, edhe pse nganjëherë deri në 02:30. 763 00:39:34,640 --> 00:39:38,700 Duke pasur parasysh se ju mund prandaj duam apo keni për të marrë disa klasë at 2:00 pm 764 00:39:38,700 --> 00:39:42,480 tutje, apo edhe më parë, e kuptojnë Kursi është përkrahës i asaj që quhet 765 00:39:42,480 --> 00:39:45,900 regjistrimit simultan, ku ne do të mbështetur një peticion për Bordin dhe Ad 766 00:39:45,900 --> 00:39:49,400 dekanët juaj banor në emër tuaj, nëse ju keni një konflikt diku në këtë 767 00:39:49,400 --> 00:39:50,790 1:00-02:30 varg. 768 00:39:50,790 --> 00:39:54,110 Kreu në se online URL për detaje shtesë. 769 00:39:54,110 --> 00:39:57,750 >> Por në aspektin e strukturës mbështetëse që karakterizon CS50, për studentët 770 00:39:57,750 --> 00:40:01,750 më shumë dhe më pak të rehatshme njësoj, ne ofrojnë këngë të dallueshme të seksioneve. 771 00:40:01,750 --> 00:40:04,730 Dhe kjo është një çift i javësh jashtë, por para se të gjatë, ju do të kërkohet që të 772 00:40:04,730 --> 00:40:05,770 nivelin tuaj rehati. 773 00:40:05,770 --> 00:40:08,590 A jeni në mesin e atyre më pak të rehatshme, më rehatshme, ose 774 00:40:08,590 --> 00:40:10,520 diku në mes? 775 00:40:10,520 --> 00:40:13,150 >> Dhe ne do të kemi tre të dallueshme gjurmët që kujdesem për 776 00:40:13,150 --> 00:40:14,470 pikërisht ato audienca. 777 00:40:14,470 --> 00:40:17,900 Pra, në asnjë pikë në afat duhet të ju madje edhe ndjehen si ju jeni të konkurrojnë 778 00:40:17,900 --> 00:40:21,390 kundër çdo nxënës me më shumë apo sfond pak se ju. 779 00:40:21,390 --> 00:40:24,160 Në të vërtetë, kursi është menduar të jetë shumë më bashkëpunues dhe më shumë 780 00:40:24,160 --> 00:40:25,650 më i hapur se kaq. 781 00:40:25,650 --> 00:40:29,030 >> Në kushtet e përcakton problem, ju do të gjetur, gjithashtu, se përveç 782 00:40:29,030 --> 00:40:32,130 Edicioni standardi i problemit çdo javë e caktuar, nuk është shpesh një "hacker 783 00:40:32,130 --> 00:40:37,010 Edicioni "që është menduar të jetë në shënjestër në 5% deri 10% ose më shumë prej 784 00:40:37,010 --> 00:40:40,270 demografik i cili është me të vërtetë në mesin e atyre më të rehatshme dhe do të donte më shumë 785 00:40:40,270 --> 00:40:43,960 një sfidë se standardi Edicioni i asaj pset pret. 786 00:40:43,960 --> 00:40:46,390 Më shumë detaje mbi ato që do të gjendet në planin mësimor. 787 00:40:46,390 --> 00:40:49,430 >> Por edhe aty mund të gjenden detaje në kurset ditë më vonë. 788 00:40:49,430 --> 00:40:51,570 Zakonisht problemi përcakton janë për shkak të enjteve. 789 00:40:51,570 --> 00:40:55,550 Megjithatë, ju mund të zgjasë shumë tuaj Afatet këtë vjeshtë nga të enjteve 790 00:40:55,550 --> 00:41:00,010 Premteve thjesht duke u takuar në gjysmë të rrugës, na kështu që të flasin, duke iu përgjigjur një pak të ngrohtë-up 791 00:41:00,010 --> 00:41:03,370 pyetje në disa prej problemit të javës grupe, që automatikisht do të 792 00:41:03,370 --> 00:41:05,710 pastaj ju japin një shtesë 24 orë. 793 00:41:05,710 --> 00:41:09,120 Ne gjithashtu do të bjerë ulët tuaj Rezultati, sipas planit mësimor. 794 00:41:09,120 --> 00:41:12,170 >> Për të ju jap një kuptim të asaj që problemi grupe janë - sepse kjo është me të vërtetë 795 00:41:12,170 --> 00:41:15,120 Problemi i rrjedhës së përcakton që në fund të fundit përcaktojnë pothuajse çdo 796 00:41:15,120 --> 00:41:18,760 Përvoja studentit, aq më shumë se leksione, më shumë se seksione, më shumë 797 00:41:18,760 --> 00:41:21,230 kështu që më shumë se çdo tjetër Aspekti i kursit. 798 00:41:21,230 --> 00:41:25,140 Vitin e kaluar, për shembull, kemi filluar, si ne do të fillojnë këtë vit, me Scratch. 799 00:41:25,140 --> 00:41:29,150 Veçanërisht kjo e premte, ne do të përdorim, për vetëm koha një ditë, një grafik 800 00:41:29,150 --> 00:41:32,260 Gjuha programuese, me të cilat ne do të fillosh programimin duke zvarritur dhe 801 00:41:32,260 --> 00:41:37,580 duke rënë copa mister që vetëm mblidhen fizikisht nëse kjo ka kuptim 802 00:41:37,580 --> 00:41:38,990 për të bërë kështu që logjikisht. 803 00:41:38,990 --> 00:41:43,460 >> Javën e ardhshme, ne do të shpejt të tranzicionit C, një mjaft të vjetër, por shumë e vogël dhe 804 00:41:43,460 --> 00:41:48,510 gjuha e thjeshtë që do të na lejojë që të të vërtetë të shkojnë 0-60 gjatë 805 00:41:48,510 --> 00:41:52,290 prej vetëm disa javë, dhe pastaj parley këto aftësi të njëjta dhe njohuritë e 806 00:41:52,290 --> 00:41:56,160 konstruktet themelore të programimit në të nivelit të lartë gjuhë si PHP, 807 00:41:56,160 --> 00:41:58,240 Javascript, dhe ende të tjerët ende. 808 00:41:58,240 --> 00:42:02,560 >> Vitin e kaluar, pset tretë në kurs ishte ajo e cryptography, nje 809 00:42:02,560 --> 00:42:06,380 domain-specifike aplikimi cilës ne Nxënësit sfiduar të zbatojë ndonjë 810 00:42:06,380 --> 00:42:11,140 numri i shifra, programe me të cilat për përleshje apo unscramble informacion, 811 00:42:11,140 --> 00:42:11,880 për të encrypt atë. 812 00:42:11,880 --> 00:42:16,300 Për edicionin e hacker, nga ana tjetër, Ne u dhamë nxënësve Hacker një skedar 813 00:42:16,300 --> 00:42:19,900 nga një kompjuter standart Unix përmbajnë emrat e përdoruesit dhe fjalëkalimet, 814 00:42:19,900 --> 00:42:22,740 Ky i fundit prej të cilave ishin koduar, dhe ne sfiduar ato haker 815 00:42:22,740 --> 00:42:26,850 Nxënësit të decrypt, sa më mirë ata mund, ato fjalëkalime, ende në se 816 00:42:26,850 --> 00:42:27,770 domain njëjtë. 817 00:42:27,770 --> 00:42:30,580 >> Scramble, një lojë me të cilën disa e ndoshta ju jeni njohur. 818 00:42:30,580 --> 00:42:34,410 Një copë mjeko-ligjore, ku ne kërkojmë që studentët për të shërohen të dhënave që kishin qenë 819 00:42:34,410 --> 00:42:38,530 fshihet ndryshe nga dixhital tim kartë compact flash kamera, duke 820 00:42:38,530 --> 00:42:42,740 në fakt shkrim software të kuptoj se, ku ishin zero dhe ato në 821 00:42:42,740 --> 00:42:46,850 që aparat fotografik dixhital që më parë përbërë një grafik JPEG? 822 00:42:46,850 --> 00:42:49,710 >> Një sfidë e vitit të kaluar terezi përfshin shkrim shpejtë 823 00:42:49,710 --> 00:42:53,160 spell-checker të jetë e mundur, duke konkurruar kundër miqtë dhe shokët e klasës nëse 824 00:42:53,160 --> 00:42:53,860 ata do të donim. 825 00:42:53,860 --> 00:42:56,330 Zbatimi n pudre Huff ', një program i compression. 826 00:42:56,330 --> 00:43:01,930 Dhe pastaj duke i dhënë fund të semestrit me CS50 Financave, një web-bazuar aplikimi me 827 00:43:01,930 --> 00:43:06,570 që ju të krijoni një faqe interneti Etrade-si për të blerë dhe shitur aksione, në mënyrë që të 828 00:43:06,570 --> 00:43:09,860 flasin, me të vërtetë duke tërhequr gati kohë reale kuotat Yahoo! 829 00:43:09,860 --> 00:43:10,450 Financojë. 830 00:43:10,450 --> 00:43:13,590 >> Ajo që ne nuk e ka bërë vitin e kaluar ishte një grup problem që mbetet 831 00:43:13,590 --> 00:43:14,810 megjithatë një favorite. 832 00:43:14,810 --> 00:43:18,400 Nëse ju nuk keni për të shkuar shuttle.cs50.net, ju do të shihni një përdorues 833 00:43:18,400 --> 00:43:19,670 kryesh pak si kjo. 834 00:43:19,670 --> 00:43:23,530 Por dy vjet më parë, klasa zbatuar, duke përdorur Google Maps dhe 835 00:43:23,530 --> 00:43:28,570 Google Earth plug-në dhe pak e tru me ngarje rreth kampus, 836 00:43:28,570 --> 00:43:33,290 në mënyrë që objektivi i kësaj loje ishte, si ju mund të shihni disa nga fytyrat, 837 00:43:33,290 --> 00:43:37,530 është që të përzënë rreth kampus duke kërkuar për Stafi, bursistët e mësimdhënies dhe CAS-it, dhe 838 00:43:37,530 --> 00:43:40,080 Kur ju bëni, duke i vënë ata onto tuaj ecejakeve autobus. 839 00:43:40,080 --> 00:43:44,035 Asnjë prej tyre në fakt duket të jetë këtu, kështu që ne jemi duke shkuar për të hyrë në një kod mashtrojnë. 840 00:43:44,035 --> 00:43:47,150 >> [Qeshura] 841 00:43:47,150 --> 00:43:48,430 >> DAVID Malan: Nuk shkojmë. 842 00:43:48,430 --> 00:43:49,240 Dakord. 843 00:43:49,240 --> 00:43:51,750 Dhe këtu tani është stafi laced gjithë kampus. 844 00:43:51,750 --> 00:43:54,530 Dhe si ju mund të shihni, në të djathtë anë e ekranit, autobuzi 845 00:43:54,530 --> 00:43:55,510 ka vende bosh. 846 00:43:55,510 --> 00:43:59,000 Dhe objektivi ishte për të shkruar Kodi me të cilat për të simuluar kjo 847 00:43:59,000 --> 00:44:01,790 lëvizëse dhe picking up dhe në rënie off i udhëtarëve. 848 00:44:01,790 --> 00:44:04,960 Se një, shumë, duke përdorur një gjuhë quajtur JavaScript. 849 00:44:04,960 --> 00:44:10,030 Pra, të kuptojnë se si programet që do të të jetë në të njëjtën trajektore tonë kjo 850 00:44:10,030 --> 00:44:10,910 vit, si edhe. 851 00:44:10,910 --> 00:44:13,640 >> Në terma, tani, i mbështetjes shtesë, ne kemi orarit të punës. 852 00:44:13,640 --> 00:44:16,520 Siç mund ta keni parë në shtëpinë tuaj sallë ngrënie apo në Annenberg, 853 00:44:16,520 --> 00:44:19,280 ne do të jetë në ngrënie shtëpi Sallat e katër netë në javë - 854 00:44:19,280 --> 00:44:24,450 Leverett, Pfoho, Eliot dhe Annenberg këtë vit, 20:00-23:00. 855 00:44:24,450 --> 00:44:26,830 Dhe çfarë ne kemi menduar se ne do të bëjmë këtë vit është diçka pak më ndryshe. 856 00:44:26,830 --> 00:44:29,650 >> Nëse keni dëgjuar rumblings vitin e kaluar se kjo ishte shumë pak stresues, kjo 857 00:44:29,650 --> 00:44:32,800 ore viti zyra, si ne do të përshkruajnë javën e ardhshme, do të jetë më organike, 858 00:44:32,800 --> 00:44:36,900 ku pas mbërritjes, ju do të jetë dërguar në një tryezë të veçantë 859 00:44:36,900 --> 00:44:39,860 ku anëtarët e shumta të stafit presin, dhe ne do të bëjmë gjëra shumë më tepër 860 00:44:39,860 --> 00:44:40,440 organikisht. 861 00:44:40,440 --> 00:44:43,740 Jo më radhë, iPad nuk është më, por në vend të ketë më intime 862 00:44:43,740 --> 00:44:47,300 Bisedat rreth një tryezë të vetëm tetë apo më shumë studentë, kështu që ne 863 00:44:47,300 --> 00:44:50,880 përafërt ndjehen të asaj që ndryshe do të jetë një klasë shumë më e vogël. 864 00:44:50,880 --> 00:44:54,120 >> Ne ofrojmë, si edhe, këto gjëra ne quajtur walkthroughs, video filmuar në 865 00:44:54,120 --> 00:44:57,330 të çuar përpara nga një prej mësimdhënies rrjedhës së fellows, Zamyla, në të cilën ajo 866 00:44:57,330 --> 00:45:00,690 ecën ju nëpërmjet problemit të javës grupe, duke ofruar këshilla dhe truket për 867 00:45:00,690 --> 00:45:02,640 sfidat që shtrihen përpara. 868 00:45:02,640 --> 00:45:06,230 Dhe anasjelltas, pas grupe me probleme, janë shkak, këtë vit, ne gjithashtu do të lëshojë 869 00:45:06,230 --> 00:45:09,100 clips pak quajmë post-mortems se në të vërtetë ju ecin nëpër 870 00:45:09,100 --> 00:45:13,630 Zgjidhjet përfaqësuese, të dyja të mira dhe të keq, me anë të të cilit ju mund të konkludoj se si 871 00:45:13,630 --> 00:45:17,550 ju mund të ketë ose duhet të kenë zbatuar zgjidhje tuaj. 872 00:45:17,550 --> 00:45:20,500 >> Dhe çfarë ne do të ofrojmë për herë të parë edhe këtë vit, veçanërisht 873 00:45:20,500 --> 00:45:23,420 për ata studentë të cilët mbrojnë veten i kurs të tjera 874 00:45:23,420 --> 00:45:28,580 Burimet por megjithatë janë duke luftuar të gjithë shumë, kurs 875 00:45:28,580 --> 00:45:33,030 vetë do të çiftuar ata studentë, si burimet e lejojnë, me tutorët në mënyrë që 876 00:45:33,030 --> 00:45:35,840 ju keni një shumë më intime mundësi se salla ngrënie shtëpi 877 00:45:35,840 --> 00:45:38,700 të lejojë për ndihmë një-në-një. 878 00:45:38,700 --> 00:45:42,780 >> Tani një paraqitje e shkurtër finale në disa nga lojrat fund në horizont. 879 00:45:42,780 --> 00:45:44,580 Ju mund të jenë të njohur me Hackathon CS50. 880 00:45:44,580 --> 00:45:48,120 E pra, vjen këtë dhjetor, nga ora 8:00 PD në ora 7:00 në fillim të 881 00:45:48,120 --> 00:45:51,410 Leximi periudhe, do të jetë një mundësi për të mbledhur me shokët e klasës - 882 00:45:51,410 --> 00:45:53,130 kjo do të jetë rreth 9:00 - 883 00:45:53,130 --> 00:45:56,550 gjatë së cilës ju pikiatë në finale juaj zbatimi i projektit së bashku 884 00:45:56,550 --> 00:45:59,910 shokët, miqtë, dhe ushqim. 885 00:45:59,910 --> 00:46:03,680 Kjo do të jetë rreth 01:00, kur grupi i parë i ushqimit arriti. 886 00:46:03,680 --> 00:46:08,470 Dhe kjo është rreth 04:00 se vit veçanti në Hackathon CS50. 887 00:46:08,470 --> 00:46:12,000 >> Por kulmi i vërtetë i kursit është menduar për Panairin CS50, një kampus të gjerë 888 00:46:12,000 --> 00:46:15,790 Ekspozita e projekteve tuaja final vetanak, në të cilën familja dhe miqtë janë të gjithë 889 00:46:15,790 --> 00:46:18,730 ftuar, si rekrutuesit tanë dhe miqtë tanë nga industria. 890 00:46:18,730 --> 00:46:22,170 Kjo, për shembull, është një pamje e 2.000 njerëz-plus që kam ndjekur 891 00:46:22,170 --> 00:46:23,160 vitet e kaluara. 892 00:46:23,160 --> 00:46:27,180 Shprehjet si kjo nuk janë të rralla, dhe në mënyrë të ngjashme të bëjë tuaj 893 00:46:27,180 --> 00:46:29,660 Shokët e klasës kënaqësi në gjërat ju keni arritur. 894 00:46:29,660 --> 00:46:33,170 >> Dhe në të vërtetë, për këtë qëllim, ne kemi një ngjarje e start-e-gjata, si edhe. 895 00:46:33,170 --> 00:46:37,400 Nëse gjërat si kjo apel për ju, ose ju jeni të paktën kurioz për atë që 896 00:46:37,400 --> 00:46:41,590 kjo, e dinë se një traditë e re e Kursi është quajtur CS50 Dita Puzzle. 897 00:46:41,590 --> 00:46:45,710 Dhe kjo ishte krijuar një çift i vjet mbrapa me të vërtetë të sinjalizojë në kampus 898 00:46:45,710 --> 00:46:48,930 se shkenca kompjuteri nuk është në lidhje programimit, dhe kjo sigurisht nuk është 899 00:46:48,930 --> 00:46:51,960 rreth përqafimit vetëm ata studentë të cilët kanë përvojë të mëparshme. 900 00:46:51,960 --> 00:46:54,200 Është me të vërtetë në lidhje me zgjidhjen e problemeve më në përgjithësi. 901 00:46:54,200 --> 00:46:57,360 >> Dhe kështu Dita Puzzle, mbi disa kaluara vjet tani, ka evoluar në një bukur 902 00:46:57,360 --> 00:47:00,500 Partneriteti me miqtë tanë në Facebook, ku nuk do të jetë i pabesueshëm 903 00:47:00,500 --> 00:47:04,830 shpërblime dhe pica përtej lumit në i-lab kjo e shtune vjen. 904 00:47:04,830 --> 00:47:09,180 Kokë për atë URL me dy ose tre miq në qoftë se ju do të donte që të marrim pjesë 905 00:47:09,180 --> 00:47:10,830 në këtë traditë të re. 906 00:47:10,830 --> 00:47:14,180 >> Kështu që unë do të doja të kërkojë që ju të mbani një gjë në mendje, dhe ne kemi marrë vetëm një 907 00:47:14,180 --> 00:47:17,070 dy clip minutë në të cilën për të mbyllur sot. 908 00:47:17,070 --> 00:47:19,640 73% është numri për të kujtuar. 909 00:47:19,640 --> 00:47:23,900 Cake, gjithashtu, do të ju presin jashtë këtij pjesë e futur anësore si ne shtyjë në vetëm një 910 00:47:23,900 --> 00:47:26,710 çift ​​prej momentet, e cila eshte nje traditë i rrjedhës, si edhe. 911 00:47:26,710 --> 00:47:29,860 Por kjo është quote kyç nga syllabus sigurisht për të mbajtur në mendje. 912 00:47:29,860 --> 00:47:32,820 Ajo që ka rëndësi në fund të fundit në këtë kurs nuk është aq shumë ku ju deri në fund 913 00:47:32,820 --> 00:47:36,580 relative të shokëve tuaj, por ku ju, në Javën e 12, deri në fund të afërm të 914 00:47:36,580 --> 00:47:37,960 veten në Javën 0. 915 00:47:37,960 --> 00:47:43,670 >> Por paraqitje e shkurtër që ne do të largohet nga ju me sot këtu është kjo e fundit këtu 916 00:47:43,670 --> 00:47:47,580 nga Daniel tonë të njëjtë, kush e bëri Video wrdly vetëm një moment më parë. 917 00:47:47,580 --> 00:47:50,000 Unë ju lë me këtë paraqitje e shkurtër e çfarë shtrihet përpara. 918 00:47:50,000 --> 00:47:53,360 Dhe si ne të bërë këtë, në qoftë se ne mund të kemi CS50 Stafi nga frontin e dhomës 919 00:47:53,360 --> 00:47:57,280 për të ardhur deri në fazën për të pikturuar të gjitha më i nje pamje vizuale si tek 920 00:47:57,280 --> 00:47:59,100 çfarë ju pret këtë vit - 921 00:47:59,100 --> 00:48:00,350 marrjen e vështirë. 922 00:48:00,350 --> 00:48:02,200 923 00:48:02,200 --> 00:48:05,188 Ne do të përfundojnë me këtë këtu në ekran. 924 00:48:05,188 --> 00:48:18,634 >> [Duke luajtur muzikë] 925 00:48:18,634 --> 00:48:21,124 >> DAVID Malan: Kjo është CS50. 926 00:48:21,124 --> 00:50:00,226 >> [MUSIC - MATT & KIM, "Është e mirë"] 927 00:50:00,226 --> 00:50:03,245 >> Kryetari 1: I love CS50 më shumë se macet. 928 00:50:03,245 --> 00:50:06,030 >> 2 Gjuha: Whoaaaa! 929 00:50:06,030 --> 00:50:06,990 >> [Qeshura] 930 00:50:06,990 --> 00:50:08,140 >> DAVID Malan: Ky, pra, është CS50. 931 00:50:08,140 --> 00:50:10,050 Ne do të shihemi të premten. 932 00:50:10,050 --> 00:50:13,370 >> [Duartrokitje dhe brohoritjet] 933 00:50:13,370 --> 00:50:17,540 >> Transmetuesi: Në CS50 ardhshëm, një skenë demo nuk shkon siç është planifikuar. 934 00:50:17,540 --> 00:50:19,080 >> DAVID Malan: Ne duam të gjejmë Mike Smith në këtë libër telefoni. 935 00:50:19,080 --> 00:50:20,380 E pra, çfarë janë instinktet tuaja? 936 00:50:20,380 --> 00:50:23,750 Unë mund të hidhen afërsisht në mes të librin e telefonit, shikim poshtë, shohim se 937 00:50:23,750 --> 00:50:26,830 Unë jam në M, dhe unë e di tani se Mike Smith nuk eshte me e majta. 938 00:50:26,830 --> 00:50:27,840 Ai duhet të jetë në të djathtë. 939 00:50:27,840 --> 00:50:30,515 Dhe kështu në këtë pikë, ne fjalë për fjalë mund lotsjellës - 940 00:50:30,515 --> 00:50:33,300 në këtë pikë, ne mund të vërtetë lot - 941 00:50:33,300 --> 00:50:36,490 në këtë pikë, ne mund të figurshme gris librin e telefonit në gjysmë. 942 00:50:36,490 --> 00:50:38,954 >> [Cingëllimë UKELELE]