[Мусиц плаиинг] [АППЛАУСЕ] Давид Ј. Малан: Ово је ЦС50, Увод Универзитету Харвард интелектуалном предузећа оф Цомпутер Сциенце и уметност програмирања. Сада, ако сте међу онима који сваке године се овде седе са мало живаца у вашем уму, што да не мислите да припадате овде, мислите да већина ко седи поред тебе зна много више од тебе, је заиста удобнији од тебе у компјутер наука или рачунари генерално, реализују да 78% студената који сада узети ЦС50 немају претходног искуства. Заиста, тамо је било 100 тачака на екрану, од којих 78 су светли зелено, који вас значи, ако сте међу тим демографски, су у веома добром друштву па надаље. А ако сте уместо тога су међу 22% ЦС50 ученика који раде заиста имају претходно искуство, било да је у средњу школу или неки други програм, схватите да сте, такође, ће буде оспорена у току. Не само да имамо различите нумере за ученике мање удобан и више удобно подједнако у одељцима Такође смо тзв Хацкер издања највећег проблема који поставља ће изазов оне студенте са тим додатним искуством да истражују сличан материјал али из више софистицирани перспектива. Али оно што је цомпутер сциенце? Па, на крају, шта ће да се материја док истражујете ову област није толико где си завршити у односу на својим друговима, али где сте се заврши у недеља 12 наспрам где сте овдје почнете у недељу нула. Сада рачунар сциенце-- добро, хајде да зову га наука цомпутатион-- где је прорачун је заиста само Фанци начин да се каже, узимајући неки улаз, производњу неки излаз, и Чинећи то покретањем алгоритама, сетови инструкција за решавање неки проблем на тим улазима у циљу да произведе неки излаз или Решење у којој сте заинтересовани. Тако да смо недавно имали прилику да путују ван у Калифорнију да се састане са алумна. Њено име је Сусан Војцицки. И она бих да говорим да си овде на видео да сведочи колико је применљиво чак само укус рачунара наука на Уводна ниво може бити. Чак и ако не идете на следе информатике као поље, или чак инжењеринг, или СТЕМ уопштено, видећете, у ствари, како одређени Наравно тако утицао њен живот. И она тек га узео кад је био виши овде у Харвард колеџу. Ако бисмо могли да дим светла за Сузан. Сусан Војцицки: Здраво, свет. Ја сам Сусан Војцицки. Ја сам директор ИоуТубе. И ја сам узео ЦС50 кад сам био виши на Харварду 1990. Ја заправо историја и књижевност мајор. И мој јуниор лето, Схватио сам да је можда сам желели да науче нешто о компјутерима. И тако, вратила сам се. Узео сам ЦС50. Било је тешко, али то је било најдивнија класа И узео. То је променило како ја мислим о свему. И када сам дипломирао на Харварду у 1990, отишао сам у Силицијумској долини. И ја имам посао. И ја сам радила у Технологија тада. Давид Ј. Малан: Шта сад Сузан није поменуо на овом снимку, да је заправо у њој Гаража је сама била Гоогле основали Лари и Сергеј. Сада смо и допре нашим пријатељима у цоде.орг, организације која током протекле године био је да људи посебно узбуђен информатике и програмирање, посебно. Али вреди напоменути да је програмирање није компјутерских наука по себи. Цомпутер сциенце није програмирања. Уместо програмирање је само тоол-- са којим свима вама ће бити врло добро познато по енд-- семестар тако да не можете применити само да будуће курсеве у ЦС али да којим областима одакле долазите у хуманистичких, друштвене науке, природне наука, или слично. Заиста, дозволите неколико других Алумни и њихове колеге да разговарају са применљивости поља која чека. Бил Гејтс: Био сам 13 година када сам Први је добио приступ рачунару. Џек Дорси: Моји родитељи купио ми Мацинтосх 1984 када сам имао осам година стара. Марк Зуцкерберг: Био сам у шестом разреду. ПРЕДСЕДНИК 1: Научила сам да се код у колеџу. РУЦХИ САНГХВИ: Бруцоши, прво семестра, Увод у компјутерске науке. Бил Гејтс: Написао сам програм који је играо тик-окс. ДРЕВ ХОУСТОН: Мислим да је то прилично скромне почетке. Мислим да је први програм Написао сам питао ствари као што су, која је твоја омиљена боја? Или колико имаш година? ЕЛЕНА СИЛЕНОК: Први пут сам сазнао Како направити зелени круг и црвени квадрат појављује на екрану. Габе Невелл: Прва пут сам стварно имао нешто искрсло и рећи, здраво, свет. И направио сам компјутер да урадим. То је био само запањујуће. Марк Зуцкерберг: Учење како програму није кренути као желе да науче све компјутерске науке или покушавају да савладају овај дисциплина или било шта слично. То је само зато што је почела И желели да урадите ову једну једноставну ствар. Желео сам да направим нешто што било забавно за мене и моје сестре. И ја сам написао овај мали програм. А онда у основи само додао мало на њега. И онда када ми је потребно да науче нешто ново, Погледао сам га, било у књигу или на Интернету, а затим се додаје мало на њега. ДРЕВ ХОУСТОН: То стварно није за разлику од плаиинг инструмент или нешто или играте спорт. Давид Ј. Малан: У реду. Па нас пустите сад ствари зароните мало дубље. Које су то улази и излази да говоримо о овде? Па како нешто једноставно? Ви вероватно знате, чак и ако имате Но познавање рачунарске науке уопште, да се рачунари користе некако и разуме само нуле и јединице. Али како то може евентуално дати како Много данашњи десктоп и лаптоп рачунаре подједнако може да уради? ДНК дана, једини Алпхабет да они разумеју је нула или један. Па, размислите о овом. Ми, људи, имају тенденцију да користе децимални систем. "Нов", што значи 10. А то је 10, јер ми имамо 10 цифара, 0 до девет. Сада рачунари, насупрот томе, имају тенденцију да користе бинарне. "Би", што значи два. Тако они имају тенденцију да само нула и један коришћење. Али испоставило се да чак и само са нула и јединица, тој је довољно велика алфабет са којима се представљају већину Било податак желите, без обзира да ли је то број, без обзира да ли је то писмо, без обзира да ли је то графички или видео на екрану. Узмимо, на пример, како смо људи обично тумаче овај број овде. То је само три цифре, један, два, три. Али ми знамо овај број урођено сада као 123. Али зашто је то тако? Па, ако се вратимо мислите да можда основној школи, вероватно су учени да мисле о ови бројеви као што у колонама, где једна у стотинама место, два је на десетине месту, а три је на оне месту. Зашто је то заправо корисно? Па, размислите о супер једноставно аритметика да смо сви били прави већ годинама. Ефикасно, ако имате један у стотинама месту, ти брзо математику 100 пута 1 плус 10 пута 2-- јер је два је на десетине место-- плус 1 пута 3-- јер је три је на оне месту. Дакле, наравно, ако се заправо умножавају ово, оно што стварно представља са овим паттерн-- једним Два три-- је 100 плус 20 плус 3, који, наравно, 123. Сада бинарни, и компјутери заиста, фундаментално говоре истим језиком што радимо. Они само имају мању алфабет. Тако да рачунари само нуле и оне на располагању. Према томе, док ми људи имају суштински овлашћења 10 у свакој од ових плацес-- 10 до нуле, 10 до једне, десет на два, дајући вам 110 и 100 респективно. Јер рачунари само две вредности они могу да разумеју, нула и један, они морају да користе различите вредности у овим колумнама, један, два, четири. И ако смо стално идемо, осам, 16, 32, 64, и тако даље. Али образац и менталитет је потпуно исти. Дакле, по тој логици, било ко, како би Ја идем о представља број један у бинарном? Ако никада нисте ни размишљали о ово пре, шта је твој Гут каже? Публика: Један. Давид Ј. Малан: Један. Тачно. Ми само треба један у Онес место јер су нула довољно да нам дају ни четири, ни два. Тако да један пута један једнако један. Сада ствари постају мало занимљиво. Ако желим да заступа у Бинарни број два-- али, Опет, чак и ако никада не говорио овај језик пре, како да се представљају у бинарном Вредност ми људи знају као два? Један нула нула. Само ставио један у колона која желите. Сада постаје прилично једноставно, вероватно сада. Дакле, ако желим да представљају три-- постоји колона било три екипе. Дакле, опет, ја сада могу додати ове вредности заједно стављањем овде један. СО 2 пута 1 плус 1 раз 1 је, наравно, 3. Сада се ствари мало забаве у да они сада постају нуле. И да представља четири, добијем ово. И ако ми полако повећавати овде-- то би било пет. То би било шест. То би било седам. Али сада изгледа да имам упасти у проблем. Како бих могао да одем у вези представља еигхт-- ће бити следећа вредност. Да, тако да је потребно нови бита. И, заиста, ако сте Чуо ову фразу раније, бита, то је само скраћено Бинарни број, нула или један. И тако сам се десити да се представља само три таква бита овде. Али, ако сам имао начин чувања није три различите бита, али четири, сигурно сам могао представљати осам, а затим девет, а затим 10, па чак и више и више. Али то онда зове у питање како можемо иду о заступају ове ствари на првом месту. То је једна ствар да скрене их овде на слајду, али како их представљају ако сте механички уређај? Шта је рачунар ради на представљају улазе и излазе који суштински дефинишу рачунање на крају дана? Па, шта је са нечим супер једноставно овако? То је само сијалица. И ја могу да покрену ово сијалица да иде на окретањем мало струје на и омогућавајући електрона да се кроз проток, који мења држава или њена вредност, да тако кажем. На пример, ово је олд сцхоол Стона лампа овде са један такав сијалица у њему. И сада то није Заиста ради ништа корисно. Али чим сам га укључите у електричну утичницу а затим користите ову свитцх-- или Можемо чак и да га назвати транзистор или мислите о томе као суцх-- Ја сада могу представљати ни Ова вредност, где је сијалица очигледно Офф, или ова вредност. Ова вредност или ову вредност. Ова вредност и тако даље. Па унутар рачунара, вероватно, су много мање комаде хардвера, али да на крају дана једноставно имају користити елецтрицити-- можда снимање то-- а онда или задржати нешто или задржи нешто. Наравно, ово није посебно занимљиво да радим са само једним сијалицу. У ствари, колико високо могу рачунати на Бинарни са овом стону лампу овде? Публика: Један. Давид Ј. Малан: Један, зар не? Треба ми још стоне лампе ако ја заправо желе да рачунају више. Али можемо боље од тога. Јер су сијалицама које ми смо ставили у овим стварима су заправо Љубитељ Сијалице него прошла би омогућило. И они уствари умрежени сијалице. И гомиле фирми чине овакве ствари ових дана. Али се испоставило да овај посебно долази са функција при чему можете да промените своје боје. Тако на пример, ако украшена своју собе у дому са неколико ових светлости сијалице, у зависности од вашег расположења, у зависности од тога ко долази у, у зависности од временских прилика, у зависности од времена у току дана, можете заправо промените боје Сијалице у својој соби. А то је зато што су ове светлости сијалице и друге попут њега имати шта је назвао АПИ, апликација програмски интерфејс, што је тема са којом ћете бити добро упознати са до краја семестра. И ово је само фенси, Цриптиц начин каже, можете програмирати ове светло сијалице да урадите ваш надметање. Можете да им шаљете поруке баш као и ви, људско, могу послати поруку на веб сервер говорећи, дај данашње вести или да ми е-маил. Можете послати више волшебни Поруке ових сијалица да кажем, укључите и искључите. Али то није све то интересантно. Можете рећи, укључите црвено, укључите зелено, укључите плава, све са истом сијалицу. А можете чак, и мало памет, кажу, окрените се у плаво када је суморна дан напољу, на пример. То заиста може патцх у Веатхер АПИ и сазнајте шта је време, односно време дана, или других таквих окидача. Дакле, у ствари, два Својих чланова ЦС50 је особље, Дан Брадлеи и Ансел Дуфф овде, љубазно набавила САД гомила тих сијалица. И они изградили ЦС50'С По први пут бинарни сијалице, где смо представљени овде-- са овим малим разиграном магнетс-- разни плацехолдерс ми алудирао на само мало пре. Дакле, овде је пут преко Онес место, два, четири. А ми нисмо видели већи од тога. Али, наравно, они су овлашћења два. Еигхт, 16, 32, 64, и 128. Дакле, ако ја сада желим да будем мало одгајивача од коришћења ове старе школе прекидач, Овде имам на овом иПад супер једноставан интерфејс да Дан Брадлеи, бивши студент и сада асистент, програмед помоћу неке ХТМЛ и ЈаваСцрипт, који су означавање и програмирање Лангуагес респективно. И вероватно можете Југоисточна Европа ни у бацк-- постоји велики плус, а велики минус, Плус једно дугме за сваки од ових сијалица. И шта ће ово да ми дозволи да Не није, на пример, кликните на плус и сада представљају, од Наравно, оно број? Оне. И ја могу да поново ударио. Два. Три. Четири. Пет. Шест. Седам. А овде сада смо добили да рефинансирање, али имамо четврту мало овај пут, тако да сада имамо осам. Тако да смо могли да урадимо то за дуже време. У ствари, као што је на страну, Колико високо можемо да рачунамо? Анионе? Публика: 255. Давид Ј. Малан: 255, зар не? Не брините превише о математике за сада, али то је прилично пристојан број. Али то је заправо не само везан колико комада информација, као писмо, или графику да бисмо могли да представљају. Али без обзира на за сада. Идем да иде напред и претвори их све искључите. И ако бих могао, ја бих да питам за волонтер, наш први волунтеер-- Ох, хелло-- на сцени. Цака је, морате бити удобан појављују, као и ти јасно су пред свим својим друговима, као и на интернету. И дозволите ми да погледам мало даље до-- А овде у белој кошуљи? И руку. Дођи горе. Како се зовеш? Публика: Јацкие. Давид Ј. Малан: Џеки. Џеки, хајде горе. Дакле, шта ту је и о томе иПад је дугме зове режим Игра. И ово игра режим је да ме пустите да улаз унапред посебно децимални број, бројеви ми људи упознати. И онда ћете бити изазов овде да користе тастере о топ-- један за сваки од ових булбс-- да се заиста схвати образац сијалица који представља број у питању. И жао ми је, шта је опет био твоје име? Публика: Јацкие. Давид Ј. Малан: Џеки. У реду. Драго ми је да сам вас упознао. Дакле, дозволите ми само напред и програм за свет да види број 15. Ми ћемо га задржати мали у почетку овде. И ја ћу да идем у Гаме Моде. И ја ћу навести, дај нам број 15. У реду. И сада са свима ако ватцхинг-- желите да можда стоји на овај начин, јер ће се построје их-- ићи напред и Архива анкета осам Дугмад дуж врха да укључите сијалица или искључена као што видите стане. Публика: У реду. Давид Ј. Малан: И без варања ударајући плус 15 пута. Ох, ми ћемо то урадити. Публика: Ох, чекај. Тако ми је жао. Давид Ј. Малан: Такође можете да укључите Сијалице на појединачно са сваким од ових тастера на врху. Публика: Ох, у реду. Тако да би било као-- Давид Ј. Малан: У реду. Тако да сада имамо осам. Па хајде да застанемо за публика да се ангажују овде. Који број је Јацкие тренутно представља? 11. Дакле, ми смо скоро тамо. И одличан. Дакле, имамо наш први победник. Честитам. А мислили смо да имамо неке Фабулоус поклони. Ако желите да буде један такав спаваоницу овде на кампусу, можете сами завршни пројекат коришћењем сада ово АПИ, захваљујући Јацкие. Тако сада-- [АППЛАУСЕ] --иф смо могли, још један што је око овога. Ох, сада свако жели неке сијалице. За тзв хакерске издању, ћемо се појача си-- Ох, Да, необавезујући. Мислим да долази сада ако је ваша рука иде доле. Како се зовеш? Публика: Алекс. Давид Ј. Малан: Алекс, дођи овамо. Дакле, за Алек, ми ћемо да Програм у нешто већем броју. Можда би. Број 50. Публика: У реду. Давид Ј. Малан: Али, као Ја рекао-- И можда Желим да стојим овде тако да су дугмад построје као што би екпецт-- али јесам ово зову хакер издање. Па-- срећно! [СМЕХ] Моћи ћете да се окрену их ако тебе-- реду. Одлична. Дивно. Честитам. [АППЛАУСЕ] Претпостављам да би требало да плати. Честитамо Алек, као и. У реду. Тако да крајњи понети овде је надамо се, искрено, симплицити-- једноставност са којом можете добити неке лепе светло сијалице, очигледно у [неразумљиво]. Али они представљају, На крају крајева, исте идеје са којима су људи Већ превише познато. Па шта би следећа корак бити у прогресији покушава да учини нешто Интересантно са подацима и представља инпуте који нису само Бројеви али су можда слова или више? Па, испоставља се да Цомпутер Ворлд, дуги низ година, једноставно је усвојио произвољан, али доследни стандард који мапс бројевима до слова алфабета. На пример, овде је извод из тог мапирања. То се зове АСЦИИ. -С-Ц-И-И. А то је једноставно Табела која мапс велико леттерс-- у овом цасе-- у децималне бројеве. Али, шта је импликација? Па, ако заиста желите да заступа нешто као емаил или неки текст на веб страници, очигледно желе да покажу људски писма писмо, а не бројеви. Дакле, у зависности од контекст програма који корисник користи, ако је то Веб Бровсер или емаил клијент, бројева свакако може бити тумачи као писма. То јест, обрасци бита могу лако може тумачити као писма. Па оно што може да има је писмо биће представљени као 65, Б су представљени као 66. Дакле, ако имамо супер Укратко реч, као и Хи, како компјутер би на крају продавница у децимала али стварно у бинарном, користећи неки редослед битова, усклађивање мало електричне енергије на неки начин, би два броја 72 и 73. Али образац битова који представља оне вредности. Дакле, то су онда како можемо представљају наше улаза и излаза. И довољно је рећи, можемо учинити сложенијих представе на крају са стварима као што су Графика, видео, музика, и још много тога као што ћемо видети касније овај термин. Тако да је само оставља тада алгоритми, ови телевизори инструкција са којима смо решавање стварних проблема. Ми смо пролази у улазима у алгоритама. И ти алгоритми производе излаза, надамо коректни излази и надамо се, такође, ефикасно окупили излаза. Другим речима, то је једна ствар да спроведе нешто исправно. То је друга ствар да се спроведе нешто добро или ефикасно. На пример, један демонстрација да смо воле у ​​току је ово један. Али ове ствари постају све тешко наћи. Али ово је заиста стара школа именик, унутар којих су 1.000 плус страница имена и телефонских бројева. И ако сам хтео да погледам неко у овој именик, Ја једноставно могу да урадим веома наивно алгоритам. Могао отвори прву страницу, и Могао бих почети да тражи, рецимо, неко имену Мике Смитх. А ако он није у први страница, сам напредак на други, а затим трећи, а потом до четвртог, и тако даље, док не коначно наћи Мике Смитх. Сада је то алгоритам тачно? Публика: Да. Давид Ј. Малан: Да. Ако је тамо, ја ћу на крају га нађемо. Али то вероватно није јако ефикасна, свакако није брз, јер, боже, зашто сам губим време окретањем кроз све ове странице, када сам могао Свакако ово физички брже? Па, благи оптимизација, тако да говоре, можда не једна страна у једном тренутку, али два, четири, шест, осам, 10. Још тачно? ПУБЛИКА: Не Давид Ј. Малан: Тако да нема ако ја за инстанца прескочимо Мике Смитх. Али докле год сам резервну педале једна страна, ако га премашити, Можда бисмо могли да исправимо оно што би у супротном било Капирам. Али је боље? Да ли је то брже? Мислим, да. То је буквално дупло брже ако урадим две стране у исто време. Дакле, ако сам првобитно имао 1.000 страница, сад само да окренете 500 пута, није у потпуности 1.000 страница да се потенцијално у најгорем случају до краја телефона књига, где је неко Лике Мике Смитх или некога са касније назив могао заправо бити. Али, наравно, ми људи сигурно нису ће бити да се ради, свакако Не у овом тренутку у нашим животима. Шта је разуман људски вероватно да уради? ПУБЛИКА: Иди право на тхе9 С. Давид Ј. Малан: отишли ​​право у С:? Како да идем право у С:? ПУБЛИКА: Рип га на пола. Давид Ј. Малан: Па, нема ознаке. Дакле, да, ако је заиста било налепница или лепљива картица за С, требало би да скочи тамо. Али то је прилично безопасно. Па најбоље што могу да урадим је отприлике на С одељак или можда грубо у средини. Али кључ за понети сада-- и интуиција које сте снимили за одобрена годинама пробабли-- је да је оно што радите сада знају о овом проблему? ПУБЛИКА: [неразумљиво] Давид Ј. Малан: Мајк Смит је сигурно не у овом полувремену проблема јер Смит долази након средини што је отприлике секција М, чини се да. Дакле, као што сте можда видели у Виситас, можемо сада буквално теар овај проблем на пола. ПУБЛИКА: Воо! Давид Ј. Малан: То је све лакше и лакше. [АППЛАУСЕ] Изволи. [СМЕХ] А сада сам у основи имају исти проблем, али буквално упола велика. Ја сам још увек у потрази за Мике Смитх. Усуђујем се да кажем и, још увек могу потражите га на исти начин, раздвајање проблем на пола Поново, цепање проблем поново на пола, која ме сада оставља проблем четвртина величине, драматично баци да половина далеко, и опет и опет понављам овај процес и опет, гледајући доле у свакој тачки видети ако је Мајк Смит је на страна у питању. Сад ако урадим ово право, на крају ћу се наћи са само једној страни на којој Мајк Смит је ако је заиста то у телефонском именику. Наравно, ја могао никад не зовеш Мике поново. Али поента је у томе да, ако смо почели са 1.000 страница, мој први алгоритам, флип страницу, можда 1.000 тимес-- дефинитивно мање зато што је име С, а не З име, али као колико 1.000 страница потенцијално. Други алгоритам, боље. 500 пагес. Трећи алгоритам, ипак, Колико корака би одвести поделити 1.000 странице Телефонски именик на пола као што је то? 10, узми или остави. Па само окретањем кроз то именик, роњење и освајања, да тако кажем, 10 пута, ћу учинити ми ваи до само једног једној страници. Па можемо да искористи ту интуицију Сада мало графички Ако само у обзир Овај супер једноставан графикон. Ми смо на к-оси, или хоризонталан оса, је величина мој проблем, број страница у телефонском именику. И рачунарске научници генерално воле да позове величина проблема н, где н само нека променљива која репресентс-- у овом цасе-- број страница. Вертикално, или И-оса, овде је ће бити времена да се реши, Можда број страница преокрета, Можда број секунди или минута, како год Ваш јединица мере је. Па то црвена линија представља први алгоритам, јер постоји један на један Однос између броја страница и количину времена је потребно. Ако Веризон удвостручује број странице у именику наредне године, Мој Руннинг тиме-- Време потребно да се изврши да се прво алгоритхм-- удвостручује у најгорем случају. Али други алгоритам, где сам превртања по два, захтева мање времена за дату величину проблем. Дакле, ако сам ово много Пагес овде-- Нотице да је жуте линије предлаже мање времена за решавање. И заиста, он представља, ћемо рећи, н преко два. Али оно што је облик трећи и коначни крива ће изгледати? Да, то је заиста ће изгледаш-- И Не знам шта си хтео да кажеш. Али, хајде да видимо шта сте хтели да кажете. Публика: Као то. Давид Ј. Малан: То ће изгледати То, логаритамски слопе-- екацтли-- где имате овај знатижељан нагиб. То више није права линија. А шта је убедљиви о томе је да је иако граф сада одсечена, можете екстраполира у вашем смета да је зелена линија није ће се повећати у висина све то много као што сте и даље наставите низ тај хоризонталној оси. Заиста, Веризон, за пример, могао да удвостручи број страна у телефону Књига између ове и наредне године од 1.000 до 2000 страна, али ништа страшно. Са овај трећи и коначни, постоји интуитивно алгоритам поделе и освајања. То ће ме одвести колико још кораке следеће године наћи некога Лике Мике Смитх? Публика: Један. Давид Ј. Малан: само један нема. И они могу да учетворостручити, то је ће да ме одведе само још два корака и тако даље. Па ово је доказ колико су неки опрезни дизајн а неки захвалност за оно што Твоје су улази може да уради још боље. Сада варамо мало у смислу да смо усклађивање претпоставку. Оно што је моја претпоставка о нашем телефонском именику која је омогућила да завади па владај у том интуитивном и даље исправан начин? ПУБЛИКА: [неразумљиво] Давид Ј. Малан: Да. Па је наређено. Је алпхабетизед стране телефонски именик компанија. Ако је био у случајним редоследом, да би паклена именика, али то сигурно не би дају се на алгоритму Користио сам, јер никад не би само да се деси преко Мике Смитх ако сте држали у подели половина на тај начин случајно. Дакле, хајде да сад озваничи оно што је јасно интуитивно. Тако нешто што се зове Псеудокод је где ћемо почети неке од наших почетних проблема. И ово је генерички начин за описивање алгоритам или компјутерски програм, не користе Ц или Ц ++, или Јава, или било ког другог језика, али користећи само енглески, са што свако људско можда познато. И можда написати Псеудокод за овај проблем као што следи. Први корак, покупите телефонски именик. Други корак, отворен до средине телефонски именик. Трећи корак, погледате имена. Четврти корак, ако је Смит је међу намес-- А сада је ово занимљив конструкт. То је одлука поента. То је виљушка на путу, ако је вама ће, грана, да тако кажем. Па ћу да увучете само Конвенцијом степ-- није фиве-- а то је да рецимо, зваћу Мике. Дакле, ово увлачење, тотално произвољна људска конвенција, али је једноставно требало да пренесу семантички да ако Смит је међу именима, онда би требало да позовем Мике. У међувремену у фази шест, обавештење да удубљење је нестао. Па остало је друга виљушка у Роад, други пут сам могао путовати. Па иф Смитх раније у књизи, што је Мој следећи корак вероватно ће бити овде? ПУБЛИКА: Иди на леву страну. Давид Ј. Малан: Да, па идите на лева половина именика. Баците десној половини иф Смит је раније у књизи. Толико отворена до средине лева половина књиге. А онда корак осам, идите на линији три. И ово је радознао петља сам изазивање, рецурсион да тако кажем. Али више о томе у будућности. Ја користим исти алгоритам, Мој исто Псеудокод, да поново реши исти проблем јер једина ствар која се променила је величина проблема, не мој циљ, а не особа Ја тражим. Тако да могу поново алгоритам да сам већ дефинисао. Иф Смит је касније у боок-- и мислио погодим отворена до средине десна половина књиге. И опет, идите на линији три. Елсе-- шта је последња линија У овом програму ће бити? Ако он није међу Имена на страници сам на, ако је није раније књига, а он није касније у књизи, шта ја знам је истина о Мике Смитх сада? ПУБЛИКА: Није у књизи. Давид Ј. Малан: Није у књизи. Па најбоље што могу да урадим је само одустати и зауставити овај програм. У реду. Тако да у овом тренутку, узмимо брз обилазак неких од онога што чека. А у ствари, ја сам овде се придружио бројним ЦС50 особља. Ако ови људи могли све придружите ми овде на бини. [АППЛАУСЕ] Пазите, то је само подскуп ЦС50 особља, јер сваке године имамо скоро 100 запослених чланова у улогама наравно асистената, наставе момци, и још много тога. Дођи горе. Тако да ће нам се придружити овде неспретно за тренутак као што дајемо вихор обилазак онога треба очекивати овде у току. Дакле, прво и пре свега, имамо САТ / УНС као опција оцењивања у току. Ово је намерно значило да буде опција при чему ако сте мало нелагодно на што у току, а ти страх фаилуре--, чак и ако искрено кварвзначи повређује ваш ГПА, добијање Б, а не си-- који је управо оно, свакако за гатеваи Наравно као и ЦС50 и других Уводна курсеви, Ова опција оцењивање треба да дозволи. Свесрдно подстичу студентс-- посебно Ако на фенце-- да почне Наравно САТ / УНС, чак остају САТ / УНС. Али ви свакако може пребацити на писмо оцену од петог понедељка у року. Искрено, када сам био бруцош у 1995, Ја лично нисам ни да ЦС50 јер нисам устанем нерв да заиста корак ногом у учионици. Изгледало је домен превише непознато за мене и стварно само за оне моје пријатеље, Искрено, који је био програмирање јер су шесто Или можда 10-годишњи. И то је било само зато што сам био у стању да се ЦС50 у моје време у еквивалентне верзији САТ / УНС-- додавање / не врати у даи-- да ни сам узео 50. И некако или други, ја сам овде поново са вама данас. Сада је у међувремену шта друго што Треба имати на уму о 50 је истовремено упис. Супротно гласинама да сте можда чули, можете, у ствари, истовремено упишу у ЦС50 и другу класу која задовољава у исто или неки преклапајући Време као ЦС50 предавања овде. Погледајте градиво за појединости имплементације истих. Предавања, у међувремену, супротно шта је званично у каталогу, ће генерално само испуни за само сат времена. Повремено можемо покренути мало дуго. Али имајте на уму да циљ у ЦС50 предавања је да вам пружимо концептуални преглед, надамо се неке демонстрације, можда чак и неки поклони, онога што чека недеље која следи. И тако у предавањима, ми ћемо истражити Те теме и примери заједно, довођење ученика на бини, и особље на бини што чешће можемо, за само неколико сати сваке недеље. Секције, у међувремену, ће бити нуде ових људи овде-- многим од њих наставе момци, нека Од њих, наравно ассистантс-- воље Недељни се дешава. И шта је кључ да на уму је да смо не смо-- разлику Фирст Ноћи, музика цласс-- различитих нумера Одсека за студенти мање удобан, више удобан, а негде између. И искрено, знате ли ти мање пријатно. А ви вероватно знате да ли ти удобније. А ако нисмо сигурни, да сте по дефиницији негде између. Дакле, када дође време да се одељак у недељу или тако, по програму, ми ћемо вас питати то питање. И можете себи изабрати Басед на свом нивоу удобности и бити са студентс-- бити са Греен дотс-- слично у удобности нивоу према вама. У међувремену, ми имамо проблем поставља, што ће на крају дефинисати своје искуство у овом курсу. Они обично нуде у више издања. Стандардно издање које највише очекујемо сваки ученик у току да се позабаве али и такозвани хацкер едитион који нуди никакву форму екстра кредита намах Али заиста браггинг ригхтс да кажем да сте покушали и решавају хацкер издања курса је то прићи сличан материјал али из више софистициран угла. Оно што ми нудимо за Стандард Едитион, за, Опет, супер већина ученика, нису само хода тхроугхс, који су видео предвођени особља у току је који вас заиста провести кроз Курс проблеми и могућа дизајн имплементације. А такође смо, после Чињеница, нуде обдукцију, при чему ако се питате како си могао или је требало да реши неке Проблем, наставно особље ће вас провести кроз они на видеу као добро. У међувремену, шта чека такође су пет дана касно и чињеница да ћемо Баците најнижа проблема сет резултат. Ми свакако ценити чињеницу да у замену за обим посла који очекује 50 од вас, живот добија на путу Понекад, ако не пет пута. Па то ће понудити ви мало флексибилности, проширујући рок од, рецимо, Четвртак у подне до петка у подне. Погледајте ПРОГРАМ ЗА Детаљи имплементације истих. Шта сад сад чека? И то је само то дешава ми сада само колико дуго Имам ви стајати овде на сцени. [СМЕХ] Давид Ј. Малан: Али ми ћемо доћи до врхунца завршити пре дуго. Па шта чека у погледу на проблем поставе? Па, можда теасер онога што смо сви прошле године са својим претходницима. У првом сету проблема Прошле године смо увели Сцратцх, графички програмски језик који вам омогућава да буквално програмирати по превлачењем делове слагалице, као ови, који су подсећа на конструката ће видети само једну недељу Дакле, када смо се пребацили на више традиционални језик, познат као Ц. Прошле године смо наставили овој проблематици сету, укључујући за криптографије, кодирање информација да га задржи од владиних или пријатељи " очи да не желе да га виде. Кодиране овде је порука да ће ускоро вас ће бити у стању да дешифрује или де-Сцрамбле. Пробој био проблем сет прошле године, при чему користите ове Нев Фоунд програмирање вештине да се заиста спроведе игра вхереин-- као ти Можда се сећате из цхилдхоод-- циљ је био да се басх цигле које су на врху екрана Овде, гомилају сцоре успут, и спровођење сопствених алгоритама са којим ово решење на крају омогућава да играте игру. У међувремену, касније у семестар, ми ћемо вам дати Речник од 143.091 енглеских речи. И ви ћете бити доведена у питање да напише програм који спелл ​​провере, докумената, по лоадинг да многе речи у меморију што је могуће ефикасније. Генерално питинг против ваших друговима ако се определите се мало изазов у ​​лидера одбора да видимо ко може да користи најмањи секунди времена рада, а Најмањи број мегабајта меморије, и заправо фино подешавање програме да буде невероватно ресурса ефикасна не само време. Прошле године, такође, гледали смо на крају семестра на веб програмирања. И заиста, ми ћемо опет то да урадим године са више проблематичним сетовима, упознавање вас да технике и начин размишљања са којом можете да примените ови программинг вештине да сајтова, динамичких сајтова, сајтови који заправо решавају Проблеми и понашају другачије и да су не само статични сајтови са статичке информације. Коначна Пројекат крају ће дефинисати, ипак, врхунац курса за студенте, у коме ћете бити изазов да спроведе већина нешто од интереса за вас, докле год то некако ослања на часове курса екипе. И као што сте видели у Видео на почетку, ми ћемо закључити семестар са ЦС50 Хацкатхон, што ако, непознати, ће почети у 7:00 часова једне ноћи и завршавају у 7:00 часова следећег јутра. Око 9:00, ми ћемо поредак у првом вечеру. Око 1:00, ми ћемо поредак у другом вечеру. А ако си још увек стоји на 5:00, ми смо ће схуттле бус вас до ИХОП за доручак. ЦС50 Сајам, у међувремену, је догађај којима 2.000 плус факултет, студенти, и особље из преко кампуса ће долазе да виде своје успехе у току и коначна пројекти и креације који сте креирали на својим лаптоповима, десктоп, или можда чак и сијалице. У међувремену, радно време и структура подршке. А сада би било боље време да вас довести до. Радно време ће се одржати четири ноћи недељно за више сати сваке вечери са углавном 20 до 30 особље Курс о дужности одједном да вам пружимо интимно један-на-један могућности за подршку Са Курс је проблем сетовима. Подучавање такође ће бити расположив, нарочито за ученике мање цомфортабле-- или Усуђујем се рећи да макар цомфортабле-- за кога Радно време нису највише неговање окружење а свакако нису највише стреса. Посебно када су рокови притиском, ћемо проактивно ћемо упарите се са чланом особља за рад са на неком редовном распореду као вашим потребама и њихов распоред дозвољава. И особље. Дозволите ми да представим Давон, Роб, и Габријел, главе овогодишњи. Ако би свако желео да прицала- [АППЛАУСЕ] --а реч. [АППЛАУСЕ] Давон овде је Манагер Цоурсе, која значи у свом пуно радно време улоге Он помаже са извршењем и логистика ЦС50. Давон: Да, здраво, момци. Видећете много ми у радног времена. Ја ћу бити предајем секције. И ако пуца е-пошту напред, Ја ћу вероватно реагује. Тако да ћемо видети много те цео семестар. И добродошли на ЦС50. Давид Ј. Малан: А сада Габриел, који је сам био само бруцош прошле године, али за последњих неколико година има послује своју верзију ЦС50 у Бразилу, чиме је преузети све курса за цонтент-- што је јасно је снимљен и постављен онлине-- како би могао да га превести на Португалски и онда научи више од 100 од његових школских другова над току неколико година, наставу на свом матерњем језику Наставни план и програм курса екипе. Габриел: Здраво. [АППЛАУСЕ] Гаврило: Здраво, ја сам Габриел. Ја сам шеф ТФ курса. И надам се да ћете волети ЦС50. Ово је ЦС50. Давид Ј. Малан: Сада Роб. Ох, хоћеш увод? Роб: Не, ја не знам. [СМЕХ] Давид Ј. Малан: И Роб Боден. [СМЕХ] Роб: Здраво, ја сам Роб. Ово је моја пета година укључени у курсу. Сваке године, то је само боље и боље класе, па ви сте очигледно ће бити супер. Надам се да сви имају забавите се са њом. Идем да се забављам са њом. Па видимо се. Давид Ј. Малан: А време неће дозволити ус-- [АППЛАУСЕ] Време нас неће дозволити увести свима на сцени и све њихове колеге који су за куповину часове данас. Али дозволите ми да представим Белинда и ЦС50 Пуззле Дан, који чека ова долази у суботу, што је први од великих размера Догађаји на курсу је. Ова посебно значило да закуца Хоме Поинт то цомпутер сциенце је у крајњој не о програмирању, него о решавању проблема уопште. И Пуззле Дан, као што ћете види, ће вас одвести и својим друговима заједно-- Надамо се да ово суботу. БЕЛИНДА: У реду. Здраво, момци. Па хвала. Дакле, као наш славном капитена рекао је, зовем се Белинда. Ја сам бруцош на Куинци Хоусе. Ја, баш као и ви, узео ЦС50 прошле године, заиста волео. Имам меко место за ви у трећем реду. И ја сам поносан да кажем, сада сам у озбиљној вези са ЦС50 [неразумљиво]. У реду. То је био мој јадно верзија шала. У сваком случају, тако да идемо даље, само сам хтео да позове ви сви на И-Лаб, или ИБД кошница. Ћемо се има Пуззле дан од 12:00 до 3:00. И то је одлична прилика за вас момци да задовољи ваше колеге ЦС пријатеље, реше неки не-ЦС загонетке, као капетан поменуто, и једу неку бесплатну храну, зарадити неки страшан награде, као и поклон картице, $ 75 по особи, а алсо-- шта је? Вии У, или тако нешто? Вии У? Да. За наш лутрију. Авесоме. Па ћу остати после часа. А ако ви имате било Питања, јавите ми. Давид Ј. Малан: И видећете, изван То нема никакве везе данас. Први проблем сет ће се у петак. Већ да нас доведе кући и данас, ја бих да увести вас да конкретно још један члан особља, Цолтон Огден овде, чије руке су сада заштићени изнад вас с Ова МИДИ контролер да закуца дом тачка даље то Цомпутер сциенце, такође, има применљивост далеко изван инжењерство и вретено и рачунарске науке сама, проширење чак таквим областима као музика. Колтон има љубазно офферед-- сам мислио један од њих је требало да поправи фокус. Ендрју, ако бисмо могли да позову Фоцус овде само на тренутак. Оно што је урадио Цолтон унапред је програм Овај уређај, овај пад од дугмади да видите на слици горе, као МИДИ контролер, при чему сваки од ових дугмади је повезан на одређену музичке ноте или звук, генерално снимање, да је такав играјући моделе ових дугмад, попут образаца битова, могу да представљају друге Концепти виши ниво. Хоће ли бити у стању на крају да нас се данас кући овде? Без одлагања, ако је могли бисмо да дим светла, и укључите на екрану иза Цолтон. ПУБЛИКА: Воо! Давид Ј. Малан: Ово је ЦС50. [Мусиц плаиинг] [АППЛАУСЕ] То је то за ЦС50. Ми ћемо видети у петак. Неки Цаке вас чека у трансептом. [Мусиц плаиинг]