>> [Speel van musiek]
[MUSIEK - Rossini, "RANZ DES VACHES "van William Tell]
>> [MUSIEK - DIE ENGELSE klop, "opmars VAN DIE SWIVEL koppe "]
>> [Applous en die gejuig]
>> David Malan: So dit is CS50.
My naam is David Malan.
En 73% van julle het geen vorige ervaring met 'n rekenaar wetenskap,
In teenstelling met wat jy dalk dink.
So vandag het ons gedink ons ​​sou chip weg aan dat die gebrek aan kennis nie, maar ook
gee jou 'n gevoel van, vir dié van julle met meer gemak, wat aanwysings
jy kan gaan hierdie semester.
>> So laat ons begin met hierdie.
Ek het werklik geen idee wat binne in 'n rekenaar, selfs al is, soos jy, het ek
gebruik dit elke dag.
Maar dit is 'n soort van boks, en daar is nie baie insette in dit.
Minimaal, daar is, wat?
Waarskynlik 'n krag koord.
>> En inderdaad met hierdie een bestanddeel, elektrisiteit, lyk ons ​​in staat wees om
doen nogal 'n bietjie van hierdie dae.
Maar aan die einde van die dag, het ons het die dinge te verteenwoordig
dat ons omgee.
Ons het inligting voor te stel in een of ander vorm.
En jy is waarskynlik ten minste vaagweg vertroud is met die idee van binêre of
stukkies op die een of ander, rekenaars verminder tot nulle en ene.
Maar kan ons aanvaar dat en ten minste sit 'n bietjie van die lig daarvan?
>> So ek het hierdie klein lessenaar lampe hier.
Ek het 'n kragpunt hier.
En ek gaan dit binne-in te stel van my rekenaar is ten minste een van die
hierdie dinge, iets in staat om aan-en afgeskakel.
In hierdie geval, dit is inderdaad 'n lessenaar lamp, maar op die onderste vlak, dit is iets
bekend as 'n transistor.
>> Maar in ons wêreld, is dit 'n lessenaar lamp, so Ek gaan om voort te gaan en dit sluit
in my elektrisiteit hier.
En ek beweer dat die gebruik van hierdie eenvoudige, eenvoudige toestel, hierdie eenvoudige skakelaar, ek
kan stel inligting.
Byvoorbeeld, nou is ek wat niks nie, reg?
Ek verteenwoordig wat ek sal noem 0 of vals is, die teenoorgestelde van iets
eintlik teenwoordig is.
Maar as ek net weer die skakelaar, nou het ek verteenwoordig 'n 1.
Sodat die gebruik van hierdie baie eenvoudige stuk geheue, as jy wil, kan ek verteenwoordig
inligting.
>> Nou ongelukkig, my rekenaar nie kan doen nie alles wat veel.
Dit kan net verteenwoordig twee waardes in die hele wêreld -
0 of 1.
Maar wat is 'n duidelike oplossing, nou, As ons wil hê dat ons rekenaar uit te brei
geheue en verteenwoordig meer as net 0 en 1?
>> Wel, laat gryp nog so 'n bietjie.
Kom ons gryp 'n ander skakelaar, 'n ander transistor, maar jy wil
daaroor dink.
Laat my gaan voort en prop dit in my rekenaar as well.
En ek gaan om te eis, nou, wat deur met behulp van 'n bietjie meer elektrisiteit en
draai meer van hierdie skakel aan en af, kan ek verteenwoordig meer sulke
inligting.
>> So nou, dit is 1.
As ek nou wil stel 2, kon ek dit doen.
Maar tipies, konvensie, soos ons sal uiteindelik sien, sal my dit doen.
So dit is 0, dit is 1.
Dit sou wees 2.
En nie verrassend nie, sou dit wees 3.
>> So op hierdie manier, nog steeds, kan ons tel selfs verder?
As ek 'n derde bietjie, 'n derde skakelaar, wat is die grootste getal kan ek nou
tel tot by 0?
So 7 As ek begin by 0, reg?
Want as ek draai die lig op en eintlik prop die derde en finale
lig in my elektriese aansluiting hier, dan het ek die vermoë te verteenwoordig
enige van twee waardes hier twee waardes hier, twee waardes hier -
en so ek kan verteenwoordig 2 keer 2 keer 2, of agt moontlike waardes.
En as ek begin rekeningkunde by 0, so dit is 0, 1, 2, 3, 4, 5, 6, 7.
>> So hierdie program nie.
Dit is regtig so eenvoudig soos dit.
En Ek wil argumenteer dat dit eintlik ' redelik vertroud met die meeste
Almal in die kamer.
Laat my gaan voort en maak 'n min teks editor hier.
>> En jy kan onthou van graad skool dat ons dinge soos die honderde
plek, die tien plek, en die een plek.
En onthou dat as jy 'n paar desimale nommer, soos iets wat lukraak
soos 123, jy sou in wese skryf dit uit in die vorm
van hierdie drie kolomme.
En hoekom is 1, 2, 3 wat ons weet as 123?
Wel, in die linker kolom, het ons ' 'n 100 plus twee 10s, so dit is 120,
plus drie 1s, so dit is 123.
>> Nou hierdie wêreld dat ons net verlig is presies dieselfde as
jy is vertroud met vir die jaar, Behalwe nou, ons kolomme
is nie magte van 10.
Hulle is net magte van 2.
So, terwyl dit is die mense wat plaasvind, is hierdie gaan die twee-twee plek wees, is dit
gaan na die viere plek wees.
>> En omdat ek slegs met behulp van die eenvoudigste van die meganismes dinge om te draai
op en af ​​- elektrisiteit vloei of elektrisiteit vloei nie -
Ek het nie heeltemal nie dieselfde uitdrukkingsvolle reeks as 0 tot nege.
Ons gaan om te hou dit super eenvoudige in hierdie wêreld van rekenaars.
Ek het net 0 of 1 -
af of op, vals of waar.
>> En wat ek nou verteenwoordig is 1, 1, 1, want elkeen van hierdie
ligte is verlig.
Wel, dit gee my 'n 4 plus een 2, so dit is 6, plus een 1, en dit is 7.
En ergo doen hierdie volgorde van drie stukkies verteenwoordig die aantal 7.
>> So al hierdie tyd, binne-in jou rekenaar, is 'n aantal
transistors, enige aantal stukkies.
Maar aan die einde van die dag, het ons kan stel inligting
so eenvoudig soos dit.
Nou ongelukkig, ons het net getel tot 7 in CS50 tot dusver, maar
hopelik kan ons doen 'n bietjie beter as dit.
En inderdaad ons kan.
>> Veronderstel dat ons as mense net arbitrêr besluit dat ons gaan
getalle te assosieer soos 1 en 2, 3, 4, 5, 6, 7, met spesifieke letters van
die alfabet.
En vir historiese redes, gaan ek begin ietwat arbitrêr, maar ek is
gaan om te sê, die mens, gaan ons besluit om as 'n standaard, wêreldwyd, wat die
65 verteenwoordig die aantal die letter A. 66 sal verteenwoordig B. Dot, dot, dot.
90 sal verteenwoordig die letter Z.
>> En laat ons dink nie, as ons regtig 'n plaas gedink het in dit, kan ons kom
met nommers vir uitroep punte en kleinletters, en inderdaad,
ander mense gedoen het wat vir ons.
So nou het ons stukkies met wat ons kan getalle, getalle waarmee
ons kan verteenwoordig briewe, en met letters kan ons nou begin met die saamstel
e-pos en druk karakters op die skerm.
>> So laat my nooi, as ek kon, agt dapper vrywilligers -
wat nie omgee verskyn nie net op kamera, maar op die internet -
om te kom hier en verteenwoordig agt sulke stukkies, eerder as om hierdie drie.
So hoe oor een, twee?
Hoe omtrent drie?
Hoe oor die vier in die lig blou, vyf aan die einde?
Oor iemand hier?
Ses voor sewe in die voorkant, en agt in die voorkant, as well.
>> So ek het net so gebeur het om voorbereid te kom met 'n hele klomp van die strokies papier.
En op hierdie stukkies papier is getalle wat stel watter kolomme
julle gaan verteenwoordig.
So sal jy wees - wat is jou naam?
>> STUDENT: Anna Lea.
>> David Malan: Anna Lea, het jy sal die 128s kolom wees.
Jy is?
>> STUDENT: Chris.
>> David Malan: Chris sal die 64s kolom.
Jy is?
>> STUDENT: Dan.
>> David Malan: Dan sal die 32s kolom.
>> STUDENT: Pramit.
>> David Malan: Pramit sal die 16s kolom.
>> STUDENT: Lillian.
>> David Malan: Lillian sal die 8's wees.
>> STUDENT: Jill.
>> David Malan: Jill sal die 4s kolom.
>> STUDENT: Mary.
>> David Malan: Mary sal wees om die 2's, en?
>> STUDENT: David.
>> David Malan: Dawid sal wees om die 1'e kolom.
So as jy ouens kon stap 'n bietjie vorentoe, sodat almal dit kan sien.
Wat julle sien nie, is dat die terug van die strokies papier is 'n
bietjie oneerlik vel wat oor te opdrag hierdie agt stukkies om óf
verhoog hul hand of nie verhoog hul hand.
As hulle hand gaan op, hulle is verteenwoordig 'n 1.
As hulle hand bly af, hulle is wat 'n 0.
>> Intussen het ons die publiek moet wees in staat om uit te vind, wat gebaseer is op hierdie
kartering, wat drie-letter woord hierdie mense is omtrent om uit te spel.
So in 'n oomblik, jy gaan te lees die eerste reël uit die agterkant van
jou oneerlik vel, en jy is óf gaan om te verhoog of nie verhoog jou hand.
As jy 'n 1 en jy maak, as jy is 'n 0, staan ​​jy daar
ongemaklik, net soos dit.
Gaan.
Watter getal in die eerste plek, hierdie ouens wat?
>> 66.
66, reg?
Ons het 'n 1 in die 64s kolom 'n 1 in die 2s kolom.
Dit gee my 66, so wat verskyn te verteenwoordig B. So
julle ouens gespel het -
OK, dis genoeg.
B.
>> So laat ons nou beweeg op ons tweede brief.
Gaan.
Wie is die vinnigste in wiskunde hier?
So 79.
Weereens, as ons al die kolomme waarin daar is 'n 1, tans, net
soos ons gedoen het voordat met die eenvoudigste voorbeelde van 7, het ons nou
kry die nommer 79.
Wat volgens ons kartering is die brief O. So ons is amper daar.
B, O. En laastens, gaan.
>> Wat is dit wat nou?
Minder konsensus.
Dit is net 'n absolute bruis.
Ja, dit is in werklikheid 87.
Goed.
>> So as ons nou kaart wat terug tot - laat begin bel ons ASCII grafiek,
American Standard Code vir Inligting wisselaar.
Dit gee ons die brief -
nie "bo" nie, maar "boog." En dit is 'n perfekte wit vir julle 'n boog te neem
en kop op die rug.
Baie dankie.
>> [Applous]
>> David Malan: Jy kan hou nie.
Alhoewel eintlik, sou iemand soos 'n lessenaar lamp, ook?
>> [Toet UIT GEHOOR]
>> David Malan: Balie lamp?
>> [Gelag]
>> David Malan: Regtig?
Lessenaar lampe vir almal?
Alle regte.
So begin met die heel eenvoudigste beginsels, ons het nou nie net getel
uit 0 al die pad tot 7, het ons aanvaar dat net deur die gooi meer
stukkies of meer ligte of meer transistors na hierdie probleem, kan ons
verteenwoordig groter en groter getalle, en ergo, groter en groter wissel van
alfabet, soos Engels.
En net laat neem oor geloof vir vandag wat insgelyks kan ons begin om te
stel beelde en video en enige aantal ander media waarmee ons
vertroud vandag.
>> So dit is CS50, en in hierdie klas saam met van julle is, weer, baie
klasmaats wat so min ervaar as jy.
En Ek noem dit net omdat baie dikwels, insluitend so onlangs as een van
die groentjie adviseer gebeure en by verlede jaar se stage te adviseer
gebeurtenis, hoor ons dikwels studente ontken toe kom die CS tafel, goed,
Ek het gedink oor die neem van hierdie intro klas nie, maar ek is nie regtig 'n
rekenaar persoon.
Of nie, maar almal sekerlik weet meer as ek.
En ek het dit in die grootste font moontlik is, oor te dra hierdie boodskap wat
dit is in werklikheid nie die geval nie.
>> En as jy wonder, moet Ek, in werklikheid, hier te wees?
Besef dat nie net is hierdie kursus se titel Inleiding tot Rekenaar
Wetenskap, dit is Inleiding tot Rekenaar Wetenskap I. So is daar inderdaad
'n tweede so 'n inleiding.
So jy is nie, in werklikheid, in die verkeerde plek.
En onder die doelwitte wat ek vir vandag te sus enige sodanige bekommernisse
mag hê nie, maar ook om te verf 'n prentjie van wat in die winkel vir
studente minder en meer gemaklik gelyk in hierdie kursus.
>> Maar eers 'n woord op een van die aalmoese jy het vandag, waaronder
is 'n aantal van vrae.
Dit was 'n visie van ons vir 'n geruime tyd nou 'n nuwe gradering te stel
opsie in hierdie kursus - naamlik, Saterdag / UNSAT.
Filosofies vir my, dit is baie, baie, baie meer belangrik dat die
studente in die klas betrokke te raak met die materiaal, uitgedaag word deur die
materiaal, en veel bekommerd wees nie, veel minder oor die meganika van werklike tellings
en 'n brief grade by semester se einde nie, maar werklik omhels die
natuurlik en sy materiaal.
En regtig dit voel, meer in die algemeen, vir wat is interessant om hulle te
voel uitgedaag en beloon word, maar sonder vrees vir mislukking.
>> En inderdaad, dit is te 'n herhalende tema in hierdie en ander inleidende
kursusse in ander gebiede, dat jy hierdie angs wanneer dit kom by
om 'n mens se tone in onbekende waters.
Ek myself, terug in 1995, was 'n groentjie.
Ek was baie gefokus op wat 'n regering concentrator hier.
En tog het ek altyd grootgeword met 'n bietjie van 'n belang in Rekenaarwetenskap.
Ek was nog altyd nuuskierig.
>> Maar terug dan, selfs, ek het hierdie vrees om selfs voet in CS50, soveel
sodat ek het nie eens shop dit eerstejaars jaar.
En die enigste rede waarom ek 'n voet in die deur stage jaar was omdat ek
is toegelaat om te neem dit slaag / druip.
Maar selfs slaag / druip vereis dat ek die senuwee om 'n afspraak te maak
met Professor Kernehan by die tyd, bring hierdie groot vel papier, en vra
hom vir sy handtekening en sy toestemming te verken
hierdie onbekende waters.
>> En dit het nie gehelp nie in die afgelope jaar dat wanneer om dit te doen in CS50, wanneer ons
gebruik word om te wees slaag / druip, insgelyks sou dekades of honderde van jou klasmaats
het om te kom, God verbied, by die voor Sanders met hierdie vorm, wat
in sommige mense verteenwoordig 'n onvermoë, Durf ek sê, uit te voer
is jou maats se vlak.
Dit is belaglik, maar ek dink daar is dat die mentaliteit.
En daar was nog nooit in hierdie kultuur van SAT / UNSAT, of slaag / druip meer
in die algemeen, in hierdie kursus, of eintlik op hierdie kampus.
>> So hierdie jaar het ons verander nie.
Ek sou in ekstase helfte van wees hierdie klas of meer geëindig
up neem CS50 SAT / UNSAT.
In 'n jaar se tyd, sou dit wonderlik wees As amper almal is.
Daarna miskien sal ons werk op brief grade by Harvard
Kollege meer algemeen.
Maar vir nou, sal ons dit doen binne ons eie gebied, en ek sou harte
aanmoedig om die vrae te hersien en vra vrae soos jy goeddink, sodat
Hopelik sal jy, in teenstelling met my, sal nie heeltemal het dieselfde vrees faktor wanneer
verken wat waarskynlik 'n onbekende plek.
>> So, wat is CS50?
Dit is 'n inleiding tot die intellektuele ondernemings van die rekenaar
wetenskap en die kuns van die ontwikkeling.
Maar wat beteken dit werklik?
>> Wel, tot dusver, het ons gepraat baie kortliks oor wat inligting.
Maar veronderstel dat ons eintlik wil hê om iets te doen met dit.
Ons moet die idee van in te voer wat ons noem 'n algoritme.
'N Algoritme is 'n proses, 'n proses, 'n stel instruksies vir
om iets te doen.
>> En 'n algoritme kan iets wees super eenvoudig.
Byvoorbeeld, 'n voorbeeld van wat 'n paar van julle dalk bekend wees, is hierdie
ding hier.
Daarom is hierdie boek hier is toenemend gedateer nie, maar eens op 'n tyd, is dit
bevat 'n hele klomp van die name en telefoonnommers.
En inderdaad, as ek wou om uit te vind iemand in die telefoon boek -
sê, iemand met die naam Mike Smith -
Ek kon vind Mike Smith in 'n aantal van redelik eenvoudige maniere.
Ek kon begin by die begin en beweeg na bladsy 1, nie daar nie.
Page 2, nie daar nie.
Page 3.
Is dat algoritme, is dat proses, korrek?
>> So dit korrek is, reg?
Ek is soort van 'n idioot vir die doen dit in daardie manier, maar uiteindelik het ek sal
vind die van S, en hopelik Mike is in daardie artikel, en ek sal
gedoen met my algoritme.
Maar seker dit is nie intuïtief.
Die meeste elke redelike mens in hierdie kamer sou nie gedoen het nie.
Wat sou jy gedoen het?
>> Jy wil reguit gegaan tot in die middel, reg?
Sowat tot in die middel.
En jy besef, o, dit is die me So Mike Smith, laaste naam om Smith,
is nie duidelik, dan in die linker helfte van die boek.
Hy moet na die S is in die regterkant.
En op hierdie punt, maar die meeste van ons doen dit nie in werklikheid, kan ons
letterlik skeur hierdie probleem in die helfte.
>> [Juig en applous]
>> David Malan: Dankie.
>> [Juig en applous]
>> David Malan: Jy kan letterlik skeur hierdie probleem in die helfte, laat my met,
letterlik, 'n probleem helfte so groot.
So as hierdie telefoon boek was - en dit waarskynlik was - sowat 1000 bladsye, nou
dit is net 500.
As ek dit weer doen en ek besef, o, Damn, ek het te ver gegaan, ek is in die Ts
artikel, ek kan op soortgelyke wyse -
figuurlik of letterlik -
rip die telefoon boek - dit was eintlik baie makliker daardie tydstip.
Ek kan letterlik rip die telefoon boek in die helfte, laat my nou met
nie 1000, nie 500 -
250 bladsye.
En ek kan 125 gaan, en die ander helfte van daardie, en helfte van daardie, en die helfte van daardie,
totdat ek sal gelaat word met slegs 'n enkele bladsy.
>> [Gelag]
>> David Malan: Dit is die deel ek nie op.
Een enkele bladsy waarop Mike is hopelik.
Nou die verskillende algoritmes kan wees soort van 'n vasgestelde of geëvalueer in
verskillende maniere.
Die eerste een was baie lineêre, reg?
Draai bladsy, kyk vir Mike.
Dit is baie lineêre.
As daar een meer bladsy in die telefoon boek, dit is waarskynlik gaan om my te neem
nog 'n tweede, nog een eenheid van tyd, Maar ons is die berekening van die tyd.
>> Sodat ek kan leer soos hierdie hierdie lyn hier waar as die grootte van die
probleem toe van links na regs -
telefoon boek word kleiner na groter -
en die tyd gaan te verhoog die vertikale as, die groter
die telefoon boek is.
So n is net 'n algemene veranderlike wat rekenaar wetenskaplikes gebruik te verteenwoordig
'n bietjie waarde, 'n paar nommer.
So n gaan lineêr toeneem.
Dubbel die grootte van die telefoon boek, is dit gaan my twee keer soveel neem
tyd, waarskynlik, om uit te vind Mike.
>> Nou ek kon gewees het slim oor hierdie, reg?
Ek was verveeld vinnig.
Kan dit gedoen word deur twee-twee.
So twee bladsye, dan vier, toe ses, dan agt.
En ek kon begin vlieg deur dit 'n bietjie vinniger, al is dit teen geringe risiko van
oordoen Mike, maar dat kurwe is nie gaan wees al wat verskil.
Dit is nog steeds gaan 'n reguit lyn, maar effens vinniger.
>> Maar wat het ek gedoen?
Ek het eintlik het iets fundamenteel beter.
Ek het bereik wat ons bel logaritmiese tyd, log van n, waardeur hierdie groen
lyn het 'n baie, baie, baie minder reguit rand om dit te.
En eerder, dit stel, as dit sorteer na oneindig ooit so geleidelik,
dat ek kan eintlik 'n 1000-bladsy telefoon boek, dubbel sy grootte
volgende jaar - omdat veronderstel 'n baie meer mense beweeg in die dorp.
>> So nou is ek het 2000 bladsye, maar hoe baie meer stappe is dat slimmer
algoritme gaan neem?
Net een.
Ek bedoel, dit is 'n kragtige ding.
As ons na 4000 bladsye volgende jaar, wat gaan om my te neem
nog net twee stappe.
So jy kan gooi groter en groter probleme by my, nie in teenstelling met die web is
gooi groter en groter probleme elke dag op Googles en Facebooks van
die wêreld, en dit is nie so 'n groot deal.
Omdat ek meer gedink en sorg in my algoritme waarmee op te los
probleme doeltreffend.
>> En inderdaad, dit sal wees een van die doelwitte van hierdie kursus.
Jy sal, langs die pad, leer hoe om te program.
Jy sal leer hoe om die program in 'n aantal tale.
Maar aan die einde van die dag, die kursus is oor die probleme op te los en om
beter op die oplossing van probleme - en, soos in gevalle soos hierdie, probleme op te los
meer doeltreffend.
>> Nou tot dusver, het ons nou gedoen redelik intuïtief.
Kom ons stel om iets redelik generiese genoem pseudokode.
So sal ons uiteindelik kry, in hierdie kursus te
verskeie programmeertale.
Maar vandag sal ons doen dit in Engels-agtige sintaksis, waar jy net 'n soort van sê
wat jy bedoel, maar jy ooit so bondige en jy moenie bekommerd wees oor
grammatika en volledige sinne.
Jy moet net jouself uitdruk as saaklik as moontlik.
>> So pseudokode is Engels-agtige sintaksis wat verteenwoordig
'n programmeertaal.
En in die rigting van die einde, laat my stel voor dat Ons het nou 'n model van die proses het ons net
beskryf van die tel van iets 'n bietjie anders, hierdie keer om 'n
kyk na hierdie vyf-minute video wat deur ons vriende by die TED wat
definieer wat pseudokode is, definieer wat algoritmiese denke is, en selfs
al die voorbeeld wat jy oor om te sien is, in sigself, super eenvoudige, dit is
gaan om te begin om te gee ons die geestelike model, die woordeskat, waarmee
doen baie, baie meer kompleks algoritmes redelik vinnig.
>> [Begin video afspeel]
>> [Speel van musiek]
>> NARRATOR: Wat is 'n algoritme?
In rekenaarwetenskap, 'n algoritme is 'n stel instruksies vir die oplos van sommige
probleem stap vir stap.
Tipies, is algoritmes uitgevoer deur rekenaars, maar ons mense het
algoritmes, as well.
Byvoorbeeld, hoe sal jy gaan oor die tel van die aantal
van mense in 'n kamer?
Wel, as jy soos ek is, sal jy waarskynlik punt by elke persoon, een op
'n tyd, en tel van 0.
1, 2, 3, 4, en so meer.
>> Wel, dit is 'n algoritme.
In werklikheid, laat ons probeer om dit uit te druk 'n bietjie meer formeel in pseudokode -
Engels-agtige sintaksis wat lyk soos 'n programmeertaal.
Laat N gelyke 0.
Vir elke persoon in die kamer, stel N gelyk aan N plus 1.
>> Hoe om hierdie pseudokode te interpreteer?
Wel, lyn een verklaar, om so te praat, 'n veranderlike genoem en N initialisatie
die waarde na 0.
Dit beteken net dat aan die begin van ons algoritme, die ding waarmee
ons is toe 'n waarde van 0.
Na alles, voordat ons begin tel, ons het nie getel nog niks.
Noem hierdie veranderlike N is net 'n konvensie.
Ek kon genoem het dit die nodigste het nie.
>> Nou word twee demarks die begin van 'n lus, 'n reeks stappe wat
herhaal n paar paar keer.
So in ons voorbeeld, die stap ons neem is toe mense in die kamer.
Onder lyn twee is lyn drie, wat beskryf presies hoe
ons gaan oor te tel.
Die inkeping impliseer dat dit lyn drie wat sal herhaal.
>> So, wat die pseudokode sê, is dat na begin by 0, vir elke
persoon in die kamer, sal ons verhoog deur N 1.
Nou is hierdie algoritme korrek?
Wel, laat ons bang op dit 'n bietjie.
Werk dit as daar twee mense in die kamer?
Kom ons kyk.
>> In lyn een, ons inisialiseer N 0.
Vir elk van hierdie twee mense, Ons het toe inkrementeer N deur 1.
So op die eerste reis deur die lus, ons werk N 0-1.
Op die tweede reis deur dieselfde lus, ons werk N Van 1 tot 2.
En so deur hierdie algoritme se einde, n is 2, wat ooreenstem inderdaad die aantal
mense in die kamer.
>> So ver, so goed.
Hoe om 'n hoek geval, al is?
Veronderstel daar is 0 mense in die kamer - buiten My
wat doen die tel.
In lyn een, ons inisialiseer N 0.
Hierdie tyd, al is, reël drie nie uitgevoer te word nie, want daar is nie 'n
persoon in die kamer.
En so bly N 0, wat ooreenstem met die aantal mense in die kamer.
Eenvoudig, reg?
>> Maar toe mense een op 'n tyd is redelik ondoeltreffend, ook nie?
Nee, ons beter kan doen.
Hoekom nie tel twee mense op 'n tyd?
In plaas van die tel van 1, 2, 3, 4, 5, 6, 7, 8, en so meer, waarom nie tel, 2,
4, 6, 8, en so aan?
Dit klink selfs vinniger, en dit is seker.
>> Kom ons druk hierdie optimalisering in pseudokode.
Laat N gelyke 0.
Vir elke paar van die mense in die kamer, stel N gelyk aan N plus 2.
Pretty eenvoudige verandering, reg?
Eerder as om telling mense een op 'n tyd, het ons in plaas tel
hulle twee op 'n tyd.
Hierdie algoritme is dus twee keer so vinnig as die laaste.
>> Maar is dit korrek?
Kom ons kyk.
Werk dit as daar twee mense in die kamer?
In lyn een, ons inisialiseer N 0.
Vir dat 'n paar van die mense, Ons het toe inkrementeer N deur twee.
En so deur hierdie algoritme se einde, N is 2, wat ooreenstem inderdaad die aantal
mense in die kamer.
>> Veronderstel volgende dat daar 0 mense in die kamer.
In lyn een, ons inisialiseer N 0.
Soos voorheen, nie in lyn drie nie uitvoer Glad nie, want daar is nie enige pare
van die mense in die kamer.
En so bly N 0, wat inderdaad ooreenstem met die aantal
mense in die kamer.
>> Maar wat as daar drie mense in die kamer?
Hoe werk hierdie algoritme tarief?
Kom ons kyk.
In lyn een, ons inisialiseer N 0.
Vir 'n paar van die mense, Ons het toe inkrementeer N deur 2.
Maar wat dan?
Daar is nie 'n ander vol paar mense in die kamer, so word twee geen
meer van toepassing nie.
En so deur hierdie algoritme se einde, N is nog steeds 2, wat nie korrek is nie.
>> Inderdaad, is hierdie algoritme gesê word karretjie, want dit het 'n fout gemaak het.
Kom ons stel met 'n paar nuwe pseudokode.
Laat n gelyke 0 vir elke paar van die mense in die kamer.
Stel N gelyk aan N plus 2.
As een persoon bly ongepaarde, stel N gelyk aan N plus 1.
Hierdie spesifieke probleem op te los, het ons bekendgestel, in lyn vier, 'n
toestand, andersins bekend as 'n tak wat voer slegs indien daar is een
persoon wat ons nie kan paar met mekaar.
En so nou is, of daar is een of drie of enige onewe aantal mense in
die kamer, die algoritme sal nou hulle tel.
>> Kan ons dit doen selfs beter?
Wel, ons kan tel in 3'e of 4s of selfs 5'e en 10'e, maar as dit nie, is dit
gaan 'n bietjie te kry moeilik om te punt.
Aan die einde van die dag, of uitgevoer deur rekenaars of die mens,
algoritmes is net 'n stel instruksies met
wat probleme op te los.
Dit was net drie.
Watter probleem sou jy op te los met 'n algoritme?
>> [Einde video-vertoning]
>> David Malan: Dit is die enigste keer Ek verskyn in strokiesprent vorm.
Maar waar dat die storie blare af, nou, is hoe kan ons beter doen?
Drieë en viere, eis ons, ons kan tel mense baie vinniger, maar kan ons
doen fundamenteel beter as dit?
En ek verbintenis wat ons kan.
>> As ons 'n bietjie van ons eie pseudokode hier, ek gaan voor te stel
dat ons kan bereik 'n lyn soos hierdie.
Ons gaan nie mense om te tel een, twee, drie, vier.
Ons is nie van plan om twee te gaan, vier, ses, agt.
Ons gaan om te doen nie fundamenteel beter deur rethinking die probleem, en in hierdie
geval is, gebruik te maak van 'n andersins onderbenut hulpbron.
>> In net 'n oomblik, ek hoop jy sal vergewe en humor ons by te staan ​​in
plek, op watter punt ons gaan vra elkeen van julle te neem in jou
verstand om die nommer 1.
Jy is dan gaan toenemend ongemaklik, soos die tyd verby, vind
iemand anders wat staan, kombineer jou getalle bymekaar
deur toe te voeg tot.
Een van julle is dan gaan wedloop te sit eers sit en die ander persoon
gaan herhaal.
>> So in ander woorde, deur loting al jy met die getal 1, en dan
kombinasie van die 1'e in 2's en diegene 2s in 4s, met almal toenemend
sit, moet ons aan die einde van hierdie algoritme, het net een lening
siel wat gaan sit nie vinnig genoeg, maar wat die hele gehore telling het
in sy of haar verstand.
>> So as jy wil, laat ons gaan voort en - stap een - staan ​​in die plek.
En uit te voer.
>> [SKARE Verset]
>> David Malan: Weet jy waar Lauren is?
729?
>> [SKARE Verset]
>> David Malan: Alle reg?
>> [SKARE Verset]
>> David Malan: Alle reg, ons moet word nader aan die einde.
Ons sien een man wat hier staan ​​steeds.
Wie moet anders om te kom saam?
As jy ouens wil saam gaan.
Iemand het bo-op.
Hoekom kan ek nie leen 'n hand hier.
Vir die baie min mense wat nog staan, wat getalle doen jy
het in jou gedagtes?
>> STUDENT: 78.
>> David Malan: 78 plus -
wie staan ​​hier?
>> STUDENT: 39.
>> David Malan: Plus 39.
Plus wat anders is nog steeds staan?
81?
OK, wie anders?
Nog 'n 81?
Sjoe.
En dan wat is in die rug?
>> STUDENT: 49.
>> David Malan: 49, plus?
>> STUDENT: 98.
>> David Malan: 98 plus?
Is dat iemand anders?
12?
Goeie werk.
>> [Gelag]
>> David Malan: Ag, 112 -
O.
Goeie werk!
>> [Gelag]
>> [Applous]
>> David Malan: Iemand anders nog staan?
Jammer?
>> STUDENT: 99.
>> David Malan: 99.
Enigiemand anders nog staan?
En die totale aantal studente hier is eintlik, volgens -
het jy 'n getal?
O ja, die werklike aantal mense in die kamer, volgens die rekening wat
die onderrig metgeselle besig was op almal se manier, was 729.
So uit 'n volle kamer van Harvard studente wat hulself getel, het die
antwoord is 637.
>> [Gelag]
>> David Malan: So naby.
Maar nog steeds.
OK, so dit is 'n onderrig oomblik, reg?
Dit is nou wat ons beskryf as 'n fout.
Iewers langs die pad, ons het 'n paar rekenkundige verkeerd is, of iemand gaan sit het,
of verlaat, of iets verkeerd geloop het.
Maar dit is goed.
Want selfs nog steeds, ons het redelik naby.
En Ek wil argumenteer dat ons aan die verkeerde antwoord op 'n baie vinniger as wat ek wil hê
gebruik my meer lineêre benadering.
>> So laat ons veronderstel ons het in werklikheid kry wat korrek, maar dink nou oor wat
gebeur elke keer, teenoor my eie naïef wys algoritme.
Een, twee, drie.
As daar wel 729 of 637 mense hier, sou dit my geneem het
letterlik 637 of 729 pointings van die vinger en
verhoog van my totale telling.
En ek kon 'n bietjie beter te doen deur gaan twee, vier, ses, agt, en
dubbel wat spoed, miskien selfs driedubbele of quadruple, afhangende van hoe goed ek kan
doen wat tel in my kop.
>> Maar hierdie benadering dat jy ouens het was fundamenteel anders.
Want aan die begin, almal van julle het opgestaan.
So al 729.
En dan letterlik half van julle gaan sit.
En daarna 'n ander die helfte van julle gaan sit.
>> En die totale aantal kere wat jy ouens kon gesit het af is ongeveer
agt of nege of tien totale keer, afhangende van wat ons totale telling is.
En ons kan sorteer doen hierdie die ander kant.
As ons het 1024 mense in die kamer, die totale aantal kere wat jy kan
halveer 1024 mense is 10.
>> Nou dink oor dit in die ander rigting.
Veronderstel, belaglik, wat ons gehad het, sê 4000000000 mense in hierdie kamer,
of 'n effens groter kamer.
Hoeveel keer sou ons gegaan het deur middel van hierdie algoritme, so dat die helfte
van daardie klas sit?
Dit gaan slegs 32 sulke te neem bedrywighede, selfs in 'n klas van grootte
4000000000.
Hoekom?
Omdat 4000000000 gaan na twee miljard, gaan aan een miljoen, gaan aan
500000000, gaan na 250 miljoen, dot, dot, dot.
Ek kan dit net doen afdeling sowat 32 keer, op watter punt, almal behalwe
een persoon sal gelaat word staan.
>> En dit is ook 'n soort van 'n kragtige idee dat hoe meer sal ons probeer om
hefboom in hierdie kursus, en in ontwikkeling en rekenaarwetenskap meer
in die algemeen, hierdie kieme van 'n idee met wat kan ons dan probleme op te los baie,
veel meer kragtig.
So het ons begin eenvoudig met daardie pseudokode en 'n man in 'n kamer, maar
nou met 'n hele kamer vol mense het ons gedoen fundamenteel beter.
>> Wel, laat ons nou die oorgang van pseudokode tot 'n werklike kode.
Hierdie taal wat jy oor om te sien gebeur genoem te word nie JavaScript, en
Ons sal terugkeer na hierdie rigting semester se einde.
Dit is 'n programmeertaal wat jy gebruik om webtuistes en ander so te maak
sagteware hierdie dae.
En ons het dit gebruik het, te danke aan 'n vriend van ons by Stanford, te enkodeer
'n paar verborge inligting hier.
Dit is die kuns van steganografie, om so te praat, waar jy kan wegsteek
inligting in wat andersins blyk te 'n geraas of 'n heeltemal ander
beeld geheel en al.
Maar is ingesluit in hierdie spesifieke beeld is inderdaad 'n geheime boodskap van spesies.
>> So laat my gaan voort en trek dieselfde beeld hier, hierdie
keer in 'n webblaaier.
En ek gaan my hand te beweeg na 'n paar van die besonderhede vir vandag, veral
Vir dié van julle wat dit lyk soos nie net JavaScript maar Grieks, as 'n
heeltemal onbekende taal.
Maar dit is 'n voorbeeld van 'n programmeertaal.
>> En vir nou, neem op die geloof wat die eerste reël van die kode -
en deur die kode, het ek net beteken teks.
Teks wat ek letterlik kon getik het in Microsoft Word, as ek die
regte sagteware om dan iets te doen met dit.
Programmering bron kode, ontwikkeling kode, is eintlik net die teks, en dit
lyk anders wat gebaseer is op die taal wat jy gebruik, nie in teenstelling met Engels en
Spaans en Russies almal anders lyk wanneer jy tik op jou sleutelbord.
>> So die eerste lyn, want nou neem geloof, maak net 'n grafiese uit die
internet, wat lawaaierige grafiese Ons het nou net gesien het.
Hierdie volgende reël hier is 'n voorbeeld van 'n lus, en ons eintlik sien dat dieselfde
jargon in die TED video.
'N lus is iets wat weer gebeur en weer, en selfs al is dit
absoluut lyk kripties, met die navraag vir, en 'n paar hakies, en
sommige kommapunte.
Ons kom terug na wat voor lank, maar dat lus daar is in wese
vertel van die program, Itereer oor die hele van daardie lawaaierige kolle, van links na
regs, bo na onder.
>> Want aan die einde van die dag, 'n beeld soos hierdie - en jy kan eintlik
soort van sien dit op hierdie projektor -
is eintlik net 'n rooster van punte.
So ons kan identifiseer elk van die punte deur 'n koördinaatstelsel, x, y, en met hierdie
program, kan ons nou begin om te om iets te doen aan diegene kolle.
>> So wat ek gaan om voort te gaan hier en nie, is ek gaan 'n paar veranderinge aan te bring.
Eerste Ek gaan om voort te gaan en ontslae te raak van al wat groen en blou
geraas, en ek gaan om voort te gaan en tik die volgende
weliswaar kriptiese sintaksis.
im vir die beeld.
stel blou op plek x, komma, plek y, na 0.
Met ander woorde, ek wil net draai af al die blou
punte in die foto.
>> Ek gaan om voort te gaan nou en klik hierdie Run / Save-knoppie, en jy sal
kennisgewing aan die regterkant, die gevolglike beeld verskyn.
Nou is sy super groen, maar dit is nie verbasend nie, want ek het letterlik
af, deur die maak van 'n 1 'n 0, al die blou in die foto.
>> Wel, nou kom ons doen dit 'n bietjie meer.
im vir die beeld, dot setGreen, x, y.
En dit beteken dat net iteraat van links na regs en dan bo tot onder.
Draai dit af met 'n waarde van 0, as well.
Red.
En op die projektor, kan jy nie eintlik regtig iets sien nie.
>> Op my laptop skerm, as ek loer in net op die regte manier, kan ek sien 'n bietjie van 'n
beeld, want hulle is nog steeds 'n paar rooi in daar.
As jy al ooit gehoor van die afkorting RGB -
rooi, groen, blou -
dit verwys na die samestelling van 'n beeld met behulp van
net die drie kleure.
En nou het ons weggegooi al die groen, al die blou, maar
daar is nie veel rooi.
>> So laat my crank op die rooi.
Hoe kan ek dit doen?
Wel, die eerste, ek gaan om te vra hierdie program 'n vraag.
Ek gaan om voort te gaan en laat ons noem dit 'n veranderlike, net soos in algebra.
Jy kan x of y of z.
Ek gaan 'n veranderlike te verklaar en sê, sit in hierdie veranderlike,
tydelik, die waarde van die beelde getRed waarde by x, y.
>> En weer, sal ons terug te kom na al van hierdie detail in die toekoms.
Maar vir nou, net om op die geloof wat hierdie lyn is vra die program, wat
is die rooi waarde op x, y?
Op daardie spesifieke dot?
>> Dan gaan ek om iets te doen om dit te.
Dan gaan ek beeld dot stel rooi te doen by x, y, y, maar hierdie keer gaan ek
versterk dit deur dit te doen rooi tye, kom ons sê, 10.
So verhoog dit met 'n faktor van 10.
Laat my uitzoem nou en kliek kon loop / Save.
En siedaar, wat daar was die hele tyd, selfs al is ons menslike oë
kon nie heeltemal sien.
>> So weereens, dit is nou die werklike kode, 'n voorbeeld van 'n taal wat ons sal kom
terug na voor lank.
Maar besef, veral dié van julle met geen sodanige ondervinding, is dit baie
gou dat ons onsself sal wees kode skryf soos dit daar.
In werklikheid, 'n instrument waarmee jy al ietwat vertroud is, miskien, is CS50 se
eie koers-shopping instrument, wat eintlik weer begin hierdie somer deur sommige
van CS50 se eie oud-studente, nou draai TFS.
>> So gebeur dit na 'n webwerf gebou word in 'n taal, die sogenaamde PHP.
Dit maak gebruik van 'n databasis genaamd MySQL, dinge waarmee ons ons hande
vuil later in die semester.
Maar glo dit of nie, selfs iets soos dit verminder uiteindelik tot die
eenvoudigste van lusse en voorwaardes en takke, soos dié wat ons gesien het net 'n
oomblik gelede in die TED video.
>> Wat ek gedink ek wil doen, is nou deel nie net iets wat ons die personeel het
vir die kampus nie, maar eerder iets 'n voormalige student - drie
studente, in werklikheid -
het die afgelope jaar, Sierra, Daniël en Sam, die laaste van hulle het geen vorige
programing ervaring toe hy CS50.
En vir hul finale projek, het hulle uitgestal word, by die CS50 Fair, 'n
aansoek genoem wrdly, wat 'n web-gebaseerde program waarvoor hulle gemaak
hierdie video wat ek gedink ek wil deel te gee jou 'n gevoel van net wat
moontlik deur die term se einde.
>> [Speel van musiek]
>> David Malan: Dit is van Week Zero om Week 12 die afgelope jaar.
>> [Applous]
>> David Malan: As 'n teaser, ook werklik aan te wakker om jou eetlus is na wat
moontlik is, kan jy reeds gesien het, of dalk binnekort sien, market.cs50.net, 'n
Nuwe instrument dat die kursus se span het is besig om op, hierdie keer in
samewerking met Harvard Student Agentskappe, soos dat die begin van die jaar
en voortgesette hopelik in hierdie komende somer sal jy het 'n standaard
geleentheid om op kampus te koop en verkoop dinge van belang is vir jou.
En met die vennootskap deur HSA, sal jy ook in staat wees om items af te laai
in een van HSA se fisiese winkels op 'n sekere punt in die toekoms, so as te
volmag dinge, veral as jy gradueer en nie noodwendig wil
gooi dinge, maar eintlik betaal om dit stuur na mense wat kan volg
hier op die kampus.
So meer oor dit te kom.
>> Maar 'n bietjie meer konkrete, 'n instrument wat kom uit CS50 in onlangse
jaar, met wat sommige van julle kan wees bekende en ander van julle kan wees
googlen nou, op CS50.net/2x, sal jy 'n skakel na 'n Chrome uitbreiding
wat demonstratiewe van hoe jy kan gebruik JavaScript, wat dieselfde taal wat ons
gebruik word met die Eiffel-toring 'n oomblik gelede 2x afspeel spoed te implementeer
vir alle Harvard iSites videos.
Dit is iets wat gebou in CS50 se eie video-speler.
Maar dit is ook aan as jy begin grawe in die bron-kode, wat ons
gelukkig beskikbaar te maak, sal jy sien hoe jy kan selfs probleme op te los soos dit,
versnel widgets in webwerwe met wat jy reeds goed vertroud is.
>> So 'n woord nou op die baan en verwagtinge en wat nog voorlê.
In die algemeen, ons sal wel hier bymekaar op Maandae en Woensdae - al
hierdie Vrydag, sal ons bymekaar omdat van Shopping Week -
1:00-14:00, alhoewel soms tot 02:30.
Gegee dat jy dus kan of wil het 'n paar klas te neem om 02:00
af, of selfs voor, besef nie die Natuurlik is ondersteunend van wat genoem
gelyktydige registrasie, waardeur ons sal ondersteuning van 'n petisie aan die Ad Raad en
jou inwoner dekane namens u indien jy het 'n konflik iewers in hierdie
1:00-02:30 reeks.
Kop aan dat URL aanlyn verdere besonderhede.
>> Maar in terme van die ondersteuning struktuur wat kenmerkend CS50, vir studente
meer en minder gemaklik gelyk, ons bied duidelike spore van artikels.
En dit is 'n paar weke af, maar kort voor lank, sal jy gevra word om te
jou comfort vlak.
Is jy onder diegene wat minder gemaklik, meer gemaklik, of
iewers tussen in?
>> En ons sal drie afsonderlike spore wat voorsiening maak vir
juis daardie gehore.
So op geen punt in die kwartaal moet jy selfs voel soos jy meeding
teen enige student met meer min of agtergrond as jy.
Inderdaad, is die kursus bedoel om te wees baie meer samewerking en veel
meer oop as dit.
>> In terme van die probleem stelle, sal jy vind ook dat bykomend tot die
standaard uitgawe van elke week se probleem stel, daar is dikwels 'n "hacker
uitgawe "wat bedoel is om te word geteiken op die 5% tot 10% of so van die
demografiese wie is inderdaad onder dié meer gemaklik en wil graag meer
van 'n uitdaging as die standaard uitgawe van die pset verwag.
Meer besonderhede oor dié wat vir gevind in die leerplan.
>> Maar ook daar gevind kan word besonderhede oor die kursusse laat dae.
Tipies probleem sit is die gevolg op Donderdae.
Jy kan egter verleng baie van jou deadlines hierdie val uit Donderdae om
Vrydae net deur ons te ontmoet halfpad, om so te praat, beantwoord 'n paar warm-up
vrae in 'n paar van die week se probleem stelle, wat outomaties
dan gee jy 'n ekstra 24 uur.
Ons sal ook daal jou laagste telling, soos per die leerplan.
>> Om jou 'n gevoel van wat die probleem stelle is - want dit is inderdaad
die kursus se probleem sit dat uiteindelik byna elke definieer
student se ervaring, meer as lesings, meer as afdelings, meer
so as die meeste ander aspek van die kursus.
Verlede jaar, byvoorbeeld, het ons begin, soos Ons sal hierdie jaar begin, met krap.
Veral hierdie Vrydag, sal ons gebruik, net een dag se tyd, 'n grafiese
programmeertaal, waarmee ons sal begin ontwikkeling deur te sleep en
val stukke van die legkaart dat slegs vergader fisies as dit sin maak
om dit logies te doen.
>> Volgende week, sal ons vinnig oorgang na C, 'n redelik oud, maar baie klein en
eenvoudige taal wat jou sal toelaat om ons te werklik gaan 0-60 oor die verloop
van net 'n paar weke, en dan parlay diegene wat dieselfde vaardighede en kennis van
om basiese konstrukte in hoër-vlak tale soos PHP,
JavaScript, en nog ander nog steeds.
>> Verlede jaar, die derde pset in die loop was dié van kriptografie, 'n
domein-spesifieke aansoek waardeur ons studente uitgedaag om enige te implementeer
aantal karakters, programme waarmee te klouter of ontleden inligting,
om dit te enkripteer.
Vir die hacker uitgawe, daarenteen, ons het die hacker studente 'n lêer
van 'n standaard Unix rekenaar met gebruikers name en wagwoorde,
die laaste wat was geïnkripteer, en ons uitgedaag om die hacker
studente te decrypt, as die beste wat hulle kon, diegene wagwoorde, nog steeds op daardie
dieselfde domein.
>> Geskarrel, 'n spel met 'n paar wat van julle is dalk bekend.
'N forensiese stuk, waar ons vra studente data wat was om te herstel
andersins verwyder uit my eie digitale kamera se kompakte flits kaart, deur
eintlik skryf sagteware om uit te vind, Waar was die nulle en ene in
dat die digitale kamera wat voorheen saamgestel uit 'n JPEG prent?
>> 'N uitdaging van die spesies verlede jaar met die skryf van die vinnigste
speltoetser moontlik meeding teen vriende en klasmaats as
hulle wil.
Implementering van Huff 'n pofadder, 'n kompressie-program.
En dan eindig die semester met CS50 Finansies, 'n web-gebaseerde program met
wat jy 'n Etrade-agtige webwerf te koop en verkoop aandele, so te
praat, deur eintlik trek byna real-time kwotasies Yahoo!
Finansier.
>> Wat ons nie gedoen het nie verlede jaar was een probleem stel wat oorbly
nietemin 'n gunsteling.
As jy nog nooit weg te shuttle.cs50.net, sien jy 'n gebruiker
koppeling tussen 'n bietjie soos hierdie.
Maar twee jaar gelede, het die klas geïmplementeer word, met behulp van Google Maps en die
Google Earth plug-in en 'n bietjie van vaardig met die ry om die kampus,
sodat die doel van die spel was, as jy kan sien 'n paar van die gesigte,
is om te ry om die kampus op soek na personeel, onderrig maats en geoktrooieerde rekenmeesters, en
wanneer jy dit doen, om hulle op jou shuttle bus.
Nie een van hulle eintlik lyk om hier te wees, so ons gaan 'n oneerlik kode in te voer.
>> [Gelag]
>> David Malan: Daar gaan ons.
Alle regte.
En hier is nou die personeel gedraai soos oral op kampus.
En soos jy kan sien, op die regterkant kant van die skerm, die bus
het leë sitplekke.
En die doel was om die te skryf kode waarmee dit na te boots
ry en optel en laat val af van die passasiers.
Dat 'n mens ook, met behulp van 'n taal genoem JavaScript.
So besef dat programme soos wat wees op ons dieselfde trajek hierdie
jaar, as well.
>> In terme, nou, van bykomende ondersteuning, ons het kantoorure.
As jy dalk gesien het in jou eie huis eetsaal of in Annenberg,
sal ons in die huis eet sale vier nagte 'n week -
Leverett, Pfoho, Eliot en Annenberg hierdie jaar, 20:00-23:00.
En wat ons gedink het ons wil hierdie jaar te doen is iets wat 'n bietjie anders.
>> As jy gehoor dreunings verlede jaar dat dit was 'n bietjie te spanningsvol, hierdie
jaar se kantoorure, as ons sal beskryf volgende week, sal meer organiese,
waardeur by aankoms, sal jy gestuur na 'n spesifieke tafel
waar verskeie personeellede wag, en ons sal dit doen dinge baie meer
organies.
Geen meer ry nie, nie meer iPad, maar eerder meer intieme
gesprekke rondom 'n tafel van net agt of so studente, sodat ons
benader die gevoel van wat andersins sou 'n veel kleiner klas wees.
>> Ons bied, asook, hierdie dinge is ons genoem ipv, video verfilm in
bevorder deur een van die kursus se onderrig maats Zamyla, waarin sy
stap vir stap deur die week se probleem stelle, bied wenke en truuks vir die
uitdagings wat voorlê.
En omgekeerd, na die probleem stelle is as gevolg van hierdie jaar, sal ons ook vry
bietjie knipsels noem nadoodse ondersoeke wat eintlik loop jy deur
verteenwoordiger oplossings, beide goed en sleg, via wat jy kan aflei hoe
jy kan hê of behoort te hê geïmplementeer om jou eie oplossing.
>> En wat ons sal bied vir die eerste keer hierdie jaar so goed, veral
vir studente wat hulself maak van die kursus se ander
hulpbronne, maar tog sukkel al te veel, die loop
self sal paar diegene studente, soos hulpbronne dit toelaat, met tutors sodat
jy het 'n baie meer intieme geleentheid as huis eetsale
voorsiening te maak vir een-tot-een-hulp.
>> Nou 'n finale blik op 'n sekere van die einde speletjies in sig nie.
Jy mag dalk vertroud wees met die CS50 Hackathon.
Wel, kom hierdie Desember, van 08:00 PM om 07:00, by die begin van
Lees tydperk sal 'n geleentheid wees in te samel met klasmaats -
dit sou wees om 21:00 -
waartydens jy duik in jou finale projek se implementering saam
klasmaats, vriende, en voedsel.
Dit sou wees om 01:00, wanneer die eerste groep van voedsel aangekom het.
En dit is omtrent 04:00 wat betrokke jaar by die CS50 Hackathon.
>> Maar die ware hoogtepunt van die kursus is bedoel om die CS50 Fair, 'n kampuswye
uitstalling van jou eie finale projekte, wat familie en vriende is almal
genooi, as ons werwers en ons vriende uit die bedryf.
Dit, byvoorbeeld, is 'n blik op die 2000-plus mense wat bygewoon het
verlede jaar.
Uitdrukkings soos hierdie is nie ongewoon nie, en net so doen jou
klasmaats verlustig in dinge jy bereik het.
>> En eintlik, in die rigting van die einde, ons het 'n begin-van-kwartaal geval, as well.
As dinge soos hierdie 'n beroep op jou, of jy ten minste nuuskierig wat
Jy moet dan weet dat 'n nuwe tradisie van die Natuurlik is genoem CS50 legkaart Day.
En dit is 'n paar van die ingestel jaar terug om werklik sein na die kampus
dat die rekenaar wetenskap is nie oor programmering, en dit is beslis nie
oor die aanvaarding van slegs daardie studente oor vorige ervaring het.
Dit is regtig oor die probleem op te los meer in die algemeen.
>> En so legkaart Day, oor die afgelope paar jaar nou, het ontwikkel in 'n mooi
vennootskap met ons vriende by Facebook, waardeur daar sal heerlik wees
pryse en pizza oor die rivier by die i-laboratorium eerskomende Saterdag.
Kop aan dat URL met twee of drie vriende as jy wil graag om deel te neem
in hierdie nuwe tradisie.
>> So ek wil graag vra dat jy een ding in gedagte, en ons het net 'n perfekte
twee minute clip waarop te sluit vandag.
73% is die nommer om te onthou.
Koek, sal ook wag jy buite hierdie dwars as ons verdaag in net 'n
paar oomblikke, wat is 'n tradisie van die kursus, as well.
Maar dit is die sleutel aanhaling uit die Natuurlik se leerplan in gedagte te hou.
Wat belangrik is, uiteindelik in hierdie kursus is nie soseer waar jy beland
relatief tot jou klasmaats maar waar jy, in Week 12, beland met betrekking tot
jouself in Week 0.
>> Maar die blik dat ons jou sal laat met vandag hier is die laaste een hier
deur ons dieselfde Daniel, wat het die wrdly video net 'n oomblik gelede.
Ek los jou met hierdie blik van wat voorlê.
En as ons dit doen, as ons kon CS50 personeel van die voorkant van die kamer
om te kom op tot op die stadium al te verf die meer van 'n visuele prentjie te
wat vir jou wag vanjaar -
kry ongemaklik.
Ons sal afsluit met hierdie hier op die skerm.
>> [Speel van musiek]
>> David Malan: Dit is CS50.
>> [MUSIEK - mat & Kim, "dit is in orde"]
>> Spreker 1: Ek is mal CS50 meer as katte.
>> Spreker 2: Whoaaaa!
>> [Gelag]
>> David Malan: Dit is dan, is CS50.
Ons sal sien dat jy op Vrydag.
>> [Applous en die gejuig]
>> NARRATOR: By die volgende CS50, 'n verhoog demo gaan nie soos beplan.
>> David Malan: Ons wil Mike te vind Smith in die telefoon boek.
Wel, wat is jou instink?
Ek kan rofweg spring tot in die middel van die telefoon boek, oë neer, sien dat
Ek is by M, en ek weet nou dat Mike Smith is nie aan die linkerkant.
Hy moet na die regterkant.
En so op hierdie punt, ons kan letterlik skeur -
Op hierdie punt, ons kan letterlik skeur -
Op hierdie punt, ons kan figuurlik skeur die telefoon boek in die helfte.
>> [Ukelele getokkel]