>> [Mūzikas atskaņošanas]
[MUSIC - ROSSINI, "RANZ DES VACHES "no William TELL]
>> [MUSIC - ANGĻU BEAT "MARTS No pagrieziena VADĪTĀJU "]
>> [Aplausus un uzmundrinoša]
>> DAVID Malan: Tātad tas ir CS50.
Mans vārds ir David Malan.
Un 73% no jums nav iepriekšējas pieredzes ar datorzinātnēs,
pretēji tam, ko jūs varētu domāt.
Tātad šodien mēs domājam, ka mēs varētu graut šajā neziņas, bet arī
jums sajūtu, tiem no jums, ar lielāku komfortu, kas virzieni
Jūs varat doties šajā semestrī.
>> Tāpēc sāksim ar to.
Man tiešām nav ne jausmas, kas ir piemērots iekšpusē dators, lai gan, tāpat kā jūs, es
izmantot katru dienu.
Bet tas ir sava veida kastē, un tur ir nav daudz ieejas tajā.
Minimāli, tur ir, ko?
Iespējams, strāvas vads.
>> Un tiešām ar šo vienu sastāvdaļu, elektrība, mēs, šķiet, spēj
darot diezgan daudz šajās dienās.
Bet beigās, dienā, mēs ir pārstāvēt lietas
ka mums rūp.
Mums ir pārstāvēt informācija tādā vai citādā veidā.
Un jūs, iespējams, vismaz neskaidri iepazinušies ar ideju par bināro vai
biti vai citādi, datori samazināta līdz nullēm un tiem.
Bet mēs varam pieņemt, ka, un vismaz likts mazliet gaismas ka?
>> Tāpēc man ir šie maz galda lampas šeit.
Man ir elektriskās kontaktligzdas šeit.
Un es esmu gatavojas ierosināt, ka iekšā no mana datora ir vismaz viens no
šīs lietas, kaut kas var tikt ieslēgt vai izslēgt.
Šajā gadījumā, tas ir patiešām galda lampa, bet zemākajā līmenī, tas ir kaut kas
sauc tranzistors.
>> Bet mūsu pasaulē, tā ir galda lampa, tāpēc Es iešu uz priekšu un pievienojiet to
manā elektroenerģiju šeit.
Un es apgalvo, ka, izmantojot šo vienkāršo, vienkāršā ierīce, šo vienkāršo slēdzi, es
var pārstāvēt informāciju.
Piemēram, tieši tagad, es esmu pārstāv neko, vai ne?
Es esmu, kas pārstāv to, ko es saukšu 0 vai nepatiesa, pretī kaut
faktiski nav klāt.
Bet, ja es vienkārši pārvērst šo slēdzi, tagad es esmu veidoja 1.
Tātad, izmantojot šo ļoti vienkāršs gabals atmiņas, ja jūs, es varu pārstāvēt
informāciju.
>> Tagad diemžēl, mans dators nevar darīt visu, ka daudz.
Tā var tikai pārstāvēt divas vērtības visā pasaulē -
0 vai 1.
Bet to, kas ir acīmredzams risinājums, tagad, ja mēs vēlamies paplašināt mūsu datora
atmiņu un pārstāv vairāk nevis tikai 0 un 1?
>> Nu, pieņemsim paķert vēl vienu tādu mazliet.
Let 's paķert citu slēdzi, cits tranzistors, tomēr jūs vēlaties, lai
domā par to.
Ļaujiet man iet uz priekšu un pievienojiet to manā datorā, kā arī.
Un es esmu gatavojas pieprasīt, tagad, ka, Izmantojot mazliet vairāk elektrības un
pagrieziena vairāk no šiem slēdžiem par un off, es varu pārstāvēt vairāk tādas
informāciju.
>> Tāpēc tieši tagad, tas ir 1.
Ja es gribu tagad pārstāv 2, es varētu darīt.
Bet parasti, konvencija, kā mēs ll galu galā redzēt, būs man darīt.
Tāpēc tas ir 0, tas ir 1.
Tas būtu 2.
Un nav pārsteigums, tas būtu 3.
>> Tātad šādā veidā, tomēr, var mēs paļaujamies pat vēl tālāk?
Ja man trešo mazliet, trešā slēdzis, kas ir lielākais skaits es tagad
skaita līdz no 0?
Tātad, 7, ja es esmu, sākot no 0, labi?
Jo, ja es savukārt šo gaismu un faktiski plug šis trešais un pēdējais
iedegties manā elektrisko kontaktligzdu šeit, tad man ir spējīga pārstāvēt
kāds no divām vērtībām šeit, divas vērtības Šeit, divas vērtības šeit -
un tā es varētu pārstāvēt 2 reizes 2 reizes 2, astoņi vai iespējamās vērtības.
Un, ja es sāktu uzskaiti pie 0, tā kas ir 0, 1, 2, 3, 4, 5, 6, 7.
>> Tātad šis bināro.
Tas patiešām ir tik vienkārši.
Un es gribētu apgalvot, ka tas ir faktiski diezgan pazīstams ar lielāko daļu
ikviens šajā telpā.
Ļaujiet man iet uz priekšu un atvērt maz teksta redaktoru šeit.
>> Un jūs varētu atcerēties no pamatskolas ka mums bija lietas, piemēram, simtiem
vietu, desmitiem vietu, un tie, vieta.
Un atcerēties, ka, ja jums bija dažas zīmi aiz komata numuru, kā kaut izlases
piemēram, 123, jūs varētu būtībā raksta, ka no kā
no šiem trim kolonnām.
Un kāpēc ir 1, 2, 3, ko mēs zinām kā 123?
Nu, kreisās malas kolonnā, mums ir one 100 plus divi 10s, tā ka, 120,
plus trīs 1s, tā, ka ir 123.
>> Tagad šī pasaule, ka mēs tikko izgaismota ir tieši tāds pats kā
Jūs esat iepazinušies ar gadiem, izņemot tagad, mūsu kolonnas
nav pilnvaras 10.
Viņi vienkārši pilnvaras 2.
Tādējādi, kaut arī tas ir tiem vietu, šis būs twos vietā, tas ir,
būs četrinieki vietu.
>> Un tāpēc, ka es esmu tikai izmantojot vienkāršāko mehānismu, kas savukārt lietas
ieslēgšana un izslēgšana - elektrība plūst vai elektroenerģijas neplūst -
Man nav gluži ir tas pats izteiksmīga klāstu, kā 0 līdz deviņi.
Mēs ejam, lai saglabātu to super vienkārši šajā pasaulē datoriem.
Man tikai ir 0 vai 1 -
vai izslēgt, nepatiesu vai taisnība.
>> Un tā, ko es esmu, kas pārstāv tieši tagad ir 1, 1, 1, tāpēc, ka katrs no šiem
apgaismojums deg.
Nu, tas dod man vienu 4 un vienu 2, tāpēc , kas ir 6, plus viens 1, un kas ir 7.
Un ergo tas šo secību trīs biti pārstāv 7.
>> Tātad, visu šo laiku, iekšpusē jūsu dators, ir neierobežotu skaitu
tranzistori, kāds skaits bitiem.
Bet beigās, dienā, mēs var pārstāvēt informāciju
kā vienkārši, kā to.
Tagad diemžēl, mēs esam tikai skaitīti līdz līdz 7 CS50 līdz šim, bet
cerams, mēs varam darīt mazliet labāk nekā to.
Un tiešām mēs varam.
>> Pieņemsim, ka mēs kā cilvēki vienkārši patvaļīgi nolēma, ka mēs gatavojamies
saistīt numurus, piemēram, 1 un 2, 3, 4, 5, 6, 7, ar īpašiem vēstulēm
alfabēts.
Un vēsturisku iemeslu dēļ, es esmu gatavojas sāk nedaudz patvaļīgi, bet es esmu
teiksiet, cilvēkus, mēs izlemt kā standarta, globāli, ka
65 norāda, cik burtu A. 66 pārstāvēs B. Dot, dot, dot.
90 pārstāvēs burtu Z.
>> Un pieņemsim, ja mēs patiešām izvirzīti daži domāja par to, mēs varētu nākt klajā
ar skaitļiem par izsaukuma un mazos burtus, un, protams,
citi cilvēki ir darījuši, ka mums.
Tāpēc tagad mums bija biti, ar kuriem mēs varam pārstāv numuri, numuri, ar kuriem
mēs varam pārstāvēt vēstules, un ar burti mēs varam tagad sākt rakstīt
e-pastu un poligrāfijas burtiem uz ekrāna.
>> Tātad, ļaujiet man aicināt, ja es varētu, astoņi drosmīgie brīvprātīgie -
kam nav nekas parādās ne tikai uz kameru, bet internetā -
nākt šurp un pārstāv astoņas šāda biti, nevis šīm trim.
Kā par vienu, lai, divas?
Kā par trīs?
Kā par četriem ņemot zils, pieci uz beigām?
Par kādu, nekā šeit?
Seši priekšā, septiņi priekšā, un astoņi priekšā, kā arī.
>> Tāpēc es vienkārši tā notika nākt sagatavoti ar visu ķekars lapiņām.
Un uz šiem papīra gabaliem ir skaitļi kas atspoguļo to, ko kolonnas
jūs guys gatavojas pārstāvēt.
Tātad jums būs - kāds ir tavs vārds?
>> STUDENTU: Anna Leah.
>> DAVID Malan: Anna Leah, jūs būs 128s kolonna.
Jūs esat?
>> STUDENTU: Chris.
>> DAVID Malan: Chris būs būt 64s kolonna.
Jūs esat?
>> STUDENTU: Dan.
>> DAVID Malan: Dan būs būt 32S kolonna.
>> STUDENTU: Pramit.
>> DAVID Malan: Pramit būs būt 16s kolonna.
>> STUDENTU: Lillian.
>> DAVID Malan: Liliāna būs 8s.
>> STUDENTU: Jill.
>> DAVID Malan: Jill būs būt 4s kolonna.
>> STUDENTU: Mary.
>> DAVID Malan: Marija būs 2s, un?
>> STUDENTU: David.
>> DAVID Malan: David būs būt 1s kolonna.
Tātad, ja jūs puiši varētu pastiprināt nedaudz priekšu, lai ikviens varētu redzēt.
Ko jūs guys neredzu, ka uz atpakaļ no šiem papīra lapiņām ir
maz apkrāptu lapas, kas ir par uzdot šos astoņus bitus vai nu
paaugstināt savu roku vai nē paaugstināt savu roku.
Ja viņu rokas iet uz augšu, viņi pārstāv 1.
Ja viņu rokas paliek uz leju, viņi pārstāv 0.
>> Tikmēr mēs auditorija būtu varētu izrēķināt, pamatojoties uz šo
kartēšana, kādi trīs burtu vārdu šos ļaudīm ir aptuveni izskaidrot.
Tātad tikai brīdi, jūs gatavojas lasīt pirmo rindu pie muguras
Jūsu apkrāptu loksnes, un jūs esat vai nu gatavojas paaugstināt vai paaugstināt savu roku.
Ja jūs esat 1, jūs paaugstināt, ja tu esi 0, jūs stāvēt tur
neveikli, tieši tāpat.
Iet.
Kas numuru, pirmkārt un galvenokārt, ir šie puiši pārstāv?
>> 66.
66, vai ne?
Mums ir 1, kas 64s kolonnā, 1, kas 2s kolonnā.
Tas dod man 66, tā, ka parādās ko pārstāv B. So
jums puiši ir uzrakstīti -
Labi, tas ir pietiekami.
B.
>> Tātad tagad pieņemsim pāriet uz Mūsu otrā vēstule.
Iet.
Kurš ir ātrākais math šeit?
Tātad 79.
Atkal, ja mēs pievienot up visi no kolonnas kurā tur 1, šobrīd, tikai
tāpat kā mēs to darījām agrāk ar vienkāršāko piemēru 7, mēs tagad
saņemt skaitu 79.
Kas saskaņā ar mūsu kartēšana ir burtu O. Tāpēc mēs esam gandrīz tur.
B, O. Un visbeidzot, doties.
>> Ko viņi pārstāv šobrīd?
Mazāk vienprātība.
Tas ir tikai absolūts trokšņi.
Jā, tas ir 87 patiesībā.
Labs.
>> Tātad, ja mēs tagad map, ka atpakaļ līdz - pieņemsim sākt zvanot mūsu ASCII diagrammu,
American Standard kodekss Informācijas apmaiņa.
Tas dod mums vēstuli -
nav "bo", bet "priekšgala." Un tas ir ideāls cue, lai jūs guys veikt priekšgala
un galvu atpakaļ.
Liels paldies.
>> [Aplausi]
>> DAVID Malan: Jūs varat saglabāt to.
Lai gan patiesībā, būtu kāds piemēram, galda lampa, arī?
>> [Brēkt NO AUDIENCE]
>> DAVID Malan: Galda lampa?
>> [Smiekli]
>> DAVID Malan: Tiešām?
Galda lampas ikvienam?
Labi.
Tātad, sākot ar ļoti vienkāršāko principiem, mēs esam tagad ir ne tikai skaitīt
līdz no 0 visu ceļu līdz pat 7, mēs esam uzskatīts, ka tikai metot vairāk
biti vai vairāk gaismas un vairāk tranzistori šo problēmu, mēs varam
pārstāvēt lielāka un lielāka numurus, un ergo, lielāks un lielāks diapazonu
alfabētu, piemēram, angļu valodā.
Un tikai pieņemsim uz ticību šodienas ka tāpat mēs varētu sākt
pārstāvēt grafikas un video, un jebkuru skaits citos masu informācijas līdzekļos, ar kuru mēs esam
pazīstami jau šodien.
>> Tātad, tas ir CS50, un šajā klasē kopā no jums ir, atkal, ļoti daudzi
klasesbiedru, kurš ir tik maz, pieredzi, kā jūs.
Un es to pieminu tikai tāpēc, ka diezgan bieži, tostarp nesen kā vienu no
pirmkursnieks konsultējot notikumiem un Pagājušajā pavasarī ir otrā kursa students konsultē
notikums, mēs bieži dzirdam studenti atsakās kad nāk klajā ar CS galda, labi,
Esmu bijis domāt par ņemot to intro klases, bet es neesmu īsti
datoru persona.
Vai arī, bet visi, protams, zina vairāk par mani.
Un man tas lielākajā fontu iespējams, nodot šo ziņu, ka
tas faktiski nav gadījumā.
>> Un, ja jūs domājām, būtu Es, patiesībā, būt šeit?
Saprotam, ka ne tikai šis kurss ir nosaukums Ievads datoru
Zinātne, tā ir Ievads datoru Zinātne I. Tātad ir patiešām
otrais šāda ievešana.
Tātad jūs neesat, patiesībā, nepareizā vietā.
Un starp mērķiem man ir šodien, ir remdēt jebkādas šāda veida bažas jums
varētu būt, bet arī gleznot priekšstatu par to, kas ir veikalā
skolēniem mazāk un ērtāk gan šajā kursā.
>> Bet pirmais, vārds par vienu no izdales jums ir šodien, starp kurām
Ir vairāki FAQ.
Tas ir bijis redzējums par mūsu kādu laiku Tagad, lai ieviestu jaunu klasifikāciju
iespēja šajā laikā - proti, SAT / UNSAT.
Filozofiski man, tas ir daudz daudz, daudz svarīgāk, ka
studentiem šajā klasē sadarboties ar materiālu, var apstrīdēt
materiāla, un jāuztraucas daudz, daudz mazāk par mehānika Faktisko partitūras
un vēstuļu pakāpes pie semestra beigām, bet patiesi apskāviens
kursa un tā materiāls.
Un tiešām tas jūtas, plašākā nozīmē, par to, kas ir interesanti tiem, kas
jūtas apdraudēta un atalgoti, bet bez bailēm no neveiksmes.
>> Un tiešām, tas arī ir atkārtojas tēma šo un citiem ievada
kursus citās jomās, kas jums ir tas trīsas, kad runa ir par
liekot savas pirkstiem svešs ūdeņos.
Es pats, atpakaļ 1995, bija pirmkursnieks.
Es biju ļoti vērsta uz to Gov koncentratoru šeit.
Un tomēr es gribētu vienmēr uzauguši ar mazliet gada ir interese datorzinātnēs.
Man vienmēr bija ziņkārīgs.
>> Bet toreiz, pat, man bija šī bailes no pat pastiprināšanu kāju CS50, tik daudz
tāpēc, ka man nav pat iepirkties to pirmkursnieks gadu.
Un vienīgais iemesls, kāpēc es likt kāju durvju sophomore gadu bija tāpēc, ka es
bija atļauts ņemt to ieskaitīto / neieskaitīt.
Bet pat ieskaitīts / neieskaitīts prasīts, ka man līdz nervu, lai amatā
ar profesoru Kernehan laikā, celt šo lielo papīra lapu, un lūgt
viņam par viņa parakstu un viņa atļauju, lai izpētītu
šie svešs ūdeņos.
>> Un tas nav palīdzējis pēdējos gados ka tad, kad to izdarīt CS50, kad mēs
kādreiz der / neder, tāpat būtu desmitiem vai simtiem saviem klasesbiedriem
ir jānāk klajā, nedod Dievs, pie priekšpuse Sanders ar šo formu, kas
dažos prātos atspoguļo nespēju, Es uzdrošinos teikt, lai veiktu
ir jūsu vienaudžiem "līmenī.
Kas ir smieklīgi, bet es domāju, ka tur ir, ka mentalitāte.
Un tur nekad nav bijis šajā kultūrā gada SAT / UNSAT, vai ieskaitīto / neieskaitīt vairāk
parasti, šajā laikā, vai tiešām šajā pilsētiņā.
>> Tāpēc šogad mēs mainījuši.
Es būtu sajūsmā puse Šī klase vai vairāk beigusies
galā, ņemot CS50 SAT / UNSAT.
Šajā gada laikā, tas būtu brīnišķīgi ja gandrīz visi ir.
Pēc tam varbūt mēs darbu uz vēstuli pakāpes Hārvardas
Koledžas kopumā.
Bet tagad mēs darīsim to, kas ir mūsu pašu sfēra, un es gribētu sirsnīgi
aicinām jūs iepazīties ar šo FAQ, un uzdot jautājumus, kā redzat fit, lai
cerams tu, atšķirībā no manis, nebūs gluži ir, ka pašu bailes faktors, kad
pētot to, kas ir iespējams, svešs vietu.
>> Tātad, kas ir CS50?
Tas ir ievads intelektuālā uzņēmumi datorā
zinātnes un programmēšanas art.
Bet ko tas īsti nozīmē?
>> Nu, līdz šim, mēs runājām ļoti īsi par pārstāv informāciju.
Bet pieņemsim, ka mēs tiešām vēlamies kaut ko darīt ar to.
Mums ir nepieciešams ieviest jēdzienu , ko mēs saucam par algoritmu.
Algoritms ir procedūra, process, instrukcijas to
darīt kaut ko.
>> Un algoritms, var būt kaut kas super vienkārši.
Piemēram, piemēram, ar kurām dažām no jums varētu būt pazīstams tas ir
lieta šeit.
Tātad šī grāmata, šeit ir arvien vairāk gada, bet tad, kad sensenos laikos, tas
ietverts visai daudz vārdu un tālruņa numuru.
Un tiešām, ja es gribēju, lai atrastu kāds šo tālruni grāmatā -
teiksim, kāds nosaukts Mike Smith -
Es varētu atrast Mike Smith jebkuru numuru no samērā vienkāršas veidos.
Es varētu sākt sākumā, un pāriet uz 1 lapā, tur nav.
Lapa 2, tur nav.
Page 3.
Vai tas ir algoritms, ir tas, ka process, pareizi?
>> Tātad tas ir pareizi, vai ne?
Es esmu veida idiots, lai dara to ka veidā, bet galu galā es gribu
atrast uzvārds S, un cerams, ka Mike ir minētajā daļā, un es kļūs
darīts ar manu algoritmu.
Bet, protams, tas nav saprātīgi.
Lielākā daļa visi saprātīgie cilvēku šajā telpa nebūtu darījuši.
Ko jūs esat darījuši?
>> Jūs esat aizgājuši taisni uz centru, pa labi?
Aptuveni uz vidu.
Un tu saproti, ak, tie ir Ms Tātad Mike Smith, uzvārds ir Smith,
nav, skaidri, tad kreiso pusi no grāmatas.
Viņš ir pret S ir tiesībās.
Un šajā brīdī, lai gan lielākā daļa no mums nav darīt patiesībā, mēs varam
burtiski saplēst šo problēmu pusi.
>> [Uzmundrinoša un aplausi]
>> DAVID Malan: Paldies.
>> [Uzmundrinoša un aplausi]
>> DAVID Malan: Jūs varat burtiski saplēst šo problēma pusi, atstājot mani ar,
burtiski, problēma pusi tik liels.
Tātad, ja šis tālrunis grāmata bija - un tas droši vien bija - apmēram 1000 lappušu, tagad
tas ir tikai 500.
Ja es to izdarītu vēlreiz, un es saprotu, ak, damn, es devos pārāk tālu, es esmu Ts
sadaļā, es varu līdzīgi -
pārnestā vai burtiski -
rip telefona grāmatu - patiesībā tas bija daudz vieglāk, ka laika.
Es varu burtiski noārdīt tālruņa grāmatu uz pusēm, atstājot mani tagad ar
ne 1000, ne 500 -
250 lappuses.
Un es var iet 125, un no ka puse, un puse no ka, un ka puse,
līdz beidzot es būšu palicis tikai vienu lapu.
>> [Smiekli]
>> DAVID Malan: Tas I daļa ciest neveiksmi.
Viens no vienas lapas, uz kuriem Mike cerams ir.
Tagad šie dažādie algoritmi var būt veida novērtētas vai arī
dažādos veidos.
Pirmais bija ļoti lineārs, vai ne?
Pagrieziet lapu, meklēt Mike.
Tas ir ļoti lineāra.
Ja tur ir vēl viena lapa tālrunī grāmatu, tas ir iespējams, gatavojas ņemt mani
vēl viens otrs, viena vienība no laika, Tomēr mēs esam skaitļošanas laiku.
>> Tāpēc es varētu izdarīt, piemēram, tas šo rindu šeit, saskaņā ar kuru par lielumu
Problēma palielinās no kreisās puses uz labo -
tālruņa grāmatu kļūst mazākas, lai lielāks -
un laiks ir gatavojas palielināt par vertikālās ass, lielāka
tālruņa grāmata ir.
Tātad n ir tikai vispārējs mainīgais, datoru zinātnieki izmanto, lai pārstāvētu
dažas vērtības, kādu numuru.
Tātad n gatavojas palielināt lineāri.
Divtik tālruņa grāmatu, tas ir notiek, lai mani divreiz tik daudz
laiks, visticamāk, lai atrastu Mike.
>> Tagad es varētu būt bijis gudrs par to, labi?
Es biju kļūst garlaicīgi ātri.
Varēja darīt to, ko pāriem.
Tātad divas lappuses, tad četri, tad seši, tad astoņi.
Un es varētu sākt peld ar to ir nedaudz ātrāk, kaut arī nelielu risku
pārsniegšana Mike, bet līkne nav būs viss, kas atšķiras.
Tas joprojām būs taisni līnija, bet nedaudz ātrāk.
>> Bet ko man darīt?
Es tiešām kaut ko fundamentāli labāk.
Es sasnieguši to, ko mēs saucam logaritmiska laiks, log no n, saskaņā ar kuru šis zaļš
līnija ir daudz, daudz, daudz mazāk taisni mala uz to.
Un drīzāk, tas liecina, jo tas sava veida tuvojas bezgalībai kādreiz tik pakāpeniski,
ka es patiešām varētu pieņemt 1000-page tālruņa grāmatu, divkāršot savu izmēru
nākamgad - tāpēc pieņemsim, ka daudz vairāk cilvēku pārcelties uz pilsētu.
>> Tāpēc tagad es esam ieguvuši 2000 lapas, bet kā daudz vairāk soļus ir tas, ka gudrākas
algoritms gatavojas pieņemt?
Tikai viens.
Es domāju, tas ir spēcīgs lieta.
Ja mēs ejam uz 4000 lapām nākamajā gadā, kas notiek, lai mani
tikai divi soļi.
Tātad jūs varat mest lielāka un lielāka problēmas pie manis, nevis atšķirībā no interneta ir
throwing lielākas un lielākas problēmas katru dienu plkst Googles un Facebooks par
pasauli, un tas nav tik liels galā.
Tāpēc, ka man vairāk domāja un rūpes par mans algoritms, ar kuru, lai atrisinātu
problēmas efektīvi.
>> Un tiešām, tas būs viens no ar mērķi šo kursu.
Jūs, pa ceļam, uzzinātu, kā programma.
Jūs uzzināsiet, kā programma, kas neierobežotu skaitu valodu.
Bet beigās, dienā, kurss ir par risināšanas problēmas un iegūt
labāk atrisināt problēmas - un, kā gadījumos, piemēram, tas, risinot problēmas
efektīvāk.
>> Tagad līdz šim, mēs esam darījuši diezgan intuitīvi.
Pieņemsim, ieviest kaut ko patiesu sugas sauc pseudocode.
Tāpēc mēs galu galā iegūt, šajā laikā, lai
dažādas programmēšanas valodas.
Bet šodien mēs darīsim to angļu-patīk sintakse, ja jūs vienkārši veida pateikt
ko tu domā, bet tu esi kādreiz tik kodolīga un jums nav jāuztraucas par
gramatikas un pabeigt teikumus.
Jūs vienkārši izteikt sevi, kā lakoniski, cik vien iespējams.
>> Tātad pseudocode ir angļu-patīk sintakse, kas pārstāv
programmēšanas valodu.
Un pret to panāktu, ļaujiet man ierosināt tagad mums modelēt šo procesu, mēs tikai
aprakstīts skaitīšanas kaut nedaudz savādāk, šoreiz ņemot
apskatīt šo piecu minūšu ražots video ar mūsu draugiem pie TED ka
definēts, kas pseudocode ir, nosaka, ko algoritmiskās domāšana ir, un pat
lai gan piemērs jūs gatavojaties redzēt ir, kas pats par sevi, super vienkārši, tas ir
gatavojas sākt, lai dotu mums garīgo modelis, vārdnīca, ar ko
darīt daudz, daudz sarežģītāka algoritmi diezgan ātri.
>> [BEGIN Video atskaņošana]
>> [Mūzikas atskaņošanas]
>> Teicējs: Kas ir algoritms?
Datorzinātnēs, algoritms ir instrukciju kopums, lai atrisinātu dažas
problēma soli pa solim.
Raksturīgi, algoritmi tiek izpildīti ar datoru, bet mēs, cilvēki ir
algoritmus, kā arī.
Piemēram, kā jūs iet par skaitīšana
Cilvēku telpā?
Nu, ja jūs esat līdzīgi man, jūs, iespējams, punkts pie katras personas, viens pie
laiku, un saskaitīt no 0.
1, 2, 3, 4, un tā tālāk.
>> Nu, tas ir algoritms.
Faktiski, pieņemsim mēģināt izteikt to nedaudz vairāk formāli pseudocode -
Angļu-piemēram, sintakse, kas līdzinās programmēšanas valodu.
Ļaujiet N vienāda ar 0.
Katrai personai telpā, kas N vienāds ar N plus 1.
>> Kā interpretēt šo pseudocode?
Nu, līnija viens deklarē, tā sakot, mainīgo sauc N un initializes
tā vērtība līdz 0.
Tas tikai nozīmē, ka sākumā mūsu algoritmu, lieta ar kuru
Mēs esam skaitot vērtība ir 0.
Galu galā, pirms mēs sākam skaitīšanas, mēs neesam skaitīti kaut ko vēl.
Piezvanot uz šo mainīgo N ir tikai konvencija.
Es varētu būt sauc to visvairāk neko.
>> Tagad line divas demarks sākuma, cilpa, secība soļus, kas
atkārtot dažas vairākas reizes.
Tātad mūsu piemērā, soli mēs esam ņemot rēķinās cilvēkus telpā.
Zem līnijas divi ir līnija trim, kas apraksta, kā tieši
mēs iet par skaitīšanas.
Atkāpes nozīmē, ka tā ir line trīs, kas atkārtojas.
>> Tātad, kas pseudocode saka, ir ka pēc tam, sākot no 0, par katru
cilvēks telpā, mēs palielināt N gada 1.
Tagad tas ir algoritms pareizi?
Nu, pieņemsim sprādziena par to mazliet.
Vai tas strādā, ja ir divi cilvēki telpā?
Let 's redzēt.
>> Vienā rindā, mēs sāktu N līdz 0.
Attiecībā uz katru no šiem diviem cilvēkiem, mēs pēc tam pieauguma N gada 1.
Tā uz pirmo brauciena pa cilpa, mēs atjaunināt N no 0 līdz 1.
Uz otro braucienu caur tajā pašā cilpa, mēs atjaunināt N no 1 līdz 2.
Un tā, ko šis algoritms beigām, n ir 2, kas patiešām atbilst skaitu
cilvēki telpā.
>> Līdz šim tik labi.
Kā par stūra gadījumā, lai gan?
Pieņemsim, ka ir 0 cilvēki telpā - bez manis,
kurš dara skaitīšanu.
Vienā rindā, mēs sāktu N līdz 0.
Šoreiz, lai gan, līnija trīs nav izpildīt vispār, jo nav
personu telpā.
Un tā N paliek 0, kas atbilst cilvēku skaits telpā.
Diezgan vienkārši, vai ne?
>> Bet skaitīšanas cilvēki, pa vienai ir diezgan neefektīva, arī, vai ne?
Protams, mēs varam darīt labāk.
Kāpēc neskaitās divus cilvēkus vienlaicīgi?
Tā vietā, skaitot 1, 2, 3, 4, 5, 6, 7, 8, un tā tālāk, kāpēc neskaitās, 2,
4, 6, 8, un tā tālāk?
Tā pat izklausās ātrāk, un tas, protams, ir.
>> Pieņemsim paust šo optimizācijas in pseudocode.
Ļaujiet N vienāda ar 0.
Katram pārim cilvēku telpā, noteikti N ir vienāds ar N, plus 2.
Diezgan vienkārši mainīt, vai ne?
Nevis skaits cilvēku viens laikā, tā vietā mēs skaits
laikā divi tās.
Šis algoritms ir līdz divas reizes tik strauji, kā pēdējo.
>> Bet tas ir pareizi?
Let 's redzēt.
Vai tas strādā, ja ir divi cilvēki telpā?
Vienā rindā, mēs sāktu N līdz 0.
, Ka viens pāris cilvēku, mēs pēc tam pieauguma N ar divi.
Un tā, ko šis algoritms beigām, N 2, kas patiešām atbilst skaitu
cilvēki telpā.
>> Domāt, ka blakus ir 0 cilvēki telpā.
Vienā rindā, mēs sāktu N līdz 0.
Tāpat kā iepriekš, trīs līnijas neizpilda vispār, jo tajā nav pāri
cilvēku telpā.
Un tā N paliek 0, kas patiešām atbilst skaitu
cilvēki telpā.
>> Bet ko tad, ja ir trīs cilvēki telpā?
Kā tas algoritms maksa?
Let 's redzēt.
Vienā rindā, mēs sāktu N līdz 0.
Par pāris no tiem cilvēkiem, mēs pēc tam pieauguma N ar 2.
Bet tad ko?
Nav vēl pilns pāris cilvēku telpā, tā līnija divi nav
vairs nepiemēro.
Un tā, ko šis algoritms beigām, N ir vēl 2, kas nav pareizs.
>> Patiešām, šis algoritms ir teikts, ka buggy, jo tā ir kļūda.
Lets izlīdzināt ar kādu jaunu pseudocode.
Let n vienāds 0 par katru pāri cilvēku telpā.
Uzstādīt N ir vienāds ar N, plus 2.
Ja viens cilvēks paliek nepāra, noteikts N vienāds ar N plus 1.
Lai atrisinātu šo konkrēto problēmu, mēs esam ieviests, četros rindā,
nosacījums, citādi zināma kā filiāle kas izpilda tikai tad, ja tur ir viens
Persona, ka mēs nevarējām pārī ar citu.
Un tāpēc tagad, vai tur ir viens vai trīs vai nepāra skaitu cilvēku
telpa, šis algoritms tagad saskaitiet tos.
>> Vai mēs varam darīt vēl labāk?
Nu, mēs varētu rēķināties ar 3s vai 4s vai pat 5S un 10s, bet tālāk, tas ir
gatavojas iegūt mazliet grūti punktā.
Beigās, dienā, vai izpildīts ar datoru vai cilvēkiem,
algoritmi ir tikai komplekts Instrukciju ar
kas, lai atrisinātu problēmas.
Tie bija tikai trīs.
Kādas problēmas varētu atrisināt ar algoritmu?
>> [END VIDEO PLAYBACK]
>> DAVID Malan: Tas ir vienīgais laiks Es parādīsies karikatūra formā.
Bet kur tas stāsts atstāj off, Tagad, ir tas, kā mēs varam darīt labāk?
Trijiem un četrrāpus, mēs apgalvojam, mēs varam rēķināties cilvēki daudz ātrāk, bet mēs varam
do būtiski labāks par šo?
Un es derēt, mēs varam.
>> Ja mēs ieviest mazliet mūsu pašu pseudocode šeit, es esmu gatavojas ierosināt
ka mēs varam sasniegt līniju, kā šis.
Mēs nebrauksim, lai saskaitītu cilvēkus viens, divi, trīs, četras.
Mēs nebrauksim iet divi, četri, seši, astoņi.
Mēs darīsim būtiski labāk , pārdomājot šo problēmu, un šajā
gadījumā piesaistot pretējā nepietiekami resursu.
>> Tikai brīdi, es ceru, ka jūs piedot un humora mums, stāvus
Vieta, kurā brīdī mēs gatavojamies lūdz katru no jums uzņemties arī Jūsu
prāti numurs 1.
Jūs esat tad dodas uz arvien neveikli, kā laiks iet, atrast
kāds cits, kas stāv, apvienot jūsu numuri kopā
pievienojot tos.
Viens no jums tiek gatavojas rase sēdēt lejup pirmais, un otrs cilvēks
gatavojas atkārtot.
>> Tātad, citiem vārdiem sakot, ar sētu visi Jūs ar numuru 1, un pēc tam
apvienojot šos 1s par 2s un tiem 2S uz 4s, ar visiem aizvien
sēž uz leju, mēs būtu, beigās tas algoritms, ir tikai viens aizdevums
dvēsele, kas nav sēdēt pietiekami ātri, bet kas ir visu auditorijas skaits
viņa vai viņas prātā.
>> Tātad, ja jūs vēlaties, iesim uz priekšu un - soli vienu - piecelties vietā.
Un izpildīt.
>> [Pūļa kurnēšanas]
>> DAVID Malan: Vai jūs zināt, kur Lauren ir?
729?
>> [Pūļa kurnēšanas]
>> DAVID Malan: Viss labi?
>> [Pūļa kurnēšanas]
>> DAVID Malan: Nu labi, mums vajadzētu kas tuvojas beigām.
Mēs redzam vienu puisi stāvot šeit vēl.
Kas vēl nepieciešams pārī?
Ja jūs guys vēlaties pārī off.
Kāds up top.
Kāpēc man aizdot rokas šeit.
Par ļoti maz cilvēku, kuri joprojām stāvam, ko skaitļi jūs
ir jūsu prātā?
>> STUDENTU: 78.
>> DAVID Malan: 78 plus -
kurš stāv uz leju šeit?
>> STUDENTU: 39.
>> DAVID Malan: Plus 39.
Plus, kas vēl joprojām stāv?
81?
OK, kurš gan cits?
Vēl 81?
Wow.
Un tad to, kas ir aizmugurē?
>> STUDENTU: 49.
>> DAVID Malan: 49, plus?
>> STUDENTU: 98.
>> DAVID Malan: 98 plus?
Vai tas ir kāds cits?
12?
Labs darbs.
>> [Smiekli]
>> DAVID Malan: Ak, 112 -
oh.
Labs darbs!
>> [Smiekli]
>> [Aplausi]
>> DAVID Malan: Kāds cits vēl stāv?
Žēl?
>> STUDENTU: 99.
>> DAVID Malan: 99.
Kāds cits vēl stāv?
Un kopējais studentu skaits šeit ir faktiski, saskaņā ar -
Vai jums ir vairākas?
Ak, faktiskais skaits cilvēku telpa, atkarībā no konta, kas
ka mācību puiši darīja uz ikviena veidā, bija 729.
Tātad no pilna istaba ar Harvard studentiem kas saskaita paši,
Atbilde ir 637.
>> [Smiekli]
>> DAVID Malan: Tik tuvu.
Bet tomēr.
Labi, tā tas ir mācību Mirklī, labi?
Tas tagad ir tas, ko mēs aprakstīt kā kļūdu.
Kaut kur pa ceļam, mums bija dažas aritmētika nepareizi, vai kāds apsēdās,
vai pa kreisi, vai arī kaut kas nogāja greizi.
Bet tas ir jauki.
Jo pat vēl, mēs ieguva diezgan tuvu.
Un es gribētu apgalvot, ka mēs saņēmām nepareizi atbildēt daudz ātrāk, nekā es būtu
izmantojot manu vairāk lineāro pieeju.
>> Tātad, pieņemsim, mēs neesam faktiski iegūtu, ka labot, bet domāju, ka tagad par to, kas
notika katru reizi, salīdzinot ar manu pašu naivi norādot algoritms.
Viens, divi, trīs.
Ja tiešām ir 729 vai 637 cilvēku šeit, kas būtu jāņem mani
burtiski 637 vai 729 pointings no pirkstu un
palielināšanai manu kopējo skaitu.
Un es varētu darīt mazliet labāk, iet divi, četri, seši, astoņi, un
divkāršot ātrumu, varbūt pat trīskāršu vai četrkāršs, atkarībā no tā, cik labi es varu
darīt, ka skaitīšana manā galvā.
>> Bet šī pieeja, ka jūs guys bija bija būtiski atšķiras.
Jo sākumā, jūs visi piecēlās.
Tātad visi 729.
Un tad burtiski pusi no jums apsēdās.
Un pēc tam, cits puse no jums apsēdās.
>> Un kopējais skaits reižu, ka jūs puiši varētu būt apsēdās ir aptuveni
astoņi vai deviņi vai desmit kopējie reizes, atkarībā no tā, kas ir mūsu kopējais skaits ir.
Un mēs varam sava veida darīt tas citā veidā.
Ja mums bija 1024 cilvēki telpā, kopskaits reizes jūs varētu
uz pusi samazināt 1024 cilvēkiem ir 10.
>> Tagad domāju par to pretējā virzienā.
Pieņemsim, smieklīgi, ka mums bija, teiksim četrus miljardus cilvēku šajā telpā,
vai nedaudz lielāka telpa.
Cik reizes mēs esam izgājuši izmantojot šo algoritmu, piemēram, ka puse
šīs klases apsēžas?
Tas ir tikai gatavojas veikt 32 šāda operācijas, pat klases lielums
četrus miljardus.
Kāpēc?
Tāpēc, ka četrus miljardus iet uz divām miljardus, iet uz vienu miljonu, iet uz
500 miljoni, iet līdz 250 miljoni, dot, dot, dot.
Es varu darīt tikai šī sadalīšana kādu 32 laiks, kurā brīdī, visi, izņemot
viena persona būtu stāv.
>> Un tas arī ir sava veida spēcīgu Ideja, ka arvien vairāk mēs cenšamies
sviras šajā laikā, un kas programmēšana un datorzinātnes vairāk
Parasti, šīs baktērijas, kuru idejas ar ko mēs varam atrisināt problēmas daudz,
daudz spēcīgāk.
Tā mēs sākām diezgan vienkārša ar to pseudocode un telpā puisis, bet
Tagad ar visu istabu pilns ar cilvēkiem mēs esam izdarījuši būtiski labāk.
>> Nu, pieņemsim tagad pāreju no pseudocode uz kādu faktisko kodu.
Šī valoda jūs gatavojaties redzēt notiekam saukt JavaScript, un
mēs atgriezties šajā virzienā semestra beigās.
Tas ir programmēšanas valoda, kas jums izmantot, lai tīmekļa vietnes un citus šāda
programmatūras šajās dienās.
Un mēs esam lietojuši, pateicoties draugam No mūsu Stenfordas, lai šifrēt
dažas slēptās informācijas šeit.
Tā ir māksla steganography, tā teikt, kur jūs varat paslēpt
informācija, ko citādi šķiet ir troksnis vai pilnīgi atšķirīgu
attēlu vispār.
Bet iekļaut šajā konkrētajā attēlu ir patiešām noslēpums ziņu veidu.
>> Tātad, ļaujiet man iet uz priekšu un uzvilkt tas pats attēls šeit, šis
laiks interneta pārlūku.
Un es esmu gatavojas vilnis savu roku pie dažām vai ziņas par šodienu, jo īpaši
tiem no jums, kas tas izskatās ne tikai JavaScript bet grieķu, kā
pilnīgi svešs valoda.
Bet tas ir piemērs programmēšanas valodu.
>> Un tagad, ņem uz ticību, ka šī pirmā līnija kods -
un ar kodu, es tikai domāju tekstu.
Teksts, ka es varētu būt burtiski drukāti Microsoft Word, ja man bija
pareizo programmatūru, lai pēc tam kaut ko darīt ar to.
Programmēšana pirmkodu, programmēšana kods, ir tiešām tikai tekstu, un tas
izskatās citādi, pamatojoties uz to, kas valodā jūs izmantojat, nevis pretēji angļu un
Spāņu un krievu visi izskatās dažādi rakstot tos jūsu klaviatūras.
>> Tātad, šī pirmā rindā, lai tagad jāuzņemas ticība, vienkārši atver grafiku no
internets, ka skaļš grafika mēs tikko redzējām.
Šis nākamais līnija šeit ir piemērs cilpa, un mēs tiešām redzēju, ka pats
žargonu, kas TED video.
Cilpa ir kaut kas notiek atkal un atkal, un pat ja tas
absolūti izskatās noslēpumains, ar atslēgvārdu, un dažas iekavas, un
daži semikoliem.
Mēs būsim atpakaļ, ka pirms ilgi, bet cilpa tur būtībā ir
stāsta programmu, atkārtot pār visiem Šo skaļš punkti, no kreisās uz
labi, no augšas uz leju.
>> Jo beigās, dienā, attēla kā šis - un jūs faktiski var
veida redzēt to šajā projektoru -
ir tiešām tikai režģis punktiem.
Tātad, mēs varam identificēt katru no šiem punktiem ar koordinātu, x, y, un ar šo
Programma, tagad mēs varam sākt kaut ko darīt, šiem punktiem.
>> Tātad, ko es esmu gatavojas iet uz priekšu šeit un Vai ir es esmu gatavojas veikt dažas izmaiņas.
Vispirms es esmu gatavojas iet uz priekšu un atbrīvoties no visa, kas zaļgans un zilgani
troksni, un es esmu gatavojas iet uz priekšu un tips šādu
protams mistisks sintaksi.
im par attēlu.
noteikts zila atrašanās x, komats, atrašanās vieta y, 0.
Citiem vārdiem sakot, es gribu, lai tikai izslēdziet visas zila
punktiņi šajā bildē.
>> Es iešu uz priekšu tūlīt un nospiediet Šī Run / Save pogu, un jūs
paziņojums par labajā pusē, rezultātā attēls.
Tagad tā super zaļa, bet tas nav pārsteidzoši, jo es burtiski pagriezās
off, veicot A 1 A 0, visi no zilā šajā bildē.
>> Nu, tagad pieņemsim to darīt mazliet vairāk.
im par attēlu, dot setGreen, x, y.
Un tas tikai nozīmē, atkārtot no kreisās , lai pa labi un pēc tam no augšas uz leju.
Turn, kas off ar vērtību no 0, kā arī.
Saglabāt.
Un uz projektoru, jūs nevarat patiešām īsti redzēt kaut ko vispār.
>> Par manu klēpjdators ekrāna, ja es peer tikai nedaudz pareizais ceļš, es redzu mazliet
attēlu, jo viņi joprojām daži sarkanā tur.
Ja jūs esat kādreiz dzirdējuši akronīms RGB -
sarkana, zaļa, zila -
tas attiecas uz šo sastāvu no attēlu, izmantojot
tikai šie trīs krāsas.
Un tieši tagad, mēs esam izmesti visi zaļš, viss zils, bet
tur nav daudz sarkano.
>> Tātad, ļaujiet man crank up sarkanā krāsā.
Kā es varu darīt?
Nu, pirmkārt, es esmu gatavojas lūgt Šī programma jautājums.
Es iešu uz priekšu un sauksim to mainīgs, tāpat kā algebra.
Jums var būt x vai y vai z.
Es esmu gatavojas deklarēt mainīgo un teikt, nodot šo mainīgo,
laiku, vērtība attēli getRed vērtību x, y.
>> Un atkal, mēs atgriezīsimies pie visiem Šī detalizācijas nākotnē.
Bet tagad, tikai pieņemt ticību, ka šī līnija ir jautā programmu, kas
ir sarkans vērtība pie x, y?
Tajā konkrētajā dot?
>> Tad es esmu gatavojas darīt kaut ko, lai to.
Tad es esmu gatavojas darīt attēla dot komplekts sarkans pie x, y, y, bet šoreiz es esmu gatavojas
palielināt to darot sarkanās reizes, teiksim, 10.
Tā palielināt to ar koeficientu 10.
Ļaujiet man tālināt tagad klikšķis varētu Run / Save.
Un voila, ka tur bija visa laiks, lai gan mūsu cilvēka acīm
īsti nespēju redzēt.
>> Tātad vēlreiz, tagad tas ir reāls kods, piemērs valodā, ka mēs nāksim
atpakaļ uz pirms ilgi.
Bet saprast, jo tiem no jums, bez šādas pieredzes, tas ir diezgan
drīz, ka mēs paši būs rakstot kodu, piemēram, ka tur.
Faktiski, instrumentu, ar kuru jūs visi nedaudz pazīstami, varbūt, ir CS50 ir
pašu kursu-iepirkšanās rīks, kas bija faktiski rebooted šovasar daži
no CS50 pašu bijušajiem studentiem, tagad savukārt TFS.
>> Tātad tas notiek, ir būvētas mājas lapā valodā sauc par PHP.
Tas izmanto datu bāzi, ko sauc par MySQL, lietas , ar kuru mēs iegūtu mūsu rokās
netīrs vēlāk semestrī.
Bet ticiet vai ne, pat kaut ko piemēram, tas galu galā samazina līdz
visvienkāršākais cilpas un nosacījumus, un zari, tāpat kā mēs redzējām tikai
pirms brīža uz TED video.
>> Ko es domāju, ka man tagad darīt, ir dalīties nav tikai kaut ko mēs darbinieki ir veikuši
par Campus, bet gan kaut kas bijušais students - trīs
studentiem, patiesībā -
veikts pagājušajā gadā, Sierra, Daniel, un Sam, pēdējais no kuriem nebija iepriekšējas
programing pieredze kad viņš bija CS50.
Un to gala projektu, viņi izstādīti, pie CS50 Fair,
pieteikums sauc wrdly, kas ir tīmekļa programma, kuru viņi
šis video, ka es domāju, ka man dalīties ar sniedz jums sajūtu tieši to, kas ir
iespējams, termins beigām.
>> [Mūzikas atskaņošanas]
>> DAVID Malan: Tas ir no nedēļa Zero līdz nedēļai 12 pagājušajā gadā.
>> [Aplausi]
>> DAVID Malan: Kā teaser, too, tiešām apetītes rosināšanai, ir to, kas ir
iespējams, jums var būt redzējis jau, vai drīz var redzēt, market.cs50.net, ar
jauns instruments, ka kurss komanda ir strādājusi par, šoreiz
sadarbībā ar Harvard Student Aģentūrām, piemēram, ka sākot ar šo gadu
un turpinot cerams, uz to nāk vasarā jums ir standarts
iespēja Campus pirkt un pārdot lietas, kas interesē tevi.
Un ar partnerību ar HSA, jūs arī varētu nomest objektus off
vienā no HSA fizisko veikalu pēc dažām punkts turpmāk, lai
proxy lietas, jo, kā jūs absolvents un ne vienmēr vēlas, lai
izmest lietas, bet patiesībā to samaksāt nosūtīt uz ļaudīm, kas varētu sekot jums
Šeit par Campus.
Tātad vairāk par to, lai nāk.
>> Bet nedaudz vairāk konkrētāk, instruments kas ir nāk no CS50 ir nesen
gadu, ar ko daži no jums varētu būt pazīstami un citi no jums varētu būt
googling tagad, CS50.net/2x, jūs atrast saiti uz Chrome paplašinājumu
kas ir uzskatāmu par to, kā jūs varat izmantot JavaScript, tajā pašā valodu mums
izmanto ar Eifeļa torni pirms brīža, īstenot 2x atskaņošanas ātrumu
visiem Harvard iSites video.
Tas ir kaut kas ir būvēts uz CS50 pašu video atskaņotājs.
Bet tas arī, ja jūs sākat rakt uz pirmkodu, ko mēs
laimīgi padarīt pieejamu, jūs redzēsiet, kā Jūs pat varat atrisināt problēmas, piemēram, ka,
paātrinot logrīki mājas lapas ar kas jūs jau labi pazīstami.
>> Tātad vārds tagad kursu un cerības un kādi ir priekšā.
Vispār, mēs patiešām savākt šeit pirmdienās un trešdienās - gan
šo piektdien, mēs apkopot, jo gada Shopping nedēļas -
1:00-14:00, lai gan dažreiz līdz 02:30.
Ņemot vērā, ka jūs, iespējams, tādēļ vēlas, vai ir veikt dažas klases at 2:00
tālāk, vai pat agrāk, saprotu, kurss ir atbalstoša, ko sauc
vienlaicīga uzņemšana, kurā mēs atbalstīt lūgumrakstu Ad padomei un
Jūsu iedzīvotājs dekānu jūsu vārdā, ja jums ir konflikts kaut kur šajā
1:00-02:30 diapazonā.
Dodies uz šo URL internetā par papildu informāciju.
>> Bet attiecībā uz atbalsta struktūras kas raksturo CS50, studentiem
vairāk un mazāk apmierināti līdzīgi, mēs piedāvā atšķirīgas dziesmas no sadaļām.
Un tas ir pāris nedēļas off, bet Pirms gara, jums tiks lūgts, lai
jūsu komforta līmeni.
Vai Jūs starp tiem mazāk apmierināti, ērtāku, vai
kaut kur pa vidu?
>> Un mums būs trīs atšķirīgas dziesmas, kas rūpējas, lai
tieši tie auditorijai.
Tātad nevienā brīdī tajā laikā jums būtu pat justies kā jūs konkurēt
pret jebkuru studentu ar vairāk vai mazāk fons, nekā jūs.
Patiešām, kurss ir domāts, lai būtu daudz vairāk sadarbības un daudz
atvērtāki nekā.
>> Runājot par problēmu kopu, jūs atrast, arī, ka papildus
standarta izdevums katras nedēļas problēmu komplekts, tur bieži vien "hakeris
izdevums ", kas ir domāts, lai būtu mērķtiecīgi pie 5% līdz 10%, vai arī tā no
demogrāfiskā kurš ir patiešām viens no tiem ērtāku un vēlētos vairāk
izaicinājums, nekā standarta izdevums par šo PSET sagaida.
Sīkāka informācija par tiem, kādus atrast mācību.
>> Bet arī tur var atrast informāciju uz kursiem vēlu dienas.
Parasti problēma komplekti pienākas ceturtdienās.
Tomēr jūs varat paplašināt daudzus no jūsu termiņi šis kritums no ceturtdienas līdz
Piektdienās, vienkārši izpildot mūs pusceļā, tā teikt, atbildot uz dažiem iesildīšanās
jautājumi daži no nedēļas problēmu komplekti, kas būs automātiski
pēc tam sniedz jums papildus 24 stundas.
Mēs arī piliens jūsu zemākais punktu, kā vienu no mācību programmas.
>> Lai dotu jums sajūtu, ko problēma komplekti ir - tāpēc, ka tas ir patiešām
Kurss ir problēma nosaka, ka galu galā noteikt gandrīz katrs
studenta pieredzi, vairāk nekā lekcijas, vairāk nekā nodaļās, vairāk
tā kā lielākā daļa citu aspekts gaitā.
Pērn, piemēram, mēs sākās, kā mēs sāksim šogad, ar nulles.
Īpaši šo piektdien, mēs izmantosim, lai tikai vienas dienas laikā, grafiskā
programmēšanas valoda, ar kuru mēs sākt plānošanu, velkot un
pilināmā puzzle gabalus, ka tikai montēt fiziski, ja tas ir jēga
to darīt loģiski.
>> Nākamnedēļ, mēs ātri pāreju uz C, diezgan vecs, bet ļoti mazs, un
vienkāršā valodā, kas ļaus mums patiešām iet 0-60 gaitā
par dažām nedēļām, un pēc tam parlay šie paši prasmes un zināšanas
pamata programmēšanas konstrukcijas uz augstāka līmeņa valodas, piemēram, PHP,
JavaScript, un vēl citi joprojām.
>> Pagājušajā gadā, trešais PSET laikā bija tas, ka par kriptogrāfiju,
domēna īpašo pieteikumu, kurā mums apstrīdēt studentiem, lai īstenotu kādu
skaits cipariem, programmas, ar kuru motokross vai atšifrēt informāciju,
šifrēt to.
Par hakeru izdevumā, gluži pretēji, mēs deva hakeris studentiem failu
no standarta Unix datoram, kas satur lietotājvārdi un paroles,
no kuriem pēdējie šifrēta, un mēs apstrīdēt tos hacker
studentiem, lai atšifrētu, cik labi vien varēja, šīs paroles, joprojām, ka
pats domēns.
>> Motokross, spēle ar kurām dažām no jums, iespējams, ir iepazinušies.
Kriminālistikas gabals, kur mēs lūdzam studentus lai atgūtu datus, kas bija
citādi ir svītrots no mana digitālā Kameras kompaktu flash karti, ar
faktiski rakstot programmatūru, lai noskaidrotu, kur bija nulles un tiem, kas
ka digitālā kamera, kas iepriekš veido JPEG grafiku?
>> Izaicinājums veidu pagājušajā gadā iesaistot rakstot ātrākais
pareizrakstības pārbaudītājs iespējas, konkurējot pret draugiem un klasesbiedriem, ja
viņi gribētu.
Īstenošanas pukoties 'n Puff, saspiešanas programmu.
Un tad beidzot pusgadu ar CS50 Finanses, tīmekļa pieteikumu ar
kas jums izveidot Etrade līdzīgu mājas lapā pirkt un pārdot krājumus, tāpēc, lai
runā, ko faktiski velkot gandrīz reālā laika citātus Yahoo!
Finanses.
>> Ko mēs to nedarīju pagājušajā gadā bija viena problēma komplekts, kas paliek
tomēr mīļākie.
Ja jūs nekad neesmu devusies uz shuttle.cs50.net, jūs redzēsiet lietotāju
interfeiss mazliet kā šis.
Bet pirms diviem gadiem, klases īstenota, izmantojot Google Maps un
Google Earth plug-in, un mazliet par gudriem ar braukšanas apkārt Campus,
tā, ka no šīs spēles mērķis bija, kā jūs varat redzēt dažus no sejas,
ir braukt ap Campus meklē personāls, mācību puiši un CAS, un
ja jūs, liekot tos uz savu autobusu.
Neviens no viņiem faktiski, šķiet, ir šeit, tāpēc mēs ejam, lai ievadītu apkrāptu kodu.
>> [Smiekli]
>> DAVID Malan: Tur mēs ejam.
Labi.
Un šeit nu ir darbinieki savītas visā universitātes pilsētiņā.
Un, kā jūs varat redzēt, uz labās rokas pusē no ekrāna, autobuss
ir tukšas vietas.
Un mērķis bija uzrakstīt kods, ar kuru to simulētu
braukšanas un pacelt un pilināmā nost no pasažieriem.
Ka viens arī, izmantojot valodu sauc JavaScript.
Tāpēc jāsaprot, ka programmas, piemēram, ka būs būt mūsu pašu trajektoriju šis
gadā, kā arī.
>> Runājot, tagad, papildu atbalsts, mums ir biroja stundas.
Kā jūs varētu būt redzējis savā mājā ēdamzāle vai Annenberg,
mēs būsim mājā dining zāles četras naktis nedēļā -
Leverett, Pfoho, Eliots un Annenberg Šogad, 20:00-23:00.
Un ko mēs domājam, ka mēs gribētu darīt šajā gadā ir kaut nedaudz atšķiras.
>> Ja esat dzirdējuši rumblings pagājušajā gadā, ka tas bija mazliet pārāk saspringta, šis
gada darba laika, kā mēs aprakstīt nākamnedēļ, būs vairāk organisko,
kurā ierodoties, jūs būsiet nosūta uz vienu konkrētu tabulu
ja vairāki darbinieki gaida, un mēs darīsim lietas daudz vairāk
organiski.
Ne vairāk rinda, ne vairāk iPad, bet drīzāk ir vairāk intīmo
sarunas ap tabulu vienkārši astoņi vai tik studenti, lai mēs
aptuveno noskaņu, kas citādi varētu būt daudz mazāks klase.
>> Mēs piedāvājam, kā arī, šīs lietas mēs sauc walkthroughs, video filmēja
iepriekš ar vienu no kursa ir mācību puiši, Zamyla, kurā viņa
pastaigas Jūs, izmantojot nedēļas problēmu komplekti, kas piedāvā padomus un trikus, lai
problēmas, kas gulēja uz priekšu.
Un otrādi, pēc tam, kad problemātisko kopas ir dēļ, šogad, mēs arī atbrīvot
maz klipi zvaniet Pēc nāves izmeklējumu ka faktiski staigāt jums caur
pārstāvis risinājumi, gan labs un slikti, caur kuru jūs varat secināt, cik
Jums varētu būt vai būtu īsteno savu risinājumu.
>> Un ko mēs piedāvājam pirmoreiz šajā gadā, kā arī, it īpaši
tiem studentiem, kuri paņēmuši gada kurss ir citi
resursi, bet tomēr cīnās pārāk daudz, protams,
pati pārī tiem studentiem, kā resursi atļauj, ar pasniedzējiem tā, ka
Jums ir daudz vairāk intīmo iespēja nekā mājas ēdamzāles
ļauj vienu-uz-vienu palīdzību.
>> Tagad galīgais ieskatu dažas no gala spēles aktuāli.
Jums varētu būt pazīstami ar CS50 Hackathon.
Nu, nāk šā gada decembrī, no 8:00 AM līdz 7:00, sākumā
Reading periods, būs iespēja savākt ar klasesbiedriem -
tas varētu būt ap 21:00 -
kura laikā jūs nirt savu galīgo projekta īstenošana kopā
klasesbiedriem, draugiem, un pārtiku.
Tas varētu būt ap 01:00, kad pirmā partija pārtikas ieradušies.
Un tas ir aptuveni 4:00, ka īpaši šogad pie CS50 Hackathon.
>> Bet taisnība kulminācija protams, ir domāts, lai CS50 gadatirgus, Campus mēroga
izstāde savu gala projektu, ar kuru ģimenes un draugi ir visi
uzaicināja, jo mūsu darba devējiem un mūsu draugi no nozares.
Tas, piemēram, ir pazibēt no 2000-plus cilvēki, kas esam apmeklēja
pēdējo gadu laikā.
Izpausmes, piemēram, tas nav nekas neparasts, un tāpat dara savu
klasesbiedru iepriecināt lietas Jūs esat paveikt.
>> Un patiesībā, pret to panāktu, mums ir start-of-termiņa notikums, kā labi.
Ja lietas, piemēram, šo vēršos pie jums, vai jūs vismaz ziņkārīgs par to, ko
tas, zinu, ka jauna tradīcija Kurss tiek saukta CS50 Puzzle diena.
Un tas tika ieviests pāris gadus atpakaļ, lai tiešām signalizēt Campus
ka datorzinātnes nav par programmu, un tas noteikti nav
par visaptverošu tikai tiem studentiem kam ir iepriekšēja pieredze.
Tas ir patiešām par problēmu risināšanas kopumā.
>> Un tā Puzzle diena, pēdējos gadus, ir kļuvis par jauku
partnerattiecības ar mūsu draugiem Facebook, kad tur būs pasakains
balvas un pāri upei pica i-lab šo nāk sestdiena.
Dodies uz šo URL ar divām vai trīs draugi, ja jūs vēlaties piedalīties
šajā jaunajā tradīciju.
>> Tāpēc es gribētu lūgt, lai jūs saglabātu vienu lieta prātā, un mēs esam ieguvuši tikai
divu minūšu clip uz kuriem slēgt šodien.
73% ir skaitlis atcerēties.
Kūka, arī jūs gaidīs ārpus šīs transept kā mēs atliek tikai nedaudz
pāris no momentiem, kas ir tradīcija gada gaitā, kā arī.
Bet tas ir galvenais citāts Protams, ir programma, kas jāpatur prātā.
Kas galu galā ir svarīgi šajā kursā ir ne tik daudz, ja jūs galu galā
attiecībā pret saviem klasesbiedriem, bet, ja Jūs, 12 nedēļa, galu galā, salīdzinot ar
sevi 0 nedēļā.
>> Bet ieskatu, ka mēs atstāsim jums ar šodien tas ir pēdējais šeit
mūsu pašu Danielu, kurš bija wrdly video tikai pirms brīža.
Es atstāt jūs ar šo ieskatu par to, kas ir priekšā.
Un, tā kā mēs to darām, ja mēs varētu būt CS50 darbinieki no priekšpuses telpā
nākt uz augšu uz skatuves gleznot visu vairāk par vizuālo attēlu, kā līdz
ko jūs gaida šogad -
kļūst neērti.
Mēs noslēgt ar šo šeit uz ekrāna.
>> [Mūzikas atskaņošanas]
>> DAVID Malan: Tas ir CS50.
>> [MUSIC - MATT & KIM, "tas ir alright"]
>> SPEAKER 1: Es mīlu CS50 vairāk nekā kaķiem.
>> SPEAKER 2: Whoaaaa!
>> [Smiekli]
>> DAVID Malan: Tas tad ir CS50.
Mēs redzēsim jūs piektdien.
>> [Aplausus un uzmundrinoša]
>> Teicējs: Nākamajā CS50, uz skatuves demo nav iet kā plānots.
>> DAVID Malan: mēs vēlamies, lai atrastu Mike Smith šajā tālruņu katalogā.
Nu, kādas ir jūsu instinkti?
Es varētu pieslēgties aptuveni uz vidu tālruņa grāmatu, skatiens uz leju, redzam, ka
Es esmu pie M, un tagad es zinu, ka Mike Smith ir ne pa kreisi.
Viņam ir jābūt pa labi.
Un tā šajā brīdī, mēs var burtiski saplēst -
šajā brīdī, mēs varam burtiski saplēst -
Šajā brīdī, mēs varam tēlaini saplēst telefona grāmatu pusi.
>> [UKELELE strinkšķina]