>> David: Croeso, fy enw i yw David Malan ac mae hyn yn CS50. Ac, nid yw hyn yn eich cwrs ysgol cyfrifiadur nodweddiadol gwyddoniaeth uchel. Mae'r cwrs hwn yn arbennig rhywbeth ychydig. Ac nid yw oherwydd fy mod i'n ei addysgu. 'i' gan fod hwn yn un o, yn hoffi meddwl, y cyrsiau hynny prin sydd mewn gwirionedd yn gwasgu eich ymennydd cymaint ac eich amserlen cymaint erbyn diwedd y tymor yn ydych yn wirioneddol yn teimlo'n fwy craff. Felly, dyna oedd y ffordd yr wyf yn teimlo pan wyf fi fy hun yn cymryd y cwrs hwn yn ôl yn 1996. Yr oedd yn fawr llywodraeth ar yr adeg yma yn byw yn Mather House. Ac, I. [Bloeddio] Fel yn y llall, y pum eraill yno. Felly, yr oedd yn bwysig llywodraeth ar y pryd. Ac yr wyf yn mawr llywodraeth oherwydd rwyf bob amser yn hoffi hanes. Yr wyf yn hoffi cyfraith gyfansoddiadol yn yr ysgol uwchradd. Ac felly, yr wyf yn cychwyn ar y flwyddyn hon llwybr Grwpiau myfyrwyr Grwpiau Cymuned yn gwneud yr hyn yr wyf yn ei wneud orau, yn gwneud yr hyn yr wyf yn gwybod fy mod hoffi. Ac yr wyf wedi bod bob amser yn dipyn o geek, byddwn bob amser yn babbled gyda chyfrifiaduron. Ond, yr wyf fy hun, efallai eironig o edrych yn ôl, roeddwn i wedi gweld bob amser yn y guys a oedd yn cymryd chyfrifiadur gwyddoniaeth yn fy ysgol uwchradd, fy ffrindiau fel y geeks go iawn. Ac eto, yn olaf, y flwyddyn sophomore wyf yn cymryd y cwrs hwn bach CS50 o'r enw sydd mewn gwirionedd yn cael ofn fi ymaith fy mlwyddyn freshman hun. Ac yr wyf yn gynorthwy-ydd defnyddiwr ar y pryd. Felly, yr oedd yn sicr yn gymwys eisoes, o leiaf, i fod ymhlith y rhai, y rhai sydd yn geeks yn gwneud hwyl yn yr ysgol uwchradd. Ond, yr wyf yn ofnus. Mae yna, yr oedd yr enw da hwn ar y pryd ac efallai hyd yn rhannol ei fod yn, yr oedd yn gwrs brawychus. Yr oedd llawer o waith. Roedd yn anodd, ac eto, mae'n un o'r pethau hynny lle, fy Nuw, y rhisgl yn llawer gwaeth nag ei gnoi. Cefais fy hun sophomore flwyddyn, am y tro cyntaf, mewn gwirionedd yn cael hwyl gwaith cartref. Ac nid wyf i'n dweud hyn yn unig i cae y cwrs hwn i chi. roedd hwn yn sylweddoli gwirioneddol i mi. Yn awr, yr wyf yn meddwl, ar un pwynt, yr oedd yn croesi'r llinell i geekdum wir lle ddefnyddiwyd mewn gwirionedd yn edrych ymlaen at y nos Wener gan y byddwn yn cyrlio i fyny o flaen fy MacBook bach ac yn gweithio ar setiau CS50's problem. Felly, ar y pwynt hwnnw, yr wyf yn meddwl fy mod oedd yn amlwg wedi croesi'r llinell. Ac, nid yw ein nod yn y cwrs hwn yw troi chi gyd i mewn i'r person, ond, dim ond i ddweud bod yna rywbeth arbennig ychydig am y cwrs hwn, a gwyddoniaeth rhywbeth ychydig yn arbennig am y cyfrifiadur yn gyffredinol yn enwedig y dyddiau hyn. Ac, y mwyaf acclimated rydym i gyd wedi mynd i mewn i dechnolegau, y teganau mwyaf y byddwn yn cario o gwmpas yn ein pocedi eu hunain bod cyfrifiaduron. Hynny yw, fy iPhone mewn gwirionedd yn perfformio'n uwch gyfrifiadur na 'm laptop oedd yn y coleg. Gallwch wneud llawer o bethau 'n daclus â'r pethau hyn. Ac yn awr, y rhan fwyaf ohonom yn yr ystafell hon, yn ôl pob tebyg dim ond yn defnyddio meddalwedd pobl eraill, offer pobl eraill, atebion pobl eraill i broblemau oherwydd ein bod yn mynd i iTunes, rydym lawrlwytho rhai app yn y siop yn app a Walla gallwn ni wneud rhywbeth gwirioneddol daclus. Ond, erbyn diwedd y semestr hwn, gallwch fod y sawl sy'n gwneud y datrys problemau. Gallwch gael y person datrys rhyw broblem, adeiladu a app, y darn hwnnw o feddalwedd, yr offeryn hwnnw, naill ai, un yn unig amuses mi, amuses chi. er enghraifft, rheoli, yn dweud, eich iTunes llyfrgell o fflatiau gyda'ch amlwg yn app sydd eisoes yn bodoli neu gallwch ddod o hyd i amserlenni bws gwennol yn haws er enghraifft. Felly, yn wir, un o'r pethau cyntaf a wneuthum ar ôl cymryd CS50 oedd unwaith eto, mae'n debyg mai ar y nos Wener pwynt a nos Sadwrn, nid oedd y cyfle hwn ar y pryd lle Harvard oedd yn rhedeg bysiau gwennol. Ac, yn y dydd hwn, maent yn dal wedi argraffu amserlenni. Ond, nid oedd mewn gwirionedd nid oes modd ar-lein o gael gwybod pan fydd y wennol nesaf. Nawr, Fi didnt 'gofal, oherwydd hyd yn oed er fy mod yn byw yn Mather nid wyf oedd ymhlith y rhai sydd, yn gyffredinol gymerodd y wennol. Ond, yr wyf yn cael llawer o ffrindiau yn Pfoho er enghraifft. Ac un ohonynt yn gofyn i mi, yr wyf yn meddwl ar un adeg. [Bloeddio] Iawn Pfoho well na Mather mae'n debyg. Felly, un o fy ffrindiau yn fath o rhaid i mi feddwl efallai y gall yr wyf yn ysgrifennu rhaglen ychydig i fath o help fy ffrindiau atalfa 'r wennol amserlenni. Ac felly ganwyd bachgen a enwir gwennol lletchwith, mae'r darn hwn o eirfa sydd wedi aros o gwmpas ers nifer o flynyddoedd o leiaf ymysg rhai o'r upperclassmen. Ar y pryd, roedd hyn yn y rhaglen hon archa bannod ychydig yn debyg mewn ysbryd i Go. Yr oedd yn rhedeg mewn amgylchedd UNIX. Felly, nid oedd yn iawn sexy o gwbl. Rydych chi deipio jyst chwpl gorchmynion ac mae'n dweud wrthych pan fydd y Gwenoliaid oedd. Wel, y dyddiau hyn 'i' ychydig yn fwy soffistigedig. Ac, 'i' n weithredol cynrychioli yn union y mathau o brosiectau y myfyrwyr yn y diwedd i fyny yn gwneud cwrs erbyn diwedd termau. Felly, mae hyn yn fersiwn pedwar, rhyw 15 mlynedd yn ddiweddarach, o Shuttleboy. Seems Google Maps yn cael ei braidd yn araf yno. Ond, ar gyfer y rhai ohonoch sydd wedi ei gael o'r yma dosbarth ar ôl ac yn mynd, yn dweud, o Neuadd Goffa a'r angen i fynd i fyny at, dyweder, y Quad. Wel, gallwch naill ai adael mewn dau funud os gan, y mo 'n sylweddol yn gweithio i chi eto, neu os ydych wedi ag opsiynau eraill fel y byddech yn hoffi. Ac, yn dod yn fuan, gallwn cae hyn o CS50, bydd yn yr un capability gan SMS. Gallwch Shuttleboy testun drwy ffôn. Rydych chi alw Shuttleboy. CS50 rhif ffôn yn y flwyddyn hon, yn dda, yn rhyfeddol hyn oedd ar gael, 617-BUG-CS50. Felly, bydd y tro cyntaf yn fuan. Felly, yn galw 'i jyst eto, oherwydd yr wyf wedi gotten cerydd am, dde awron' i 'yn cael ei gyfeirio i cafell ffôn ein system pennaeth yn cyd-ddysgu. Felly, byddwch yn unig yn mynd ag ef os oes gennych gwestiynau am yr amserlen wennol yn awr. Ond, bydd y cyn bo hir yn cael ei weithredu. Felly, mae pethau eraill, mewn gwirionedd, y ni ein hunain wario yn yr haf ar 'n sylweddol yn paratoi ar gyfer y semestr hwn oedd criw cyfan o broblemau eraill yr ydym yn awyddus i ddatrys. Er enghraifft, mae llawer cyfan o bethau sy'n mynd ymlaen yn y campws ar ddiwrnod penodol. Ac yn wir, roi mewn ffordd arall, mae llawer cyfan o bethau yn mynd ymlaen ar y campws hwn nad wyf erioed yn sicr yn manteisio ar. Ac, er fy mod i'n llethu yn awr gyda faint o bethau sy'n mynd ymlaen, ar y campws, yr wyf byth yn dal i ymddangos i ddod o hyd i'r amser. Ond, Walla, hyd yn oed yno, CS50 ddarlith. Dyna lle mae, felly, yr oedd yn yr oedd hwn yn rhaglen rydym yn ysgrifennu at gyfanswm yr holl ddigwyddiadau ar y campws. Ac mae hyn wedi bod yn rhywbeth y myfyrwyr eraill yn yr un cwrs wedi mynd i'r afael ar eu pennau eu hunain. Ac, rydym wedi gweithio gyda endidau eraill ar y campws i 'n sylweddol wneud i hyn ddigwydd. Ond y pwynt i CS50 y tymor yma yw bod pob un o'r rhaglenni hyn ychydig rydym wedi bod yn gweithio ar a yw hyn yn un neu a oes un ar gyfer agregu holl Harvard newyddion mewn un lle, yr holl Newyddion Google, yr holl bethau hyn yn mynd i gael yr hyn y yn cael eu galw'n API's, rhyngwynebau cais rhaglennu. A yw hyn yn ddim ond yn dymuno siarad ar ran y gallu gadael i bobl eraill, mae pobl yn yr ystafell hon, mewn gwirionedd yn gwneud rhywbeth â'r data hwnnw yr un. Felly, erbyn diwedd termau, os ydych yn penderfynu i weithredu'r prosiect terfynol yn ymwneud â newyddion neu ddigwyddiadau neu fapiau, yn dda i ni, o leiaf fel cwrs, bydd yn gwneud hynny yn fwy hawdd y flwyddyn trwy roi rhyngwyneb; yn fath o swyddogaeth, fel petai, meddalwedd y gallwch eu defnyddio yn eich prosiectau eu hunain i fynd y tu hwnt lle mae myfyrwyr, efallai, wedi mynd yn amser gorffennol gan nad fframwaith hwn wedi bod yn ei lle ar eu cyfer. Ac eto, mae hyn yn dechrau i gyd, i mi o leiaf, tua 15 mlynedd yn ôl gweithredu Shuttleboy. Yna, e-bostio cyfaill fy Ken yn Pfoho. Dywedais hey beth ydych chi'n feddwl? A yw hyn yn ddefnyddiol? Mae'n bost allan ar y rhestr Pfoho agored a Walla, yr holl flynyddoedd yn ddiweddarach mae'n debyg rwy'n dal i odro y prosiect hwn. A'r peth daclus yn ei gylch, ac mae hyn yn lle y mae rhy gwrs fel hyn mewn peirianneg a gwyddoniaeth gyfrifiadurol, yr wyf yn meddwl, yn ychydig yn arbennig, yw, pan fyddwch yn gwneud eich cartref yn gweithio a pan fyddwch yn gwneud eich prosiectau yn y cwrs hwn, byddwch yn yn gwybod, llawer ohonynt, ie, byddwch yn rhoi o'r neilltu a mo 'n sylweddol ddefnyddio eto. Ond, rhywfaint ohono, byddwch. Ac mae hyn yn beth pwerus iawn, o leiaf i mi, y peth hyn yn gyffrous iawn, pan fyddwch yn gwneud rhywbeth a phobl eraill mewn gwirionedd gofal, nad yw pobl eraill yn unig gwên a pat eich ar y cefn ac yna math o fynd am eu bywydau eu hunain. Maent yn defnyddio'r hyn a wneir yn eu bywydau eu hunain hyd yn oed ai 'i' ar gyfer rhywbeth mor wirion neu mor syml â dod o hyd yn unig pan fyddant yn gallu mynd allan o'r yma i ddal y bws gwennol nesaf at y Quad. Felly, yn ôl telerau diwedd, sy'n un o nodau ar gyfer y cwrs; i rymuso 'ch guys at jyst nodi rhyw broblem a' i 'ar y campws neu gobeithio ymhell y tu hwnt campws, ac mewn gwirionedd yn defnyddio eich sgiliau eich hun, eich meddwl eich hun a datrys y broblem mewn rhai rhan, yn dechnolegol. Felly, mae hyn hefyd yn gwrs wrth i ni yn dweud yn y maes llafur a'r cyrsiau a disgrifiad swyddogol yn eich dysgu sut i feddwl a dysgu chi sut i ddatrys problemau yn fwy effeithlon. Wel, beth mae hynny'n ei olygu? Wel, pan fydd gennych chi 600 megahertz yn eich poced neu dair gigahertz dan eich desg yn y cartref, gallwch ddatrys nifer o broblemau yn effeithlon yn unig trwy rym 'n ysgrublaidd cneifio. Ond, mae llawer o broblemau yn y byd hwn, boed yn chwilio, dweud, Facebook rhwydwaith neu ar y rhyngrwyd drwy Google, nad yw'n ots pa mor gyflym eich cyfrifiadur penodol yw, mae 'na ffordd yn uffern rydych yn mynd i chwilio biliynau o dudalennau ar y we yn gyflym oni bai eich bod mewn gwirionedd yn ymdrin â'r broblem hon yn ddeallus. Nid oes dim ond chwilio, er enghraifft, rhestr enfawr o holl dudalennau gwe ar y ddaear o'r brig i'r gwaelod yn chwilio am rhywbeth sy'n berthnasol i dermau chwilio beth bynnag yr ydych yn chwilio am Google gobeithio Google ac mae'n debyg a Facebook ac unrhyw un o'r rhain endidau mawr yn cael llawer o bobl yn smart feddwl am sut y gallant ddod o hyd i ddata yn gynt, sut y gallant phrosesu gwybodaeth yn fwy effeithlon, a, sut y gallant ond yn gyffredinol yn dangos canlyniadau yn fwy yn gyflym fel y gallwch chi ei wneud eto, mwy o bethau diddorol gyda dyfeisiau hyn. Ac felly, beth ydym yn ei olygu, er, yn ôl sut, addysgu pobl sut i feddwl yn fwy gofalus, yn fwy algorithmically. Wel, mae hyn ychydig gweledol bob amser yn ymddangos i fynd dros dda. Ac, mae'n ymddangos i fod yn gofiadwy. Ac yr wyf yn Gofynnwyd hyd yn oed dim ond ddoe gan gyn-fyfyriwr, oh a ydych yn mynd i wneud y peth phonebook eto. A Fi 'n bert lawer ar y fan a'r lle penderfynodd iawn siwr y byddwch yn adeiladu beth llyfr ffôn. Ac efe a gofyn i mi pan fyddwch rhwygodd ei hanner iawn, yr oeddwn yn hoffi yeah dechnegol yn dda rydym yn rhwygo ei hanner ond nid yn y ffordd, yn y gwyddoniaeth gyfrifiadurol ffordd y bydd yr wyf yn gallu rhwyg y peth hyn yn ei hanner. Ac felly, dyma oedd y broblem yr ydym gyflwynwyd ers peth amser. Felly, dyma yn y llyfr ffôn. Mae'n cael o leiaf mil, neu fel tudalennau. Ac y nod syml ar law y byd go iawn yn dod o hyd i, dyweder, person yma. Felly, Mike Smith, enw olaf gan ddechrau gyda S. Felly, dw i'n dynol nodweddiadol, yr wyf yn codi'r llyfr ffôn. Ac unrhyw un allan yna, yr hyn y byddech, person nodweddiadol, ei wneud i ddod o hyd i ddechrau Mike Smith, yn amlwg nid yn gwybod ymlaen llaw beth y dudalen yw mewn gwirionedd ar. Iawn, felly byddwch yn mynd yn fras yn y canol, ar y dde. Ac yn y fan hon yn y stori, Im 'yn ôl pob tebyg yn y N neu M, chi'n gwybod, tua hanner ffordd trwy'r llyfr ffôn. Troi allan, y tro diwethaf i mi yn yr enghraifft hon yr wyf yn gweld fy hun rywsut yn yr adran hebrwng. Felly, 'i' 'n weithredol mo cytbwys yn gyfartal rhwng A trwy M ac N trwy Z. Ond, heddiw, yr ydym, mewn gwirionedd, yn y M, iawn felly, yn awr rwy'n yn y M. Ond beth yw fy cludfwyd yn awr yn unig fel dynol arferol oddi ar y stryd? Ble ydw i'n mynd nesaf ar gyfer Mike Smith. [Anghlywadwy] Ac felly, dim ond yn ôl pob tebyg ar yr hanner, yn gywir, oherwydd S dod ar ôl M. Ac felly, yma yn gorwedd y ddrama gweledol. Nid yw hyn yn wir rhwygo yn ei hanner, ar y dde. Yr wyf yn fath o twyllo i lawr y ganolfan. Ond, rydym bellach yn gwybod bod Mike nad yw o leiaf yn y hanner. Gallwn llythrennol daflu hanner y broblem i ffwrdd. A dwi'n gadael gyda'r broblem sylfaenol sy'n dal yr un peth, dod o hyd i Mike Smith mewn llyfr mawr iawn. Ond, mae'r broblem yn awr fel hanner mawr. Os yw'n cael mil o dudalennau cyn, awron 'i' got 500. Byddwch yn gwybod beth, gallaf wneud yr un peth eto. Gall yr wyf yn fath o recursively neu dro ar ôl tro yn gwneud yr un peth. Nawr, rwy'n eithaf ar S. Rwyf ar T. Ac felly, o es ychydig yn rhy bell. Ond, yr wyf yn gwybod yn awr y Mike nid ar y dde, mae mynd i fod yn rhai dosbarth someday lle na all dim ond yn rhwygo'r beth argae, Betia. Ond yn awr, yr wyf yn gwybod nad yw ar y dde. Felly, erbyn hyn mae'r broblem wedi cael ei chwarteru. Felly, yr wyf wedi mynd o fil i 500-250 tudalen. Ac eto, os ydych yn parhau y rhesymeg, yn parhau y mathemateg, rwy'n torri broblem hon yn ei hanner, yn ei hanner, yn hanner hyd nes dwi'n naill ai'n mynd i ni ddod o hyd i unrhyw Smith o gwbl, yn annhebygol, neu fy mod i'n mynd i ddod o hyd i'r un dwi'n chwilio am. Ond, hynny, yna, arwain at y cwestiwn, a yw hyn yn well na'r dull syml o jyst yn deud, chi'n gwybod, A, nope, B, na, yn cychwyn o'r chwith i'r dde yn mynd llinellol drwy'r llyfr? Wel, ie reddfol. Mae'n mynd i fod yn llawer gyflymach. Ond, faint o lai? Wel, os oes gen i fil dudalen llyfr ffôn neu lets 'ddeud 1,024 ar gyfer y rhai ohonoch sy'n hoffi bwerau o ddau, faint o amser y gallai rhaid i mi rannu â'r broblem hon yn hanner cyn dod o hyd i Mr Smith? >> Deg. >> David: Felly, deg, yn iawn. Os ydych chi wedi 1,024 o dudalennau a ydych yn eu rhannu yn ei hanner, yn ei hanner, yn ei hanner, yn ei hanner, yr wyf yn gwneud hynny ddeg gwaith sy'n golygu fy mod yn mynd o 1,000 dudalennau i'r person yr wyf i'n chwilio am y tudalennau yn unig deg tro. A bod yn fath o daclus, ond i chi wybod, os ydych yn meddwl am y peth rydych wedi bod yn gwneud hyn i gyd yn eich bywyd. 'i' mo bod dramatig. Ond yn awr, nad y llyfr ffôn yn unig ar gyfer Boston, 'i' ar gyfer yr Unol Daleithiau gyfan neu y byd i gyd ac mae hyn yn beth wedi biliynau o dudalennau, felly ddychmygu llyfr ffôn gyda 4000000000 tudalen. Sut y dudalen yn troi o wyf i'n mynd i gael ei wneud maximally i ddod o hyd Mike Smith mewn llyfr ffôn 4000000000 dudalen? > Sylfaen Mewngofnodi> dau. >> David: yeah Felly, os ydych chi'n bath o'r fath math hwn yn sylfaen log dau. Ond, os ydych yn credu 4-2000000000 to one biliwn, felly mae hanner biliwn. Yr wyf yn golygu, sydd mewn gwirionedd yn mynd whittles ei hun i lawr 'n bert darn gyflym. Yn wir, gyda 32 halvings y llyfr ffôn, hyd yn oed o bedair biliynau, byddaf yn mynd i lawr i un dudalen. A dyna pryd y pethau hyn yn cael bwerus, yr wyf yn meddwl. Dyna pryd y syniadau hyn yn cael cryf pan allwch chi gael problem 4000000000 dudalen a mewn 32 o gamau y gallwch chi ddod o hyd i'r person rydych yn chwilio amdano. Ac felly, dyna beth ydym yn ei olygu pan yr ydym yn dweud y byddwch yn dysgu sut i feddwl yn fwy gofalus, yn fwy algorithmically, yn fwy deallus am ddatrys problemau. Ac y ffurflenni yn enfawr pan allwch chi wneud hyn mewn gwirionedd, ac unwaith eto, at y pwynt hwn o Googles y byd y Facebooks sydd â'r moethus o gael setiau data mawr. Mae'n rhaid i chi yn ymdrin â'r problemau yn y ffordd hon fel arall mae'n syml, nid yn mynd i weithio. Wel, beth 'beth oedd y myfyriwr mewn gwirionedd yn cofio? Yr wyf fi, yr ydym yn hoffi gwneud pethau fod yn ychydig bach gwirion weithiau i fath o gymryd y ymyl oddi ar yr hyn fel arall, yn llawer o ddeunydd newydd. Ac felly, mae mewn gwirionedd, mae hyn yn cyn-fyfyriwr anfonedig 'm ddolen hon yr wyf yn mynd yn ei flaen, yn unig i ddechrau a difaru wedyn ar y diwedd, tynnu i fyny ar uTube yma. Felly, yr wyf yn meddwl y byddai'n rhannu hyn yn wyddonydd heb gyfrifiadur yn golygu pan dagrau yn llyfr ffôn yn ei hanner. ] [Chwerthin ] Silence [ [] Anghlywadwy >> Rydych yn gwybod dros 200 o dudalennau, llinell 'n glws lân, yn gyfreithlon dagrau. ] [Chwerthin >> David: felly, mae'n debyg, ei ffordd yn gweithio hefyd. Felly, yr hyn yr wyf yn mynd allan o'r cwrs hwn yr holl flynyddoedd yn ôl yn do, Shuttleboy, ac yna do gradd mewn gwyddoniaeth gyfrifiadurol, ac yna do PhD mewn gwyddoniaeth cyfrifiadurol. Ac nid dyna'r hyn yr ydym yn ceisio troi rhan fwyaf o fyfyrwyr yn y cwrs i. Nid yw'r rhan fwyaf o chi yn y cwrs hwn yn mynd i fynd ar bwys mewn gwyddoniaeth gyfrifiadurol. Efallai fod rhai ohonoch yn fân, ond ar gyfer rhai o chi y bydd cwrs terfynol. A dyna 'n anhyfreg ddirwya oherwydd y cwrs hwn yw, mewn gwirionedd, strwythuro mewn ffordd lle hyd yn oed os ydych yn talu eich dyledion am sawl mis a ydych yn wir yn canolbwyntio i mewn a' n sylweddol yn cymryd fel a nodir llawer o'r cwrs hwn ag y gallwch, bydd, yn ffaith, mewn sefyllfa dda i fynd yn ôl at eich byd o economeg, bioleg, seicoleg, defnyddio mathemateg, ac yn wir yn gwneud defnydd o'r hyn yn y pen draw yn ddiddorol cwrs fel rydym yn gobeithio gysyniadol gan ei fod yn sylfaenol ymarferol. A hynny hefyd yn rhywbeth sy'n efallai ychydig yn brin i ddod o hyd. Yr wyf yn meddwl y byddwn i'n rhannu ychydig sylwadau bod myfyrwyr o syrthio diwethaf rhoi yn y canllaw hwn awgrym mlynedd diwethaf pan ofynnwyd am beth fyddech yn hoffi i ddweud wrth fyfyrwyr yn y dyfodol. Wel, os nad ydych eisoes wedi edrych ar y sylwadau hyn, un myfyriwr, dywedodd y bydd y cwrs hwn yn cymryd cryn dipyn o'ch amser i fyny. ond, os byddwch yn rhoi eich gwaith i fyd newydd gyfan, yn gyffredinol, os ydych yn gwneud y gwaith, os ydych yn gwneud y gwaith i mewn i, iawn, felly mae hyn yn ei ramadeg nid fy, felly os yn eich rhoi chi, eu rhoi yn y gwaith, Bydd byd i gyd yn newydd yn agor i fyny i chi. Yn aruthro faint yr wyf yn dysgu mewn dim ond 12 wythnos. Ysgrifennodd myfyriwr arall, byddai'n well ichi gymryd y neu os ydych chi'n mynd i gresynu. Ysgrifennodd arall, ychydig yn fwy blwmp ac yn blaen, bydd yn cicio eich ass ac eich gadael yn teimlo'n wych. Ac yna yn olaf, mae hwn yn un efallai rhywbeth y gallaf ond yn dangos yn ysgrifenedig, ond, yn yr ail o'r gwaelod yma. [Chwerthin] Felly, dwi ddim yn siwr os oes gennych lawer o ffrindiau sy'n cymryd y cwrs hwn, ond rydym yn fath o ddim llawer o ddifrod i fyfyrwyr y flwyddyn ddiwethaf. gyflwynwyd i ni, ar y dechrau, nifer o ddarlithoedd, ychydig o cwisiau, ychydig yn gosod problemau, y syniad o lolcats. Ni allwch weld beth y gallaf weld yma, ond yn y man, fe welwch chi dyn ifanc o'r enw cath hapus sydd yn arweinydd y lolcat fel alwedig. Mae hwn yn un o flaenwyr rhyngrwyd dwp fy mod yn credu yn onest y ddeuoliaeth rhwng y ddau ŵr bonheddig yma a'r hyn yr ydym yn awr ar y sgrin yn bosibl. [Chwerthin] Un o'r defnydd mwyaf amhriodol y theatr hon hyd yn hyn. Ac, pam yr ydym yn gwneud ychydig yn fwy real ychydig yn fwy personol syniad hwn o mewn gwirionedd ddatrys problem yn fwy effeithlon. A problem syml ar un diwrnod o unrhyw ysgol i eistedd i lawr neu sefyll ac yn dechrau cyfrif y myfyrwyr, ffoniwch y gofrestr iawn o ryw fath. Wel, dull mwyaf diniwed, ond serch hynny, yn gywir iawn y gallai athro gymryd yn un, dau, tri, pedwar, pump, chwech, saith, a byddem yn fan eithaf rhyw amsera. Felly, beth sydd yn welliant ymylol ar hyn hyd yn oed y gallech fod wedi'u gwneud fel plentyn? Sut yr ydych yn cyfrif pobl yn gyflymach? Ac nid yw, yn dechrau darllen oddi ar fy cyfarwyddiadau hun? Beth fyddech chi wedi ei wneud fel plentyn? cyfrif fesul dau Cychwyn, ar y dde, yn union fel Im '' n bert da mewn dau, pedwar, chwech, wyth, deg, 12. Felly, mae hynny'n rhywbeth yn iawn diddorol. Felly, faint o welliant yw bod yno? Felly, mae'n amlwg yn ffactor o ddau. Mae'n cymryd fy hanner cymaint o amser. Ond, yr ydych yn gwybod beth, ni gan y byddwn yn dod o hyd drwy gydol y tymor, yn ymdrin mawr, fel gyflymu eich amser rhedeg yn unig ffactor o ddau yn holl diddorol gan fod y analog yma yn y byd cyfrifiadurol yw fy mod i'n CPU Rwy'n cyfrifiadur, yn dda heck, os wyf yn unig aros am 12 mis, 18 mis, bydd y cyfrifiadur yn unig yn gallu o ran natur, gan y nifer o gigahertz gen i mewn i mi fod yn gallu cyfrif o bobl yn yr ystafell hon yn gyflymach. Felly, mae'r math yma o, y mathau hyn o speedups llinellol fel ffactor o ddau ffactor o dri, hyd yn oed yn ffactor o ddeg, sy'n gofalu? Hawl, gallwn daflu caledwedd ar y broblem. allwn aros pethau. Gallwn ddatblygu peiriannau gyflymach. Ond, yn ddeallusol, yeah a oedd yn fath o glyfar ond nid oedd yn hollol sylfaenol yn newid y broblem. Rwy'n dal i fynd o chwith i'r dde, tu blaen i'r cefn. 'I' 'n sylweddol' r un algorithm. Ond, yr wyf yn cynnig y gallwn wneud yn well. Gallwn wneud ddoethach na'r hyn a ydynt yn y bôn yn gweithredu yn gyflymach. Ond, i ddangos hyn, mae angen i chi hiwmor ni am ychydig o bryd. A 'i' yn y fan hon, lle bydd yn cael ei mi siarad yn llai ac yr ydych yn sôn mwy. Ond oes angen i chi weithredu cam un gyda'i gilydd, a yw os byddech yn hiwmor ni, os gwelwch yn dda sefyll i fyny. Mae'r cyfarwyddiadau yma ar y bwrdd, y gwyddoch chi, iawn, ychydig yn rhaid i chi eistedd i lawr. Bydd y rhai ohonoch yn ôl, felly y mae, iawn. Diolch yn fawr. Felly, y rhaglen yma yn cyn i chi. Rydych nawr yn y cyfrifiaduron yn cyflawni rhaglen hon. Mae'n eithaf hunan esboniadol ar y pwynt hwn. Ie, dylech chi fod yn un rhif. Ca 'i? Hawl, mae llawer o mae'n debyg eich bod yn meddwl beth bynnag hwn eisoes, blwyddyn freshman gyntaf. Felly, yn meddwl i chi eich hun, rydych yn yr un rhif. Felly, cam tri yma, pâr i ffwrdd gyda rhywun yn sefyll, ychwanegu eich dau rif gyda'i gilydd ac yn mabwysiadu swm hwnnw fel eich rhif newydd a byddwn yn gwneud archwiliad sanity. [Synau o] dorf Ydych chi'n gwybod faint o gennym? >] [> Anghlywadwy >> Ni] [anghlywadwy. >> Mae angen i gael ateb allweddol. ] Silence [ >> Yeah. [Synau o] dorf >> David: Ar y pwynt hwn dylai'r algorithm, yn dirwyn i lawr. [Synau o] dorf Efallai y dylem fod wedi mynd gyda fy agwedd ar ôl pawb. >> 43. >> 163. >> David: OOH rhifyddeg o flaen 300 o bobl ynghyd. [Chwerthin] Beth yw ein cyfanswm terfynol yn mynd i fod? >> 180. ] [Chwerthin >> 1,200. >> 386. >> David: 386, ac a ydych yn yr un diwethaf sefydlog? A yw bod pawb? Ydych chi'n gwybod yr ateb? >> Beth? >> David: Ydych chi'n gwybod beth yw'r ateb? Nid ydym yn dod yn allweddol ateb gyda ni felly, 386 mewn gwirionedd yn union yr ateb cywir am y tro cyntaf. [Bloeddio] ] Cymeradwyaeth [Dyna iawn. [Cymeradwyaeth] iawn, iawn 'n glws ddigon. Felly, beth oedd y takeaway oherwydd yn sicr yn teimlo ychydig yn arafach na fy dull syml iawn, ond serch hynny gywir iawn o ddim ond mynd onesies a twosies a dim ond yn cael ei wneud gyda o'r chwith i'r dde. Ond, beth oedd yr ydym mewn gwirionedd yn ei wneud yno? Wel, os oedd yn fras, lets 'ddeud, a 400 o'r ydych yn sefyll ar un pwynt, ac yna hanner ohonoch, yn gyflym iawn, o beth y gallwn ei ddweud, yn awyddus i eistedd i lawr. Felly, hanner ohonoch yn eistedd i lawr, yr ydym yn mynd 400-200 wedyn i 100 wedyn i 50 yna i 25. Felly, eto, mae un bwlch hwnnw a gorchfygu syniad oedd gennym y llyfr ffôn. Unwaith eto, gyda phob fersiwn rydym yn haneru maint y broblem, yr ydym yn ei haneru, yr ydym yn ei haneru. Felly, mewn theori, dylai eich algorithm wedi bod yn llawer cyflymach na fy dull llinellol oherwydd y byddai fy dull wedi cymryd 400 o risiau i ddweud neu efallai os ydw i'n ychydig yn glyfar 200 camau. Ond, byddai eiddo wedi cymryd llawer llai, hawl 400-200, 100, 50, 25, 13, chwech; fel bod llai na deg camau yn y diwedd yn erbyn fy 200 neu 400. Ac mae y egin syniad yn ddiddorol iawn. A do, mathemategol hyn yr ydych newydd oedd yn rhywbeth sydd ychydig yn logarithmig o ran natur gan ddau sylfaen log, yr ydym yn ei rannu yn ddau a dau eto. A byddwn yn ailedrych ar hyn yn ddiweddarach yn y semester. Ond ceir yno eto yn gweithredu yn ddeallus iawn. Ac, dim ond crafu'r wyneb y glyfar iawn y dulliau yn ddeallus iawn effeithiol i broblemau y gallai datrys yn y pen draw. Felly, pwy yw'r bobl yr ydych yn unig yn sgwrsio â hwy os yn gryno? Un pryder cyffredin mewn cwrs fel hyn yw bod pawb ar y chwith i chi a phawb ar y dde yn glir, rhaid i chi wybod mwy na chi. Wel, dyna'r cwbl nad yw'r achos. Ac yn wir, yn y blynyddoedd diwethaf, mae'r cwrs wedi gwneud ymdrech ar y cyd i estyn allan at y rhai sy'n llai cyfforddus, felly, i siarad. Ac erbyn hynny, nid ydym yn golygu pobl nad ydynt erioed wedi cyffwrdd cyfrifiadur cyn hynny oherwydd bod yn anodd iawn i ddod o hyd o gwmpas yma y dyddiau hyn, ond bobl sy'n defnyddio e-bost, yn defnyddio Facebook, efallai hyd yn oed ar hyn o bryd, ond nid ydynt o reidrwydd yn hollol siŵr beth i'w wneud pan rhywbeth yn mynd o'i le, neu pan fyddant yn gofyn am unrhyw beth technolegol, chi'n gwybod, y dwylo yn mynd i fyny neu maent yn fath o roi pwysau ar y caledwedd i ffrind sydd yn bosibl, yn fwy hyddysg yn ei nag y maent. Wel, dyma rai ystadegau o semester y llynedd. Felly, pan ofynnwyd iddynt, pan fyddwn yn gofyn i'n 400 fel myfyrwyr y flwyddyn ddiwethaf, wyddoch chi, beth yw eich lefel o gysur yn dod i mewn i'r dosbarth, yn dda 34% ysgrifennu eu hunain i lawr fel ymhlith y rhai sy'n llai cyfforddus. Felly, os ydych wedi dod i mewn i'r ystafell, ac yn dal i feddwl yn awr, y, yr ydych yn gwybod beth, y tymor hwn yn llai cyfforddus yn disgrifio i mi, yn gwybod eich bod yn gwmni da iawn. Ond, yn sylweddoli hefyd fod, os ydych chi'n dod i mewn y cwrs gyda chefndir mewn gwyddoniaeth gyfrifiadurol ac yr oeddech yn iawn bod geek yn yr ysgol ganol ac uchel yr ysgol a oedd yn ysgrifennu codau a hunain dysgu ieithoedd, yn dda ac mae hynny'n iawn hefyd oherwydd bod 'n bendant a nontrivial gynulleidfa maint â'r cefndir yn ogystal, tua 13%, y tymor diwethaf. Ac yna, mae pawb arall, rhyw fath o rywun sydd ddim yn credu eu bod yn llai cyfforddus, nad ydynt yn bendant yn credu eu bod yn fwy cyfforddus, ond eu bod yn unig o gwrs i gael rhywbeth allan ohono. Felly, yn sylweddoli y cwrs hwn yn tynnu yn y sbectrwm o fyfyrwyr. Ac, i roi hyn mewn termau diriaethol mwy, 71% o fyfyrwyr, y flwyddyn ddiwethaf, roedd sero cyrsiau y tu ôl iddynt. Felly, os ydych chi'n mynd i mewn y cwrs hwn yn meddwl oh bawb sy'n cymryd CS50 nad oedd cyfrifiadur whizz gwyddoniaeth mewn ysgol uwchradd, 'i' achos. rhan fwyaf o bobl yn ôl pob tebyg, dim ond ddiddordeb ynddo. Ac ychydig, ie, yn hollol wedi cymryd rhai cyrsiau, rhyw, neu o leiaf un person yn y flwyddyn ddiwethaf wedi cymryd pum cwrs yn flaenorol. Felly, rydym yn bendant wedi rhai yn ymylol, ond eto y cig y gad yn y gwerthoedd is yn gyfan gwbl. A ystadegyn arall diddorol rydym yn ei rannu dros y ddwy flynedd ddiwethaf yn y gymhareb rhwng y rhywiau. Felly, yn hanesyddol, o leiaf mewn gwyddoniaeth gyfrifiadurol, mae ychydig o gogwydd benywaidd gwrywaidd. Yr wyf yn ychydig o flynyddoedd yn ôl, yr oedd yn llawer mwy amlwg na'r llynedd. Felly, rydym yn bron yn awr yn y 40% lefel. Ac os caf daflu i lawr yn her a dim ond er mwyn cael trydydd siart gylch y flwyddyn nesaf, a hyd yn oed yn fwy cyfartal. Byddwn yn nodi bod oes dim rheswm o safbwynt y cyrsiau sy'n na ddylai dynion a menywod yn cofrestru yn y math hwn o gwrs. Yn gymharol gyfartal rhifau ac yn sylweddoli i 38 y cant, 48 y cant, rydym yn falch iawn mewn gwirionedd i weld ein bod ni'n bron ar hynny, o leiaf, yn ystadegol mae hyd yn oed yn werth o 50%. Felly, os ydych yn, mewn gwirionedd, menywod, yn gorffwys sicrhau hefyd nad yw hyn, mewn gwirionedd, dosbarth dynion yn bennaf. Wel, mae hyn yn digwydd yn unig felly i fod yn CS50's penblwydd yn 20 oed. Yr wyf fi, diolch yn dda. [Bloeddio] ] Cymeradwyaeth [Dyna iawn 'n glws o ichi oherwydd dod gacen i chi mewn gwirionedd. Ac felly, pan fyddwch yn gadael yma yn ddiweddarach heddiw, byddwch mewn gwirionedd yn cael cyfle i gwrdd â nifer o'r cyrsiau dysgu cymrodyr a fydd yn ymdroi yn y cyntedd. A do itll 'bod' n glws rhyw fath o ffordd cymell o gyfarfod y cymrodyr dysgu. Ond, rydym yn cymryd taith hyd at ychydig popty ac eto yn gyson â'r cwrs natur chwareus tra serch hynny yn disgwyl i swm nontrivial o waith er ein bod yn cael y hwyl. Ond, mae gennym un o'r rhain gacennau i chi. [Chwerthin] Felly, os ydych chi'n chwerthin bod mewn gwirionedd yn dda oherwydd hyd yn oed os ydych chi'n ymhlith un o'r rhai sy'n llai cyfforddus o leiaf yr ydych yn ymwybodol ohono. Gall y rhai ohonoch yn y percent 14 well blas hwn. [Chwerthin] Ac yna, os nad ydych yn gwybod beth ddiawl sy'n mynd ymlaen ar hyn o bryd, rydym hefyd wedi hyn ar gyfer y gweddill chi. [Bloeddio] ] Cymeradwyaeth [Felly, y rhai yn cael eu torri'n ddarnau y tu allan wrth i ni siarad. Felly, eto, gadewch i ni gymryd pethau hollt ac o leiaf cyflwyno rhai tenant sylfaenol y byddwn wedyn yn cymryd yn ganiataol yn y gweddill y semester. Felly, yr ydym i gyd yn ôl pob tebyg yn gwybod bod cyfrifiaduron yn y pen draw ferwi i lawr rhywsut i zeros a rhai, y pethau hyn a elwir ddarnau. Beth mae hynny'n ei olygu? Wel allwch chi feddwl am y peth a dweud y gwir fel bwlb golau, ychydig yn bwlb golau sydd naill ai ar neu 'i' off. Mae'n newid, mae'n un ai ar neu oddi ar 'i'. Nawr, mae gwyddonwyr yn meddwl cyfrifiadur yn gyffredinol oddi wrth y nifer sero fympwyol a, a'r syniad o acha fel un. Felly, os ydych yn taflu goleuni ar gwialen bod un chordda 'i off a' i 'a sero. Neu, equivalently, trowch y goleuni ar hynny yn y gwerth o dro wir 'i off sy'n werth ffug. Felly, mae'r rhain yn unig cyfystyron. Ar ddiwedd y dydd, ie, pawb gyfrifiannu, yr holl bethau sy'n mynd ymlaen o dan y cwfl mewn cyfrifiadur yn y pen draw ferwi i lawr i zeros a rhai. Ac, pan fyddwch yn rhoi'r gorau i feddwl am y peth, 'i' 'n bert' n hynod argae yr hyn y mae'r byd wedi ei wneud gyda'r blociau adeiladu sylfaenol, gan gynnwys rhai o'r dyfeisiau ydych yn dal yn eich llaw. Wel, pam eu zeros a rhai yn ddefnyddiol? Fy Nuw, hyd yn oed yn y byd go iawn gennym o leiaf deg digid, sero drwy naw. Pam felly cyfyngedig? Wel, yn nhermau hardware mae'n hawdd iawn. Mae'n llawer haws i gynrychioli ddwy wladwriaeth, ar y dde. Os cyfrifiaduron yn cael eu plygio i mewn i'r wal, fel arfer, byddwch yn cael y ffynhonnell hawdd o natur binary. Mae'n naill ai ar neu oddi ar. Trydan yn llifo neu i 'mo. Felly, sy'n fath o un o'r rhesymau cyntaf bod y byd yn mynd gyda dim ond zeros a rhai mewn cyfrifiaduron. Ond, gallwch chi eu defnyddio fel blociau adeiladu. Felly, y gwirionedd yw ychydig bach ar y sgrin yma ond gallwn ei gyfrif yn binary, neu gallwn ni gynrychioli unrhyw beth rydym am ei gael yn binary yn union fel y gallwn ni, yn dweud, degol, yn union fel y gallwn ni, hyd yn oed yn wir, gyda llythyrau yn nhrefn yr wyddor. Ac felly, dyma 'r system gyflym. Mewn dim ond amser munud neu ddau byddwch yn nawr yn gwybod sut i gyfrif, sut i ysgrifennu, sut i siarad binary lawer cara 'ch laptop hun. Wel, mae gennych, yn y byd o binary, rhyw fath o golofnau yn union fel yr ysgol radd neu werthoedd. Felly, yn yr ysgol radd yn dysgu hyn yn y golofn rhai hyn yn y golofn degau y golofn cannoedd ac yn y blaen. Mewn geiriau eraill, pam nad yw nifer yr ydym yn gwybod yn 123 y rhif 123? Wel, fy athro / athrawes dysgu mi mae hyn yn y golofn rhai, dyma oedd y degau, roedd hyn yn y cannoedd. Wel beth oedd hynny'n ei olygu? Wel, at chyfrif i maes yr hyn y mae'r cyfanswm gwerth yn yr hyn sydd fel arall yn y gyfres o digid, dim ond hash marciau ar y bwrdd. Wel, mae gennym un 100, fel y '1 amseroedd 100 ac yna yn ogystal â beth ddwy 10 fel bod yn rhai 2 adegau 10, tri, felly dyna 3 adegau 1, iawn, felly i bob golwg wedi gotten yn ôl i'r man cychwyn. Ond, y broses hon yn syml iawn yn unig y digidau luosi gan y gwerth y golofn yn union beth binary yn ei wneud. Ond, yn binary ydych yn defnyddio pwerau o ddau nad yw pwerau o ddeg. Felly, dyma gyfres o wyth o fylbiau golau. Chyfrifiadur gwyddonwyr yn hoffi i ddefnyddio gwerthoedd fel dwy ac wyth a 16 a 24 a 32 oherwydd eu bod nhw i gyd yn gyffredinol gwerthoedd gyfleus i'w defnyddio. Felly, pan fyddwn yn sôn am wyth gwerthoedd yn y dilyniant hwn fel a elwir yn beit. Ac y dyddiau hyn rydym yn anaml yn siarad yn bytes yn unig, rydym yn siarad gigabytes megabeit a therabeitiau y dyddiau hyn. Namyn 'i' i gyd yn y pen draw yr un peth. Dyma wyth ddarnau AKA un beit, dim ond jargon syml. Felly, pawb chan hyn fylbiau golau i ffwrdd. Felly, y math ydy 'n weithredol' n sylweddol 'n esmwyth. Felly, ar y dde, er 'i' bach i weld, yn golofn yr un, y ddwy oed, y pedwar, yr wyth oed, y 16, 32s, 64s, 128s. Alright, efallai ei bod hi'n anodd i gof yn gyntaf, ond ei fod yn lluosi yn unig gan ddau o'r dde i'r chwith. Felly, gallwch chi bob amser recreate hyn. Wel, maen nhw i gyd i ffwrdd, felly dyna 0 gwaith dalfan, 0 gwaith dalfan. Felly, mae hyn yn nifer 0 cynrychioli yn binary. Mewn geiriau eraill, sut ydych chi'n ysgrifennu nifer yr ydym yn gwybod fel 0 yn binary? Wel, un, dau, tri, pedwar, pump, chwech, saith, wyth, ac yn dechnegol yn union fel yn degol, pawb chan hyn yn arwain zeros, nid ydynt yn ychwanegu unrhyw beth at y fformiwla nhw jyst yno oherwydd i ni benderfynu rydym yn fympwyol am wyth o'r pethau hyn yn olynol, ar y dde. Os ydynt yn gwrthrychau corfforol, rydym wedi wyth fel eu bod yn rhaid i chi gyd i ffwrdd. Felly, gallai rydym wedi gotten yn unig i ffwrdd ag un sero. Wel sut yr ydych yn cynrychioli'r un rhif? Wel, yn reddfol rydych chi'n mynd i daflu un o'r gwiail. Rydych chi'n mynd i droi ar y bwlb. Felly, mae yr un nifer oherwydd ein bod yn awr yn rhoi un, bwlb golau sydd ar, mewn sefyllfa yr un's. Sut ydym yn mynd i gynrychioli ddau? Wel, rydym yn wir yn mynd i daflu ddau newid yn awr o leiaf yn erbyn y wladwriaeth, mae'n rhaid i ni droi ar y golofn ddau yn troi oddi ar y rhai golofn ac yn awr rydym yn cael y gwerth o un yn y golofn ddwy oed. Felly, sy'n werth cyfanswm o ddau. Nawr, mae ymarfer corff meddyliol cyflym; beth sy'n mynd i ddigwydd â'r gyfres nesaf? Sut ydw i'n cyflwyno nifer y tair? Wel, yr wyf angen un o'r golofn fesul dau, un o'r golofn trioedd a ah ha. Felly, yn awr yr wyf wedi gynyddrannedig bod un. Ac yn awr, mae hyn yn ailadrodd yr un patrwm sylfaenol. Beth yw'r rhif pedwar? Wel, gadewch i weld, Fi jyst angen un yn y golofn pedwar ac yna zeros yn y ddwy oed a rhai. Felly, yna, mae'n parhau felly. A, dim ond y gyfres o gamau. Ac yn y syniad o binary gwirionedd nid yw bob un sy'n gymhleth. Ar ben mae gennym wyth zeros. Isod bod gennym saith zeros ac un. Isod bod gennym chwe zeros, yn un, ac yn sero ac sy'n binary. Now, thankfully, we computer scientists, we programmers by terms end are not going to often be writing in binary, talking in binary, thinking in binary because we've built many layers of the traction on top of that. In fact, people rarely talk about bits except in a networking context they talk about bytes because one bit, not that useful, eight bits these days still not that useful, but at least eight bits, one byte is at least getting us toward more useful units of measure. But, when we start looking underneath the hood, when we do certain problems such as look at files and look perhaps at network traffic, it will become interesting to know how you're representing data because you're going to have to figure out how to display that same information. And, in fact, we, if we only have zeros and ones, how do we go about representing, say alphabetical letters? Well, we're going to have to have some mapping between binary and letters. But that's as of yet unclear. But to hammer this point home and to give me a break from speaking at, I thought I'd pause for a moment and see if we can't recruit eight volunteers, one byte eight people. Can I get eight people for whom it is not too awkward to come on up. good, good one, two, three, four, five, six, seven, eight very enthusiastic eight, come on down. So, you all, for just a moment here, oh and you have to be willing to not be on the internet because there is in fact a camera in the back of this room. So, turn back now if you don't want to be on the, hello mom, in perpetuity. So, let's see, you here will be the 128th column. And let me ask that you simply hold this before you. And actually, if you could scooch this way just a little bit, then I will get out of your way. You'll be the 64's column, you shall be the 32's column and the 16's. 32's, 16s, 8's, 4's, 2's and 1's. All right. So perfectly lined up with the place holders from before, but we need a little bit of mapping, so a quick set up. We just need an arbitrary way of mapping binary numbers, which really could be converted very easily to decimal numbers. So we need a way of converting numbers to letters if our computers are actually going to show us emails or type URL's or actually display non numeric information. And, in fact, there is a system for that, it's called ASCII, an acronym whose meaning is not so interesting, but whose utility is. This is just a mapping from letters to numbers and there's actually a lot more numbers on the screen, and you guys, don't worry, aren't going to have to test yourselves with this in just a moment. But there's a mapping between numbers and letters and I'm just going to get us started by pointing out a couple of these. The numbers of interest right now are going to be, whoops, are going to be this. Whoops. So in this column here, I can't seem to zoom in simultaneously, we have decimal. Dec for decimal. And then we have the character on the right hand side. So if I hop over into this column, thought it's a bit small on the screen, the number 65 represents what letter? Capital A. And the number 97? Lowercase A. All right. So those two alone, right, so do not go home and try to remember ASCII chart. Come quiz time, do not try memorizing an ASCII chart. Memorize two, 65 is capital A and 97 is lowercase A. And from there you can bootstrap yourself to all of the other alphabetical characters. But all this chart says, and I just downloaded this chart from ASCIItable.com, this is a standard that's been around for many, many, many years, but most computers still use it. What we now have is a means of encoding alphabetical information using what's ultimately numeric. So if these guys are just switches, light bulbs, computers, we can actually convey messages. So each of you has some hints on the back. We're going to have three rounds here where these guys are going to spell out in English, in ASCII, a very short message, a three letter word. It will involve them either raising their hand, thereby representing a one or just standing there awkwardly, thereby representing a zero. So why don't we proceed immediately with round one and you can either raise or not raise your hands. So the audience doesn't get off the hook. What number are they currently representing? 66. Right. Not hard because we have a one, a hand up in the 64s column, a hand up in the 2's column. 64 times one plus two times one is 66. They're representing the number 6, which means the first letter is B. So not too bad, right? Round two. First letter was a B. ] [Chwerthin >> Seventy Nine. >> David: Can someone second that? Yes. All right. So 79, which means it's now an O. So B,O. There's a third letter. Actually that is kind of, yeah. Third round. Third and final round. What number is this? I heard an 87. Someone else agree? All right, yeah. This is in fact 87, which maps to, and this is a very clever set up at which point you all B, O, W, it's bow. Very good. So actually besides that little souvenir, that was not a very enthusiastic applause, so I'll take care of you. So we do have a little something for these guys here now that they just appeared on center stage doing perhaps the geekiest thing they could. So maybe if we could humor them if only because I'm feeling a little bit awkward now. A little round of applause for these guys here. [ Applause ] All yours. All right. Thank you very much. So, so, it turns out that we can take this one step further, but you are now entering a community of people who understand things like this. [ Silence ] It's slowly spreading, yes? [ Laughter ] It's not cool that you understand this now. So we've already done some damage here today, but yes, there is now such a thing as geek humor that you might just catch a little bit more on to. So what are we going to do throughout this semester? So there's 12 weeks, zero index, so 13 weeks in total. You'll find throughout the semester that computer scientists tend to count starting from zero for reasons that will soon become clear. But what we're going to do this week, starting this Friday, is introduce you to programming. Now you may already be coming at this course with a background in the same, and that's perfectly fine, but we'll also be able to introduce some more sophisticated topics than are typically covered, things like events and threading, so just to toss out a couple of buzz words for those unfamiliar. But what we're going to do is not dive into what the typically traditional language like Java or C++ or C sharp catch phrases that you might have heard in the past, but we're going to use a programming environment, a graphical programming environment that was actually developed by MIT's media lab. And this is an environment that allows you to program, quite literally, by dragging and dropping puzzle pieces that fit together logically that lets you implement these things called loops and conditions and Boolean expressions and you can actually, on day one, after this Friday, write a program that actually some of your friends might care about. So in yester year, say when you've taken a computer science course in high school, odds are one of your first programs was the equivalent of hello world, like wow mom, I just made the computer type some characters on the screen. It's a very underwhelming experience. Much more interesting is it to implement a little something like this, as one of last year's students did. So I give you the work of a former classmate. It's a love story, of sorts, about dancing cookies. [ Music ] So this was actually from a student who had never programmed before. And just to give you a teaser of this interface, and we're only going to use this for one week time, really to get the comfort levels up and to really get folks excited about what you can actually make these machines do, this is an environment where you'll be programming by, for at least a week, just dragging and dropping puzzle pieces that fit together, as we'll see, in a logical fashion. And it lets you do fun, silly things quickly. And for any of you who are a little bit familiar with things like Java and C++, it's usually a good semester or two or three before you finally get to start writing something that another person might actually enjoy watching. Well, in week one of the course, or the second week, zero index, where we dive into a little more traditional environment. In this course we'll spend much of our time on a language called C. This is one of the earliest languages that, unlike Java, actually gives us much greater access for better or for worse, to manipulating hardware and actual memory, and we can do a lot of damage with that. In fact, any time you read of web servers being exploited or computers being hacked into, very often to this day it's the result of people having run software in a language called C or C++ without sufficient care given to what are called buffer overruns or lengths of arrays, so some fairly technical concepts that are not that hard to understand, but there's been a lot of humans making a lot of mistakes for years and with this language we'll actually understand some of those security implications. But each week, typically, we'll introduce also an interesting domain that will inspire that week's problem set. So we'll also take a look this week at the field of cryptology, cryptanalysis, the notion that you can encipher information in such a way that people can't read your messages, but if clever enough perhaps you can, in fact, crack what are otherwise secret messages. In week three we'll then look at some basic fundamentals of computer science like searching and sorting and we'll actually look at this notion of recursion, how to debug things. In short, we'll take things up to the level of problem solving and not so much about mere syntax and implementing short little cookie cutter programs. In week four we'll introduce more sophisticated problems still. What does it mean to manage memory? What does it mean to run out of memory? What does it mean to actually segfault, if you've heard this expression, and odds are you haven't, but very bad things happen and frankly by terms end you'll understand terms like my code segfaulted which actually is generally not going to be a good thing. But then again, we'll introduce some domain specific stuff. So actually one of my internships during graduate school was to work for the local Middlesex County District Attorney's office doing forensic investigations in a digital sense. The local Mass state police would bring to our office hard drives and floppy disks and sometimes for no reason mice and keyboards. And we would be tasked with finding evidence. Now it turns out, maybe just an FYI, that the criminals in Cambridge, Massachusetts, at least, not necessarily that clever. Very often our forensic analysis boiled down to booting the computer up and double clicking on the My Documents folder, and therein laid the evidence. But what we'll do this week is give you a sense of what it actually means to store information on a hard drive, on a flash drive, and why can't otherwise private information be disclosed to third parties when you drop off a computer to be repaired or even when you discard it. Well someone might very well be sifting through those hard drives and it's really not that hard to find data if you know how to look for it. Well, in week five we'll look at more sophisticated data structures, tools and techniques that you can use ala phone books and ala searching huge data sets much more intelligently. And the week's problem set will task you competitively to see just how fast the code you can write is and how little memory you can use. Toward terms end though we'll take things up to a higher level in terms of programming languages and put C behind us and introduce a web programming language known as PHP, one of the popular languages these days. Much of Facebook is still written in PHP, at least outward facing, and it's just a very easy language to learn quickly once you already know another. So with PHP we'll be able to solve problems and implement websites that do interesting things. The news site I showed you, the events site, the shuttle boy site, all of those all happen to be written in PHP. But by no means is that prerequisite. What you'll also find throughout this course is that you're not going to exit this course knowing C. You're not going to exit this course knowing PHP. Those are not interesting skills to claim, but knowing how to program, knowing how to use data structures and algorithms in an interesting way, that's a compelling story. Even I, all these years later, throughout college and graduate school, the only time I ever learned a language was probably in CS50 where it was still taught in C and CS51, which is one of the successor courses. Everywhere along the way since has been go learn this language and then work on this problem set because computer science is not supposed to be about here's a language, let's spend seven weeks teaching you where the semi colons are. There are much more interesting ideas out there. Databases, for one. And in week two we'll introduce you to this query language called SQL that'll allow you to store information in databases and actually implement some fairly interesting final projects. The week after we'll look at what's called client side programming, doing interesting things on a user's computer, taking advantage of their CPU cycles, doing things ala Google maps and these websites that actually use JavaScript, which is actually a language we'll introduce to let you do client side things, make more interesting, more sophisticated user interfaces, but at the end of the day have to be really mindful when implemented of a lot of sticky issues like network speeds, network performance and security. So it's not about again just coding something up that's fun to use or pretty to look at, but actually thinking about the design that'll be the interesting process. And then, the end result aesthetically will often be a really neat toy to show yourself or a friend. And then we'll look at hardware. We're going to take for granted that there are these physical boxes throughout much of the semester that will do what we tell them to do. But how are they doing that. So we'll actually take a peak under the hood and talk about what a compiler really is, what a CPU really is and actually consider what's making all of this fanciness from stupid YouTube videos on down possible. So what are the expectations? Attending lectures and sessions, completing nine problem sets assigned roughly weekly, two quizzes, the final project and there is in fact no final exam. Grades, it's always a question, broken down as follows here. You can take the course pass-fail. But let me say it here, and I've said it many times. I personally care relatively little about grades. I think they are a wonderful, well, they are a useful pedagogical tool with which to motivate and unfortunately sometimes de-motivate, but you'll find in this course that at the end of the day it's more about seeing how far you can go from weeks zero to week 12, as we say in the syllabus than it is about absolutely ranking all students in this course. So if you're coming into this course among those less comfortable, though a large demographic do not assume that that's automatically putting you in the lower third of the so called distribution. At terms end do I sit down with the TF's and discuss each and every one of the students. We take into account where a student came from, what kind of trajectory they were actually on and so at the end of the day please focus more on, and I don't mean to sound too grand, the process of learning and less on the numeric's. And you'll actually see that we grade problem sets, in particular, very coarsely, whereby along three axis, you will get a score of 1, 2, 3, 4, or 5, where 3, is in fact good. 3 is not C. 3 is good, 4 is better, 5 is best. But more on that as the problem sets are released. So the course's website is where you will find, as in most cases, a whole lot of useful things, if not silly things, too. And we have the luxury, as computer scientists of implementing it ourselves. So over the course of the semester you will see various new features rolling out. You'll find out over the course of the semester that the bulletin board is a wonderful place, certainly in the course of this size, to turn when you have questions about the problem set, questions about some computer science concept. You'll be able to check your grades, download all handouts in advance of lecture typically will I post the slides, if you're the type who wants to scribble on notes. But as you've seen, usually I shy away from long lists of details and more like pictures of cats and other visual cues. So you'll find, too, that we will provide printouts of code when we actually think it particularly advantageous to write right on the paper. Software, videos will be available, usually around 1 to 2 to 3 days maximally after each lecture. So the courses are being filmed and every lecture will go online in various formats including QuickTime and MP3's for downloads to iPods and such. And also you will find a link to download what we call the virtual terminal room, which as you'll see is related to virtual office hours. Books are expensive and in the computer world also not that useful. They are on the shelves of the coop, although we're told that last year they ordered like 120 books for the course and 30 were actually purchased, but this perhaps speak to the fact that there are places like Amazon.com, so if you are the type who actually enjoys the sort of support structure that a book provides, if you like to read up more than say a course's typical materials offer, by all means, procure one or more of the books that we recommend here and discuss more in detail in the syllabus. But realize there are so many resources that this course provides in printed form and electronic form, and my God, there's the whole internet out there. Books are not something that are required for this particular course. Lectures, in general, will be Monday's and Wednesday's, except for this Friday and next Friday, simply because of shopping period and Labor Day. So we'll meet this Friday, next Wednesday, next Friday, but there after this is just a Monday, Wednesday course. So this little visual cue here is to remind me that yes, we do distribute videos in QuickTime formats, MP3's, fun ways that you can, if you're actually this type, maybe in the 14 percent, watch a computer science lecture on your iPod, but it reminded me that at terms end last year, the course culminates in final projects, in which students can design most anything they want, and we actually had some students tackle some iPhone applications. Some one of these at least is now in the Apple store. It's called Rover. It's been adopted essentially by Harvard agencies and it's the iPhone version of the unofficial guide to life at Harvard. They did a brilliant job. I bring this slide up too, just to point out what other technologies might very well be down the road. Some of you may have seen this before, but just to give you a teaser of apparently what's in the pipeline, I thought I would offer this brief distraction here. ] Cerddoriaeth [ >> With the MacBook wheel, Apple has replaced the keyboard with a sleek, touch sensitive click wheel. Apple CEO Steve Jobs introduced the product yesterday at the annual Mac Expo. Senior product innovator says the MacBook wheel will make typing a thing of the past. >> At Apple our philosophy is create products that are simple to use and nothing's more simple than a single giant button. >> Gilman showed me how the revolutionary new computer works. >> Gilman: Just open the intuit-type alphabet menu here, scroll to the letter you need and center click to select it and click again to capitalize and repeat this process for each new letter. It couldn't be simpler. You could also let the predictive sentence technology complete the sentence for you. >> Gilman says the MacBook wheel has also simplified organization of files, so searching your hard drive will be a snap. >> Gilman: Just press both sides of the wheel concurrently and center click and there, you have an alphabetical list of every file on your hard drive. Everything is just a few hundred clicks away. >> Apple is calling the MacBook wheel the most intuitive product every designed. >> Here at Apple we like to think that we're giving customers features they don't even know they want yet. >> While the MacBook wheel won't hit the shelves for another 3 to 15 months, many apple users already have it on their wish list. >> I'll buy almost anything [inaudible] and made by Apple. >> Alex [inaudible] was one of the lucky few to get to try out a MacWheel and spent 45 minutes typing an email to his friend. >> I never really realized how much I hated keyboards until I saw this thing. >> I like how it automatically says, sent with a MacBook Wheel, so people automatically know you have one. >> With a price tag of just under 2600 dollars for the lowest end MacBook Wheel, it is an investment. But the super thin laptop features numerous innovations, like the new ultra thin hummingbird battery, which can power the MacBook Wheel for a fill 19 minutes before needing to be recharged and the computer is virtually unbreakable unless dropped or hit. But Apple isn't resting on its laurels, Bryan Gilman says they're already hard at work on the next generation of the MacBook Wheel, which will be four ounces lighter due to its lack of streaming hard drive or wheel. For the Ugly news Network, I'm Jeff Tate. >> Thank you for that, Jeff. It remains to be seen if the wheel will catch on in the business world where people use computers for actual work and not just dicking around. Moving on, police warn. >> David: So I've seen that thing at least a half a dozen times now, including once at like two a.m. last night and I was scrolling down on YouTube and literally like an hour prior, some guy in all seriousness posted, just a wheel? That's the stupidest product I've ever seen. [ Laughter ] And then the rants ensued in the thread thereafter. So besides lectures there are also sections and it is your teaching fellow and the course's course assistants that you will get to know very well over the course of this semester. Sectioning won't begin for a week or so's time. More on that in the lectures to come. But know that the course will have several different tracks of sections, much like First Knight's has for music. Sections targeted more at those less comfortable, those more comfortable and those somewhere in between. And we also offer most Sunday nights before a problem set is due on the following Friday is what we call code walkthrough's where one of the course's teaching fellows will lead a session targeted specifically at the week's problem set and will help you answer the question where do I begin, how should I approach this? And that too will be filmed and made available online and always linked on the course's website. So this course has a huge staff. Our staff is larger than Harvard's average class size. We have over 50 people involved in the production of this course on a weekly basis. Some of them teaching fellows who hold sections, grade work, hold office hours and more. Course assistants who are former students, who are offering on a volunteer basis in fact multiple hours of office hours in the computer lab per week. System administrators, folks doing all of our AV and video production. Someone who will actually be taking notes for you. So it is actually my opinion that scribbling down almost every word that someone like me says is not a very good use of one's time. It's much more interesting I think to actually engage with what's on the screen, what's being presented. And so what we will do as a course is post PDF's online within a couple of days of lectures of scribe notes, which is essentially an authoritative version of course notes, unedited, but documenting what went on in lecture that day, thereby hopefully freeing your minds and pencils from jotting information down. We have some of our team here. Most of our team is actually shopping courses. But if a few of your guys would like to come on stage for a moment with our head teaching fellow and assistant head teaching fellow. Allow me to ask the latter to say a quick hello. And as these guys come up in absentia allow me to say that also on staff this year besides the folks you see here are Alex, Alice, Andrew, Batul, Charlotte, Chris, Dan, Dan, Daniel, David, David, David, Derek, Dev, Didi, Doug, Drew, Erica, Fil, Glen, Greg, Janice, Jason, Jean, Jeff, Jesse, John, John, Jonathan, Jordan, Josh, Karim, Kelly, Ken, Kent, Kyu Bok, Lee, Madhura, Marta, Matthew, Michael, Michelle, Mike, Mike, Nathan, Patrick, Peter, Peyton, Rose, Saba, Sanjay, Shannon, Stacey, Ted, Wellie, Yair and me. So our course is teaching fellows and course assistants, Cansu and Yuhki, would you like to say a quick hello? >> Hi. It's definitely a great honor to be back here for the third time. And if you're one of those who are like less comfortable. [ Laughter ] I think I can [inaudible]. Okay. [ Laughter ] If you're one of those [inaudible]. There's no need to be afraid. I walked in here two years ago with no experience what so ever, and I thought that I was like dumb and I was sure that I was going to fail the class. And I came back for the third time. I did not fail the class. This course is great because it has such a good community. As you can tell by the names listed by David. All the CA's and TF's are here to help you. So if you have any questions at all, just come up to us. Not taking this class because it's hard is not a good excuse. So, hi. >> [Inaudible]. >> Hi, so well both as a student and TF, I've really enjoyed being a part of this course. And even though it's a course that requires a lot of work from you, we've put a lot of work in to it for you as well to make it as enjoyable and as fun as possible. So, we really hope that all of you stay and take part in this very special experience. >> Thanks. >> David: So you will find, thank you, all of you, you will meet them in the hallway in just a few minutes as well. So you'll find that this course, perhaps more so than many is very much a shared experience. This is not a competitive course. This is not your premed course. This is a course which ultimately yes is about doing independent work, as you'll see each week by way of the problem sets. But you can't help but to get close to someone when you're fighting with some bug and banging your head against the computer screen proverbially to try to track down some bug. And I think you'll find that past students will concur that you exit this course with a lot of friends among students and also on staff. So where does that happen? Well, within office hours in the basement of the science center there's some large computer labs and we pretty much take them over five nights a week. These won't start for some time, and this, to be honest, is perhaps the most beautiful picture of the science center I've ever seen. [ Laughter ] It does not look like that on the inside. But it is a place where a good percentage of students do choose to spend time to get one on one assistance with each of the week's problem sets. Each week we will offer more than 100 hours of assistance one on one in the science center per the schedule that will eventually go online. And for those of you who live, say in the quad, or in Mather, or who just don't want to trek all the way to the science center to ask that quick question, we also offer what are called virtual office hours, much like remote technical support where you'll be able to log into a glorified chat room, in which yes, you can type back and forth with a TF or a CA, but you can also share your screen or share control of your mouse with them subject to your consent so that they can help you troubleshoot any problem or any question you have remotely. To give you a sense of what's involved in the course, these are statistics from last year. So you will, I think it's quite fair to say, work your ass off in this course. But per my promise from the start, this is one of those experiences that I don't think a typical student regrets. If you flip through, for instance, the Q Guide forms that are all on the course's website, you'll find that only by putting in the time to a course like this do you really exit having felt like you got something out of it and frankly might very well even have emerged even smarter. So what does it mean to actually write programs and implement problem sets? Well, the first problem set last year, a quick retrospective here, was to implement your very own programming scratch. And we spend just the first week there, and the goal is to implement your own game or animation or art or anything that appeals to you. In week one, then do you implement some basic C programs to get acclimated to some more traditional programming environments at the command line, at Linux so you get comfortable with some of these basics that will certainly serve you well in the long run. Last year's Problem Set 2 was about cryptography. We gave students the opportunity to implement some ciphers, some algorithms that let them encrypt information. And we also offered some students the opportunity to do the opposite. Each problem set, many problem sets, as you'll see are implemented in two editions. A standard edition that we expect almost everyone to do, say 90 percent of the class. And then a hacker edition, which presents the material from a more sophisticated angle, expects perhaps a bit more clever work for those more experienced, and for this one did those students get handed in the hacker edition pre existing user names and passwords in encrypted form and they had to figure out what those passwords for. We actually got into trouble for this a few years ago because all of the sudden FAS Computer Services saw like 50 people running a crack program on nice.fas.Harvard.edu, so they now have been given a heads up for programs like that. Last year students implemented the game of 15. Not all that much fun to play as a party favorite, moving the numbers up down, left, right, but a real stepping stone to implementing something interactive that involves a human and the hacker edition for this one had students implementing God mode, which actually solved this thing for the human, maybe cheat mode is the more apt term, in Sudoku, which was a step up toward that, where we provided the students, you, with a framework with a whole bunch of code that you needed to first understand before taking things the final mile and implementing some of the remaining functionality. And then we dabbled in forensics and this grew out of a real world experience between me and a friend. For this problem set last year, this buddy and I, who he being a particularly good photographer, strolled around campus and we shot photographs of unique, non obvious, but identifiable places on campus. And this was using his digital camera. All of these JPEGs got stored on a digital flash card or what not. And then I accidentally formatting the thing, or erased it. Well, it turns out formatting something or erasing something, usually means neither. It just means doing a little bit of work to make the human think their data has been erased, when in reality it hasn't. It's just been forgotten. And so we tasked last year's students with writing a program in C to actually recover these photos for my friend. We gave everyone a forensic image, so to speak, a big file representing that compact flash card, and they had to recover the several dozen photographs. And they also had to solve this little murder mystery. We provided folks with this image here. Those of you who've seen this before might be doing that squinting thing right now where you're trying to look through the picture, well you look pretty awkward, because this is not a magic eye puzzle. This is just random red noise that actually has behind it an actual message. And it turns out, I think it was Colonel, let's see, I've got my little solution here. Last year it was Colonel Mustard in the study with the candlestick. And this was the murder message recovered by students who wrote code to do so. And then in Problem Set 6 last year. We challenged students with implementing the fastest spell checker possible. What do we mean by that? Well, we handed the students a big text file containing 140 plus thousand English words, and we said write a program that loads all of these words into memory, but very quickly and very efficiently can tell us yea or nay, is this document perfectly spelled or are there errors? And what we provided was a testing framework, a harness, that students, if they wanted to compete, could run their code against some benchmarks, against some testing programs that we wrote. And then, ranked on the course's website from fastest to slowest were the running times, the amount of time it took for each student's code to actually execute, complete opt in. It's by no means required. And we took a bullet for the team and made sure that one of our own teaching fellows intentionally, I think, was at the very bottom of the list. So, there was definitely a lower bound. But the odd, the funny thing was we saw this in the cue guide evaluation, this problem set of all things, was apparently the one that people sunk the most time into. Not because it took any longer than all the other p sets, but they would come back from like dinner, look at the board, and realize dam my friend, my roommate just ever so slightly inch higher than me and so it incentivized people if only to one up their friends and roommates. In Problem Set 7, last year, we asked students to implement their own E*Trade like website, whereby you had to create a website using that language call PHP a database called mysql that actually lets people log in and then manage a portfolio of stocks, buy stocks quote unquote, sell stocks quote unquote, get stock quotes. And from where? Well, we have the students; we had the student patch into Yahoo Finance where they grabbed merely the Real time stock quotes to actually simulate the process of buying and trading stocks. Unfortunately some students, perhaps some economics majors or just folks with too much free time figured out last year how to gain the system. So, even though we gave everyone 10,000 virtual dollars, I think our winner turned teaching fellow this year actually, right don't push them away make them one of your own, for a billion dollars something like that ridiculous. Turns out we weren't really checking whether or not people were trading after hours. And it turns out that also, Yahoo stalk quotes are not in fact perfectly Real time which means if you just have a real E*Trade account you can see the future and see where the stocks are going. [ Laughter ] So, apparently you can exploit that if you put your mind to it. and then, in Problem Set 8, the course's final problem set last year, we had students implement a mash up where they take Google News and Google Maps and mash them together using JavaScript, PHP and SQL in such a way that they had a website that they could find all of the local news from whether it's zip code 02138 or 90210. And, you would actually pull the local current even articles by this thing called XML and integrate it into the view of a Google Map. And then, at very course's end was the true climax of the course. This course culminates in final projects, which ultimately will be your opportunity to design your very own piece of software, designed by you or two or three friends. And the course then climaxes with the new and improved, with the second annual computer science 50 fair which last year was an exhibition across the street in one of the engineering buildings with 300 laptops atop tables, popcorn was popping, music was playing, stress balls with CS50's logo were being thrown around. And this was an opportunity for our 300 plus students to exhibit their final projects not only to each other but also to some 900 attendees in total. And we also invited some recruiters as well. So, that is what you have to look forward in this course. You also have cake to look forward to in the hallway. This is CS50 and we'll see you on Friday. ] Cymeradwyaeth [ ==== Transcribed by Automatic Sync Technologies ====