[CHWARAE CERDDORIAETH] Mae hyn yn CS50-- Harvard cyflwyniad y Brifysgol i'r deallusol mentrau o wyddoniaeth gyfrifiadurol ac y grefft o raglenni. Ac mae fy enw i yw David Malan, ac Oeddwn ond yn meddwl y bore yma, mae wedi bod yn anhygoel 20 mlynedd heddiw ers i mi eistedd ddiwethaf lle rydych guys yn ei wneud yn awr. Yr oedd yn 1996. Roeddwn yn sophomore, ac roeddwn yn cymryd CS50 am y tro cyntaf erioed. Ac nid wyf wedi gotten hyd yn oed hyd y nerf mynd ag ef fy hun blwyddyn freshman, yn rhannol oherwydd yr amser. cyfrifiadureg i mi Roedd fath o hoffi, Meh. Roeddwn ychydig o geek sy'n tyfu i fyny, ond doeddwn i ddim wir yn gennych unrhyw deallusol diddordeb yn yr hyn ymddangos i ddim ond fod yn criw cyfan o pobl rhaglennu drwy'r amser. Ac yr wyf yn ofnus i fod yn onest. Mae'r cwrs a chyfrifiadureg mwy Roedd yn gyffredinol ac i ryw raddau, Mae enw da hwn o gae dal byddwch yn ofalus, os mai dim ond am fod cymaint ohonom yn gyfarwydd ag ef ac yn ansicr ohono. Ac mae'n ddim wir oedd hyd nes i mi siopa y dosbarth hwn sydd sophomore fall-- ac hyd yn oed wedyn, dim ond cofrestru oherwydd bod y professor-- un o fy mentoriaid cyntaf, Brian Kernighan nawr yn Princeton-- fy ngalluogi i gymryd y tocyn dosbarth yn methu. Ac yn wir, dyna pam heddiw rydym yn caniatáu ac yn annog myfyrwyr i gymryd y dosbarth hwn yn eistedd / unsat. A dim ond wedyn, gan y ddiwedd y semester wnes i sylweddoli hoffi, wow, mae hyn yn Nid oedd maes mor anghyfarwydd. Yn wir, roedd hwn yn grymuso iawn cae, ac yn fwy cyffrous, yn enwedig yn nes ymlaen, fel y cymerais cyrsiau mewn Celfyddydau Dramatig 101 a Lladin A ac yna yn y pen draw archeoleg ysgol grad, wnes i wir yn dechrau gweld y croesffyrdd o gae hwn, cyfrifiadur gwyddoniaeth, gyda'r dyniaethau, gwyddorau naturiol, y celfyddydau, meddygaeth, ac yn y blaen. Ac felly dyna beth 'jyst mor daclus am wyddoniaeth gyfrifiadurol yn y pen draw, fel yr ydym yn gobeithio y byddwch chi helpu see-- yw ei gymhwysedd i'r rhain meysydd eraill, a sut y gallwch cymryd rhai o heddiw ac y semester yn syniadau a sgiliau ymarferol yn ôl at eich parth hun, ac mewn gwirionedd yn archwilio groesffordd hon o'r celfyddydau rhyddfrydol a'r gwyddorau. Felly 73% ohonoch, os diwethaf blwyddyn yn unrhyw arwydd, erioed wedi cymryd cwrs CS blaen. Felly, os, fel fi, rydych yn teimlo ychydig bach ofnus, neu'n dweud y gwir nad ydych yn wir yn siŵr pam eich bod hyd yn oed yma. Efallai 'ch jyst ddilyn rhai ffrindiau draw i Sanders ar hyn o bryd. Mae hynny'n hollol iawn. Y nod yma yw i bachyn chi ac i dawelu eich meddwl os ydych yn edrych i i'r chwith ac i'r dde, ydych yn mynd i weld cyd-ddisgyblion gyda cyn lleied neu gymaint o brofiad eich bod efallai eich hun gennych. Ac yn wir, byddwn yn rhannu rhai ystadegau yn ddiweddarach heddiw o ran yr hyn y ddemograffeg y dosbarth fel arfer yn edrych fel. Ac fel Ychwanegodd reassurance-- ac rydym hwn yn golygu ers i mi gymryd drosodd y cwrs rai blynyddoedd ago-- mewn maes llafur y cwrs yw this-- bod yr hyn yn y pen draw materion yn y cwrs hwn Nid yn gymaint ble ydych yn darfod hyd gymharu â eich cyd-ddisgyblion, ond lle rydych yn wythnos 11, diwedd y semester, yn y pen draw perthynas i chi eich hun mewn wythnos 0, sydd yn lle rydym yma heddiw. Ac mae hyn yn hyn yr wyf yn sylweddoli holl flynyddoedd yn ôl. Ac yr wyf yn adnabod llawer o dosbarthiadau yn dweud hyn, ond mae'n arbennig o wir mewn gwyddoniaeth gyfrifiadurol. Ar ddiwedd y dydd, y maes hwn yn anghyfarwydd fel yr oedd i mi a allai fod i chi, sydd mewn gwirionedd yn dim ond am ddatrys problemau. Ac fel y cyfryw, mae'n rhaid i hyn cymhwysedd i gael feysydd eraill. Ac yn wir, os ydym yn ceisio i distill beth mae hyn yn ei olygu, mae hyn yn datrys problemau yn ei hanfod, mae'n debygol iawn. Mae input-- felly beth bynnag y mae'n yw eich bod yn ceisio datrys. Mae allbwn, sydd yn gobeithio, yr ateb i'r broblem honno. Ac yna, fel y byddem dweud mewn gwyddoniaeth gyfrifiadurol, mae blwch du hwn yn y canol nad ydych yn ei wneud o reidrwydd rhaid i ofalu am y ffordd y mae'n gweithio. Rydych chi eich hun yn y pen draw gallai weithredu'r hyn sydd y tu mewn y bocs. Ond at ddibenion heddiw a mwy Yn gyffredinol, mewn bywyd, pob ydych yn gofalu am yw bod y problemau hyn yn cael eu datrys. A beth mae'r cwrs hwn yn y pen draw am yn archwilio y groesffordd mewnbynnau ac allbynnau hyn, ac mae'r rhain yn hyn a elwir yn algorithmau, gan y byddwn yn fuan yn gweld, sy'n gweithredu beth yw dan yno, y cwfl. Ond mewnbynnau hyn ac mae'r rhain outputs-- beth mae hynny'n ei olygu mewn gwirionedd? Wel, ar ddiwedd y dydd, mae angen rhyw ffordd o gynrychioli gwybodaeth. Mae hyn yn arbennig o wir mewn cyfrifiadur, sydd, fel ffansi a chymhleth gan ei fod yn Gallai ymddangos, yn ddyfais eithaf fud. Mae'n cymryd electricity-- boed o gebl neu batri fel input-- ac yna mae'n cynhyrchu rhai ymatebion preprogramed ar y sgrin. Ond sut ydyn ni'n ei gael o dechrau i'r diwedd yno? Wel, beth sy'n broblem i'w datrys? Wel, efallai ni allai, yn dechrau unrhyw semester, ceisio cymryd presenoldeb mewn ystafell fel hyn. Felly efallai y byddwn yn ei wneud fel un, dau, tri. Neu efallai, os wyf yn gwneud hynny i fath o gadw golwg o myself-- i gadw golwg ar things-- Gallwn i redeg yn gyflym allan o bysedd. Felly efallai Fi jyst yn gwneud hash un marks-- person, dau, tri, pedwar, pump, chwech, saith, wyth. Ac mae pob un ohonom wedi yn ôl pob tebyg gwneud hyn, boed ar eich dwylo neu ar ddarn o bapur. Ac mae hyn yn mewn gwirionedd yn unig rhywbeth o'r enw notation-- unary lle os oes gennych ond un llythyr yn eich wyddor, un neu hash marc yn yr achos hwn, ar gyfer pob mewnbwn rydych am ei gyfrif, mae angen i chi roi i lawr un o'r rhain letters-- un o'r marciau hyn. Iawn. Dyna i gyd gain ac yn dda a Nid yw bob un sy'n gymhleth. Ond nid yw cyfrifiaduron i gyd bod llawer mwy cymhleth. Yn wir, y rhan fwyaf mae'n debyg gwybod hyd yn oed os nad ydych chi wedi wir yn Ystyrir beth mae hyn yn ei olygu, fod cyfrifiaduron yn unig yn deall zeros ac ones-- y system ddeuaidd hyn a elwir yn. Rydym yn fodau dynol, ar y llaw arall, mor llawer mwy soffistigedig i'r graddau fel y deallwn pob sero drwy nines. Ond hyd yn oed os binary yw, ar y dechrau yr olwg, nid yw bob un sy'n gyfarwydd, mae'n troi allan 'i' yn union fel y systemau ac mae'r syniadau yr ydym eisoes yn ei wybod. Felly, er enghraifft, yn ystyried hyn. Mae hyn yn unig yw dilyniant o symbolau. Ac bob un ohonoch, pan glancing arno, yn ôl pob tebyg meddwl 123-- dim byd yn ddiddorol iawn yno. Ond pham ei fod yn rhif hwn, 123? Yn unig yw'r rhain glyphs ar y screen-- unig batrymau y gallai rhywun fod wedi tynnu neu eu teipio. Ond os ydych chi fel fi, byddwch yn yn ôl pob tebyg cofio o ysgol radd bod yna fath o colofnau neu lefydd yma. Mae lle ac mae'r un yn lle deg a lle y cant yn. A'r rheswm bod hyn yn 123 ac nid dim ond patrwm o dri symbol oherwydd, wrth gwrs, os byddwn yn cael un yn y lle cannoedd, byddwch yn gwneud y math o 100 o weithiau un, ac yna dau yn eu lle y deg ar. Felly dyna 10 gwaith 2, ac yna tri yn lle yr un a dyna 1 o weithiau 3. A phan fyddwch yn ychwanegu pob un o'r rhai hyd, o cwrs, byddwch yn cael 100 yn ogystal 20 ynghyd â 3. Felly, rydym yn dechrau gyda dim ond patrwm o symbols-- yn alphabet-- ond yna rydym fapiwyd ystyr ymlaen iddo drwy colofnau hyn. Wel, mae'n ymddangos fod cyfrifiaduron yn wir ddim bob un sy'n wahanol i chi a fi. Ond yn hytrach na defnyddio pwerau o 10, felly i speak-- 1, 10, 100, 1,000, 10,000 lle ac felly forth-- maent mewn gwirionedd dim ond yn defnyddio pwerau 2-- felly un, 2, 4, ac yna os ydym yn rhoi mwy o digid, 8, 16, 32, 64, 128, ac yn y blaen. Ac felly dyma sut cyfrifiadur Byddai cynrychioli nifer 0, yn union fel bodau dynol yr ydym yn. 0, 0, 0-- ac mae'n debyg y gallwch ddyfalu pa batrwm o zeros a rhai, os gall cyfrifiadur yn unig siarad 0 neu 1-- beth patrwm yn mynd i gynrychioli rhif rydym pobl yn gwybod fel 1? Yeah-- 0, 0, 1. Iawn. Felly 0, 0, 1 yw sut ydym yn eu cynrychioli 1, felly efallai y byddwch yn tueddu wedyn i gynrychioli'r rhif 2, os oes gennych lle y pedwar a lle y ddau yn fel yr un lle, efallai y byddwch yn dweud, yn dda, pe bai gennym 1 ar waith yr un, yn ac yn awr rydym yn awyddus i cyfrif hyd at 2, efallai y byddwch gwneud hyn a gadael i hyn fod yn sero. Ond wrth gwrs, nid yw sut mae hyn yn mae'r system yn gweithio degol chwaith. Os byddwch yn rhoi digid mewn y ddau o'r colofnau hynny, mae'n rhaid i chi i wneud y rhifyddeg. Felly beth wnes i rif ddamweiniol yn unig yn ei gynrychioli? Felly mae'n 3, gan fod 2 gwaith 1 ac 1 Amseroedd 1, wrth gwrs, yn rhoi i ni dair. Felly byddai hyn yn dau. Mae ychydig math o flips, fel petai, fel 0 yn dod yn un, yn debyg iawn 9 rolau dros ac yn dod yn 0 pan fyddwch yn cario'r 1. Byddai hyn wedyn yn dri wrth gwrs. Four-- peth diddorol arall yn digwydd, lle mae rhai rholio drosodd a ydych yn cario y 1, fel petai. Felly, mae hyn, wrth gwrs, yw 4. Ond os ydych yn ei flaen yn gyflym yn awr, beth yw'r rhif mwyaf yn mynd i fod y gall cyfrifiadur ei gynrychioli? Felly dim ond saith yn yr achos hwn, dde? Oherwydd bod gennych un yn y pedwar, mae un yn y ddwy, mae un yn y un. Felly dyna 4 a 2 ac 1. Felly sy'n rhoi i chi saith. Ac yn wir, byddai'n yn ymddangos ar yr olwg gyntaf y gall cyfrifiaduron cyfrif dim uwch na hyn. Ond nid yw hyn wrth gwrs yn wir. Beth rydym yn pobl yn ei wneud pan fyddwn am i gyfrif yn uwch nag yn hoffi 999? Dim ond gario'r un a dim ond ychwanegu pedwerydd digid i'r chwith. Ac felly yn wir y gallem. Gallem gael wyth o gosod a lle 16eg yn, a lle mae 32, yn 64, 128-- ac rydych gall dim ond cadw i fynd ar hyd at anfeidredd. Felly zeros hyn ac ones-- yr hyn a elwir system, deuaidd yw'r hyn wyddonydd cyfrifiadurol byddai Yn gyffredinol, yn galw ychydig, neu digid deuaidd. Ond yn awr, sut ydyn ni'n ei gael gan y cysyniad neu graffeg o'r pethau hyn at gyfrifiadur gwirioneddol? Rydym yn ymddangos i fod yn sgipio cam yma. Wel, yr unig fewnbwn ar y diwedd y dydd, i fy laptop yma yw llif hwn o drydan. Hyd yn oed os mae wedi bod yn hir amser ers i chi wedi meddwl am neu byth yn meddwl am sut gweithio trydan, mae electronau yn llifo i mewn neu allan, a dyna fy math o fewnbwn. Felly, os dyna'r cyfan ein bod mynd fel mewnbwn yma, beth allwn ni ei wneud â'r wybodaeth honno? Wel, efallai y byddwn yn meddwl am sero fel dim ond absenoldeb trydan. Nid oes dim yn flowinw, nid oes dim yn symud, dim byd yn digwydd. Dyna dim ond 'r ball state-- sero. Ond os oes trydan yn llifo, pam Nid ydym yn unig fympwyol, ond yn fyd-eang yn gyson, yn galw bod un. Felly dim ond drwy gael unrhyw bŵer, mae gennym sero, ie pŵer, mae gennym one-- unrhyw bŵer, ie pŵer. Ac yn y ffordd honno, gan ddefnyddio rhywbeth mwy corfforol neu electronig rydym yn dechrau i weithredu syniad hwn o rhywbeth naill ai yn un neu sero. Yn wir, gallai rydym yn unig yn ei wneud dros yma. Felly dyma, nid wyf wedi tri ond wyth bylbiau golau, pob un ohonynt wedi ei newid ei hun. Ac felly os oeddwn i eisiau i gynrychioli y rhif saith yma, Efallai fy mod yn troi ar y tri fylbiau golau. Ac yn wir, y tu mewn o fy nghyfrifiadur yn miliynau, biliynau o bethau sydd yr un llai na hynny, a elwir transistorau, switsys, ond eich bod yn troi ymlaen ac i ffwrdd. Felly mae'r rhain yn big-- gymharol switshis big-- y tu mewn fy laptop-- llawer, llawer, llawer, llawer mwy o switshis. Ond yr holl maent yn ei wneud yn union that-- troi rhywbeth ar, trowch rywbeth i ffwrdd. Ac fel y cyfryw, gall cyfrifiadur gynrychioli, gyda miliynau neu biliynau rhai o transistorau, llawer a llawer o zeros a rhai. Ac mae caledwedd eraill yn dal i fod gadael i chi storio gwybodaeth yn y tymor hir, felly pan fyddwch yn tynnu y plwg, nad ydych yn colli ei. Ond mae hynny'n stori am ddiwrnod arall. Felly, beth allwn ni ei wneud gyda darnau hyn? Gallem dim ond er mwyn cymryd y pwysau oddi ar y me-- efallai y bydd rhywun eisiau dod i fyny yma ac yn cynnig hyd demo? Gwelais llaw hwn yn gyntaf. Beth yw eich enw? MADAY: Maday. DAVID Malan: Maday, yn dod ar i fyny. Neis i gwrdd â chi. MADAY: Neis i gwrdd â chi. DAVID Malan: Dewch y ffordd hon. Ni fydd yn rhaid i mi gwefusau chi i fyny. Iawn. Felly dyma, mae gennym, notice-- un, two-- byddwn yn golygu bod out-- un, dau, pedwar, wyth, 16, 32, 64, 128. Mae hyn yn fwriadol. Mae wyth did Yma-- deuaidd zeros digits-- a rhai. Ac ychydig yn uned ddefnyddiol o measure-- Nid yw mor ddefnyddiol uned o fesur ar ei hun. Fel arfer rydych am o leiaf wyth o'r pethau hyn, a.k.a. beit. Felly mae gennym beit o ddarnau yma. Felly, os ydym yn awyddus i herio chi, er enghraifft, sillafu allan, mewn deuaidd, gwerth hwn Yma-- 42. Am gymryd drywanu ar hynny? MADAY: [Anghlywadwy]. DAVID Malan: Yeah, dim ond gwthio y bach switshis gwyn o flaen. A'ch bod am i sillafu allan 42, ac i'w hennill yw hwn straen CS50 pêl os ydych yn cael hyn. Iawn. Felly, mae gennych 32. Rydym yn mynd i angen 42. Felly dyna wyth, felly dyna 40. Ac wedi gwneud excellent-- iawn 'n glws. Diolch. [Cymeradwyaeth] Iawn. Felly mae gennym un yn fwy pêl straen. Gadewch i ni wneud hyn unwaith eto os caf ni. Un gwirfoddolwr arall? pêl straen rhad ac am ddim, pêl straen rhad ac am ddim. IAWN. Dros yma yn y canol, ydych chi eisiau i ddod i lawr? Iawn. Yr wyf yn gwybod. Dyna ni. Felly mae'r niferoedd Yma-- dewch draw. Beth yw dy enw? DAVEY: Davey. DAVID Malan: Davey. IAWN. Dewch ar i fyny, Davey. Neis i gwrdd â chi. A beth ydym yn mynd i gael i chi spell-- pe gallech lechu yno am moment-- dim ond un yw'r rhif 50. Ond, ond, ond, ond, ond, mae'r rhain yn magnetau ysgol radd am reswm. Newydd gael ychydig yn galetach, iawn? Mae dal wyth. Iawn. Felly beth ydym yn ei gael ar yno? Mae gennym 32. Nice. 32 plws 16 yn rhoi i ni 48-- mor agos. A rhyfeddol. Llongyfarchiadau i Davey hefyd. [Cymeradwyaeth] Iawn. Felly, gallwn wneud hyn drwy'r dydd, a nid yw'n cael yr holl bod llawer mwy diddorol ac yn fwy heriol. Ond dyna mewn gwirionedd y point-- yw pa mor gymharol syml y mae, ar ddiwedd y dydd, yr hyn y mae cyfrifiadur yn ei wneud i storio gwybodaeth, i storio mewnbynnau ac yn y pen draw storio neu gynrychioli allbynnau hynny. Ond nid yw rhifau yn unig yn gyd yn ddiddorol honno. Felly bodau dynol, rai blynyddoedd yn ôl, benderfynu, eich bod yn gwybod beth? Byddai'n braf pe Nid yw cyfrifiaduron yn unig cyfrifianellau ar gyfer rhifyddeg gweithrediadau, ond mewn gwirionedd yn gallai gwneud pethau fel prosesu geiriau, neu e-bost, neu ymgnawdoliadau mwy modern o'r mathau hyn o dechnolegau. Ac felly penderfynodd y byd fympwyol, ond yn gyffredinol, , os ydych am i storio y brifddinas llythyr A yn cyfrifiadur, eich bod yn gwybod beth? Gadewch i 'jyst i gyd yn cytuno i storio ychydig o batrwm zeros a ones-- bits-- yn y pen draw cynrychioli'r nifer degol 65. Byddwn yn unig i gyd yn cytuno ar hynny. 66 Byddai gynrychioli B, 67 Byddai gynrychioli C, ac mae sypiau o batrymau eraill zeros a rhai, neu rifau sylfaenol, a fyddai'n cynrychioli llythyrau eraill yn dal. Felly, os ydych yn feddyliol fath o amsugno'r hyn am eiliad, Rwyf yn fwriadol rhoi i fyny A drwy Yr wyf i, lle mae H yn 72 ac yr wyf yn 73. Os cyfrifiadur, yna, yng nghyd-destun rhaglen prosesu geiriau neu e-bost, Datgelodd dan y cwfl i gael patrymau hyn o batrwm bits-- o ddarnau yn cynrychioli 72, yna 73, yna 33-- beth allai hyn sillafu yn y rhaglen honno? Felly hi, ac yna rhywbeth. Nid ydym o reidrwydd yn gwybod, ond yn wir 33-- nid ar y siart earlier-- yn syml pwynt ebychnod. Felly 72 Roedd H, 73 yw I, 33 yn digwydd i fod yn bwynt ebychnod o hyd. Ond dyna i gyd iawn ac yn dda, ac yn wir y dyddiau hyn, yn hytrach na dim ond yn defnyddio saith neu wyth darnau, diolch i rywbeth Gelwir Unicode yn hytrach na i ASCII yn ôl yn y dydd, rydym mewn gwirionedd yn gallu cynrychioli hyd yn oed mwy cymeriadau diddorol na dim ond mae'r rhain Saesneg gwreiddiol rhagfarnllyd llythyrau. Ond gallwn hefyd yn cynrychioli hyd yn oed pethau daclusach fel lliwiau. Os ydych chi erioed wedi clywed yr acronym RGB, coch, gwyrdd, glas, sy'n jyst yn golygu bod cyfrifiadur fel arfer yn defnyddio tair set o bits-- rhyw nifer o ddarnau sy'n cynrychioli nifer ar gyfer faint coch rydych eisiau, set arall o ddarnau ar gyfer faint o wyrdd rydych eisiau, a nifer penodol arall ar gyfer faint glas ydych ei eisiau. Felly mae nifer fawr yn golygu llawer o coch rhif, bach yn golygu dim coch. Ac felly mae'r rhain yn garedig o werthoedd canol yma. Felly, rhoi i mi rhai coch, rhoi i mi rhai gwyrdd, ac yn rhoi ychydig o las mi. Ac os ydych yn cymysgu y tri lliwiau o liw at ei gilydd, yn yr achos hwn, byddwch yn cael y cysgod tywyll o melyn neu frown. Ond mae hynny patrwm o wyth a mwy wyth plws eight-- felly 24 bits-- o'r chwith i'r dde, yw sut cyfrifiadur Byddai yn cynrychioli y lliw penodol. Nawr mae hyn yn unig yw dot ar sgrin. Os ydych yn edrych yn agos iawn ar eich teledu eich cyfrifiadur, byddwch yn gweld dotiau neu picsel. Ac os oes gennych grid cyfan o picsel, llorweddol ac yn fertigol, gennych delweddau. Ac yna os ydych yn cymryd delwedd ac yna golchi dangos eich hun ddelwedd arall, un arall delwedd, delwedd arall, delwedd arall, cyflym mewn gwirionedd, byddwch wrth gwrs yn cael ffilmiau. Ac felly yn sylwi ble rydym yn dechrau. Rydym yn dechrau gyda sero a rhai hyn. Buom yn gweithio oddi yno i degol rhifau, sut rydym yn eu cynrychioli. Nawr mae gennym llythrennau'r wyddor. Ond mewn cyd-destunau eraill yn aros, gallwn ddefnyddio mwy ddarnau ac yn cynrychioli lliwiau ychydig. Cyn gynted ag y byddwch yn cael y gallu i gynrychioli lliwiau, gennych y gallu i gynrychioli ffotograffau a gifs animeiddiedig a chymeriadau o'r fath eraill ar y sgrin. A phan fyddwch yn cael criw cyfan o delweddau hedfan gan y ddynol ar unwaith, mae'n edrych fel lluniau cynnig, ac felly byddwch yn cael fideos hefyd. Felly ddefnyddio'r rhain iawn primitives syml ydyn ni'n yn cael y ffordd o gynrychioli yn y pen draw yr holl ffurfiau hyn o gyfryngau. Ac rydym wedi dynnir eto ac eto ac eto, hyd nes y byddwn gael gan y lefel isaf i lefel uchaf hon. Felly dyna yn rhoi i ni yma syniad cyffredinol o dynnu. Ond rydym yn dechrau yma. Yma nawr, gallem gynrychioli mewn cyfrifiadur ein mewnbwn gyda sero a rhai, ein hallbynnau mewn zeros a rhai, ond beth sy'n mynd y tu mewn i'r bocs? Dyna lle gyfrifiadur gwyddoniaeth yn cael ddiddorol. Dyna lle rydych mewn gwirionedd ddod â'ch meddyliau eu hunain i ddwyn i ddatrys problemau. Gallwn yn awr bennu, ar gyfer y gweddill y semester, ie. Rwy'n gwybod gweithiau sut deuaidd. Yr wyf yn cofio sut ASCII neu Unicode-- mapio i letters-- gwaith. Ac mae'n sicr yn sefyll i ymresymu ein bod yn Gallai gynrychioli coch a gwyrdd a glas, ac yn cynrychioli amlgyfrwng hefyd. Ond mae hyn yn stwff diddorol. Mae hyn yn yr hyn sy'n gwneud rhywun gallu datrys problemau. Ac un problem o'r fath rydym yn hoffi ei wneud, yn wir, yn cymryd presenoldeb, neu gwneud hyn algorithmically. Ac eto, efallai y byddwn yn gwneud hyn. efallai y byddwn yn gwneud un, dau, tri, pedwar pump, chwech, saith, wyth naw. A gallwn ei ysgrifennu i lawr i gadw golwg ar ei. Ond dim ond sut yr wyf byddai gynrychioli'r wybodaeth. Neu gallwn i wneud hyn faster-- dau, pedwar, chwech, wyth, deg, 12, 14, 16, 18, 20, 22-- mae'n teimlo fel dwywaith mor gyflym ond mae'n dal i fod mynd i gymryd llawer gyfan o amser. Ond mae'n troi allan, os byddwn yn trosoledd eto cyfrifiaduron resource-- ac yn wir un arall y dyddiau hyn yn cael CPUs lluosog neu ymennydd. Mae'n troi allan y gall cyfrifiaduron gwneud llawer o bethau ar yr un pryd, ac yn wir yr ydym ni, yn yr ystafell hon, Efallai gynrychioli union hyn. Felly mae'n ychydig yn gymdeithasol lletchwith, ond os byddech hiwmor i mi am ddim ond proses tri cham, gadewch fi yn gofyn i bawb yn ei le yno yn unig i sefyll i fyny am funud. Sefyll i fyny. Felly meddyliwch i chi eich hun, rhif one-- fel bod pawb yn yr ystafell hon, ar wahân i'r bobl nad oedd yn gorfodi'r, yn meddwl rhif un. Felly dyna eich rhif ar hyn o bryd. Dyna'r cam cyntaf, neu fel gwyddonydd cyfrifiadur neu rhaglennydd nodweddiadol fyddai yn ei wneud, rydym yn mynd i ddechrau cyfrif ar sero. Os yw'r rhif lleiaf y gallwn gynrychioli gyda bylbiau golau rheini yn sero, gan ddim ond eu gadael cyfan i ffwrdd, yr wyf yn gallai yn ogystal dim ond yn dechrau cyfrif o sero yn hytrach nag un. Ac felly dyna beth gwyddonwyr cyfrifiadurol yn ei wneud. Felly cam sero, yn sefyll i fyny a meddwl am y rhif un. Y cam nesaf yw this-- pâr i ffwrdd gyda rhywun yn sefyll ac ychwanegwch eich rhifau at ei gilydd. Wonderful. Felly, ar hyn o bryd, llythrennol pawb sy'n cymryd rhan yn meddwl am y rhif 2, ac eithrio ar gyfer un person rhyfedd os oes gennym odrif o bobl yn yr ystafell. Ac yn awr y trydydd cam yn yma yn mynd i cael Dylai this-- un chi eistedd i lawr. Un o'r dylech eistedd i lawr, ac os ydych yn dal i sefyll, mynd yn ôl i gam un. Iawn. Iawn. Felly mae mwy a mwy o bobl Dylai fod yn eistedd i lawr. Sylwch fod hyn wedi achosir a loop-- rhyw fath o gylch. Dylai rhai ohonoch yn lletchwith sownd, yn mynd yn ôl ac ymlaen rhwng cam un a dau, un a dau, un a dau. Mae hynny'n iawn. Ein bug cyntaf. Byddwn yn ymdrin â hynny. Iawn. Gadewch i mi geisio sbarduno pethau draw. Mewn theori, dim ond un person yn sefyll fel y mae pawb yn parhau i pâr i ffwrdd. Ond gadewch i mi gyflymu pethau gyda'r bobl sy'n dal i sefyll. Pa rif yr ydych yn meddwl am? 46. IAWN. Mynd yn ei flaen ac eistedd i lawr. Rydych guys yn dal i sefyll. Pwy sy'n dal i sefyll? Pa rif yr ydych yn meddwl am? IAWN. Felly byddwn yn dod yn ôl atoch. Yn y cefn? Beth yw hynny? 22. OK rhywun arall i fyny top-- yeah? 34. IAWN. Dros yma ar fy right-- fyny yma? 132, iawn 'n glws. 22? IAWN. A phwy sy'n dal i sefyll? Dros yma? 46, neis iawn. 72. Ni allaf stondin llawer hirach. Yeah? 30, 'n glws. Dros yma? 23? 23. Ac rwy'n credu bod hynny'n pawb wahân i chi guys, dim pwysau. O, aros. 28? Dim ond wyth. IAWN. Dim ond wyth. Lawr yma? 30. 23. 24. 18. Mae hyn yn y gweithrediad gwaethaf o algorithm hwn erioed. IAWN. Felly unrhyw un arall? Unrhyw un arall? IAWN. Un yn fwy. 16? IAWN. 16. Iawn. Felly, os nad wyf wedi colli unrhyw un yn llacharedd yma, pan fyddaf daro Chofnoda, byddwn yn gweld, algorithmically, mae'r cyfanswm nifer y bobl yn Sanders. Oherwydd unwaith eto, mae fel bod pawb wrth i chi eistedd i lawr, pasio eich rhif off i rywun arall, i rywun arall, i rywun arall, fel eu bod yn ddamcaniaethol, yn y pen draw, dim ond un lletchwith Dylai person gael ei adael yn sefyll. Ond mae hynny'n iawn. Rydym yn sped pethau i fyny â llaw. Mae'n arbennig o anodd gweld yn y gofod hwn penodol. A chyfanswm nifer y bobl credwn fod yma yw 546. cyfanswm nifer yr oeddwn yn ei ben ei hun gan y cymrodyr addysgu, pwy oedd yn yr hen ffordd araf ysgol, oedd 820. [Chwerthin] [Cymeradwyaeth] Mae hynny'n iawn. Felly yn sicr wedyn, mae bugs hyn. Ac mae hynny'n iawn. Ac felly yn meddwl yn ôl ar hyn y rhywbeth tro cyntaf chi ysgrifennu o reidrwydd yn gweithio. Mae hyn wedi digwydd i mi yma hefyd. Ond gadewch i ni yn awr yn ystyried sut gallem wneud cais un syniad hwn i rywbeth efallai eich bod wedi gweld o'r blaen, a oedd yn mae hyn yn hen Yma-- technoleg ysgol llyfr ffôn mawr iawn. Ac mae'n debyg bod llyfr ffôn hwn Mae 1,000 o dudalennau a 1,000 o enwau a niferoedd yn nhrefn y wyddor tu mewn iddo. Wel, gallem fath o cymhwyso tebyg syniad i'r broblem hon gorfforol iawn, dim ond drwy ddefnyddio fi. Fi jyst fath o twyllo dan ddylanwad busnes pob un ohonoch gyda llawer a llawer o CPUs wahanol neu ymennydd gweithredu rhyw algorithm. Ond os mai dim ond ychydig oed i mi, gallaf dal i trosoledd yr un hanfod o syniad o rannu a gorchfygu y broblem honno dro ar ôl tro, lle hanner ohonoch, hanner ohonoch, hanner ohonoch, hanner ohonoch, ddamcaniaethol cadw eistedd i lawr, nes i ni eu gadael, yn ddamcaniaethol, gyda dim ond un person. Felly, yn yr hen ysgol technology-- nid ydym yn ei wneud angen hyn map-- hwn hen dechnoleg ysgol, efallai y byddwn yn dechrau chwilio am rywun hoffi Mike Smith, un dudalen ar y tro. Ac yr wyf yn gweld bod na, nid Mike yn fan hyn. Rwy'n dal yn yr adran A. Yn y pen draw, yr wyf yn dod o hyd i fy hun yn y adran B. Ac mae hwn yn algorithm-- cam-wrth-gam cyfarwyddiadau. Dechreuwch yn y dudalen dechrau ac un ar y tro, chwiliwch am Mike Smith. A yw hyn yn correct-- hwn algorithm neu ddull? Yeah, mae'n gywir. Os Mike yn fan hyn, yn y pen draw byddaf yn cael iddo. Ond nid yw'n effeithlon. Mae'n amlwg yn araf iawn. Felly, yr wyf yn gallu trosoledd y un twosies gysylltu. Gallaf ei wneud math o ddau, pedwar, chwech, wyth, 10, 12. Mae'n ddwywaith mor gyflym. Rydw i'n mynd i fynd i Mike gyflymach os ei fod yno. A yw'n gywir? Ie, ond clywais dim little--. Nawr rwy'n clywed dim. Yeah. Mae 'na bug a allai fod. Efallai Mike dim ond yn ddamweiniol yn cael gwasgu rhwng dwy dudalen, oherwydd fy mod i'n hedfan trwy'r dau hwn ar y tro. Felly, o leiaf mae angen rhywfaint o math o atgyweiria amodol. angen i mi ddweud, hey, os byddaf yn taro rhywun y mae ei enw yn dechrau gyda T yn lle S, Yr wyf yn dyblu yn ôl yn well o leiaf un dudalen. Felly bygi i ddechrau, ond fixable. Ond nid oes yr un ohonom yn mynd i chwilio am Mike Smith drwy ffôn 1,000 dudalen archebu un dudalen ar y tro. Beth yw person arferol yn mynd i'w wneud? Rydych yn mynd i fynd i'r S, os ydych yn gwybod ble mae'r S. Efallai y byddwch yn mynd yn fras i'r canol neu ychydig yn gogwyddo tuag at y diwedd. Ac yr wyf yn edrych i lawr yma ac Im 'yn yr adran M. Ond beth ydych chi'n ei wybod am y broblem hon yn awr, nad oeddem o reidrwydd yn gwybod o'r blaen gyda phob un ohonom yn cyfrif yn unig ni ein hunain cyfwerth ei? Wel, Mike yn mynd yn glir i fod yn hanner hwn o'r llyfr os yw ef sydd yma o gwbl oherwydd ei fod yn datrys. Ac felly y gallwch dramatically-- iawn [Orfod ymladd] Yr wyf yn gwybod. [Cymeradwyaeth] Mae'n mewn gwirionedd yn hawdd iawn os rydych yn ei wneud i lawr yr asgwrn cefn yno. Ond gallwch wedyn daflu hanner y broblem i ffwrdd. Nawr, rwy'n gadael gyda'r un problem-- dod o hyd i Mike Smith mewn ffôn book-- ond erbyn hyn mae'r llyfr ffôn yn dechrau am M ac yn mynd i Z, ond mae'n hanner mor fawr. Ond mae hyn yn beth sy'n drawiadol. Yn union fel mewn theori, rydych guys, pan chi i gyd yn eistedd i lawr dim ond hanner ar y tro, y broblem got hanner mor fawr, hanner mor fawr, eto ac eto. Felly, mae hyn yn broblem yn dod yn y un broblem ond hanner mor fawr. Nawr mae'n broblem 250 tudalen. Cyn gynted ag yr wyf yn sylweddoli, oh, rwy'n yn yr adran T ddamweiniol. Rydw i wedi mynd yn rhy bell. Gallaf daflu bod hanner y llyfr ffôn i ffwrdd. Nawr, rwy'n i lawr i chwarter y broblem. A gallwch ailadrodd, ailadrodd, ailadrodd nes, mewn theori, rydych yn gadael gyda dim ond un dudalen. Ac os yw Mike ar y dudalen honno, Erbyn hyn gallaf ddatrys y broblem hon. Ond pa mor gyflym wnes i ddatrys? Yn yr achos cyntaf, mae'n cymryd i mi yn hoffi efallai 1,000 o gamau i ddod o hyd i Mike Smith. Gallai fod wedi cymryd me-- Yr wyf yn codi i fyny y llyfr ffôn ac yr wyf yn dechrau edrych un dudalen ar y tro, a gallai Mike fod 1,000 o dudalennau yn ddiweddarach. Ail dull efallai mynd â fi 500 o gamau, oherwydd fy mod i'n hedfan drwy ddwy ar y tro. A'r trydydd dull fodd bynnag, mae'n arbennig o bwerus. Ond gadewch i ni ystyried yr hyn yr ydym mewn gwirionedd gwnaeth gyda thrydydd ymagwedd hon. 'N annhymerus' gael yr hyn 'n annhymerus' yn galw yn unig y rhain datganiadau yma, un ar y tro. Godi llyfr ffôn. Agor i ganol y llyfr ffôn. Edrychwch ar enwau. Ac yna pethau'n mynd ychydig yn fwy ddeallusol diddorol, os ydynt yn dal yn syml. Os Smith ymhlith y enwau ar y dudalen gyfredol, yna gwneud rhywbeth yn amodol. Mae fel fforch yn y ffordd. Ffoniwch Mike. Os yw Mike yn ymhlith yr enwau ar y dudalen honno, a elwir Mike. Ond dim ond yn gwneud llinell pedwar os lein coeden, os mynnwch, yn wir. Yr ateb i'r cwestiwn hwnnw yn gadarnhaol. Arall os Smith yn gynharach yn y book-- mewn geiriau eraill, os wyf yn yr adran M a dwi'n chwilio am rywun i y chwith, yna beth ddylwn i ei wneud yn rhywbeth tebyg iawn. Yna, dylwn i agor i'r canol o hanner chwith y llyfr. Felly ewch i'r chwith, ac yna mynd yn ôl i gam dau. Edrychwch ar yr enwau yno. Felly, mewn geiriau eraill, yn gwneud yr un peth, ond ar broblem sydd wedi bod yn haneru. Rydych yn gwybod beth arall? Os Smith yn nes ymlaen yn y llyfr yn seiliedig ar y dudalen rwy'n edrych ar, agored i ganol y hanner dde o'r llyfr ac yna mynd yn ôl eto i gam dau, else-- mae pedwerydd bosibilrwydd yma. Mike naill ai yma neu i'r chwith neu i'r dde neu beidio. A dyma ni yn well ystyried hyn. Ac yn wir, os ydych chi wedi erioed eich cyfrifiadur dim ond chwalu arnoch chi, hynny weithiau, ond nid bob tro, mae'r canlyniad dim ond rhaglennydd dynol nid gwireddu, oh saethu, mae mewn gwirionedd y bedwaredd senario. Ac os nad ydych yn ysgrifennu cod i drin y sefyllfa honno, weithiau nad ydych yn gwybod yr hyn y gallai'r cyfrifiadur yn ei wneud. Ac yn wir gallai rhaglen damwain. Ond yn yr achos hwn, yr wyf yn meddwl am y peth, a dywedais, arall roi'r gorau iddi, oherwydd dyna y pedwerydd senario rhesymegol bosibl. Nawr, gadewch i ni dim ond ychwanegu rhywfaint o eirfa felly rydym gall ddechrau i toss gwmpas termau sy'n fel arall 'n bert' n athrylithgar. Mae pob un o'r pethau dwi wedi jyst hamlygu mewn melyn yma, Im 'jyst yn mynd i'r swyddogaethau neu weithdrefnau. Maent yn fath ychydig o gamau gweithredu. Felly codwch, yn agored i, yn edrych yn, ffoniwch, yn agored, yn agored, quit-- dyma camau gweithredu, neu yr ydym annhymerus ' galw yn fwy ffurfiol, swyddogaethau. Yn y cyfamser, yn awr mewn melyn, Rwyf wedi tynnu sylw at bethau that-- gadewch i jyst dechrau galw nhw amodau neu ganghennau. Mae'r rhain yn pwyntiau penderfynu ble efallai y byddwch yn mynd y ffordd hon, y modd hwn, neu ryw gyfeiriad arall o hyd. Felly bydd y rhai fydd amodau. Ac yn awr mae hyn yn un ychydig yn ffansi. Gadewch i ni alw y cwestiynau hyn mynegiadau Boole, ar ôl rhywun gydag enw olaf Bool. Ac mae mynegiad Boole yn unig yw rhywbeth dyna naill ai'n wir neu'n anwir, ie neu na. Felly mae'n y cwestiwn y mae ei ateb i chi gofalu am, fel ag i mewn cyflwr gwneud decision-- fynd yn ôl ateb, ac yna mynd chwith neu i'r dde, neu rywbeth arall yn gyfan gwbl. Ac yna yn olaf, mae'r rhain llinellau Yma-- mynd yn ôl i gam dau, ewch yn ôl i gamu two-- gallem weithredu'r syniad hwn mewn gwahanol ffyrdd. Ac yna y rhai ohonoch â Gallai profiad rhaglennu wedi ei wneud neu ddim dychmygu gwneud hyn yn wahanol. Ond at ddibenion heddiw, 'i' dim ond y syniad sy'n bwysig. Mae hyn yn ysgogi beth byddwn yn gyffredinol yn galw a loop-- rhyw fath o gylch, oherwydd mae'n gwneud i mi wneud rhywbeth eto. Felly nawr, gadewch i ni dim ond yn ystyried pa mor dda algorithm yw hyn. Mae'n gywir. Os Mike yn y llyfr, mae'n un o pedwar rhai scenarios-- eto ac eto ac unwaith eto, byddwn yn dod o hyd iddo. Ond pa mor dda ydyw? Wel, nid oes gennym i fod yn rhy ffurfiol yma. Ond gadewch i ni jyst blotio rhywbeth, x ac y, er mwyn cael ymdeimlad o siâp y broblem hon. Ar yr echelin-x yma yw maint fy mhroblem. Ac maent yn echelin-y fan fydd yr amser i'w datrys. Felly, efallai fod hyn yn nifer o dudalennau. Efallai mae hyn yn eiliadau neu dudalen turns-- beth bynnag. Fodd bynnag rydych am ei gyfrif yn beth fydd y darlun cynrychioli. A bod algorithm cyntaf, dwi'n mynd i ddisgrifio fel dim ond llinell syth. Os oes n dudalennau yn y llyfr ffôn, yna mae'n Gallai cymryd i mi gan fod llawer fel n camau i ddod o hyd i Mike. Os bydd Verizon neu'r cwmni ffôn ychwanegu un dudalen mwy y flwyddyn nesaf, Efallai ei gymryd i mi un yn fwy step-- un yn fwy uned o amser i ddod o hyd Mike. Felly nid dim ond yma 12:59 gymhareb. Mae'n llethr llinell syth. Yn y cyfamser, bod ail algorithm-- os ydw i'n mynd ddau mewn dau adeg--, pedwar, chwech, wyth, neu double-- mynd drwy'r tudalennau ddwywaith ar y tro, dau ar y tro, mae'n dal i fod llinell syth. Mae bellach yn 01:59 cymhareb, ond dim ond ychydig yn is. Felly, os oes hon o dudalennau ar y siart yma yn felyn, a allai fynd â mi yma mae llawer o gamau neu eiliadau, fel arall mae'n mynd i fynd â mi dwywaith cymaint ar y llinell goch. Ond mae'r llinell werdd yw'r bwyd parod go iawn. Dyma beth rydym yn gyffredinol ffoniwch log logorithm-- n, lle mae n yw nifer y tudalennau. Ond y siâp sy'n bwysig heddiw, oherwydd nad oes gennym i hyd yn oed yn meddwl am blotio pwyntiau. Meddyliwch am senario eithafol. Gadewch i ni dybio Verizon yfory dyblu'r nifer y tudalennau yn y llyfr ffôn, o 1,000 i 2,000. Yn y algorithm cyntaf, yr wyf yn Efallai gwastraffu ychwanegol 1,000 camau sy'n chwilio am Mike, dim ond oherwydd Verizon dyblu maint y llyfr. Yr ail algorithm-- y gallai yn mynd â fi 500 ychwanegol gamau. 1,000 rhagor o dudalennau, yr wyf yn mynd ddau mewn adeg-- 500 mwy o gamau i ddod o hyd Mike. Ond y trydydd algorithm yn fath o hudol. Verizon dyblu'r rhif o dudalennau o 1,000 i 2,000, ond faint mwy o gamau yn ei wneud ei gymryd i mi i chwilio am Mike? Dim ond un, gan fy mod yn gallu jyst rhwygo'r llyfr ffôn un mwy o amser o broblem 2,000 dudalen hon at 1,000 problem dudalen, a voila. Rwyf wedi cymryd brathiad enfawr allan ohono. Ac os byddwch yn mynd wirioneddol eithafol, Mae'n debyg bod y llyfr ffôn Roedd gan gwmni rhywbeth crazy fel llyfr ffôn 4 biliwn a dudalen. Wel faint o gamau y gallai eu cymryd dod o hyd i Mike Smith mewn 4 biliwn a dudalen llyfr ffôn? Mae'n nifer fawr, ond dim ond 4 biliwn i 2 biliwn o i 1 biliwn o i 500 o miliwn, 250 million-- dal swnio fel rhifau mawr, ond rwy'n gyflym iawn mynd i werthoedd llai. Ac yn wir, os wyf yn gwneud y math iawn, ni allaf ond rhannu 4 biliwn a gan tua 32 gwaith o'r blaen Rwy'n cael i lawr i ddim ond un. Felly, os y llyfr ffôn yn 4 biliwn tudalen o hyd, dim llawer mawr. O fewn ychydig eiliadau, efallai 32 eiliadau, gallwn i rannu yn ei hanner ac yn y diwedd dod o hyd i Mike neu yn dod i'r casgliad nad oedd yno. A dyna hanfod o algorithm-- algorithm da. A dyna un o'r nodau o ddosbarth fel hwn, yn ceisio at chyfrif i maes sut ydw i'n ddatrys y broblem nid yn unig yn gywir, fel yr wyf bob amser yn gwybod sut i wneud hynny un dudalen ar adeg-- ond yn gywir ac yn dda. Sut ydw i'n cynllunio da atebion i broblemau? Felly, gadewch i ni gymryd eiliad yma a rhoi ymdeimlad chi nawr o CS50 y cwrs itself-- cyflwyno aelodau o staff ychydig cwrs. Ychydig cyn 02:00, rydym annhymerus ' cymryd seibiant byr fel y rhai ohonoch sydd yn siopa yn gallu hwyaden allan ac yn cymryd edrych ar rai eraill y dosbarth a gwyliwch y gweddill hon ar-lein. Ond am nawr, gadewch i mi gyflwyno CS50, y dosbarth ei hun, ac yn enwedig yr hyn sy'n newydd. Felly y gwanwyn diwethaf, rydym treulio cryn dipyn o adeg-- staff y cwrs a I-- meddwl am yr hyn y mae yr ydym am CS50 i fod, a mynd yn ôl i cyntaf egwyddorion, fel petai, i ystyried beth y mae yr ydym am y cwrs hwn i edrych fel a bod yn fel i'w myfyrwyr. Ac felly byddwch yn gweld yn broblem osod sero yn ogystal, gwahoddiad i edrych ar hynny URL sy'n crynhoi rhai o'r cymhellion y tu ôl i'r yn dilyn nodweddion cwymp 2016. Felly, fel y gallech fod wedi lloffa o'r TL: taflen DR, y maes llafur heddiw yn ogystal ag o catalog gwrs, mae hyn eleni yn CS50, yn disgwyl i chi yn unig i fod yn bresennol today-- felly swydd yn dda done-- ac mae'r ddarlith olaf ar Dachwedd 21 oed. Ac rydych yn croesawu ond ni ddisgwylir i mynychu darlithoedd hynny yn y canol, oherwydd yr hyn rydym yn ei wneud eleni, yn saethu mewn amser real deunydd y cwrs. Felly bydd popeth yn aros presennol a'u hymgorffori hyd eithaf ein can-- digwyddiadau cyfredol a gallai sgyrsiau sy'n Folks fod yn cael mewn diwydiant yn y byd, ond yn gwneud y deunydd hwnnw sydd ar gael, ac o ganlyniad, hyd yn oed yn earlier-- ynghyd â thrawsgrifiadau testun llawn a searchability a dolenni i adnoddau eraill. Ac yn wir, rydym wedi bod hawlio am beth amser ac yr ydym yn awr yn credu hyn, y gallwn greu, yn ddigidol, mwy trochi, yn fwy cymhellol profiad addysgol, yn hytrach na i gasglu yma rhyw 23 gwaith yn bersonol, clywed rhywun fel fi yn syml siarad am wyddoniaeth gyfrifiadurol, yn hytrach na ymgysylltu fwy gweithredol. Felly byddwch yn gweld yn y maes llafur y cwrs braslun o'r semester yma, ynghyd â phryd y bydd darlithoedd yn cael eu ffilmio, yr ydych chi'n croeso ond ni ddisgwylir, a phan y byddant yn yn cael ei ryddhau ar wefan y cwrs. A beth byddwn ni'n ei wneud yma ar y Dydd Mercher yn cychwyn yr wythnos nesaf, yn llawer mwy agos, gyda dim ond Folks hynny sydd eisiau cymryd rhan, yn daith gerdded hyn a elwir trwy, lle rwy'n a phenaethiaid y cwrs Bydd gwirionedd yn gwneud pethau ychydig yn fwy cartrefol i lawr yma yn y gerddorfa adran, yn dal i gael rhywfaint o dechnoleg a cherdded drwy'r set problem yr wythnos ar hyn o bryd, yn ac yn cynnig i chi particularly-- os plith rhai llai comfortable-- oed yn fwy arweiniad y gallech fod am neu Mae angen i her yr wythnos. Ac yn yr un modd, ar gyfer y rhai nad ydynt yn gallu mynychu rhai mewn person, dim llawer mawr. Bydd yn cael ei arwain yn yr un modd gan un o uwch staff y cwrs, Zamalya, yr un cyfle gwreiddio yn y broblem yn gosod eu hunain. Problem yn gosod y flwyddyn hon yn cael ei ryddhau ar ddydd Gwener ac nad ydynt bellach yn gwneud saith diwrnod yn ddiweddarach, ond 10 diwrnod later-- fwriadol gorgyffwrdd gyda phob problem gosod, er mwyn darparu ar gyfer gwell, rydym yn gobeithio, llanw a llif mewn amserlenni myfyrwyr, yn enwedig pan midterms neu athletau neu academyddion neu extracurriculars yn tueddu i fynd a dod yn enwedig canol semester. Dylai hynny roi ychydig mwy i chi ddisgresiwn o ran a ydych flaen llwytho eich wythnos gyda CS50 neu lwyth yn ôl ar y penwythnos canlynol yn lle hynny. Felly edrychwch i faes llafur y cwrs yma am yr amserlen o hynny. A byddwch yn sylwi hefyd ymhlith y newidiadau eleni, ar gyfer y rhai yn fwy cyfarwydd â rhaglennu yn y gorffennol, byddwn yn cychwyn y semester fel byddwn yn heddiw yn Scratch, canolbwyntio'n arbennig ar yr iaith Gelwir C, ac yna nid pontio i PHP, ond i iaith o'r enw Python tua diwedd y semester yng nghyd-destun rhaglenni ar y we, ynghyd â SQL a JavaScript, HTML, CSS, ac eto mwy. Ac mewn ateb i FAQ, mae'n wir yn wir nad yw CS mor frawychus ag y Rwy'n unwaith yn meddwl ei fod, ond mae'n gymaint o waith fel yr wyf wedi clywed y gallai fod. Ond mae hyn yn y gair sydd dyma rai ystadegau gan gorff y myfyrwyr yn disgyn 2015, lle y llinellau glas llorweddol yn cynrychioli nifer cyfartalog o oriau adroddwyd. A byddwch yn gweld cyfartaledd o chwech i 10 i 12-- efallai 16 neu felly ac yn y blaen, ond gyda amrywiant uchel i fod yn glir. Ac felly sylweddoli bod nid yn unig myfyrwyr yn fwy cyfforddus ac yn llai gyfforddus yn y cwrs, ond mae cefnogaeth cyfatebol strwythur i gael myfyrwyr hynny drwy'r semester yn llwyddiannus. Yn wir, mewn ateb i FAQ, dylai byddwch yn cymryd CS50 fel blwyddyn gyntaf? Yn hollol. Ac yn wir, yr wyf ddim yn difaru Nid yw wedi dod o hyd fy ffordd neu dod o hyd i faes newydd y flwyddyn gyntaf honno yn ogystal. A dylech gymryd CS50 gyda cyrsiau eraill, yn sicr fel well-- a'r cyngor cyffredinol gallem rhoi myfyrwyr, bod CS50 debyg nid y math o ddosbarth neu ddosbarth intro y dylech fynd gyda thri eraill neu pedwar dosbarth arall a osodir-t. Ond os ydych yn cymryd dwy p-set arall dosbarthiadau, rhywbeth arall, ac CS50, hollol hylaw. Rwyf wedi cael llawer o fyfyrwyr yn y gorffennol gwneud hynny yn eithaf llwyddiannus. Ac i fynd â chi tuag at hynny gorffen llinell yn llwyddiannus, mae'r cwrs yn cael sections-- traciau gwahanol ar gyfer myfyrwyr llai cyfforddus, yn fwy cyfforddus, a rhywle yn y canol, lle yn y cwrs set broblem yn gyntaf, bydd gofyn i chi ddisgrifio eich hun. Ac os ydych yn ymhlith y rhai llai gyfforddus, mae'n y math o beth eich bod dim ond yn hytrach yn gwybod. Ac yn wir, sydd wedi bod yn y tyfu demograffig yn CS50 am gryn ychydig flynyddoedd. Fel o syrthio diwethaf ar gyfer enghraifft, roedd 58% o'r dosbarth disgrifio eu hunain fel ymhlith y rhai llai cyfforddus, gyda 9% ymhlith y rhai mwy gyfforddus, ac yna myfyrwyr eraill yno yn coch disgrifio'u hunain fel rhywle yn y canol. A byddwch yn gweld yma y pynciau cyffredinol a rhestr o adrannau, pob un ohonynt yn cael eu cynnig yn bersonol, yn amser real, gyda'r cwrs staff anhygoel o gymrodyr addysgu a chynorthwywyr gwrs, mae rhai ohonynt byddwch yn cyfarfod mewn dim ond hyn o bryd. Adrannau eu hunain, fel y byddwch yn gweld, bydd fod Llun a dydd Mawrth a dydd Mercher, er mwyn caniatáu i chi i ddeifio yn ôl ymgysylltu, os ydych yn dewis, yn y cwrs darlithio yn gynharach yr wythnos honno. Ac yna oriau swyddfa, a oedd yn yn sicr, gyda phob blwyddyn fynd heibio, wedi bod yn ddim llai o herio ar gyfer y cwrs. Ac eleni, rydym yn nid yw cynllunio dim ond i ddal swydd hours-- un ar un cyfleoedd ar gyfer cymorth i myfyrwyr ar Mercher Iau a dydd Sul, yr olaf o'r rheini bod yn y prynhawn drwy ddyluniad i leihau rhai o'r straen sy'n ddieithriad yn codi gyda hwyr y nos p-settting gyda dyddiad cau looming-- ond bydd oriau swyddfa hefyd yn cael cynnig ar ddydd Llun a dydd Mawrth a Dydd Mercher, a dydd Gwener a dydd Sadwrn, diolch i'n cyfeillion yn HSA. Erbyn hyn mae gan CS50 ei le ei hun ar gyfer myfyrwyr a staff y CS50, ben 67 Mount Street Auburn, iawn yno yn Sgwâr Harvard. Y weledigaeth ar gyfer sef bod CS50 yn TFS a CAs drwy gydol yr wythnos, 'n bert lawer drwy gydol y rhan fwyaf o diwrnod, fydd yno am gefnogaeth. Felly, os ydych wedi cael rhai cwestiwn ar p-set neu os ydych yn teimlo ychydig yn blocio neu ychydig yn ddryslyd, ac Heck, oes gennych chi awr neu hanner awr rhwng dosbarthiadau, yn enwedig yn y square-- gallwch pop a bod â'r cwestiwn hwnnw atebwyd o gael y dryswch clarified-- yn fawr iawn yn yr ysbryd, ydych yn gyfarwydd, y cwestiwn canolfan cwestiynau mathemateg adran ei hun, ond 'n bert lawer o amgylch y cloc fesul [? Gcal?] Y byddwn yn postio ar-lein. Tiwtora ar gael i'r rhai hefyd myfyrwyr, yn rhydd oddi wrth y cwrs staff ei hun os hoffech gael mwy cartrefol un ar un, neu ddau neu dri chyd-ddisgyblion yn unig, yn gweithio gydag un o'r aelodau o staff y cwrs. Ac yn wir, mae'r rhain dyma rhai o aelodau o staff y cwrs, rhai ohonynt wnewch chi helpu yn cyfarfod mewn dim ond hyn o bryd. Yn wir, CS50 ei hun cyd-addysgu pen, a chwrs pen cynorthwy-ydd, a preceptor, Gallai ddod ar i fyny, yn caniatáu nhw i ddweud helo. [Cymeradwyaeth] SIARADWR 1: [Anghlywadwy]. [Cymeradwyaeth] SIARADWR 2: [Anghlywadwy]. [Cymeradwyaeth] SIARADWR 3: [Anghlywadwy]. [Cymeradwyaeth] DAVID Malan: A ein galluogi i yn dod ar fwrdd dau o CS50 mwyaf staff uwch, Rob a Zamayla hefyd. [Cymeradwyaeth] Yn wir, y ddau Rob a Zamayla wedi bod gyda ni am gymaint o amser, fy mod yn gallu i fynd i mewn i archifau CS50 yn ac yn cael hyn yn iawn SD lluniau ohonynt yn cymryd rhan ar y llwyfan hunain rai blynyddoedd yn ôl. ROB: [Anghlywadwy]. [Cymeradwyaeth] ZAMAYLA: [Anghlywadwy] [Cymeradwyaeth] DAVID Malan: Diolch yn fawr. Felly, yn ychwanegol at y rhain aelodau'r tîm yma, Mae gan CS50 dîm o bron i 100 aelodau o staff, pob un ohonynt Bydd ar gael ar gyfer adrannau ac oriau swyddfa a llawer mwy. Ac fel y dywed Rob hefyd, mae hyn yn diwygiad mwyaf arwyddocaol o CS50 yn y 10 mlynedd sy'n Rwyf wedi bod yn [Anghlywadwy]. [Anghlywadwy] canolbwyntio'n arbennig o ran darparu strwythur cymorth, tocio i ffwrdd llawer o y rhan fwyaf sydd wedi bod cronedig yn 10 mlynedd datblygiadau o ailadroddol ar setiau problem y cwrs. Felly eleni, nid yn unig yn y dosbarth, ond hefyd ar ffurf problem y cwrs setiau, dylech ddod o hyd i bethau cael mwy o symleiddio, trimmer, llawer fwy hylaw nag yn ystod y blynyddoedd diwethaf, wrth i ni sied rhai o'r bagiau sy'n a ddatblygwyd gan natur y esblygu blwyddyn ar ôl blwyddyn ac ailadrodd. Felly, y newydd a gwell yn dechrau heddiw. Byddwch yn cwrdd â rhai mwy o'r staff yn y [Anghlywadwy] cwrs am 2:30, lle rydym yn eu gwasanaethu, fel traddodiad, cacen. Mae ychydig mwy o gacen na hynny, ond wnewch chi helpu cwrdd Erin a Tobias ac eraill yn dal i. A gadewch i mi roi i chi taith cyn i ni glywed gan rai o'r aelodau eraill o staff yn y dosbarth, yr hyn yn aros hefyd. Yn wir, rydym bob amser yn dechrau CS50 yn semester hwn yn dod Dydd Sadwrn, gyda hyn a elwir Dydd CS50 Pos. Mae ganddo ddim i'w wneud â gwyddoniaeth gyfrifiadurol fel y cyfryw, ond gyda tua phroblem datrys yn fwy cyffredinol. Ac os dewiswch chi i gymryd rhan, fesul rai o'r gwahoddiadau, Efallai eich bod wedi gweld drws gollwng neu ar y llwyfan yma, mae'n gyfle mewn timau o ddau neu dri neu bedwar, i gymryd rhan am posau a pizza a gwobrau ac more-- ddydd Sadwrn yma, aros diwnio ar gyfer mwy. Fe welwch hefyd fod pob Dydd Gwener, ym Tân ac Iâ, yn CS50 dod â criw cyfan o fyfyrwyr i ginio, i wneud fawr dosbarth yn teimlo'n fwy cartrefol, ac yn gyffredinol yn dwyn ynghyd alumni a ffrindiau o ddiwydiant i siarad am yr hyn y maent i wedi bod yn ei wneud ers graddio. Yn yr un modd, y flwyddyn hon, byddwn yn ddechrau'r arferiad y cyntaf erioed CS50 50 codio contest-- canol-semester cyfle i ganiatáu i bawb ar optio mewn sail, i gael her o wits yn erbyn cyd-ddisgyblion, eto mewn timau o ddau neu dri neu pedwar, gan ddefnyddio rhaglenni mai dim ond savvy eich bod wedyn dan eich gwregys ar ôl dim ond chwech neu saith wythnos i'r dosbarth, ac yn cymryd rhan yn y math hwn o gystadleuaeth online-- os hoffech i hogi eich hun sgiliau oed yn fwy yn her honno. Ar ddiwedd y semester yw yr hyn a elwir CS50 Hackathon-- cyfle sy'n dechrau am 7:00 PM yn dod i ben am 7:00 AC, ac ar hyd y ffordd yn 12 awr gyda'r nos lle i ddeifio i project-- derfynol y cwrs cyfle i ddylunio a weithredu unrhyw beth y rhan fwyaf o ddiddordeb i chi gyda'ch dysgu canllawiau cyd yn. Mae tua 9:00 ydym fel arfer gweini pizza, 01:00, Philippe, a'r rhai ohonom yn sydd yn dal i fod yn effro am 5:00 AC, yn gwennol cludo ar fws i lawr y ffordd i IHOP i frecwast. Ac yna ychydig ddyddiau yn ddiweddarach yw'r CS50 hyn a elwir fare-- ar ddiwedd y semester arddangosfa yn dathliad o ba mor bell cymaint o o CS50 myfyrwyr wedi dod o wythnos sero holl ffordd i wythnos, ac o gofio bod 73% o'r rhai cyd-ddisgyblion a chi eleni wedi byth yn cymryd dosbarth CS blaen. Yn wir, i reemphasize cymaint, dyma yn ychydig mwy o wynebau o staff CS50 yn. SIARADWR 4: [Anghlywadwy]. SIARADWR 5: [Anghlywadwy]. SIARADWR 6: [Anghlywadwy]. SIARADWR 7: [Anghlywadwy]. SIARADWR 8: [Anghlywadwy] SIARADWR 9: [Anghlywadwy]. SIARADWR 4: [Anghlywadwy]. SIARADWR 10: [Anghlywadwy]. SIARADWR 11: [Anghlywadwy]. SIARADWR 12: [Anghlywadwy]. SIARADWR 13: [Anghlywadwy] SIARADWR 14: [Anghlywadwy]. SIARADWR 13: [Anghlywadwy]. SIARADWR 15: [Anghlywadwy] SIARADWR 16: [Anghlywadwy]. SIARADWR 11: [Anghlywadwy] SIARADWR 5: [Anghlywadwy]. DAVID Malan: Mae rhai o'r tîm yn cael eu hunain yn siopa dosbarthiadau. Ond os yr aelodau hynny o staff CS50 yma, Gallai ddod ar i fyny am ychydig funudau'n. CS50 yn TFS a CAs a [? staff?] aelodau Yma-- mae'r rhain yn dim ond rhai o faces-- un ohonynt ydych yn unig Gwelodd, ac mae ychydig o other-- ac ychydig o rai eraill o hyd. Pam nad ydym yn mynd yn ei flaen ac yn caniatáu chi guys egwyl o bum munud. Os oes angen i hwyaden allan i dosbarthiadau siop, mae hynny'n iawn. Ac mewn pum munud, byddwn yn ailddechrau, yn edrych ar Scratch-- y cyntaf ein hiaith raglennu, yn cyfarfod staff y cwrs yma ychydig yn fwy, ac yn canolbwyntio yn y pen draw ar broblem a osodwyd sero. Felly byddwn yn ôl mewn pum munud. [Cymeradwyaeth] Iawn. Felly, rydym yn ôl. Ac yn ein weddill amser heddiw, y nod yw lefelu'r cae chwarae o ran rhai terminoleg, o ran rhai syniadau. Oherwydd yn wir, yn unol â rhai o'r siartiau yn gynharach, mae yn mynd i fod ystod o lefelau o brofiad yn y dosbarth, rhai o'i fyfyrwyr cymryd rhai raglennu o'r blaen, Nid yw rhai ohonynt. Ac felly gyda phroblem cyntaf hwn gosod a gyda hyn iaith gyntaf oes gennym gyfle i ddechrau i gymryd yn ganiataol ar ôl heddiw rhywfaint o eirfa gyffredin a syniad. A byddwn yn gwneud hyn trwy gyfrwng languages-- gyntaf y cwrs yn ychwanegol i C a Python a JavaScript a SQL a HTML a CSS, byddwn yn canolbwyntio yn y lle cyntaf a dim ond ar gyfer problem gosod sero ar iaith graffigol hwn, a elwir yn Scratch, a ddatblygwyd gan Lab Cyfryngau MIT'S i lawr y ffordd, i helpu myfyrwyr a phlant yn arbennig mynegi eu hunain algorithmically-- mewn ffordd fwy cyson â'r hyn efallai y byddwn yn galw meddwl cyfrifiannol. Ac mae'n iaith ddefnyddiol oherwydd yn gyflym iawn yr wythnos nesaf yn wythnos un, ydym yn trosglwyddo i fwy iaith draddodiadol a dirgel a elwir yn C, sy'n testunol yn unig. Rydych yn defnyddio eich bysellfwrdd yn Er mwyn ysgrifennu cyfarwyddiadau fel y rhain ar y sgrin. Ond hyd yn oed os nad ydych erioed wedi gweld iaith raglennu o'r blaen, mewn dim ond glancing ar hwn, i gyd fod yn ei cryptig, mae'n debyg y gallwch ddyfalu bod yn ôl pob tebyg printiau Helo Byd. Ond mae llawer o uwchben cystrawennol yno. Ceir y hash 'n annaearol symbol neu hash tag fyny top. Mae bracedi ongl, mae rhai cromfachau, bresys cyrliog, lled-colon-- nid dim ond cymaint gweledol cystrawen sy'n cael yn y ffordd. Rydym yn dechrau ar y cwrs gyda Scratch er mwyn cael heibio bawb ddeallusol gwrthdyniadau anniddorol, a chanolbwyntio yn lle hynny ar y syniadau. Yn wir, gallai hyn fod o'r blaen. Mae hyn, ar gyfer hyn, bydd yr wythnos yn ôl. Mae hyn, yn graffigol hwn Scratch iaith, yw sut y byddech yn gweithredu yr un program-- rhaglen sy'n pan redeg, yn syml yn dweud helo byd. A beth sy'n neis am Scratch yw ei fod yn rhaglennu graffigol hwn amgylchedd sy'n defnyddio darnau pos neu blociau, mai dim ond cyd-gloi gyda'i gilydd os yw'n gwneud synnwyr rhesymegol i wneud hynny. A gyda Scratch gallwch ddatblygu animeiddiadau a gemau rhyngweithiol a chelf, ac unrhyw nifer o bethau sy'n efallai y gallwch ddychmygu yn eich meddwl eich hun, ac yn rhoi ar waith yn syml drwy llusgo a gollwng darnau pos. Ac yn wir, byddwn yn cael y gallu i fynegi rhai o'r un syniadau yr wyf newydd ei grybwyll eiliad yn ôl yng nghyd-destun Mike Smith a chwilio pethau ffôn book-- fel swyddogaethau, dim ond camau gweithredu, pethau fel dolenni sy'n gwneud pethau dro ar ôl tro, newidynnau, sef rhywbeth y byddwn yn cyflwyno, ond mae'n gyfarwydd efallai o algebra-- dim ond rhyw fath o dalfan i storio rhywfaint o werth i chi efallai Mae angen mynegiadau Boole later--, lle y rhai ydw nac ydw neu yn wir Cwestiynau ffug o o'r blaen. Amodau yn ffyrc hynny yn y road-- canghennau hynny fel petai. Ac yna mae rhai ffansi Nodweddion byddwn yn gweld hyd yn oed heddiw, Gelwir araeau a edafedd a digwyddiadau, y byddwn wedyn yn ail-ymweld drosodd amser mewn gwahanol ieithoedd. Ond Scratch yn caniatáu i ni i archwilio pob un o'r rhain. Felly yma yn Scratch, mae hyn porffor bloc yw'r hyn yn swyddogaeth yn nodweddiadol mynd i edrych fel. Mae'r darn hwn bos porffor sydd â rhyw gair fel dyweder, sef y weithred, ac yna gallai gael dadl neu parameter-- rhyw ffordd o'r math o customizing beth sy'n bloc yn ei wneud fel nad yw'n rhag-benderfynu gan MIT beth mae hyn yn bloc porffor meddai. Yn wir, byddwch yn gweld mewn funud fy mod yn gallu teipio y geiriau fel byd helo, neu helo David, neu helo Zamayla, neu beth bynnag yr wyf am, yn y ddadl at y pos piece-- y blwch gwyn yno. Yn y cyfamser, os wyf am dolen, rydym annhymerus ' gweld bod yna darnau pos sy'n edrych ychydig yn oren fel hyn. Ac mae eu siâp fath o awgrymu bod rhywbeth yn digwydd dro ar ôl tro mewn cylch. Felly, os wyf yn lapio bloc dweud helo byd gyda bloc am byth yn Scratch, 'i' jyst yn mynd i gadw yn dweud helo byd am byth, yn llythrennol. Yn y cyfamser, mae yna un arall math o ddolen yn Scratch y byddwn yn see-- ailadrodd block-- ble, os ydych yn gwybod ymlaen llaw faint o weithiau ydych am i'r ddolen i weithredu nifer cyfyngedig o weithiau mewn chi fact-- Gellir pennu bod trwy deipio mewn nifer neu hyd yn oed topio mewn newidyn, fel x neu y fel y byddwn yn gweld. Yn wir, newidynnau fel ff yn yr achos hwn, a oedd yn yn enw cyffredin ar gyfer newidyn cyfanrif sy'n jyst yn storio number-- Efallai yn gyfanrif fod, i ddefnyddio'r bloc oren hwn yma i gosod newidyn fel fi i sero. Dyma enghraifft mewn gwyrdd o mynegiad Boole yn Scratch. Hyd yn oed er bod hyn yn edrych fel mathemateg fformiwla, anghydraddoldebau mathemateg fel hyn mewn gwirionedd yn fynegiant Boole. Mae hyn naill ai gywir neu'n anghywir. Rwyf yn llai na 50. Mae'n naill ai ie neu na ateb neu ateb cywir neu anghywir. A byddwn yn gyffredinol yn galw ymadroddion Boole hynny. Ac nid oes rhaid iddo fod yn 50. Gall fod x yn llai na y, fwy na y, sy'n hafal i y-- unrhyw nifer o eraill Efallai y gofynnir cwestiynau. Yn awr, ar yr olwg gyntaf, gallai hyn edrych yn sydyn yn eithaf beiddgar yma, ac y mae. Ond cysyniad doeth, 'i' 'n bert cyfarwydd o o'r blaen. Os x yn llai na y, na dweud cymaint. Arall os x yn fwy na y, yna dywedwch gymaint. Arall yn dweud x yn hafal i y. Felly, mae gennym enghraifft mae trydydd scenario-- y possibility-- trydydd unig x naill ai fwy na, llai na, neu'n hafal i. Felly mae gennym fforc tair ffordd yn y ffordd. A sylwi ar yr hyn cŵl Scratch Yma--, mae'n ymddangos, wedi dim ond un pos darn, yn yr achos hwn, i mewn os bloc arall. Ac eto a fyddai'n ymddangos i awgrymu y gallwch Dim ond fforc dwy ffordd yn y ffordd. Gallwch ewch i'r chwith neu i'r dde, ond beth am hynny trydydd senario? Beth os x yn hafal y? Oes llawer mawr. Cymerwch un darn pos, rhowch un y tu arall ohono i greu'r cyfatebol semantig o os, arall os, else-- ac yn awr ydych gael eich fforc tair ffordd yn y ffordd. Ac fel y byddwn yn gweld, y darnau pos Scratch Gellir ymestyn a thyfu, felly fel gwasgu mwy o bethau ynddynt. Nid oes rhaid i chi gyd-fynd popeth yn ei maint diofyn. Mae hyn yn rhywbeth yr ydym annhymerus ' yn fuan Gelwir gweler yn arae. Mae'n debyg i list-- ryw ffordd o storio darnau lluosog o wybodaeth mewn newidyn, nid dim ond rhif. Mae'r rhain byddwn yn gweld cynrychiolydd o rhywbeth a elwir yn aml-edafu. Yn wir, pob un o'ch Macs a PCs y dyddiau hyn cefnogi aml-edafu, sy'n golygu y gallwch yn llythrennol gwneud pethau lluosog ar y tro. Gallwch gael Microsoft Word i fyny yn y blaendir, yn gweithio ar rai traethawd. Efallai y bydd gennych porwr yn yr agoriad cefndir G-bost neu Facebook neu debyg. Gall eich cyfrifiadur wneud pethau lluosog heddiw oherwydd ei fod yn aml-threaded, a rhaglenni maen nhw yn yn arbennig hefyd yn aml-threaded. Mae pethau a elwir yn digwyddiadau fel yn dda yn y byd o Scratch, ac yna mae modd hefyd, i wneud ein hunain darnau pos arfer os bydd pethau'n nid ydynt yn bodoli mewn gwirionedd o flaen llaw. Felly gadewch i gymell hyn fel a ganlyn. Rai blynyddoedd yn ôl, pan oeddwn darganfod Scratch yn gyntaf, pan oeddwn mewn gwirionedd yn fyfyriwr grad yn MIT, rydym yn ein hunain y dasg i wneud gwaith cartref. Ac yr wyf yn implemented-- sydd, o edrych yn ôl, Roedd yn benderfyniad gwael iawn am ei fod yn y gân mwyaf gwylltio yn y byd i wrando am wyth awr tra'n gweithio ar eich homework-- ond rhywbeth yr wyf wedi galw Oscar Time, sydd efallai yn gân gyfarwydd. CS50s berchen Jordan Hayashi, un o ein aelodau uwch mwy o staff, wedi uwchraddio ei gyfer 2015 a nawr 2016, gan fod yn ôl yn y dydd, Roedd gen popeth jyst yn mynd mewn bin sbwriel Oscar. Nawr rydym yn cefnogi ailgylchu a chompostio. Ond i beintio'r darlun yr hyn y gallwn ei wneud yma ac i gymell rhai o'r yr enghreifftiau lefel is, gallem gael un arall gwirfoddolwr i newydd ddod ar i fyny a chwarae fy cyntaf aseiniad gwaith cartref erioed? Dewch ar i fyny. Beth yw eich enw? HENRY: Henry. DAVID Malan: Henry, yn dod ar i fyny. Dewch ar i fyny. Ewch naill ffordd neu'r llall, ac byddwch yn gweld mewn eiliad, Rydw i'n mynd i fynd yn ei flaen a tharo y baner werdd yn y dde uchaf cornel, sy'n golygu mynd. Mae'r ychydig stop icon Arwydd yn mynd i ddweud stop, a dyna pryd fyddwch yn dechrau ac yn atal y rhaglen. Neis i gwrdd â chi. Iawn. Felly, rydym yn mynd i weld y cyfarwyddiadau ar y sgrin mewn dim ond hyn o bryd. A dim ond trwy chwarae gêm hon am ychydig seconds-- ymddiried ynof, Nid ydym yn mynd i eisiau chwarae yr holl ffordd i'r end-- byddwch cael ymdeimlad o'r hyn y mae'r rhaglen yn ei wneud. Ac yn fwy na dim ond canolbwyntio ar Henry yn dda neu'n wael yn y gêm hon, ffocws a sut y cafodd ei roi ar waith gan i mi yn wreiddiol, ac yna wrth yr Iorddonen. Mewn geiriau eraill, ble mae'r newidynnau? Ble mae'r dolenni? Ble mae'r swyddogaethau? A chawn weld os nad ydym yn gweld y rhai o dan y cwfl. Cliciwch a llusgo sbwriel at y bin priodol. [CHWARAE CERDDORIAETH] Iawn. Mae hynny'n dda iawn. Pam nad ydym yn rhoi'r gorau i yno. Diolch. Llongyfarchiadau i Harri. Diolch. [Cymeradwyaeth] Dychmygwch debugging rhaglen honno. Os oes problem dau munud i mewn i'r song-- ond felly beth sy'n digwydd yma mewn gwirionedd? Mor gymhleth ag y gallai dechrau ymddangos i gael dros gyfnod o amser, yn wir mae mwy a mwy Dechreuodd pethau gostwng, yr hyn sy'n ddiddorol am y math hwn o example-- a byddwn yn gweld ychydig others-- yw os ydych yn edrych heibio i'r cymhlethdod neu y soffistigeiddrwydd y gêm, mae 'na adeilad syml iawn blociau sy'n play-- pob un ohonynt, os ydych yn eu distill i'r rhai blociau adeiladu, yn hygyrch iawn ac ei weithredu iddynt eu hunain. Er enghraifft, mae'n wedi bod peth amser, ond rwy'n eithaf siwr beth wnes i ddechrau pan gan wneud y gêm hon am y tro cyntaf Roedd yr wyf yn llwyr yn hoffi ei ohirio. Doeddwn i ddim yn canolbwyntio o gwbl ar y rhesymeg neu'r darnau pos, Yr wyf yn canolbwyntio ar y graffeg a canfyddiad y swydd stryd a'r bin sbwriel a hynny i gyd. Ond roedd y rhai oedd yn angenrheidiol cynhwysion ar y dechrau. Ac ar ôl i mi orffen procrastinating a gosod allan y fframwaith cyffredinol, Penderfynais, gadewch i mi yn unig yn gwneud un darn o sbwriel yn disgyn o'r awyr. A byddwn yn gweld Scratch yn cefnogi pethau o'r enw cymeriadau sprites-- y gall gwahanol wisgoedd ar fel eu bod yn edrych yn wahanol. Ac felly yr wyf yn rhoi sbwriel gwisgoedd ar un corlun o'r fath. Ac yr wyf yn jyst ei angen i syrthio o'r awyr. Ac felly mae'n troi allan, Scratch, fel y rhan fwyaf o ieithoedd rhaglennu, cefnogi rhifau ar hap neu rhifau ar hap dechnegol pseudocode, fel bod drwy lusgo a gollwng darnau pos penodol, Roeddwn yn gallu cael y sbwriel dod o'r chwith ar y dechrau. Ac yna y tro nesaf y mae'n disgyn, o y dde ac yna oddi wrth y canol. A'r holl gêm yn unig oedd wedi sbwriel disgyn o'r awyr. Ni allech bwyntio ar hyn neu cliciwch arno. Ni allech agor y bin sbwriel. na allech wneud unrhyw beth. Ond roedd yn gam babi tuag at fy ngweledigaeth yn y pen draw. Ac ar ôl hynny, yr wyf mewn gwirionedd rhoi ar waith rhyw fath o synhwyro, felly os ydych yn clicio a llusgo ar y darn o sbwriel dros y bin sbwriel, Oscar Byddai caead yn agor ac yn cau. fyddai dim yn digwydd i'r sbwriel, ond o leiaf byddai'r caead yn agor ac yn cau. Felly, yna gwirio, cam dau o ddau. Ac mae hyn yn beth sy'n mynd i fod yn allweddol yn y ddwy broblem a osodwyd sero ac mewn rhaglenni yn fwy cyffredinol, yw cymryd y camau babi bwriadol iawn. Oherwydd nid yn unig y mae'n caniatáu i chi teimlo'n cyflawni llawer mwy yn onest quickly-- mae'n y peth gwaethaf yn y byd i geisio i weithredu pob un Oscar Amser, Yna awr yn ddiweddarach yn cyrraedd y faner werdd, ac nid oes dim gwaith yn ôl y disgwyl oherwydd ble chi hyd yn oed yn dechrau dadfygio neu i troubleshoot y rhaglen? Dim ond llethol. Ac felly wirioneddol gofleidio syniad hwn o gymryd camau bach steps-- eto a again-- adeiladu rhywbeth sy'n, yn y diwedd, wirioneddol drawiadol ac yn gymhleth, ond ar y dechrau, nid yw bron cymaint felly. Yn wir, gadewch i ni wneud hyn. Gadewch i mi fynd yn ei flaen ac-- Scratch ei hun yn bodoli ar y we yn Scratch.MIT.edu, a byddwch yn cael gwybod cyn llawer eto yn broblem gosod sero, y fanyleb ar gyfer sydd eisoes ar wefan CS50 yn. Ond mae hyn yn beth Scratch ei hun yn. Ac mae wir yn unig tri maes sylfaenol. Ar frig gadael yno yw'r cam fel y'u gelwir. Mae hyn yn Scratch. Mae'r wisg rhagosodedig yn gath. Ac mae hyn yn y byd hirsgwar mewn y gallwch move-- fyny, i lawr, i'r chwith, i'r dde a rhai pethau eraill. Yn y canol dyma ein categorïau neu ein paledi o ddarnau pos, a gwahanol liwiau olygu pethau gwahanol. Ac os ydych yn procio o gwmpas, byddwch yn gweld pethau fel dolenni ac amodau a newidynnau a chynhwysion eraill. Ac yna dros yma yw'r ardal sgriptiau. Dyma lle y gallaf llusgo a gollwng darnau pos hynny i wneud pethau. Felly gadewch i ni wneud un peth o'r fath. Gadewch i mi fynd yn ei flaen ac-- ac yr wyf yn gwybod ble y mae. Felly, yr wyf i'n mynd i glicio unwaith ar lle rwy'n gwybod y pethau yn barod i fod, ond pwyntio a chlicio a procio o gwmpas yn anochel. Felly pan baner werdd glicio, beth ydw i am ei wneud? Rydw i'n mynd i wneud hyn. Rydw i'n mynd i lusgo y pos porffor darn, yn dweud helo am ddwy eiliad, a gadewch i mi chwyddo i mewn. Ac yr wyf i'n mynd i newid hyn i fod yn yr hyn yr wyf am iddo be-- helo byd am ddwy eiliad yn iawn. Nawr, dw i'n mynd i glicio ar y baner werdd, neu os rwyf wir eisiau, gallaf llawn sgrinio ac wedyn dod yn ôl. Bydd yn jyst cadw popeth mewn un ffenestr. byd helo flag-- Gwyrdd. Iawn. Nid yw pob sy'n ddiddorol. Felly, gadewch i mi fynd yn ei flaen ac yn gwneud hyn. Gadewch i mi roi cynnig ar un arall. Pryd clicked-- baner werdd gadewch i ni wneud rhywbeth fel sain. Ac yn sylwi bod allan o y blwch ar gyfer rhad ac am ddim eich bod yn cael swn cath, felly hefyd y corlun rhagosodedig. Felly nawr gadewch i mi fynd yn ei flaen a cyrraedd y faner werdd yn awr. [MEOWING] Aw. Mae hynny'n annwyl. Im 'yn rhaglennu. Felly beth rwyf wedi ei wneud? Mae hyn yn cyfateb i raglen. Mae'n amlwg super syml. Nid oedd wir yn cymryd yr holl bod llawer ymdrech ac MIT a wnaeth y rhan fwyaf o'r gwaith, ond yr wyf wedi galw swyddogaeth. Rwyf wedi defnyddio swyddogaeth. Rydw i wedi gwneud rhai camau, gan ddefnyddio dim ond bod un darn pos porffor. Wel, os wyf am ei wneud tri meows yn olynol? Gadewch i mi fynd yn ei flaen ac yn gwneud dau a thri. Ac yn sylwi bod pan fyddwch yn hofran gerllaw darn pos, ychydig llinell wen yn ymddangos math o fagnetig, a bydd yn snap gyda'i gilydd pan fyddwch yn gadael i fynd. Gadewch i ni weld beth sy'n digwydd yma. [MEOWING] Mae 'na bug. Dim ond clywed un Meow. Pam y gallai hynny fod? Yeah? Yeah. Nid ydym yn wir yn ei glywed, ond mae hynny'n greddf da. Maen nhw i gyd yn chwarae ar yr un pryd. Pam? Wel, mae'r cyfrifiadur yn unig yn mynd i wneud yr hyn yr ydych yn dweud iddo ei wneud. Felly, os ydych yn ei ddweud, sain chwarae, chwarae sain, chwarae sain, ond nad ydych yn dweud iddo i chwarae nes rydych chi'n ei wneud, chwarae hyd nes y byddwch chi'n ei wneud, mae'n mynd i chwythu trwy mae'r rhaglen yn gyflym iawn ac nid dim ond yr hyn yr ydych yn dweud iddo ei wneud. Felly, yr wyf mewn gwirionedd angen at atgyweiria hwn mewn cwpl o ffyrdd. Gallai Fi jyst gwneud hyn, cael gwared o hyn. Gadewch i mi roi cynnig ar y pos arall piece-- chwarae Meow sain nes ei wneud, ac yna llusgwch tri o y rhain a chliciwch Chwarae. [MEOWING] Dyw hi ddim yn wir yn very-- diolch you-- naturiol iawn. Felly pam nad I-- gadael i mi fynd i reoli yma. Nice. Arhoswch un eiliad, ac yn awr gad i mi fynd yn ôl i synau, a sain chwarae nes ei wneud, ac yna gadewch i mi gael aros un eiliad. Ac yna gadewch i mi fynd a chael un mwy cadarn, ac yma rydym yn mynd. [MEOWING] Ychydig yn fwy naturiol, ond nid yw hyn yn effeithlon iawn. Fel yr oeddwn yn cael diflasu, i gyd fod yn mae'n fyr, clicio yn ôl ac ymlaen ac yn wir yn dyblygu fy work-- 'n bert lawer copïo a gludo. Yn wir, os wyf Rheoli glicio neu i'r dde glicio, Gallai wyf newydd copïo a gludo. Beth fyddai gwell adeiladu i'w ddefnyddio? Pa syniad o blaen? Yeah, felly dolen. Ac yn wir, os ydym yn poked o gwmpas, efallai y byddwn yn dod o hyd yn union hynny. Gadewch i mi fynd i Ddigwyddiadau neu yn hytrach Reoli. Felly repeat-- nid wyf yn ei wneud am iddo fod 10 gwaith. Mae hynny'n mynd i gael blino yn gyflym. Ond byddaf yn ailadrodd dair gwaith. Gadewch i mi fynd yn ôl i sain a chwarae y sain hyd nes y mae'n ei wneud. Gadewch i mi fynd yn ôl i Reoli ac dim ond aros un eiliad. A rhybudd, efallai y byddwch yn credu nad yw'n ffitio, ond eto os fagnetig ydych yn gadael iddo snap yn ei le, bydd yn tyfu i lenwi. Beth sy'n ei chwarae nawr? [MEOWING] IAWN. Nice. Ac mae hyn yn yr hyn a fyddai'n cael ei alw rhaglen sy'n hefyd yn gywir. Mae'n meowed dair gwaith yn deg yn naturiol, ond mae wedi'i dylunio yn well. Im 'yn arfer llai diswyddo. Doeddwn i ddim yn copïo a gludo unrhyw beth. Fi jyst ei ddefnyddio gwell syniad. Yn awr, nid yw hyn yn dal i fod bob un sy'n diddorol gyda Scratch beidio â gwneud unrhyw beth. Felly gadewch i ni wneud rhywbeth arall yn lle hynny. Gadewch i ni wneud rhywbeth am byth. A ydych yn gwybod beth? Cynnig ymddangos yn ddiddorol. Gadewch i ni gael iddo symud 10 grisiau a tharo chwarae nawr. IAWN. Wel allwn fath o llusgo ef yn ôl, ac mae'n dal rhedeg oherwydd ei fod yn gwneud hyn am byth. Felly mae'r ddolen yn ei wneud yr hyn y mae'n ei ddweud i'w wneud, ond nid yw hyn yn bob un sy'n ddiddorol. Gadewch i ni wneud hyn. Gadewch i mi ychwanegu bloc rheoli, ac yn defnyddio un o'r amodau hynny am y tro cyntaf. Felly, mae'n mynd i symud 10 steps-- 10 dotiau, 10 picsel ar y screen-- Yna, mae'n mynd i ofyn y cwestiwn hwn. Os yw rhywbeth yn wir, yna yn ei wneud rhywbeth y tu mewn bloc hwn. Mae gan felly mae'n troi allan synhwyro ei gyfanrwydd criw o expressions-- Boole cwestiynau o'r ydw nac ydw, neu yn wir ffug form-- gadewch i mi wneud hyn. Os touching-- ac yna mae Ychydig gostyngiad hwn i lawr ddewislen. Gallaf parameterize ei. Os cyffwrdd y edge-- gadewch i ni gwneud rhywbeth fel 'na. Felly, os cyffwrdd edge-- gadewch i mi fynd yn ôl i'r cynnig. A pham y mae nid ydym yn unig troi o gwmpas 180 gradd? Iawn. Felly am byth, yn symud 10 cam. Os ydych yn cyffwrdd y ymyl, trowch 180 gradd. Ac nid dyna'r diwedd y rhaglen oherwydd eich bod mewn am byth bloc, felly mae'n mynd i fynd eto ac eto ac eto ac eto. Felly gadewch i ni weld beth sy'n digwydd. IAWN. Mae bygi ychydig, ond fath o oer. A gallwn ychwanegu at hyn mae rhai pethau gwirion nad ydynt bob un sy'n ddeallusol diddorol. Ond os byddwn yn cyrraedd hyn ychydig meicroffon button-- ouch. Gadewch i mi lanhau hyn i fyny. Gadewch i mi wella hyn fel byddent yn dweud ar y teledu. Glanhewch bod hyd, Save, ac yn awr yn mynd i fyny at sgriptiau. Ac yn awr, gadewch i mi fynd i sain. Gadewch i mi roi cynnig enw. 'N annhymerus' yn galw ouch hwn. Ac yn awr yn chwarae ouch sain. Hysbysiad mae'n ymddangos yn y Ychydig gwymplen. Gawn ni weld. [Ouch] [Chwerthin] Ond gallwn newid t ei ar y hedfan. Gallwn fod yn ddwywaith mor blino. [Ouch] Neu os ydym yn ei wneud yn hoffi 1,000 o gamau mewn adeg-- IAWN. Felly, rydym yn mynd i adael bod un ei ben ei hun. Felly eto, gan adeiladu wyf blocks-- dechrau gyda rhywbeth syml super, ac yna yr wyf yn ychwanegu nodwedd, Ychwanegodd nodwedd, ychwanegodd nodwedd. Ac yr wyf angen i chi boeni am mwyach sut y cyntaf o'r nodweddion hynny Gweithredwyd gan fy mod yn parhau i haen pethau ar ei ben. Felly, mewn gwirionedd, gadewch i mi wneud un arall yma. Gadewch i mi fynd yn ei flaen ac yn agor ffeil sy'n Rwy'n dod o flaen llaw, a elwir Defaid. Felly mae ganddo ychydig yn wahanol cymeriad sy'n edrych fel hyn. A gadewch i mi weld os alla i ddim gwneud rhywbeth gan ddefnyddio cownter yn hyn o achos-- newidyn fel y'u gelwir. Rydw i'n mynd i fynd yn ei flaen ac o dan Events-- gadewch i mi gael baner werdd glicio. Yna gadewch i mi fynd i'r Data, y gwn o dim ond chwarae o gwmpas o'r blaen, yw lle newidynnau yn cael eu. Ac yr wyf i'n mynd i fynd yn ei flaen a llusgwch hyn. Felly newidyn a elwir cownter, ac Rydw i'n mynd i ymgychwyn i sero. Gallaf alw yn anything-- x neu y neu z-- ond mewn rhaglenni, yn galw rhywbeth mewn semantig ffordd ddefnyddiol, fel cownter, sy'n disgrifio beth ydyw, ei fod yn llawer haws i ddarllen eich cod yn nes ymlaen. Gadewch i mi fynd yn ei flaen a chael a byth bloc yma. A gadewch i mi fynd at y edrych dudalen a gwneud bloc Dweud. Ond beth cŵl am newidynnau yn yr wyf yn Nid oes rhaid i jyst deipio i mewn rhywbeth fel helo byd, sy'n rydym wedi eisoes wneud, gallaf yn lle hynny fynd i'r Data a llusgo fy amrywiol, a hyd yn oed er bod y siâp yn ei wneud nid yn eithaf edrych fel dylai gyd-fynd, bydd yn tyfu i lenwi. A byddaf jyst dweud y cownter ar gyfer un spoiler-- second-- mae'n mynd i gyfrif. Byddwn yn dweud ei fod am un eiliad. Yna mi i'n mynd i fynd a rhaid iddo aros am un eiliad, felly nid yw'n cyfrif i fyny yn rhy gyflym. Ac yna yn olaf, yn newid cownter gan one-- mewn geiriau eraill, cynyddiad y cownter gan un gwerth ychwanegol ac yn gwneud hyn am byth. Felly, y defaid hefyd, fel rhaglennydd, cyfrif o 0. Ac os ydym yn aros yn ddigon hir, bydd yn gwneud hyn am byth. Ond nid yw hynny'n union wir, oherwydd mewn gwirionedd, gan y byddwn yn darganfod yn wythnos un, cyfanrifau a chyfrifiaduron yn fwy cyffredinol, dechnegol yn unig yn finite-- dda, yn hytrach cyfrifiaduron, pan maent yn eu cynrychioli cyfanrifau, Dim ond nifer cyfyngedig o ddarnau. Mae'r rhai bylbiau golau yno dim ond cyfrif mor uchel cyn ydych allan o fylbiau golau. A chyfrifiadur hefyd, dim ond cymaint o gof wedi, Mae cymaint o transistorau yn unig, felly gall ond cyfrif mor uchel. Felly, mae'n ymddangos bod y defaid, Yr wyf yn meddwl, yn gallu cyfrif at 2 biliwn o neu rywbeth eithaf mawr. Felly, nid ydym yn mynd i aros i hyn ddigwydd. Ond yn y diwedd bydd rhai bug yn digwydd sy'n gallu cael rhywfaint o byd go iawn iawn goblygiadau. Ond y tu hwnt i'r defaid, bod jyst yn cyflwyno amrywiol. Gadewch i ni fynd yn ei flaen ac yn agor i fyny rhywbeth yr wyf yn ei wneud o flaen llaw Gelwir yma Anifeiliaid Anwes y Cat-- Anifeiliaid anwes y Gath dros yma. Ac yn sylwi dyma ei fod yn ychydig blociau, ond pan baner werdd clicio, byth yn gwneud y canlynol. Os ydych yn cyffwrdd y llygoden pointer-- felly y cyrchwr ar y sgrin, y ddrama arrow-- Meow sain ac yna aros dwy eiliad. A dim ond yn gwneud hyn am byth. Dim ond yn gyson yn aros i weld a yw'r pointer-- os bydd y gath yn cyffwrdd y pwyntydd. Felly, yr wyf yn taro chwarae. Nid oes dim sy'n digwydd. Ond wrth i mi symud y cyrchwr dros y gath, [MEOWING] Ac os byddaf yn symud i ffwrdd, nid anwesu'r gath anymore. Felly, mae rhai rhesymeg amodol nythu tu mewn ddolen. Beth am hyn enghraifft, yn fwriadol Gelwir Peidiwch Pet y Gath? Beth sy'n hyn yn mynd i wneud? [MEOWING] Pam ddylech chi beidio anifail anwes y gath? [MEOWING] IAWN. Felly, mae hyn yn enghraifft o os arall. Mae'n bwynt penderfyniadau ac am ei fod yn eistedd yn y ddolen, mae'r ddau yn cael eu gwirio. A yw hyn yn wir? A yw hyn yn wir? A yw hyn yn wir? A yw hyn yn wir? Ac yn y pendraw, yn un o y rhai yn mynd i wneud cais ac felly byddwch yn clywed naill ai'r Meow neu rhuad y llew yn yr achos hwnnw. Wel, gadewch i ni wneud yn un ychydig yn fwy ffansi a wneuthum ymlaen llaw too-- edafedd. Felly edau yn un beth y gall cyfrifiadur ei wneud. Felly rhaglen aml-threaded yn rhaglen sy'n gallu gwneud pethau lluosog ar unwaith. A phob un o'r enghreifftiau hyn hyd yn hyn wedi cael dim ond un sgript, felly i speak-- un rhaglen fel hon fyny yma. Ond sylwi rhaglen hon wedi dau sprites, dau gymeriad. Mae un yn aderyn. Mae un yn gath. Ac yn sylwi pan fyddaf yn clicio ar y rhain i lawr chwith, gan bob un ohonynt eu sgriptiau eu hunain neu raglenni sy'n gysylltiedig â hwy. Ac mae'r ddau o'r rheiny rhaglenni, hysbysiad, dechrau gyda clicked-- baner werdd pan gadewch i ni edrych ar y cat-- pan baner werdd glicio. Ac felly yn wir, pan fyddaf yn taro chwarae yn awr, dau beth yn mynd i ddigwydd ar unwaith. Mae'r gath a bod yr aderyn yn y ddau mynd i weithredu ar yr un pryd i greu'r effaith hon. Ac efallai y byddwch yn dychmygu beth sy'n digwydd. Mae dolen a bod yr aderyn ac y gath mewn ddolen. Mae'r aderyn yn unig bownsio fel Roeddwn i o'r blaen pan ddywedais ouch. Ond mae'r gath fantais glir. Mae bloc synhwyro arall sy'n dangos y gath yn fwriadol at yr aderyn yn yr achos yma. Felly gallem canfod ar wahân, drwy edrych drwy blociau hynny, beth sy'n digwydd. Ond mae'r cynhwysyn allweddol yma yw un. Mae'r aderyn, fel nad y gêm hon gwbl boring-- neu animation-- hwn dechrau am gyfarwyddyd hap. Ac mae'r cyfrifiadur yn cael ei pigo mae nifer rhwng 90 a 180 yn y bôn, felly ei fod yn ychydig yn animeiddio gwahanol bob tro. Ac yna yn sylwi yma, os y cath yn cyffwrdd â'r aderyn, yna chwarae'r llew pedwar sound-- y rhuo. Ond yn y cyfamser yn yr aderyn balet, rydym wedi hyn. Forever, os nad yn cyffwrdd y gath, jyst cadw i symud tri cham. Ac yna dyma ddarn pos arall. Os ydych chi ar yr ymyl, bownsio. Felly mae'r aderyn yn unig fath o gwarchod ei fusnes ei hun, jyst yn hedfan o gwmpas ac bownsio, ac mae'n wirioneddol y gath nad oedd gan y rhesymeg amodol i benderfynu pe bai wedi dal yr aderyn. Iawn. Felly gadewch i ni wneud un arall yma, yr un yma yn cael ei alw Hi Hi Hi. Ac mae hyn yn un yma yn unig yn ei wneud hyn mewn am byth ddolen. Ond notice-- sut ydyn ni'n rhoi'r gorau i y rhaglen iawn yn blino? Cyrraedd y bar gofod. Oherwydd os wyf yn gwneud hynny, y program-- llaw chwith yn sylwi ei fod yn gyson listening-- yn y wasg gofod allweddol. Os bydd y bar gofod gwasgu, ac os felly, beth mae'n ei wneud? Mae'n gwneud dechneg gyffredin iawn. Mae'n gosod newidyn cyfartal i rhywfaint o werth. Ond mae'n toglau y gwerth hwnnw. [? Felly ymddangosiad?] yn seiliedig ar y Cyfrif I shape-- cael newidyn fy mod Ysgrifennodd ymlaen llaw o'r enw Dawel, a dim ond yn dweud ie neu na. A yw'r sain dawel neu beidio? Cywir neu anghywir? A rhybudd, i ddim yn dweud this-- os tawel yn sero, ac yna yn newid i un, arall yn gosod mute i sero. Felly, dim ond troi y gwerth o sero i un. Gallai rhaid i mi done-- ei newid o ddau i dri a 01:57 neu bedwar i bump neu pedwar i chwech. Ond does dim ots pa rifau wyf yn defnyddio, cyn belled gan fy mod yn cadw ei newid i'r gwrthwyneb. Ac y byddai rhan fwyaf o unrhyw rhaglennydd yn unig dewis sero ac one-- ffug ac yn wir, i ffwrdd ac on-- i gynrychioli'r hyn. Ac mae hyn yn dal i redeg. Os byddaf yn taro'r bar gofod eto [SEAL SWNIO'N] Mae'r rhaglen yn dal i redeg. Oherwydd mae hyn yn sgript arall sy'n dweud, am byth wneud y canlynol. Os bydd y newidyn dawel hafal zero-- felly os nad ydych yn tawel yw'r logic-- os yw'n anwir neu ddim, yna chwarae'r sain, oherwydd nad ydych yn dawel. Dylech chwarae'r sain, ac yna meddwl hi hi hi am ddwy eiliad ac yna aros, ac yn ei wneud eto ac eto ac eto. Ac felly yn y modd hwn mae gennym ffordd i pobl canlynol-- ar gyfer rhaglenni i ryngweithio. Ac nid oes ganddynt i fod yn unol dyddio ag eraill. Yn wir, procio around-- dim pun intended-- rhywun treulio llawer iawn o amser ar y rhyngrwyd gweithredu PokemonGo yn Scratch. Mae hyd yn oed geolocates chi yn Caergrawnt neu ALLSTON yma. Felly, os ydych am weld yn rhy beth mae pobl Gall wneud yw this-- fwydlen ffansi iawn. Cliciwch ar yma. Mae hyn mi yw gyda fy bysellau saeth yn awr. Rydw i'n mynd i fynd ar ôl hyn. Cliciwch. Ac yn awr chi glicio ar y PokeBall. Yr wyf yn golygu, yr wyf yn meddwl eich bod yn i fod i cliciwch y PokeBall. Iawn. Felly, yr wyf yn gwneud hynny. Gallaf fynd dros yma. Ac mae person hwn gweithredu rhai mwy PokeBalls dros Yma-- dair PokeBalls. Byddwn yn postio dolen i hyn ar-lein er mwyn i chi ei chwarae. Ond rhybudd nid dim ond rhai blociau adeiladu sylfaenol. Mae'n edrych yn llawer ffansi, ac y mae. Mae hyn yn drawiadol ac yn fwy nag y byddem fel arfer yn disgwyl, yn sicr am broblem a osodwyd sero. Does gen i ddim syniad pa mor hir y person hwn a dreulir ar-lein. Ond mae'n gyd yn unig dolen. Mae 'na chwarae sain. Mae rhyw fath o ddolen gwrando am p'un a dwi'n taro y saeth i fyny neu i lawr y arrow neu y chwith a'r dde, ac yna os felly, mae'n symud mae'n rhyw nifer y picseli. Ac yna os byddaf yn cliciwch ar sprite arall, mae ' rhyw fath o os yw cyflwr yno. Yeah, mae hyn yn mynd yn rhy ddwys. Rydym yn mynd i roi'r gorau iddi. Mae hyn i gyd blociau adeiladu sylfaenol hynny. Nid oes unrhyw gynhwysion eraill arall na'r rhai yr ydym wedi edrych ar eisoes. Ac eto fan hyn, gadewch i mi ei wneud un set derfynol o enghreifftiau sy'n rhoi darlun rhy o'r hyn y gallwch ei wneud yma. Dyma rhaglen syml iawn bod jyst yn gwneud this-- peswch, peswch, peswch. Ac yn seiliedig yn unig ar yr hyn y rydym wedi edrych ar hyd yn hyn, ble mae'r amlwg cyfle i wella. Mae'r rhaglen hon yn gywir. Mae'n peswch dair gwaith, sef yr hyn yr wyf yn fwriadu. Ond mae'n gweithredu'n wael. Mae'n cynllunio yn wael. Pam? Yeah. Nid yw'n dolen. Ac nid yw'n gymaint nad yw'n dolen, 'i' fod yna lawer o diswyddo. Mae ei gopïo a cod ludo, fel petai. A'r ateb yn ôl pob tebyg yn wir yn ddolen. Felly, gadewch i mi fynd yn ei flaen a gwella ar hynny. Ac yr wyf i'n mynd i lusgo y rhain dros yma. Gadewch i mi fynd yn ei flaen a chael ailadrodd bloc, newid hyn i dri. Rydw i'n mynd i daflu i ffwrdd rhai o flociau hynny. A byddwch yn sylwi ei fod yn eithaf 'n athrylithgar. Rydych yn llusgo a gollwng a phethau ymddangos ac yn diflannu yn y pen draw. A gall Fi jyst lusgo hyn yn fan hyn, ac Erbyn hyn mae gen i fersiwn glanach o hyd. Ond eich bod yn gwybod beth? Mae cyfle hwn yn awr ar gyfer abstraction-- i ddechrau diffinio geirfa newydd nad oedd MIT rhagweld. Mae aros a ailadrodd ac am byth ac os, ond beth os wyf yn awyddus i gyflwyno y gair peswch fel bloc? Beth os ydw i eisiau darn pos y mae ei bwrpas mewn bywyd yw peswch? Wel, gadewch i ni edrych ar y fersiwn hwn yma, yr wyf yn ei wneud fel a ganlyn. Hudol, rwyf wedi creu pos darn yma, pa Scratch caniatáu i chi wneud. Ac yn wir C a Python a JavaScript yn mynd i ganiatáu i chi wneud hyn hefyd. Gallwch greu eich hun arfer darnau eich bod yn galw hyn yr ydych ei eisiau. Yn yr achos hwn, peswch yn teimlo fel diffiniad rhesymol. Ac yna gyda darnau hyn i lawr yma gallwch ddiffinio beth mae'n ei olygu. Yr wyf yn llusgo a gollwng o palet hwn Yma-- mwy blocks-- porffor mawr hwn bloc, lle rwy'n deipio yn peswch fel enw fy darn pos newydd. Ac yna i ddim yn dweud unrhyw adeg defnyddiwr galw hyn darn pos peswch newydd, gwneud llais ac aros. Ac felly i fyny yma yn fy bloc ailadrodd, Gall Fi jyst peswch dair gwaith. A byddwn yn dadlau, yn enwedig os ydych yn awr yn cuddio manylion hyn. Pwy sy'n poeni sut peswch yn cael ei roi ar waith? Y cyfan yr wyf yn gofalu am fel rhaglennydd y gallaf peswch. Nid wyf yn poeni sut ddweud ei roi ar waith. Fi jyst yn gofalu bod y Gall cath ddweud rhywbeth. gallaf haniaethol i ffwrdd y manylder a Dim ond yn canolbwyntio ar yr hyn sydd ar y sgrin yma. Ond gallaf fynd â hyn un cam ymhellach. Hysbysiad bod yma, yr wyf wedi rhoi ar waith y ddolen dair gwaith. Ond beth os yn lle hynny yr wyf yn chrafangia fersiwn hwn? A beth os yn lle hynny yn y fersiwn yma, Fi jyst yn newid fy darn pos i fynd dadl a mewnbwn wrth ei hun? A gall fod mewnbwn fod yn mae nifer fel tair. Felly nawr, os wyf yn ysgrifennu rhaglen ac yr wyf am y gath i beswch, Gall Fi 'n weithredol yn dweud wrth y pos darnau faint o weithiau i beswch, oherwydd ar y gwaelod yma, mae ffansi Fersiwn o'r rhain darnau pos arfer yn gadael i mi nodi y peswch mewn gwirionedd yn cymryd mae input-- cymryd dadl fel hyn. A ydych yn gwybod beth? Efallai fy sylweddoli, arhoswch funud. Peswch yw'r same-- 'i' yn sylfaenol yr un syniad â thisian. 'I' jyst yn wahanol gair ar y sgrin. Gallaf haniaethol i ffwrdd ymhellach a gweithredu y fersiwn derfynol peswch, sydd ar yr olwg gyntaf yn ffordd fwy cymhleth yn edrych. Ond sylwi ar yr hyn yr wyf wedi ei wneud. Mae gen i nawr generalized-- genericized really-- hwn darn pos i gael ei alw yn dweud gair n amser. Ac yn awr yr wyf wedi ddau ddarn pos newydd lawr yma diffinio peswch n amser. A beth mae'r swyddogaeth peswch yn ei wneud? Beth mae fy darn pos arfer yn ei wneud? 'I jyst yn galw y bloc yn dweud, gan fynd heibio yn y gair yr wyf am ei ddweud, gan fynd heibio yn y nifer o weithiau yr wyf am ei ddweud. Oherwydd erbyn hyn y gallaf weithredu tisian gan syml ddweud achoo, yn yr achos hwn, mae rhai nifer o weithiau. Ac felly rwy'n haenu a haenu. Ac eto, nid yw'r allweddol yma yw sut yr wyf yn rhoi ar waith y peth, ond y ffaith os Fi jyst yn llythrennol symud y rhain oddi ar y sgrin, edrych pa mor syml nid os 'n bert fy rhaglen yn awr yn edrych. Oherwydd ei fod yn gwneud yr hyn y mae'n yn dweud, yr wyf wedi echdynnu i ffwrdd beth sydd y tu mewn y blwch du. mae'n digwydd i fod blwch porffor yma, ond rwyf wedi rhwystro ymaith beth sydd y tu mewn oherwydd nid wyf yn poeni sut mae'n gweithio. Fi jyst poeni nawr ei fod yn gweithio. Ac yn wir, yn broblem osod sero, mae hyn yn union y math o haenau o syniadau wnewch chi helpu yn cael y cyfle i archwilio. Mae'n union y cyfle i cymhwyso technegau datrys problemau, i beth sydd yn ôl pob tebyg yn amgylchedd anghyfarwydd. Ac a fyddai peidio ydych wedi rhaglennu cyn neu raglennu o'r blaen, fe welwch fod yna rhywbeth bach yn yr amgylchedd hwn i bawb. A gyda phroblem a osodwyd un mewn ymhen wythnos, byddwn yn transitioned i ganolbwyntio ar iaith lefel uwch o'r enw C-- neu yn hytrach yn is iaith lefel o'r enw C-- dyna hyd yn oed mwy pwerus, hyd yn oed er 'i' ychydig yn fwy cryptig ar yr olwg gyntaf. A byddwch yn sylweddoli fesul TL heddiw: DR, bod y broblem hon yn gosod ganddo byrrach ffenestr o amser na rhai yn y dyfodol, yn syml oherwydd dylai eich bod yn ei chael yn deg hygyrch. Ac i beidio â phoeni os ychwanegwch y dosbarth yn hwyr. Byddwn yn ymdrin â hynny cyn bo hir. Ac cyn i ni ohirio er cacen, yn gadael i gorffen gyda dim ond golwg dwy funud ar yr hyn eich disgwyl yma yn CS50. [CHWARAE CERDDORIAETH] Iawn. Dyna ni am CS50. Byddwn yn eich gweld yn fuan. Cacen bellach yn cael ei gwasanaethu. [CHWARAE CERDDORIAETH] SIARADWR 17: Ydych chi wedi clywed o gyfnod sabothol, Prif? SIARADWR 18: Efallai mae ' mwy o dan y cwfl.