>> [MUZIKO ludi]
[MUZIKO - Rossini, "RANZ donas VACHES "EL WILLIAM TELL]
>> [MUZIKO - LA ANGLA BEAT, "MARTO DE LA giratoria kapoj "]
>> [Aplaŭdoj kaj huraoj]
>> DAVID Malan: Do ĉi tiu estas CS50.
Mia nomo estas David Malan.
Kaj 73% el vi havas neniun antaŭan sperton kun komputiko,
Male al kio vi eble pensas.
Do hodiaŭ ni pensis ke ni devus Blato for en tiu manko de familiareco, sed ankaŭ
doni al vi la senton de, por tiuj el vi kun pli da komforto, kiu direktoj
vi povas iri ĉi semestro.
>> Do ni komencu per tiu.
Mi vere ne scias kio estas ene de komputilo, kvankam, kiel vi, mi
uzas ĝin ĉiutage.
Sed estas iu speco de skatolo, kaj estas ne multaj enigoj en ĝin.
Minimume, estas, kio?
Probable potenco ŝnuron.
>> Kaj ĝuste kun ĉi tiu ingredienco, elektro, ni ŝajnas esti kapabla
fari sufiĉe tiuj tagoj.
Sed je la fino de la tago, ni devas reprezenti la aĵojn
ke ni zorgas pri.
Ni devas reprezenti informojn en iu formo.
Kaj vi probable almenaŭ pigre familiara kun la ideo de duumaj aŭ
bitoj iu maniero aŭ alia, komputiloj reduktita al nuloj kaj.
Sed ni povas brakumi tio kaj almenaŭ metu iom da lumo por ke?
>> Do mi havas ĉi tiujn iom skribtablo lampoj tie.
Mi havas elektran elirejon tie.
Kaj mi tuj proponi ke ene de mia komputilo estas almenaŭ unu el
tion, iu kapablas esti ŝaltita aŭ ekstere.
En ĉi tiu kazo, ĝi estas ja skribtablo lampo, sed en la suba nivelo, estas io
nomata transistoro.
>> Sed en nia mondo, estas tablo lampo, tiel Mi tuj iros antaŭen kaj ŝtopi tiun
en mian elektro tie.
Kaj mi asertas ke uzi tiun simplan, simpla mekanismo, tiu simpla ŝaltilo, mi
povas reprezenti informojn.
Ekzemple, nun mi estas reprezenti ion, ĉu ne?
Mi reprezentas kion mi vokos 0 aŭ falsa, la malo de io
fakte, cxeestante.
Sed se mi simple turni ĉi tiu ŝaltilo, nun mi reprezentis 1.
Do uzante tiun tre simpla peco de memoro, se vi volas, mi povas reprezenti
informoj.
>> Nun bedaŭrinde, mia komputilo ne povas fari cxion, kio multe.
Ĝi nur povas reprezenti du valoroj en la tuta mondo -
0 aŭ 1.
Sed kio estas evidenta solvo, nun, se ni deziras pligrandigi niajn komputilo
memoro kaj reprezentas pli ol nur 0 kaj 1?
>> Nu, ni kaptu alia tia iom.
Ni ekpreni alian ŝaltilon, alia transistoro, tamen vi ŝatus
opinias pri ĝi.
Lasu min antaŭeniri kaj ŝtopi tiun en mian komputilon tiel.
Kaj mi tuj asertas, nun, ke per uzante iom pli elektro kaj
igante pli da tiuj ŝaltiloj en kaj malproksime, mi povas reprezenti pli tiaj
informoj.
>> Do ĝuste nun, ĉi tiu estas 1.
Se mi volas nun prezenti 2, mi povis fari tion.
Sed tipe, konvencio, kiel ni instruos vin fine vidas, havos min fari tion.
Do tiu estas 0, ĉi tio estas 1.
Ĉi tiu estus 2.
Kaj ne mirinde, tiu estus 3.
>> Do, en tiu maniero, ankoraŭ, ĉu ni rigardas supren ecx plie?
Se mi akiros tria bito, tria ŝaltilo, kio estas la plej alta nombro mi povas nun
rakonti ĝis de 0?
Do 7 se mi startanta je 0, ĉu ne?
Ĉar se mi turnas tiun lumon sur kaj vere ŝtopi tiun tria kaj fina
lumon en mian elektran konektilon tie, tiam mi havas la kapablon por reprezenti
iu el du valoroj tie, du valoroj ĉi tie, du valoroj tie -
kaj do mi povas reprezenti 2 fojoj 2 fojoj 2, aŭ ok eblaj valoroj.
Kaj se mi komencas librotenado ĉe 0, tiel tio estas 0, 1, 2, 3, 4, 5, 6, 7.
>> Do tiu duuma.
Vere estas tiel simpla kiel tiu.
Kaj mi volas argumenti ke tiu fakte estas sufiĉe familiara al plej
ĉiuj en tiu ĉambro.
Lasu min antaŭeniri kaj malfermi iom tekstoredaktilo tie.
>> Kaj eble vi memoras de grado lernejo ke ni havis aĵoj kiel la centoj
loko, la dekoj loko, kaj tiuj, loko.
Kaj memoru, ke se vi havis iun dekuma nombro, kiel iu hazarda
kiel 123, vi farus esence skribi ke ekstere en la formo
de tiuj tri kolumnoj.
Kaj kial estas 1, 2, 3 kio ni konas 123?
Nu, en la maldekstra kolumno, ni havas unu 100 plus du 10s, do tio estas 120,
plus tri 1s, do tio estas 123.
>> Nun ĉi tiu mondo kiun ni ĵus lumigis Estas ĝuste la sama kiel
vi jam estis familiara kun dum jaroj, krom nun, niaj kolumnoj
ne estas potencoj de 10.
Ili estas nur potencoj de 2.
Do dum tio estas tiuj, loko, tiu tuj estos la duope loko, ĉi tiu estas
tuj estos la kvarpiede loko.
>> Kaj ĉar mi estas nur uzante la simpla de mekanismoj por turni aĵoj
ene kaj ekstere - elektro fluas aŭ elektro ne fluas -
Mi ne sufiĉe havas la saman esprima gamo kiel 0 tra naŭ.
Ni tuj fari gxin super simpla en ĉi tiu mondo de komputiloj.
Mi nur havas 0 aŭ 1 -
ekstere aŭ sur, falsaj aŭ veraj.
>> Kaj tiel kion mi reprezentas nun estas 1, 1, 1, ĉar ĉiu el tiuj
lumoj estas lumigita.
Nu, tio donas al mi unu 4 plus unu 2, tuj kiam tio estas 6, plus unu 1, kaj tio estas 7.
Kaj ergo faras ĉi vico de tri bitoj reprezentas la numero 7.
>> Do tiu tuta tempo, ene de via komputilo, estis ajna kvanto de
transistoroj, ajna kvanto de bitoj.
Sed je la fino de la tago, ni povas reprezenti informojn
kiel simple kiel tiu.
Nun bedaŭrinde, ni nur rakontis ĝis 7 en CS50 tiel malproksime, sed
espereble ni povas fari iom pli bona ol tio.
Kaj efektive ni povas.
>> Supozu ke ni kiel homoj simple arbitre decidis ke ni iras
asocii nombroj kiel 1 kaj 2, 3, 4, 5, 6, 7, kun specifaj literoj de
la alfabeto.
Kaj pro historiaj kialoj, mi tuj komenci iom arbitre, sed mi
dironta, la homoj, tuj decidi kiel normo, sume, ke
65 reprezentas la numeron de la litero A. 66 reprezentos B. Dot, punkto, ĝi pentras.
90 reprezentos la letero Z.
>> Kaj ni supozu, se ni vere metis iom pensis en ĝin, ni povus veni supren
kun la numeroj por ekkrio punktoj kaj minuskla literoj, kaj efektive,
aliaj personoj faris tion por ni.
Do nun ni havis bitoj kun kiu ni povas reprezenti nombrojn, nombroj kun kiu
ni povas reprezenti literojn, kaj kun leteroj ni povas nun komenci formi
retpoŝtojn kaj printeblaj signoj en la ekrano.
>> Do mi invitas, se mi povus, ok kuraĝa volontuloj -
kiuj ne gravas aperi ne nur en ĉambro sed en la interreto -
veni ĉi tien kaj reprezenti ok tiaj bitoj, anstataŭ tiuj tri.
Do kiel pri unu, du?
Kion pri tri?
Kion pri kvar en lumo blua, kvin sur la fino?
Pri iu ĉi tie?
Ses en fronto, sep en fronto, kaj ok en fronto, tiel.
>> Do mi Hazarde veni preta kun tuta amaso de pecoj de papero.
Kaj en tiuj pecoj de papero estas nombroj kiuj reprezentas kion kolumnoj
you guys iras reprezenti.
Do vi estos - kio estas via nomo?
>> Lernanto: Anna Lea.
>> DAVID Malan: Anna Lea, vi estos la 128s kolumno.
Vi estas?
>> Lernanto: Chris.
>> DAVID Malan: Chris volo esti la 64s kolumno.
Vi estas?
>> Lernanto: Dan.
>> DAVID Malan: Dan volo esti la 32s kolumno.
>> Lernanto: Pramit.
>> DAVID Malan: Pramit volo esti la 16s kolumno.
>> Lernanto: Lillian.
>> DAVID Malan: Lillian estos la 8s.
>> Lernanto: Jill.
>> DAVID Malan: Jill volo esti la 4s kolumno.
>> Lernanto: Maria.
>> DAVID Malan: Mary estos la 2s, kaj?
>> Lernanto: Davido.
>> DAVID Malan: Davido volo esti la 1s kolumno.
Do se vi infanoj povus treti iom antaŭen tiel ke ĉiuj povu vidi.
Kion vi infanoj ne vidas estas ke en la dorso de tiuj pecoj de papero estas
iom cheat folio tio estas estonta instrui tiujn ok bitoj al ĉu
levi sian manon aŭ ne levi sian manon.
Se lia mano levigxas, ili estas reprezentante 1.
Se lia mano restas malsupren, ili estas reprezentante 0.
>> Dume, ni la publiko devus esti povis diveni, bazita sur ĉi tiu
surĵeto, kion tri-letero vorto tiuj uloj intencas literumi ĝin.
Do, en nur momente, vi tuj legi la unuan linion sur la dorso de
via cheat tukon, kaj vi ĉu tuj supreniri aŭ ne levi vian manon.
Se vi estas 1, vi proponas, se vi estas 0, vi staras tie
mallerte, ĝuste tiel.
Iru.
Kio numeron, unuavice, estas tiuj infanoj reprezentas?
>> 66.
66, ĉu ne?
Ni havas 1 en la 64s kolumno, 1 en la 2s kolumno.
Tio donas al mi 66, tiel ke aperas esti reprezentanto B. Do
vi infanoj literumita -
Bone, tio sufiĉas.
B.
>> Do nun ni movi sur nia dua litero.
Iru.
Kiu estas plej rapida en matematiko ĉi tie?
Do 79.
Denove, se ni aldonas la tutan de la kolumnoj en kiuj estas 1, aktuale, nur
kiel ni faris antaŭe kun la simpla de ekzemploj de 7, ni nun
akiri la numeron 79.
Kiu laŭ nia surĵeto estas la letero O. Do ni estas preskaŭ tie.
B, O. Kaj laste, iru.
>> Kion ili reprezentas nun?
Malpli konsento.
Tio estas nur absoluta murmuro.
Jes, estas fakte 87.
Bona.
>> Do, se ni nun mapaj ke reen ĝis - ni komenci nomante nian ASCII grafikaĵo,
American Standard Code for Informo Interŝanĝo.
Tio donas al ni la leteron -
ne "bo", sed "pafarkon." Kaj tio estas perfekta cue por vi infanoj preni pafarko
kaj kapon sur dorso.
Dankon tre multe.
>> [Aplaŭdo]
>> DAVID Malan: Vi povas subteni ilin.
Kvankam fakte, estus iu kiel skribtablo lampo, ankaŭ?
>> [Hoot EL aŭdienco]
>> DAVID Malan: Desk lampo?
>> [Ridado]
>> DAVID Malan: Vere?
Skribtablo lampoj por ĉiuj?
Ĉio bone.
Do komencante per la tre plej simpla de principoj, ni nun ne nur rakontis
supren de 0 tuta vojo ĝis 7, ni supozis ke nur ĵetante pli
bitojn aŭ pli lumoj aŭ pli transistoroj en ĉi tiu problemo, ni povas
reprezenti pli kaj pli granda nombro, kaj ergo, pli kaj pli varias de
alfabetoj, kiel la angla.
Kaj ĝuste ni prenu sur fido por hodiaŭ kiuj simile povus ni komencas
reprezenti grafiko kaj video kaj ajna numeron de alispeca kun kiu ni estas
parenco hodiaŭ.
>> Do tiu estas CS50, kaj en ĉi tiu klaso apud vi estas, denove, tre multaj
samklasanoj kiuj havas tiom malmulte sperti kiel vi.
Mi mencias ĉi nur pro sufiĉe ofte, inkluzive kiel ĵus kiel unu el
la novulo konsilante eventoj kaj ĉe lasta printempo de sophomore konsilante
evento, ni ofte aŭdas studentoj disclaim kiam venis al la CS tablo, nu,
Mi pensas pri preni tiun intro klaso, sed mi ne vere
komputilo persono.
Aŭ, sed ĉiuj certe scias pli ol mi.
Mi metis tion en la plej granda tiparo eblas, por transdoni ĉi tiun mesaĝon, ke
tio ne estas fakte la kazo.
>> Kaj se vi scivolas, devus Mi, fakte, esti ĉi tie?
Konscii, ke ne nur estas ĉi tiu kurso de titolo Enkonduko al komputila
Scienco, ĝi estas Enkonduko al komputila Scienco I. Do estas ja
dua tia enkonduko.
Do vi ne estas, fakte, en la malĝusta loko.
Kaj inter la celoj mi havas por hodiaŭ estas al assuage tiajn zorgojn vin
povus havi, sed ankaŭ por pentri bildo de kio estas en vendejo por
studentoj malpli kaj pli komforta egale en ĉi tiu kurso.
>> Sed unue, vorto en unu el la handouts vi havas hodiaŭ, inter kiuj
Estas nombro de FAQs.
Jam pasis vizion de nia por iu tempo nun enkonduki novan gradeco
opcion en ĉi tiu kurso - nome, SAT / UNSAT.
Filozofie por mi, estas multe da, multe pli grava ol la
lernantoj en tiu klaso partoprenas kun la materialo, esti kontestita de la
materialo, kaj maltrankviliĝu, kiu havas multe malpli pri la mekaniko de reala partituroj
kaj litero gradoj ĉe semestro la fino, sed vere brakumas la
kurson kaj lia materialo.
Kaj vere tiu sentas, pli ĝenerale, por kio estas interesa al ili, al
sentas defiita kaj rekompencita sed sen timo de malsukceso.
>> Kaj efektive, tiu tro estas _recurring_ temo en ĉi tiu kaj aliaj enkonduka
kursoj en aliaj kampoj, ke vi havas ĉi trepidación kiam temas
metante unu la piedfingrojn en nekonataj akvoj.
Mi mem, tie en 1995, Estis novulo.
Mi estis tre multe centris en esti oni Gov concentrador tie.
Kaj tamen mi ĉiam elkreskis kune kun iom de intereso en komputiko.
Mi estis ĉiam scivolema.
>> Sed tiutempe, eĉ, mi havis tiun timon eĉ tretante piedon en CS50, tiel
tiel ke mi eĉ ne aĉeti ĝin unua jaro.
Kaj la sola kialo Mi metis piedon en la pordo dua jaro estis ĉar mi
permesis preni ĝin pasi / malsukceso.
Sed eĉ pasas / malsukceso postulis ke mi ricevas ĝis la nervo fari rendevuon
kun Profesoro Kernehan en la momento, venigu ĉi granda folio de papero, kaj petu
lin pro lia subskribo kaj lia permeson por esplori
tiuj nekonataj akvoj.
>> Kaj ĝi ne helpis en la lastaj jaroj ke farinte tion en CS50, kiam ni
kutimis esti pass / malsukceso, simile farus dekoj aŭ centoj de viaj samklasanoj
devas veni supren, Dio gardu, en la fronto de Sanders kun ĉi tiu formo, kiun
en iuj mensoj reprezentas nekapablo, Mi kuraĝas diri, realigi
Kiuj estas viaj kunlernantoj 'nivelo.
Kio estas ridinda, sed mi faras pensi ekzistas tiu pensmaniero.
Kaj tie neniam estis en tiu kulturo de SAT / UNSAT, aŭ pasi / malsukceso pli
ĝenerale, en ĉi tiu kurso, aŭ vere en ĉi campus.
>> Do ĉi tiu jaro ni ŝanĝis tion.
Mi estus ekstaza duono de tiu klaso aŭ pli finiĝis
supren prenante CS50 SAT / UNSAT.
En jaro tempo, estus mirinda se preskaŭ ĉiuj estas.
Poste eble ni devos labori en letero kvalifikojn en Harvard
Kolegio pli ĝenerale.
Sed nuntempe, ni faros ĉi ene de niaj propra sfero, kaj mi ja volus elkore
kuraĝigas vin por revizii tiujn FAQs kaj demandojn kiel vi decidos, tiel ke
espereble vi, kontraste al mi, ĉu ne sufiĉe havas tiun sama timo faktoro kiam
esplori kio estas probable malmulte kutiman lokon.
>> Do kio estas CS50?
Ĝi estas enkonduko al la intelekta entreprenoj de komputilo
scienco kaj la arto de programado.
Sed kion signifas tio vere signifas?
>> Nu, ĝis nun, ni parolis tre mallonge pri reprezenti informojn.
Sed supozu ke ni efektive volas fari ion per ĝi.
Ni devas enkonduki la nocion de kion ni vokos algoritmo.
Algoritmo estas proceduro, procezo, aro de instrukcioj por
fari ion.
>> Kaj algoritmo povas esti io super simpla.
Ekzemple, ekzemplo, per kiu iuj vi eble familiara estas ĉi
afero ĉi tie.
Do ĉi tiu libro ĉi tie estas ĉiufoje datita, sed iam, ĝi
enhavis tuta loto de nomoj kaj telefonnumerojn.
Kaj efektive, se mi volis trovi iu en tiu telefono libro -
diri, ke iu nomata Mike Smith -
Mi povis trovi Mike Smith en ajna numero de sufiĉe simplaj manieroj.
Mi povus starti je la komenco kaj movi sur al paĝo 1, ne ekzistas.
Paĝo 2, ne estas tie.
Paĝo 3.
Ĉu tio estas algoritmo, estas ke procezo, korekta?
>> Tia estas korekta, ĉu ne?
Mi estas speco de idioto por fari ĝin en alie, sed fine mi volas
trovi la familinomo S, kaj espereble Mike Estas en tiu sekcio, kaj mi iĝos
farita per mia algoritmo.
Sed certe ĝi ne estas intuicia.
Plej ĉiu racia homo en ĉi tiu ĉambro ne estus farinta tion.
Kion vi faris?
>> Vi ŝatus iris rekte al la mezo, ĉu ne?
Malglate al la mezo.
Kaj vi konscias, ho, jen estas la Ms Do Mike Smith, familinomo esti Smith,
ne estas, klare, tiam en la maldekstra duono de la libro.
Li devas esti al la S estas en la dekstra.
Kaj je tiu punkto, kvankam la plimulto de ni Ne faru tion en realeco, ni povas
laŭvorte dissxiros tiun problemon en duono.
>> [Huraado kaj aplaŭdoj]
>> DAVID Malan: Dankon.
>> [Huraado kaj aplaŭdoj]
>> DAVID Malan: Vi povas laŭvorte dissxiros ĉi problemo en duono, lasante min kun,
laŭvorte, problemo duono tiel granda.
Do se tiu telefono libro estis - kaj Probable estis - 1.000 paĝojn, nun
ĝi estas nur 500.
Se mi faras tion denove kaj mi rimarkas, ho, malbenita, mi iris tro malproksime, mi estas en la Ts
sekcio, mi povas simile -
figure aŭ laŭvorte -
ŝiri la telefonon libro - ĝi estis vere multe pli facila ol tempo.
Mi povas laŭvorte ŝiri la telefonon libro la duono, lasante min nun kun
Ne 1.000, ne 500 -
250 paĝoj.
Kaj mi povas iri 125, kaj duonon de tio, kaj duono de tiu, kaj duonon de tio,
ĝis fine mi restos kun nur unu solan paĝon.
>> [Ridado]
>> DAVID Malan: Tio estas la parton mi malsukcesos plu.
Unu sola paĝo sur kiu Mike espereble estas.
Nun tiuj malsamaj algoritmoj povas esti speco de taksita aŭ taksitaj
malsamaj manieroj.
La unua estis tre lineara, ĉu ne?
Turnu paĝo, serĉi Mike.
Estas tre lineara.
Se tie estas pli paĝo en la telefono libro, ĝi estas probable tuj portos min
pli dua, pli unuo de tempo, tamen ni komputanta tempo.
>> Do mi povus desegni kiel ĉi tiu linio ĉi tie, per kiu la grandeco de la
problemo pliigoj de maldekstre al dekstre -
telefono libro ricevas pli malgranda por granda -
kaj la tempo tuj pliigi la la vertikala akso, la pli granda
la telefono libro estas.
Do la n estas nur ĝenerala variablo kiu komputikistoj uzas por reprezenti
iu valoro, iu nombro.
Do la n tuj pliigi lineare.
Duoble la grandeco de la telefono libron, ĝi estas tuj portos min duoble pli
tempo, probable, por trovi Mike.
>> Nun mi povintus esti inteligentaj pri ĉi tio, ĉu?
Mi ricevas truita rapide.
Povus esti farita ĉi duope.
Kaj du paĝoj, tiam kvar, tiam ses, tiam ok.
Kaj mi povis komenci flugi tra ĝin iom pli rapide, kvankam al malgranda risko de
overshooting Mike, sed tiu kurbo estas ne tuj estos tiom malsimila.
Ĝi estas ankoraŭ tuj estos rekta linio, sed iomete pli rapida.
>> Sed kion mi faru?
Mi vere faris ion fundamente bona.
Mi sukcesis kion ni vokos logaritma tempo, ŝtipo de n, per kiu tiu verda
linio havas multe, multe, multe malpli rekte rando al ĝi.
Kaj ĝuste, ĝi supozigas, kiel ordigi de alproksimiĝas malfinio iam tiel iom post iom,
ke mi povus vere preni 1.000 paĝoj telefono libro, duobligi sian grandecon
venontjare - ĉar supozas multe pli da homoj movi al la urbo.
>> Do nun mi havas 2.000 paĝojn, sed kiel multaj pli paŝoj estas ke pli inteligenta
algoritmo tuj preni?
Nur unu.
Mi volas diri, ke estas potenca afero.
Se ni iras al 4.000 paĝojn venontjare, ke tuj prenu min
nur du paŝojn.
Do vi povas ĵeti pli kaj pli problemoj ĉe mi, ne kontraŭe al la retejo
ĵetante pli kaj pli problemojn ĉiutage ĉe Googles kaj Facebooks de
la mondo, kaj ne tia granda interkonsento.
Ĉar mi metis pli da pripensado kaj zorgo en mia algoritmo kun kiu solvi
problemojn kompetente.
>> Kaj efektive, kiu estos unu el la celoj de tiu kurso.
Vi volas, survoje, lernas kiel plani.
Vi lernos kiel plani en kiom ajn da lingvoj.
Sed je la fino de la tago, la kurso estas pri solvi problemojn kaj ekhavi
pli bona ĉe solvi problemojn - kaj, kiel en kazoj kiel tiu, solvante problemojn
pli efike.
>> Nun tiele nun, ni faris tiun sufiĉe intuicie.
Ni enkonduki iun sufiĉe generic nomata _pseudocode_.
Do ni eventuale akiras, en ĉi tiu kurso, por
diversaj programlingvoj.
Sed hodiaŭ ni tion faros en la angla-kiel sintakso, kie vi nur speco de diri
kion vi volas diri, sed vi estas ĉiam tiom konciza kaj vi ne maltrankviligi
gramatiko kaj kompletaj frazoj.
Vi nur esprimi sin kiel koncize kiom eblas.
>> Do _pseudocode_ estas angla-kiel sintakso kiu reprezentas
lingvo de programado.
Kaj al tiu celo, mi proponas ke ni nun modeligi la procezo ni simple
priskribita de kalkulado iu iom malsame, ĉifoje preni
rigardi ĉi kvin-minuta video produktita de niaj amikoj en TED ke
difinas kio _pseudocode_ estas, difinas kio algoritma pensado estas, kaj eĉ
kvankam la ekzemplo vi por vidi estas, en si mem, super simpla, estas
tuj komencu doni al ni la mensa modelo, la vortaro, kun kiu
fari multe, multe pli kompleksa algoritmoj sufiĉe rapide.
>> [BEGIN reprodukto de vídeo]
>> [MUZIKO ludi]
>> Rakontanto: Kio estas algoritmo?
En komputiko, algoritmo estas aro de instrukcioj por solvi iujn
problemo paŝo post paŝo.
Tipe, algoritmoj estas ekzekutitaj per komputiloj, sed ni homoj havas
algoritmoj, kiel bone.
Ekzemple, kiel vi iros pri kalkulo de la kvanto
de homoj en ĉambro?
Nu, se vi estas kiel mi, vi estus probable punkto je ĉiu persono, unu ĉe
tempo, kaj kalkulu ĝis de 0.
1, 2, 3, 4, kaj tiel plu.
>> Nu, tio estas algoritmo.
Fakte, ni provu esprimi ĝin iom pli formale en _pseudocode_ -
Esperanto-simila sintakso kiu memoras lingvo de programado.
Estu N egalas 0.
Por ĉiu persono en ĉambro, N egala al N plus 1.
>> Kiel interpreti tiun _pseudocode_?
Nu, linio oni deklaras, por tiel diri, variablo nomata N kaj inicializa
lia valoro al 0.
Ĉi nur signifas, ke komence de nia algoritmo, la afero kun kiu
ni rakonti havas valoron de 0.
Post ĉiu, antaŭ ol ni komencos rakonti, ni ne havas ion ankoraŭ.
Nomante tiun variablon N estas nur konvencio.
Mi povus esti nomis ĝin plej nenion.
>> Nun linio du demarks la komenco de buklo, sekvenco de paŝoj kiuj volo
ripeti iun nombron da fojoj.
Do, en nia ekzemplo, la paŝo ni preni kalkulas homoj en la ĉambro.
Sub linio du estas linio tri, kiu priskribas ĝuste kiel
ni iros sur rakonti.
La deŝovon implicas, ke ĝi estas linio tri kiu ripetos.
>> Do kio estas la _pseudocode_ diras estas ke post startanta je 0, por ĉiu
persono en la ĉambron, ni instruos vin pliigi N per 1.
Nun estas ĉi tiu algoritmo korekta?
Nu, ni Bang sur ĝi iom.
Ĉu ĝi funkcias se estas du personoj en la ĉambro?
Ni vidu.
>> En linio, ni pravalorizi N al 0.
Por ĉiu el tiuj du personoj, ni tiam pliigo N per 1.
Do en la unua vojaĝo tra la buklo, ni ĝisdatigi N de 0 al 1.
Sur la dua vojaĝo tra tiu sama buklo, ni ĝisdatigi N de 1 al 2.
Kaj tiel de ĉi tiu algoritmo fino, n estas 2, kiu efektive kongruas la nombro de
homoj en la ĉambro.
>> Ĝis nun, tiel bonaj.
Kion pri angulo kazo, kvankam?
Supozi estas 0 personoj en la ĉambro - krom mi,
kiu estas faranta la kalkulo.
En linio, ni pravalorizi N al 0.
Ĉi tiu fojo, kvankam, linio tri ne ekzekuti tute pro tio ke ne estas
persono en la ĉambro.
Kaj tial N restas 0, kiu koincidas kun la nombro de homoj en la ĉambro.
Sufiĉe simpla, ĉu ne?
>> Sed kalkulante homoj unuope estas sufiĉe senutila, tro, ne?
Certe ni povas fari pli bone.
Kial ne havas du personoj samtempe?
Anstataŭ rakonti 1, 2, 3, 4, 5, 6, 7, 8, kaj tiel sinsekve, kial ne rakontis, 2,
4, 6, 8, kaj tiel plu?
Ĝi eĉ sonas pli rapide, kaj tio certe estas.
>> Ni esprimi ĉi optimumigo en _pseudocode_.
Estu N egalas 0.
Por ĉiu paro de homoj en ĉambro, aro N egala al N plus 2.
Bela simpla ŝanĝo, ĉu ne?
Anstataŭ grafo personoj unu samtempe, ni anstataŭ kalkuli
ili du samtempe.
Ĉi tiu algoritmo estas tiel dufoje tiel rapide kiel la lasta.
>> Sed estas korekta?
Ni vidu.
Ĉu ĝi funkcias se estas du personoj en la ĉambro?
En linio, ni pravalorizi N al 0.
Por tiu paro de homi, ni tiam pliigo N por du.
Kaj tiel de ĉi tiu algoritmo fino, N estas 2, kiu efektive kongruas la nombro de
homoj en la ĉambro.
>> Supozi sekva ke ekzistas 0 personoj en la ĉambro.
En linio, ni pravalorizi N al 0.
Kiel antaŭe, linio tri ne ekzekuti tute ne, ĉar ekzistas nenia paroj
de personoj en la ĉambro.
Kaj tial N restas 0, kiu ja egalas la nombro de
homoj en la ĉambro.
>> Sed kion se estas tri homoj en la ĉambro?
Kiel funkcias tiu algoritmo vojagxo?
Ni vidu.
En linio, ni pravalorizi N al 0.
Por paro el tiuj personoj, ni tiam pliigo N per 2.
Sed tiam kion?
Ne estas alia plena paro da homoj en la ĉambro, tiel linio du neniu
plu validas.
Kaj tiel de ĉi tiu algoritmo fino, N ankoraŭ estas 2, kio ne estas ĝusta.
>> Fakte, ĉi tiu algoritmo estas dirita al esti kalesxon, ĉar ĝi havas eraron.
Lets kompensajn kun iuj novaj _pseudocode_.
Estu n egalas 0 por ĉiu paro de homoj en ĉambro.
Ŝanĝu N egala al N plus 2.
Se unu persono restas unpaired, aro N egala al N plus 1.
Por solvi ĉi tiun apartan problemon, ni prezentis, en linio kvar, oni
kondiĉo, alie sciata kiel branĉo ke nur ekzekutas se estas unu
persono, ke ni ne povis paron kun alia.
Kaj tial nun, ĉu estas unu aŭ tri aŭ ajna nepara nombro de homoj en
la salonon, ĉi tiu algoritmo nun rakonti ilin.
>> Ĉu ni povas fari eĉ pli bona?
Nu, ni povus rakonti en 3s aŭ 4s aŭ eĉ 5s kaj 10s, sed preter tio, ĝi estas
ricevos iom Malfacile punkto.
Je la fino de la tago, ĉu ekzekutita per komputiloj aŭ homoj,
algoritmoj estas nur aro de instrukcioj kun
kiu solvi problemojn.
Tio estis nur tri.
Kio problemo estus vin solvi kun algoritmo?
>> [FINO reprodukto de vídeo]
>> DAVID Malan: Tio estas la sola fojo Mi aperos en karikaturo formo.
Sed kie tiu rakonto lasas for, nun, estas kiom ni povas fari pli bonan?
Triope kaj kvarpiede, ni asertas, ni povas kalkuli personoj multe pli rapida, sed ni povos
do fundamente bona ol tio?
Kaj mi vetas ni povas.
>> Se ni enkonduki iom de nia propra _pseudocode_ tie, mi tuj proponi
ke ni povas atingi linio kiel ĉi tio.
Ni ne tuj rakontos homoj unu, du, tri, kvar.
Ni ne tuj iros du, kvar, ses, ok.
Ni tuj faros fundamente bona per rethinking la problemo, kaj en tiu
kazo, utiligante la cetere infrautilizados rimedo.
>> En nur momente, mi esperas ke vi pardonu kaj humuro nin per piedo en
loko, je kiu punkto ni tuj petu ĉiu el vi prenu en via
mensoj la numero 1.
Vi tiam tuj ĉiufoje mallerte, kiel la tempo pasas, trovi
iu alia kiu staras, kombini via numerojn kune
per aldoni ilin.
Unu el vi estas tiam tuj konkuri por sidi malsupren unua, kaj la alia persono
tuj ripetas.
>> Do alivorte, por semi ĉiuj vi kun la numero 1, kaj poste
kombinante tiujn 1s en 2s kaj tiuj 2s en 4s, kun ĉiuj ĉiufoje
sidiĝi, ni devus, je la fino de ĉi tiu algoritmo, havas nur unu prunto
animo, kiu ne sidiĝu sufiĉe rapide sed kiu havas la tutan publiko grafo
en lia aŭ ŝia menso.
>> Do se vi estus, ni iru antaŭen kaj - treti unu - ekstari en loko.
Kaj ekzekuti.
>> [Crowd murmurado]
>> DAVID Malan: Ĉu vi scias kie Lauren estas?
729?
>> [Crowd murmurado]
>> DAVID Malan: Ĉiuj ne?
>> [Crowd murmurado]
>> DAVID Malan: Bone, ni devus esti proksima al la fino.
Ni vidas unu ulo staris tie senmove.
Kiu alia bezonas esti parigita?
Se vi infanoj deziras al dueto malproksime.
Iu supren supro.
Kial mi ne pruntedonos mano tie.
Por la tre malmultaj personoj kiuj estas ankoraŭ starante, kion nombroj do you
havas en via menso?
>> Lernanto: 78.
>> DAVID Malan: 78 pli -
kiu estas staranta cxi tie?
>> Lernanto: 39.
>> DAVID Malan: Plus 39.
Plus, kiu alia estas ankoraŭ staranta?
81?
OK, kiu alia?
Alia 81?
Wow.
Kaj poste kio estas en dorso?
>> Lernanto: 49.
>> DAVID Malan: 49, plus?
>> Lernanto: 98.
>> DAVID Malan: 98 plus?
Ĉu iu alia?
12?
Bonan laboron.
>> [Ridado]
>> DAVID Malan: Oh, 112 -
oh.
Bonan laboron!
>> [Ridado]
>> [Aplaŭdo]
>> DAVID Malan: Anyone else ankoraŭ staras?
Pardonu?
>> Lernanto: 99.
>> DAVID Malan: 99.
Iu alia ankoraŭ staras?
Kaj la tuta nombro de studentoj tie estas vere, laŭ -
ĉu vi havas numeron?
Ho, la reala nombro de homoj en la ĉambron, konforme al la konto ke
la instruado kamaradoj faris sur ĉies maniero, estis 729.
Do el roomful de Harvard studentoj kiu rakontis, la
respondo estas 637.
>> [Ridado]
>> DAVID Malan: Tiel proksime.
Sed ankoraŭ.
Bone, do tio estas instruado momento, ĉu ne?
Tiu nun estas kion ni priskribas kiel cimon.
Ie survoje, ni faris kelkajn aritmetika erara, aŭ iu sidiĝis,
aŭ maldekstra, aŭ iu iris malbone.
Sed tio estas bone.
Ĉar eĉ ankoraŭ, ni atingis sufiĉe proksima.
Kaj mi volas argumenti ke ni alvenis al la malĝusta respondas multe pli rapide ol mi havus
uzante mian plej lineara alproksimiĝo.
>> Do ni supozu ni faris efektive atingi tiun korekti, sed pensas nun pri kio
okazis ĉiufoje, kontre mia propra naiva indikante algoritmo.
Unu, du, tri.
Se estas vere 729 aŭ 637 homoj tie, ke estus preninta min
laŭvorte 637 aŭ 729 pointings de la fingro kaj
pliigante mia tuta grafo.
Kaj mi povus fari iom pli bone per iri du, kvar, ses, ok, kaj
duobligi tiu rapido, eble eĉ trioblaj aŭ kvarobla, depende kiel bone mi povas
fari tion rakonti en mia kapo.
>> Sed ĉi alproksimiĝo kiu you guys prenis estis fundamente malsamaj.
Ĉar en la komenco, vi ĉiuj ekstaris.
Do ĉiu 729.
Kaj poste laŭvorte duono vi eksidis.
Kaj post tio, alia duono el vi eksidis.
>> Kaj la tuta nombro de fojoj, ke vi infanoj povus esti sidiĝis estas krude
ok aŭ naŭ aŭ dek tutaj epokoj, depende de kio nia tuta grafo estas.
Kaj ni povas ordigi de fari tiu alia maniero.
Se ni havis 1.024 homoj en la ĉambron, la totala nombro da fojoj vi povus
Halve 1.024 homoj estas 10.
>> Nun pensu pri tio en la alia direkto.
Supozu, ridinde, ke ni havis, diri kvar miliardoj da homoj en ĉi tiu ĉambro,
aŭ iomete pli granda ĉambro.
Multfoje estus ni trapasis tra ĉi tiu algoritmo, tia ke duono
de tiu klaso eksidas?
Ĝi estas nur tuj prenu 32 tiaj operacioj, eĉ en klaso de grandeco
kvar mil milionoj.
Kial?
Ĉar kvar miliardoj iras al du biliono, ĝi iras al unu miliono, iras al
500 milionoj, iras al 250 milionoj, punkto, ĝi pentras, ĝi pentras.
Mi povas nur fari tion divido iujn 32 tempoj, je kiu punkto, ĉiuj krom
unu persono restus starantaj.
>> Kaj, ankaŭ, estas speco de potenca ideo, ke ĉiufoje ni provos
influon en ĉi tiu kurso, kaj en programado kaj komputiko pli
Ĝenerale, tiuj ĝermoj de ideo kun kiun ni povas tiam solvi problemojn multe,
multe pli potence.
Do ni komencis sufiĉe simpla kun tio _pseudocode_ kaj knabo en ĉambro, sed
nun kun tuta ĉambro plena de homoj ni faris fundamente bona.
>> Nu, ni nun transiro de _pseudocode_ al iu reala kodo.
Ĉi tiu lingvo vi estas por vidi okazi esti nomita JavaScript, kaj
ni revenos al ĉi rilate semestro la fino.
Ĝi estas programlingvo, ke vi uzi por fari TTT-ejojn kaj aliaj tiaj
programaro tiuj tagoj.
Kaj ni uzis ĝin, danke al amiko de nia en Stanford, por kodi
iujn kaŝitajn informojn ĉi tie.
Ĉi tiu estas la arto de steganography, por tiel diri, kie vi povas kaŝi
informoj en kio alie ŝajnas esti bruo aŭ tute malsama
bildo entute.
Sed enigita en tiu aparta bildo estas ja sekreto mesaĝo de varoj.
>> Do lasu min antaŭeniri kaj elsxiros la saman bildon ĉi tie, ĉi
tempo per foliumilo.
Kaj mi tuj skuos mian manon en iu el la detaloj por hodiaŭ, aparte
por tiuj el vi, kiuj ĉi aspektas kiel ne nur JavaScript sed greka, kiel
tute nekonata lingvo.
Sed ĉi tiu estas ekzemplo de lingvo de programado.
>> Kaj por nun, preni sur fido, kiu tiu unua linio de kodo -
kaj per kodo, mi nur signifi tekston.
Teksto ke mi povus esti laŭvorte tajpis en Microsoft Word, se mi havis la
dekstra programaro por tiam faru ion kun tio.
Programan fontkodon, programado kodo, estas vere nur teksto, kaj ĝi
aspektas malsamaj bazita sur kio lingvo vi uzas, ne similas al la angla kaj
Hispana kaj rusa ĉiuj aspektas malsama kiam vi tajpas ilin je via klavaro.
>> Do tiu unua linio, cxar nun alpreni fido, simple malfermas grafikaj de la
interreto, ke bruaj grafika ni ĵus vidis.
Ĉi sekva linio tie estas ekzemplo de buklo, kaj ni efektive vidis, ke saman
ĵargono en la TED video.
Ciklo estas iu kiu okazas denove kaj denove, kaj kvankam tiu
absolute aspektas kripta, kun la ŝlosilvorto por, kaj iuj parantezoj, kaj
iuj punktokomojn.
Ni revenos al tiu post nelonge, sed tiu buklo tie esence estas
dirante al la programo, persisti super ĉiuj de tiuj bruemaj dots, de maldekstre
Dekstre, supre sube.
>> Ĉar fine de la tago, bildo like this - kaj vi povas reale
speco de vidi ĝin sur ĉi projector -
estas vere nur krado de punktoj.
Do ni povas identigi ĉiu de tiuj punktoj, punktas per koordinato, x, y, kaj kun tiu
programo, nun ni povas komenci fari ion por tiuj punktoj.
>> Do kion mi tuj iros antaŭen tie kaj ne estas mi tuj faros kelkajn ŝanĝoj.
Unue mi tuj iros antaŭen kaj liveri de ĉiuj kiuj verdeca kaj blueca
bruo, kaj mi tuj iros antaŭen kaj tajpu la sekvajn
Certe kamufla sintakso.
im por bildo.
starigis blua ĉe situo x, komo, situo y, al 0.
Alivorte, mi volas nur elŝalti ĉiujn blua
dots en tiu pentraĵo.
>> Mi tuj iros antaŭen nun kaj klaku ĉi Run / Save butonon, kaj vi instruos vin
rimarki en la dekstra-mana flanko, la rezultanta bildo aperas.
Nun lia super verda, sed tio ne estas mirinda, ĉar mi laŭvorte turnis
malproksime, farante 1 a 0, ĉiuj la blua en tiu pentraĵo.
>> Nu, nun ni faru ĝin iom pli.
im por bildo, dot setGreen, x, y.
Kaj tio nur signifas ripeti de maldekstre dekstren kaj poste supre sube.
Turnu ke ekstere kun valoro de 0, ankaŭ.
Save.
Kaj en la projekciilo, vi ne povas reale vere vidi ion ajn.
>> En mia portebla komputilo ekrano, se mi rigardi en nur la gxusta vojo, mi povas vidi iom de
bildon, ĉar ili estas ankoraŭ iuj ruĝa en tie.
Se vi iam aŭdis la akronimo RVB -
ruĝa, verda, blua -
ĝi estas referenco al ĉi tiu komponado de bildo uzante
nur tiuj tri kolorojn.
Kaj nun, ni forĵetis ĉiuj verdaj, ĉiuj bluaj, sed
tie ne estas multe ruĝa.
>> Do mi mankranko ĝis la ruĝa.
Kiel mi povas fari tion?
Nu, unue, mi tuj demandas tiun programon al demando.
Mi tuj iros antaŭen kaj ni nomas ĝin variablo, ĝuste kiel en algebro.
Vi povas havi x aŭ y aŭ z.
Mi tuj deklari variablon kaj diru, metu en ĉi tiu variablo,
provizore, la valoro de la bildoj getRed valoro je x, y.
>> Kaj denove, ni revenos al ĉiuj de tiu detalo en la estonteco.
Sed nuntempe, nur prenu sur fido, kiu ĉi tiu linio estas demandante al la programo, kio
estas la ruĝa valoro je x, y?
En tiu aparta punkto?
>> Tiam Mi faros ion por ĝi.
Tiam Mi faros bildo dot aro ruĝa je x, y, y sed cxi tiu tempo Mi tuj
akceli ĝin farante ruĝa tempoj, diru, 10.
Do pliigi ĝin per faktoro de 10.
Lasu min malzomi nun kaj klako povus Run / Save.
Kaj voilà, kiu estis tie en la tuta tempo, kvankam niaj homaj okuloj
ne povis sufiĉe vidi ĝin.
>> Do denove, ĉi tiu nun estas reala kodo, oni Ekzemplo de lingvo, ke ni venos
reen al antaŭ longe.
Sed rimarki, precipe tiuj el vi, sen tia sperto, estas tre
frue, ke ni mem estos skribi kodon tiel tie.
Fakte, ilo, per kiu vi ĉiuj iom familiara, eble, estas CS50 la
propran kurson-komerca ilo, kiu estis fakte rebooted tiu somero de iuj
de CS50 propra malnovaj lernantoj, nun turnas TFS.
>> Do ĉi tio okazas al esti afiŝinto konstruita en lingvo nomita PHP.
Ĝi uzas datumbazon nomata MySQL, aĵoj kun kiu ni ricevos niajn manojn
malpura poste en la semestro.
Sed, kredu aŭ ne, eĉ ion kiel tiu fine reduktas al la
simpla de cikloj kaj kondiĉojn kaj branĉoj, kiel tiuj kiujn ni vidis nur
antaŭ momento en la TED video.
>> Kion mi pensis mi ŝatus fari nun estas kotizo ne nur ion ni la bastonon faris
por la universitata tereno, sed prefere ion iama studento - tri
studentoj, fakte -
faris ĉi pasinta jaro, Sierra, Daniel, kaj Sam, la lasta de kiuj havis neniun antaŭan
programado sperto kiam li prenis CS50.
Kaj pro ilia fino projekto, ili elmetita, ĉe la CS50 Foiro, oni
apliko nomita wrdly, kiu estas reta programo por kiu faris
ĉi tiu video mi pensis mi ŝatus dividi kun doni al vi la senton de ĝuste kio estas
ebla per termino fino.
>> [MUZIKO ludi]
>> DAVID Malan: Tio estas el Semajno Nulo al Semajno 12 tiu pasinta jaro.
>> [Aplaŭdo]
>> DAVID Malan: Kiel teaser, tro, vere por iri vian apetiton estas kio estas
ebla, eble vi vidis jam, aŭ eble baldaŭ vidos, market.cs50.net, oni
nova ilo ke la kurso la teamo havas estis laborante en ĉi tiu tempo en
kunlaborado kun Harvard Studenta Agentejoj, tiaj ke ekde tiu jaro
kaj daŭrigante espereble en tiun venas somero vi havos normo
ŝanco en la campus por aĉeti kaj vendi aferojn kiuj interesas vin.
Kaj kun partnereco tra HSA, vi ankaŭ povos delasi erojn ekstere
en unu el HSA la fizika tendencas je iu punkto en la estonteco, por
prokura aferojn, aparte kiel vi gradigi kaj ne nepre volas
forĵeti tion, sed fakte pagas ĝin plusendu al homoj, kiuj povus sekvi vin
tie en la campus.
Do pli en la venonta.
>> Sed iom pli konkrete, ilo ke tio venas el CS50 en freŝaj
jaroj, per kiu iuj el vi povus esti familiara kaj aliaj el vi povus esti
googling nun, en CS50.net/2x, vi trovi ligilon al Chrome etendo
kio estas demonstrativo de kiel vi povas uzi JavaScript, tiu sama lingvo ni
uzata kun la Eiffel-turo antaŭ momento, apliki 2x reprodukto rapido
por ĉiuj Harvard iSites filmetoj.
Ĉi tio estas iu kiu estas konstruita en CS50 propra video ludanto.
Sed tio ankaŭ, se vi komencas fosi en la fontkodo, kiujn ni instruos vin
feliĉe disponigi, vi vidos kiel Vi povas eĉ solvi problemojn tiel,
akceli widgets en retejoj kun kiu vi estas jam bone konata.
>> Do vorto nun en la kurso kaj atendoj kaj kio kuŝas antaŭen.
En ĝenerala, ni ja kolektas tie ĉi lunde kaj merkrede - kvankam
tiu vendredo, ni kolektu ĉar de Shopping Semajno -
1:00 al 2:00 am, kvankam kelkfoje ĝis 2:30.
Donita ke vi do volas aŭ devas preni iun klason je 2:00 PM
antaŭen, aŭ eĉ antaŭe, ne realigi la kurso estas subtenanta, kion oni nomas
samtempa registrado, per kiu ni instruos vin subteni peticion al la Ad Estraro kaj
via loĝantaj dekanoj pro vi se vi havas konflikto ie en tiu
1:00 ĝis 2:30 gamo.
Kapon por ke URL-linio por pliaj detaloj.
>> Sed en terminoj de la apogo strukturo kiu karakterizas CS50, por studentoj
pli kaj malpli komfortaj egale, ni proponi distinga spurojn de sekcioj.
Kaj jen estas paro de semajnoj malproksime, sed post nelonge, vi estos petita kiel al
via konsolo nivelo.
Ĉu vi estas inter tiuj malpli komfortaj, pli komforta, aŭ
ie inter?
>> Kaj ni havos tri distingaj temoj kiuj servas al
precize tiuj publiko.
Do en neniu punkto en la termino devus vin eĉ sentas kiel vi konkurencas
kontraŭ ajna studento kun pli aŭ malpli fonon ol vi.
Efektive, la kurso celas esti multe pli kunlabora kaj multe
pli malfermita ol tio.
>> En terminoj de la problemo aroj, vi trovi ankaŭ, ke krom la
eldono normo de ĉiu semajno problemo aro, estas ofte "hacker
eldono "kiun oni intencis esti celataj ĉe la 5% ĝis 10% aŭ malpli de la
demografiaj, kiuj estas ja inter tiuj pli komforta kaj ŝatus pli
de defio ol la normo eldono de tiu pset atendas.
Pliaj detaloj sur tiuj esti trovita en la Syllabus.
>> Sed ankaŭ tie troveblas detaloj pri la kursoj malfrue tagoj.
Tipe problemo aroj devas je ĵaŭdo.
Tamen, vi povas etendi multaj de viaj limdatoj ĉi falo de ĵaŭdo al
Vendredo simple renkonti nin duonvoje, por tiel diri, respondante kelkajn varmajn-up
demandojn en iu de la semajno problemo aroj, kiu havos aŭtomate
tiam donu al vi kroman 24 horoj.
Ni estos ankaŭ fali vian plej malalta interpunkcio, kiel por la Syllabus.
>> Doni al vi la senton de kio la problemo aroj estas - ĉar ĝi estas ja
la kurso estas problemo aroj ke fine difini preskaŭ ĉiu
studenta sperto, pli ol prelegoj, pli ol sekcioj, pli
tiel ol plej ajna alia aspekto de la kurso.
Lasta jaro, ekzemple, ni komencis, kiel ni komencas ĉi tiun jaron, kun Scratch.
Aparte tiu vendredo, ni uzos, ĉar nur unu tago da tempo, grafika
programlingvo, kun kiu ni instruos vin komenci programado trenante kaj
delasante puzlo pecoj ke nur kunvenigi fizike se tio havas sencon
fari tiel logike.
>> Venontan semajnon, ni rapide transiro al C, sufiĉe malnova sed tre malgranda kaj
simpla lingvo, ke ni permesos vere iri de 0 al 60 en la kurso
de nur kelkaj semajnoj, kaj poste parlay tiuj samaj kapabloj kaj konoj de
bazaj programado konstruoj en alta-nivelo lingvojn kiel PHP,
Javascript, kaj tamen aliaj ankoraŭ.
>> Pasintjare, la tria pset en la kurso estis tiu de ĉifriko, oni
domajno-specifa apliko per kiu ni defiis studentoj apliki neniu
numeron de ĉifroj, programoj, per kiu por levi aŭ unscramble informoj,
por kodi ĝi.
Por la hacker eldono, per kontrasto, ni donis al la hacker studentoj dosieron
de norma Uniksa komputilo enhavanta uzanto nomoj kaj pasvortoj,
la lasta de kiuj estis koditaj, kaj ni defiis tiuj hacker
studentoj por deĉifri, kiel bona povis, tiuj pasvortoj, ankoraŭ sur tiu
sama domajno.
>> Scramble, ludo per kiu iuj vi eble estas familiara.
Al forensics peco, kie ni petas studentojn rekuperi datumoj kiuj estis
alie forviŝita el mia propra cifereca fotilo kompakta flash karto, per
fakte skribi programaron por eltrovi, kie estus la nuloj kaj en
ke diĝita fotilo kiu antaŭe formis JPEG grafika?
>> Defio de varoj pasintjare engaĝante skribi la plej rapida
literumilo ebla, rivalante kontraŭ amikoj kaj samklasanoj se
ili ŝatus.
Implementando Huff 'n Puff, oni kunpremo programo.
Kaj tiam finante la sesmonato kun CS50 Financoj, la reta kandidatiĝo kun
kion oni kreas eTrade-kiel afiŝinto aĉeti kaj vendi akcioj, tiel
paroli, por reale tiranta preskaŭ reala tempo citaĵoj Yahoo!
Financi.
>> Kion ni ne faris pasintjare estis unu problemo aro kiu restas
tamen favorito.
Se vi neniam iris al shuttle.cs50.net, vi vidos uzanto
Interfaco iom kiel ĉi tio.
Sed antaŭ du jaroj, la klaso implementado, per Google Maps kaj la
Google Earth plug-in kaj iomete de savvy kun alkonduko ĉirkaŭ campus,
tiel ke la celo de tiu ludo estis, kiel vi povas vidi iom de la vizaĝoj,
estas stiri ĉirkaŭ kampuso serĉi bastono, instruado uloj kaj CAS, kaj
kiam vi faras, metante ilin sur via buso.
Neniu el ili vere ŝajnas esti tie, do ni tuj enigi cheat kodo.
>> [Ridado]
>> DAVID Malan: Tie ni iru.
Ĉio bone.
Kaj tie nun estas la bastono laĉitajn tuta kampuso.
Kaj kiel vi povas vidi, en la dekstra mano flanko de la ekrano, la buso
havas malplenan sidejoj.
Kaj la objektivo estis skribi la kodo per kiu por simuli tiun
stiri kaj reprenante kaj delasante ekstere de pasaĝeroj.
Tiu, ankaŭ, uzante lingvo vokis JavaScript.
Do rimarkas ke programoj kiel tiu volo esti sur nia sama trajektorio ĉi
jaro, tiel.
>> En terminoj, nun, de plia subteno ni havas oficejon horoj.
Kiel vi eble vidis en via domo manĝejo aŭ en Annenberg,
ni estos en la domo manĝejo salonoj kvar noktoj semajno -
Leverett, Pfoho, Eliot kaj Annenberg ĉi tiun jaron, 8:00 am ĝis 11:00 PM.
Kaj kion ni pensis ke ni volas fari ĉi jaro Estas io iom malsama.
>> Se vi aŭdis rumblings pasintjare, ke ĝi estis iom tro turmenta, ĉi
jaro la oficejo horoj, kiel ni priskribas proksima semajno, estos pli organika,
per kiu post sia alveno, vi estos sendis al unu aparta tablo
kie multnombraj stabanojn atendas, kaj ni faros aferojn multe pli
organike.
Ne plu vosto, ne pli iPad, sed anstataŭ havi pli intiman
konversacioj ĉirkaŭ tablo de nur ok aŭ tiel studentoj, tiel ke ni
aproksimi la sento de kio alie Estus multe pli malgranda klaso.
>> Ni proponas, siavice, tion ni vokis walkthroughs, filmetoj filmado en
antaŭi por unu el la kurso de instruado uloj, Zamyla, en kiu
promenas vin tra la semajno problemo aroj, proponante konsilojn kaj lertaĵojn por la
defioj, kiu kuŝis antaŭe.
Kaj inverse, post problemo aroj estas pro, ĉi tiu jaro, ni ankaŭ liberigos
iom klipoj vokas post-mortems ke efektive promeni vin tra
reprezentanto solvoj, ambaŭ bonaj kaj malbona, per kiu vi povas konkludi kiom
vi povus havi aŭ devus havi implementado vian propran solvon.
>> Kaj kion ni proponas por la unua fojo ĉi tiu jaro kiel bone, aparte
por tiuj lernantoj, kiuj helpos sin de la kurso de aliaj
rimedojn sed tamen luktas ĉiuj tro multe, la kurso
mem paro tiuj lernantoj, rimedoj permesas, kun lingvohelpantoj por ke
vi havas multe pli intima ŝanco ol domo manĝoĉambroj
permesus por unu-sur-unu helpo.
>> Nun fina duonvidi en iu de la fino ludoj en vido.
Vi povus esti familiara kun la CS50 Hackathon.
Nu, venante ĉi decembro, ekde 8:00 Am al 7:00 AM, komence de
Legante Periodo, estos okazo por inviti samklasanoj -
tiu estus ĉirkaŭ 9:00 PM -
dum kiuj vi pikita en viajn fino projekto efektivigo apud
samklasanoj, amikoj, kaj manĝo.
Ĉi tiu estus ĉirkaŭ 1:00 AM, kiam la unua parto de manĝo alvenis.
Kaj jen estas proksimume 4:00 AM ke aparta jaro en la CS50 Hackathon.
>> Sed la vera klimakso de la kurso estas signifis al la CS50 Foiro, campus mondaj
ekspozicio de via propra fina projektoj, al kiu familio kaj amikoj estas ĉiuj
invitis, kiel nia reclutadores kaj niaj amikoj el industrio.
Ĉi tio, ekzemple, estas ekvidis la 2.000-plus personoj kiuj jam ĉeestis
pasintaj jaroj.
Esprimoj kiel ĉi ne estas maloftaj, kaj simile fari vian
samklasanoj plezuron en aĵoj vi jam plenumita.
>> Kaj fakte, al tiu celo, ni havi eksalto-de-termino okazaĵo, tiel.
Se aĵojn kiel ĉi apelacio al vi, aŭ vi estas almenaŭ scivola kia
tiu, scias ke nova tradicio de la kurso nomiĝas CS50 Puzlo Tago.
Kaj tio estigis kelkajn jarojn malantaŭen por vere signali al kampuso
ke komputiko estas ne pri programado, kaj ĝi estas certe ne
pri brakumante nur tiuj studentoj kiuj havas antaŭan sperton.
Estas vere pri problemo-solvado pli ĝenerale.
>> Kaj tiel Puzzle Tagon, dum la pasintaj kelkaj jaroj, evoluis al bela
partnereco kun niaj amikoj Facebook, per kiu oni estos fabela
premioj kaj pico trans la rivero en la i-laboratorio ĉi venas sabaton.
Direkti al tiu URL kun du aŭ tri amikoj, se vi ŝatus partopreni
en ĉi tiu nova tradicio.
>> Do mi ŝatus peti ke vi gardas aĵo en menso, kaj ni havas nur
du minuto klipo sur kiu fermi hodiaŭ.
73% estas la nombro de memori.
Kuko, tro, tuj atendas vin ekstere de ĉi tiu transepto kiel ni adjourn en nur
kelkaj momentoj, kiuj estas tradicio de la kurso, ankaŭ.
Sed ĉi tiu estas la ŝlosilo citaĵo el la Kompreneble la Syllabus teni en la menso.
Kion finfine gravas en ĉi tiu kurso ne estas tiom kie vi finos
relativa al via samklasanoj sed kie vi, en la semajno 12, finu relativa al
vin en Semajno 0.
>> Sed la ekvido, ke ni lasos vin kun ĉi tie hodiaŭ estas ĉi lasta tie
de nia sama Daniel, kiu faris la wrdly video nur antaŭ momento.
Mi lasas vin kun ĉi rigardeton de kio kuŝas antaŭen.
Kaj kiel ni tion faru, se ni povus havi CS50 bastonon de antaux la salono de
veni al la scenejo por pentri ĉiuj la pli vida bildo pri
kio atendas vin ĉi jaro -
atingi mallerta.
Ni finos kun tiu tie en la ekrano.
>> [MUZIKO ludi]
>> DAVID Malan: Ĉi tiu estas CS50.
>> [MUZIKO - Matt & KIM, "IT'S ALRIGHT"]
>> Parolanto 1: Mi amas CS50 pli ol katoj.
>> Speaker 2: Whoaaaa!
>> [Ridado]
>> DAVID Malan: Ĉi tiu, do, estas CS50.
Ni vidos vin en vendredo.
>> [Aplaŭdoj kaj huraoj]
>> Rakontanto: Je la sekvanta CS50, oni scenejo demo ne iras kiel planita.
>> DAVID Malan: ni volas trovi Mike Smith en tiu telefono libro.
Nu, kio estas viaj instinktoj?
Mi povus salti malafable meze de la telefono libro, rigardis malsupren, tiam rigardu
Mi estas ĉe M, kaj nun mi scias, ke Mike Smith ne estas al la maldekstra.
Li devas esti al la dekstra.
Kaj tial je ĉi tiu punkto, ni povas laŭvorte dissxiros -
en ĉi tiu punkto, ni povas laŭvorte dissxiros -
en ĉi tiu punkto, ni povas figure ŝiri la telefonon libro en duono.
>> [Ukelele rasgueo]