[Powered by Google Translate] [Muziek spelen]
DAVID J. MALAN: Dit is CS50.
Dus ik was waar je nu bent enkele jaren geleden.
En toen ik een eerstejaars op het moment, ik was niet echt op
dit pad van het doen van de informatica, van het doen van engineering.
Inderdaad, kwam ik in deze plek als een regering concentrator.
Ik was geweest, op de middelbare school, een jongen die
vond dingen als geschiedenis.
Ik vond het grondwettelijk recht, een soort van Engels en wiskunde.
Het is als soort van goed afgeronde, maar deed het niet
se weten dingen die ik niet had
geleerd op de middelbare school.
En dus eerste jaar, ik had deze ongerustheid, waarbij zelfs
hoewel ik hield van computers, speelde computerspelletjes en de
leuk, ik zeker nooit gedacht van mezelf als een
computer persoon, een computer wetenschapper.
En eerlijk gezegd, ik dacht dat mijn vrienden op de middelbare school, die
namen informatica waren beetje een geeks.
En toch, toen ik hier kwam op de campus, was er
deze cursus, CS50.
>> En op dat moment, had deze reputatie van echt zijn
iets om op te passen.
Het was een goede cursus.
Het was een leuke cursus.
Maar je moest die voet daadwerkelijk krijgen in de deur.
En zelfs ik niet die drempel eerste jaar.
En ik ging op weg zijn een regering concentrator, gaan
door zo veel van de voorwaarden als ik kon,
cross-tellen dingen voor gen ed of kern en dergelijke.
En dan tweede jaar, om wat voor reden, ik stond op de
lef om te voet stap in Science Center B, waar CS50 was.
Een zeer beroemde informaticus door de naam van Brian
Kernighan werd hier leren dat jaar.
En zelfs dan, ik was alleen bereid om daadwerkelijk invullen
mijn studie-kaart door het nemen van deze klasse pass / fail.
Ik keek om me heen en ik dacht iedereen in deze is
moet weten veel meer over informatica, over
programmering, over computers.
Iedereen moet men programmeren, in deze kamer,
aangezien zij 12.
Maar, inderdaad, dat was niet het geval.
En dus is de allerlaatste dag, de vijfde maandag van het semester,
Ik heb deze sprong en verandering te nemen van pass / fail naar een
brief rang en eindigde het veranderen van mijn concentratie die
dezelfde dag op de informatica.
>> Nu, dat is niet ons doel in deze klasse, te draaien jullie allemaal
in de computer science concentrators, maar echt om
stellen dat er een kans in dit gebied en
op andere terreinen waarmee je misschien wel heel vertrouwd
gezien het feit dat middelbare scholen doorgaans een vrij te volgen
standaard curriculaire pad, om maar wagen in, in CS50, in
nieuwe wateren.
En als je hier zit vandaag denken dat je niet
eigenlijk horen, dat doen de meeste mensen naar rechts en
aan uw linkerhand.
Inderdaad, vorig jaar, 76% van de studenten in deze klasse had geen
eerdere ervaring.
Dus in tegenstelling tot wat je zou denken, de meeste van de mensen
zitten hier vandaag niet, in feite, hebben enige voorafgaande
bieden.
18% hebben een CS klasse en 6% hebben twee of meer.
Ondertussen vragen we onze studenten per jaar te beschrijven
zichzelf in termen van comfort.
En er is niemand definitie van deze.
Je gewoon een soort van weet dat als je niet erg
comfortabel in CS50.
En vorig jaar hadden we 55% in deze groene cirkelsegment hier
zelf-beschreven als minder comfortabel, studenten die
eerlijk gezegd had geen idee waarom ze zelfs gewinkeld de cursus op
die eerste dag.
Maar dezelfde 55% bleef bij ons tot het einde looptijd's, net als
35% die ergens waren tussen die comfortabeler
en die minder comfortabel.
>> Dus, wat is informatica?
Welnu, in de middelbare school, en echt meer in het algemeen uit
er deze dagen, er is een waarneming of dit
misvatting dat de informatica is het programmeren.
En dat is absoluut een aspect van de informatica.
Maar het programmeren, ongeacht de taal is, is eigenlijk gewoon een
die helpt om computergebruikers wetenschappers gebruiken om problemen op te lossen, ofwel
in het domein van de informatica of meer van deze
dagen in de natuurwetenschappen, de natuurwetenschappen, in het
geneeskunde, in de geesteswetenschappen, om grote hoeveelheden gegevens te analyseren.
Overal is er nu de computer en de gegevens, is er een
mogelijkheid om geleerde lessen in een klas als CS50 toe te passen.
>> Dus laten we het oplossen van een probleem dat een computer wetenschapper zou kunnen gaan
over het oplossen van en proberen om wat jargon te zetten, er wat
conceptueel kader, zou rond wat anders sommige
tamelijk abstract idee.
Dus dit is een telefoon.
Je ziet niet deze dingen te vaak, hoewel het college
nog steeds lijkt te hebben deze in de huizen en slaapzalen.
Maar terug in de dag dat je wilde een telefoon als gebruiken
dit was er geen elektronisch adresboek
in uw mobiele telefoon.
Integendeel, je trok iets
bekend als een telefoonboek.
En deze telefoon boeken had ongeveer 1.000 pagina's, meestal.
Ze werden gesorteerd van A tot Z. En je gewoon moest de vondst
juiste pagina van de persoon die je zoekt te vinden om
vinden hun naam en hun telefoonnummer.
Nu hoe ga je over het opzoeken van
iemand in dit boek?
>> Stel dat mijn doel is om mijn vriend, Mike Smith, een gesprek.
Nou, hoe ga ik over het vinden van Mike Smith?
Nou ja, een zeer redelijke benadering, indien naïef en
inefficiënt, hier zou worden gestart en begint met het doorlopen tot
pagina 4 pagina 5 pagina 6, en om een ​​soort van lineair, samen
een rechte lijn, ga door dit telefoonboek.
En hoewel het komt wel ongelooflijk vervelend, als Mike
Smith is in dit boek, ben ik uiteindelijk ga hem bereiken
toen ik eindelijk draaien om de S sectie van dit boek.
Nu natuurlijk, hoeft u niet nodig om een ​​computer wetenschapper te zijn
weet dat dit een domme manier om dit probleem.
Wat zou een typische mens doen?
Goed gedaan.
Dus je zou omdraaien naar het midden, rechts.
Dus je zou ruwweg omdraaien naar het midden, kijk hier, en ik lijken
om mezelf te vinden in de M sectie.
OK, dus M is duidelijk niet wat ik ben op zoek naar.
En Mike's naar rechts, om zo te zeggen van deze sectie.
En zoals sommigen van jullie eerder hebben gezien, kunnen we letterlijk nu
dan dit probleem scheuren in half.
>> [Applaus]
Je moet echt niet zo onder de indruk.
Te scheuren langs de naad is eigenlijk niet zo moeilijk.
De echte mensen doen het op deze manier.
Maar langs de naad, hebben we nu twee problemen, die elk
die half zo groot.
En we kunnen letterlijk weggooien dat de helft van het probleem.
Nu zijn we vertrokken niet met 1.000 pagina's, maar, laten we zeggen, 500.
Dus wat moet ik nu doen?
Nou, een typisch menselijke ongeveer weer in het midden.
En ik vind mezelf een van de R-sectie.
Dus er nog niet helemaal.
Dus nogmaals, ik kan dit probleem scheuren in de helft.
[Applaus]
Dank u.
Dus nu heb ik alleen nog ongeveer 250 pagina's.
En ik kan dit doen opnieuw en opnieuw en opnieuw en gaan van
125 tot ongeveer 60 30 tot 15 en dergelijke.
En tot slot, ik word teruggebracht tot een van de S pagina's op
die, als hij in het telefoonboek, Mike Smith zou moeten zijn.
>> Nu, dat is een duidelijk redelijk algoritme,
en het is een one-time-use-algoritme in dit geval.
Maar wat kunnen we soort van weg te nemen van dat?
Nou, de eerste benadering, corrigeren als naïef hoewel het
is, kan worden beschreven door deze rechte lijn.
Dus als de x-as hier we zeggen is de grootte van de
probleem, daar de x-as gaat naar rechts, de
probleem wordt groter.
Wat betekent het om grotere in de
kader van dit probleem?
Meer pagina's in het telefoonboek.
Er is meer iets dat we kunnen kwantificeren.
Op de Y-as, tijd op te lossen.
Dus als de as omhoog gaat, duurt het waarschijnlijk meer tijd.
Dus dat eerste benadering lineair zoeken van pagina 1
om dot dot dot pagina 1000 is een lineaire procedure, een lineaire
algoritme of werkwijze.
En we kunnen beschrijven door deze rechte lijn.
Als ik nog een pagina toe te voegen aan het telefoonboek, gaat het om, in
het ergste geval, neem me nog een page flip
Mike Smith te vinden.
Als ik voeg 100 pagina's, 100 meer flips of tijdseenheden.
>> Nu kan ik een beetje slim met deze.
Ik hoef niet om echt te draaien een pagina per keer.
Ik kan dingen doen zoals twee per keer of 4 per keer.
Maar zelfs dat is niet alles wat fundamenteel beter.
Ook al is het 2 per keer, ja, dat soort beweegt deze
lijn een beetje, en het betekent dat het gegeven minder tijd in beslag neemt
hetzelfde aantal pagina's.
Maar het is niet fundamenteel beter.
Maar wat hebben we gewoon doen, en wat heb jullie allemaal doen
instinctief?
U werkelijk behaalde een beetje zoiets als dit,
logaritmische, waarbij het probleem kan groeien en groeien en
groeien maar de kosten van het oplossen van dat probleem, de tijd
vereist dat probleem op te lossen, niet
groeien bijna net zo snel.
Dit zou een logaritmische curve, log van n, waarbij n is
alleen de omvang van het probleem is het aantal pagina's in deze
telefoonboek.
En wat betekent dit in de praktijk?
Nou, als we als 500 mensen in deze kamer nu,
of liever, als we -
mengen metafoor, deed dat niet bijvoorbeeld nog dit jaar -
dus als we 500 pagina's in het telefoonboek en we verdubbelen het aan
1.000, in deze meer intelligente model van flipping
naar het midden, hoe veel meer pagina tranen te nemen om te gaan
van 500 pagina's tot 1000?
Nou, gewoon een extra pagina traan.
Als je gaf me een 2.000 pagina telefoonboek, geen big deal.
Ik scheur het een keer extra.
>> Dus in het kort, de omvang van het probleem veel sneller groeien
dan de kosten om het op te lossen.
Nu is dit slechts een dergelijk algoritme.
Er zijn anderen die we kunnen oplossen op dezelfde manier.
En ja, waarom niet we dit doen?
Wilt u humor mij, zij het onhandig hier in Sanders, ga
vooruit, iedereen, als je kon en opstaan ​​op zijn plaats.
Zoals je ziet op het scherm hier, dit is een algoritme, een
proces, een computerprogramma als je wil, uit te voeren door
mensen die slechts 3 stappen heeft.
We zijn al op stap 1.
Je hebt stond op.
En nu denk je bij jezelf het getal 1.
Dat is uw huidige nummer.
Iedereen hier is nummer 1.
Stap 2, uit te koppelen met iemand staande, voeg uw nummers
samen, en dan nemen de som als je nieuwe nummer.
Een van jullie moet gaan zitten, dan herhalen.
>> LUIDSPREKER 1: 205.
DAVID J. MALAN: Wat is dat?
LUIDSPREKER 1: 205.
DAVID J. MALAN: OK.
SPEAKER 2: Hij heeft de andere.
DAVID J. MALAN: 205?
SPEAKER 3: Ja.
DAVID J. MALAN: OK.
3.
SPEAKER 4: 400.
SPEAKER 5: 5.
700.
DAVID J. MALAN: Oke.
Op dit punt, moet steeds minder mensen staan.
Dit is waar het wordt lastiger.
Iemand hier.
Hier.
Het ergste is dat je ook heel mondeling doen
rekenkundige in de voorkant van honderden Harvard
undergrads.
OK.
Beetje een bug hier.
Oke.
Wat is je nummer?
SPEAKER 6: Nine.
DAVID J. MALAN: Wat is dat?
SPEAKER 6: Nine.
DAVID J. MALAN: Nine.
Oke.
Wat is je nummer?
SPEAKER 7: 179.
DAVID J. MALAN: 179?
Oke.
Goed.
So 188.
Dus jullie kunnen gaan zitten.
Wat is je nummer?
SPEAKER 8: 118.
DAVID J. MALAN: 118.
Sommige slimme undergrad gaan doen van de wiskunde.
Oke.
118, 188.
Wat hebben we hier?
SPEAKER 9: 71.
DAVID J. MALAN: 71.
SPEAKER 10: 79.
DAVID J. MALAN: 79.
Oke.
SPEAKER 11: 47.
DAVID J. MALAN: 47.
Welke, docenten, dat geeft ons hoeveel?
705 is het antwoord.
En dat is in feite precies juist.
Nee, we waren eigenlijk een beetje uit daar.
>> Maar hoe moet dit hebben gewerkt?
Wat moet net gebeurd?
Dus, op elke iteratie van dit algoritme, zijn we begonnen met
een bepaald aantal mensen staan, en dat was de
totaal aantal n op het eerste.
Dan de helft van je ging zitten, en we gingen naar n meer dan 2.
Dan de helft van je ging zitten.
We gingen over 4 n, n dan 8, n dan 16, enzovoort,
tot, hoewel het soort gedesintegreerde daar bij de
einde, in theorie, had iedereen gepaarde off in balkon en
mezzanine en orkest hier, zouden we hebben gehad maar een eenzame
persoon die met een waarde, in dit geval van 705.
Nu, dat betekent wat echter betekenen, voor de looptijd?
Nou denken als ik als het menselijk was dit handmatig gedaan.
Ik zou vrij naïef, maar juist zijn begonnen met 1,
2, 3, 4, 5, 6, 7, 8, enzovoort.
Neemt geruime tijd.
Dus kan ik beter doen, toch?
In de lagere school, hoeft u niet alleen rekenen op degenen.
Je telt in groepjes van twee.
Zo 2, 4, 6, 8, 10, 12.
En dat krijgt veel sneller.
Maar nu fundamenteel, door gebruik te maken van de collectieve
intelligentie van iedereen in deze kamer, kunnen we een
beteugelen veel meer als dit, waarbij nu het nummer van de
mensen in deze kamer zou kunnen verdubbelen.
Een andere 700 mensen lopen in deze ruimte voor 1.400 personen,
maar het zou slechts ons nog een iteratie van deze
algoritme op te lossen.
>> En dus, in toenemende mate deze dagen, als we deze enorme
datasets in Facebook en Google en dergelijke, is het
het oplossen van problemen met een beetje inzicht, dit stukje
slimheid, dat is waardoor we steeds te veel, veel te doen
meer krachtige dingen met computers van vandaag.
Als je van dit soort dingen, zou je gezien hebben op
Eigen Puzzle Facebook CS50's Day er deze zaterdag.
Als u wilt deelnemen aan iets als
deze waarbij je, in 2 of 3 of 4 teams van 4, willen
oplossen van een aantal puzzels zoals deze, loop je de kans
naar een aantal fantastische prijzen te winnen, waaronder een Wii en een aantal
cadeaubonnen of een andere Facebook swag.
Deze zaterdag, 's middags tot 3:00 uur, gaat u naar
cs50.net/rsvp dergelijke.
En deze dia is online als je wilt om rond te spelen.
De problemen van dit jaar zijn nieuw.
>> U zult merken in de klas, ook des te meer
camera's dit jaar.
Dus niet alleen zal de cursus worden gefilmd op de gebruikelijke wijze, CS50
kunnen ook deelnemen aan een documentaire over hogere
onderwijs dat kijkt naar de transformerende ervaring
dat een student kan hebben deze dagen in een undergraduate
opleiding.
Dus in de richting van deze, dan zullen niet alleen wij filmen voor
dat, zullen we net zo goed worden filmen voor steeds onze
online publiek, maar ook bij gelegenheid dit publiek hier.
Dus we van harte welkom om de klasse dit jaar onze Harvard
Uitbreiding School studenten, Graduate School of Design,
Onderwijs, de business school, de Kennedy School,
de wet school, evenals een aantal studenten van
Belmont, Lexington, Newton, en Watertown middelbare scholen.
Welkom aan u allen.
Daarnaast dit jaar, je misschien hebt gehoord, Harvard en MIT,
en Berkeley nu, zijn opgenomen in een samenwerkingsverband
partnerschap, een initiatief genaamd EDX, dat is een
initiatief ter invoering van het onderwijs des te meer
mensen online en fundamenteel gaan doen
onderzoek op een veel bredere schaal over de manier waarop mensen leren.
En zo CS50 zal het college de eerste cursus worden
deel te nemen aan dit initiatief ook.
Wat betekent dat u toegang hebt tot alle meer tools,
des curricular inhoud, des video
gehaltes, en, vanaf gisterochtend de
53.019 mensen die zich hebben aangemeld om CS50 mee te nemen
met u dit jaar op het internet.
Dus zonder -
[Applaus]
Wat dit betekent met name dat de
onderwijzend personeel en ik heb heel wat tijd deze
zomer de voorbereiding van de herfst, zowel op de campus en uit, dus
dat kunnen we beginnen met het opbouwen van een corpus van interessante, van
dwingende, van boeiende educatieve inhoud die
richt zich met name op meer intieme vervoermiddelen van
vrij complexe materie.
>> Dus naast lezingen van de cursus en de secties en
dingen walkthroughs, die we zullen opnieuw genoemd in slechts een
beetje, zullen we ook deze shorts van dit jaar die het mogelijk maken
u aan te gaan met de cursus vanuit een andere hoek
helemaal.
Dus laten we dit als een kans om een ​​snelle nemen
gluren bij degene die deze notie van binaries bespreekt.
>> Dus in de informatica, zijn er dingen die genoemd algoritmes -
waarvan er twee namen we een kijkje bij - deze procedures voor
oplossen van problemen.
Maar aan het eind van de dag, moet u
een of andere manier vertegenwoordigen informatie.
En je moet om hem te vertegenwoordigen op een manier die een computer kan
te begrijpen.
En zelfs als je niet echt begrijpen computers en
je bent in dat 76% op dit moment, heb je waarschijnlijk een vaag
zin dat computers een of andere manier handelen in 0s en 1s, de binaire
systeem, om zo te zeggen.
Waarom is dat het geval?
Nou, het blijkt dat computers kwam voor het eerst over, indien
je nodig om informatie te geven, zou je het doen
met elektriciteit.
En al is dit een beetje een oversimplificatie, een zeer
gemakkelijke manier van opname-informatie wordt hetzij door
draaien die elektriciteit op -
a 1 in binaire zogezegd - of draaien
die elektriciteit uit te schakelen.
>> Dus, als Barry, als je het niet erg vindt, kunnen we dim de lichten
volledig voor slechts een moment?
Dit is hier een zeer gratuite binaire 0.
Als we de lichten weer op, nu Sanders Theatre is
die de binaire waarde 1.
Helaas, met slechts een beetje, met slechts een set
lichten, kunnen we alleen maar vertegenwoordigen twee getallen in de
wereld, 0 en 1.
En het zou mooi zijn als computers zou kunnen rekenen van een
iets hoger dan dat.
Maar inderdaad ze kunnen.
Dus laat me hier te trekken op het scherm onze vriend Nate Hardison
die geeft ons een snelle blik in de loop van slechts een paar
minuten bij deze notie van binaire.
>> [VIDEO AFSPELEN]
NATE Hardison: Terug toen je leerde lezen en schrijven
nummers hebt u geleerd over de cijfers 0 tot 9.
Op hele getallen groter dan 9 te schrijven, leerde je dat alle
je moest doen was een combinatie van deze cijfers te gebruiken,
zoals in 52 en 437.
Dus, deze manier van het schrijven van nummers heeft een
naam, decimale notatie.
Waarom decimaal?
Nou, de Latijnse wortel van een decimaal, decem, betekent 10.
En als je 10 cijfers in uw notatiesysteem, 10
wordt een nogal speciaal nummer.
Laten we eens kijken naar het aantal 437 geschreven in decimale notatie te
begrijpen waarom.
>> We kunnen eerst in stukken opbreken 437 in 400 plus 30 plus 7.
We kunnen het uit elkaar des te meer dat we 4 keer 100 kreeg
plus 3 maal 10 plus 7 keer 1.
Vergeet niet het leren over degenen plek, de tientallen,
de honderden plaats, en ga zo maar door?
Dit is precies waar dat vandaan komt.
En tot slot, kunnen we zien dat we een stelletje van machten van 10 kreeg
ingebed in hier.
We hebben 4 maal 10 tot de 2 plus 3 maal 10 tot de 1 plus
7 maal 10 tot 0.
Dus nu zie je waarom 10 is een speciale
aantal decimale notatie.
In feite hebben we een naam voor.
Het heet de basis omdat het de basis van de exponent
in onze rekenkundige hier.
>> Decimale notatie is niet de enige manier om cijfers te geven.
In feite, zelfs als we ons bevrijden van de cijfers 2 tot en met 9, kunnen we
vormen nog steeds alle nummers die
we konden met decimaal.
Dus nu hebben we twee cijfers, 0 en 1, 2 is onze speciale
nummer, de basis van onze notatie.
De naam van deze notatie systeem heet binaire sinds
het voorvoegsel "bi" betekent 2.
Dus in plaats van nu het hebben van een die plaats en tientallen plaats en
ga zo maar door, hebben we nu een die plaats, een tweeën plaats, een fours
plaats, enzovoort, gaan door machten van 2.
Dus laten we dit zien door te doen wat tellen.
Dus, 0 blijft 0 en 1 nog 1.
Maar nu hebben we een twos plaats in plaats van de tientallen
plaats 10 de nummer 2.
Om 3 te krijgen, voegen we een tot dat en krijg 11.
4, omdat er nu een fours plaats, is
vertegenwoordigd door 100.
Vijf is 101.
6 is 110.
7 is 111.
8, nogmaals, heeft zijn eigen plaats.
Het is dus 1000.
En ik denk dat je het punt.
[END VIDEO AFSPELEN]
>> DAVID J. MALAN: Dus, dit wil zeggen, wat computers doen en
wat binair is eigenlijk niet zo verschillend van wat
hebben we zo vanzelfsprekend voor enkele jaren, toch?
Denk je dat de lagere school, je hebt geleerd om te tellen in precies
de mode die Nate voorgesteld.
Maar heb je waarschijnlijk niet echt over nagedacht, omdat
het feit dat er dit degenen plek, tientallen plaats en
honderden plaats.
En dat is vrij willekeurig.
En inderdaad, computers gewoon gebruik maken van deze ander basisstation.
Maar aan het eind van de dag, fysiek vertegenwoordigen
Dit idee van een 0 en 1, heb je natuurlijk niet alleen draait u de
lichten aan en uit se.
Je moet om het te doen op een veel meer verfijnde schaal.
En door meer verfijnde, kan je nog deze domme
kleine speelgoed uit de kindertijd, Woolly Willy en deze kleine
magnetische deeltjes.
>> Dus magnetische deeltjes zijn iets dat u kunt uitlijnen
in een paar verschillende richtingen, misschien
noord-zuid of zuid-noord.
En dus veel van de fysieke incarnaties van de technologie
deze dagen dat binary, die gebruik maken van 0s en 1s, gewoon
hebben magnetisme aan de binnenkant dat de dingen uitgelijnd, up-down of
down-up, met daarbij die een 0 of een 1,
respectievelijk.
Dus inderdaad, laten we weg hier verplaatsen van de abstracte en
naar de binnenzijde van wat een meer traditionele
computer harde schijf.
Deze toevallig een beetje groter op het scherm in dat het
van een desktop computer.
Maar laptops vandaag de dag nog steeds dezelfde technologie, maar is
geleidelijk vervangen door meer geavanceerde dingen
hebben eigenlijk geen bewegende delen.
De binnenkant, dus van een harde schijf.
>> [VIDEO AFSPELEN]
SPEAKER 12: De harde schijf is waar uw PC slaat het grootste deel van
haar vaste data.
Om dat te doen, de gegevens reist van RAM-geheugen, samen met software
signalen dat de harde schijf hoe die gegevens op te slaan vertellen.
De harde schijf circuits vertalen deze signalen in
spanningsschommelingen.
Deze controle op hun beurt van de harde schijf bewegende delen, een deel van
de weinige bewegende delen meer in de moderne computer.
Sommige van de stuursignalen een motor die draait
gemetalliseerde platters.
Uw gegevens worden in feite opgeslagen op deze schotels.
Andere signalen bewegen de lees-schrijf-kop naar of gelezen
schrijven van gegevens op de platters.
Deze machine is zo nauwkeurig dat een menselijke haar niet kon
zelfs passeren tussen de koppen en de draaiende platen.
Maar het werkt allemaal op geweldige snelheden.
[END VIDEO AFSPELEN]
>> DAVID J. MALAN: Dus, als we nu in te zoomen op wat er eigenlijk
gebeurt op de top van deze schotels in termen van de
magnetisme, hebben we deze tweede van twee looks.
>> [VIDEO AFSPELEN]
SPEAKER 13: Laten we eens kijken naar wat we zojuist zagen in slow-motion.
Wanneer een korte elektrische puls gestuurd naar de
lees-schrijf-kop, het draait op een kleine elektromagneet voor een
fractie van een seconde.
De magneet creëert een veld dat de polariteit van verandert
een klein, klein deel van de metalen deeltjes die jas
elke schotel oppervlak.
Een patroon reeks van deze kleine opgeladen gebieden op de schijf
vertegenwoordigt een bit van de gegevens in het binaire getal
systeem dat wordt gebruikt door computers.
Wanneer nu de stroom eerst de ene kant door de lees-/schrijfmodus
kop het gebied gepolariseerd in een richting.
Als de stroom in de tegengestelde richting, de
polarisatie omgekeerd.
Hoe krijg je de gegevens van de harde schijf?
Gewoon het proces omkeren.
Dus het is de deeltjes op de schijf dat de huidige krijgen in
de lees-schrijf-kop beweegt.
Zet samen miljoenen van deze gemagnetiseerde segmenten en je hebt
kreeg een bestand.
Nu kan de stukken van een enkel bestand over verstrooid worden
een schijf platters, net zoiets als de puinhoop van
papieren op uw bureau.
Dus een speciale extra bestand houdt de sporen van waar alles is.
Weet je niet willen dat je had zoiets?
[END VIDEO AFSPELEN]
>> DAVID J. MALAN: Inderdaad.
Dus, we hebben dit vermogen om informatie, nummers vertegenwoordigen
op een zeer laag niveau.
Wij hebben een fysieke manier te vertegenwoordigen dat hetzelfde.
Maar we kunnen niet doen echt zo veel van belang nog
anders dan misschien wat rekenen en wiskunde.
Wij hebben op geen enkele manier te vertegenwoordigen tot nu toe dingen als
alfabetische letters zodat wij mensen kunnen communiceren
met dezelfde apparatuur.
Maar gelukkig bestaat er coderingen, patronen van 0s en
1s, dat hogere niveau constructies zoals A en B
en c en hele zinnen en alinea's en dergelijke.
En zo ASCII, een acroniem dat verwijst naar deze
coderingssysteem waarbij een getal vertegenwoordigt een bepaalde letter.
>> Bijvoorbeeld, het nummer dat wij kennen als decimale waarde 65 is
bekend als de hoofdletter A tot computers.
De decimale waarde van 97 in computers bekend als
kleine letter a.
En wat betekent dat eigenlijk?
Nou, ook al Nate even geleden alleen geteld
0-8, als we verder te tellen tot 65 of
verder tot 97, het patroon van 0s en 1s dat hij zou hebben
op het scherm getekend zou zijn precies wat een computer gebruikt
naar de letter A in hoofdletters of vertegenwoordigen
de letter a in kleine letters.
En inderdaad, er is een hele regeling bij.
Dit is een op het eerste gezicht, overweldigende grafiek van
coderingen, maar als je je richt alleen op de rechter helft hier,
merkt in dit middelste kolom hebben we dit begrip van getallen
gevolgd door letters.
En aan de bovenkant hebben we 32.
En het karakter, char, waarbij 32 het gehele getal verwijst
is blijkbaar de spatiebalk karakter.
Wanneer je op de spatiebalk karakter op uw laptop,
goed, wat je echt het verzenden van een getal is, een patroon
van 0s en 1s, een stroom van elektriciteit als je wil,
vertegenwoordigen die 0s en 1s dat de computer dan
interpreteert als een spatie op het scherm.
Een uitroepteken is 33.
Dubbele aanhalingstekens is 34.
En als we naar beneden scrollen hier naar rechts, zien we dat
65 is inderdaad een, en 97 is inderdaad kleine letter a.
>> En nu dat we deze coderingsschema hebben, kunnen we beginnen
om dingen te spellen.
Inderdaad, computers meestal uiten in standaard
eenheden niet met een individuele bits, die evenmin alle
die nuttig alleen 0 of 1, lichten aan of uit, maar
gebruikt in plaats van sequenties van bits.
En de meest voorkomende maateenheid, zoals u waarschijnlijk weet
en althans afgeleid, is een byte.
Een byte is gewoon acht bits, acht 0s of 1s op een rij.
Dus we kunnen beginnen met spelling dingen uit.
En dus, als we dat konden, waarom niet proberen dit een beetje
collectief hier.
Zijn er acht mensen in deze zaal die bereid zou zijn om
komen op het podium?
Je moet prettig om op camera, maar u
niet echt nodig om te weten, anders, wat is
aan de hand gewoon nog niet.
Ik zie een persoon die wordt vrijwillig hier.
Twee, drie, vier, vijf, zes, zeven, en wat dacht je van acht.
Kom op.
>> Dus u bent op het punt om een ​​byte van de mensen vertegenwoordigen.
Laat mij heb je de 128 de plaats, je de 64 de plaats, je
de 32 de plaats.
Maar we zeer snel moeten dit ongedaan te maken.
Dus laat me je voldoet aan de daar.
En je moet in plaats van de 128's helemaal hier.
Net als de honderden plaats en de duizenden plek zou
zijn verder naar links, we willen dat de grootste tijdelijke aanduiding
hier zijn links ook.
We hebben 64S's 32, 16's, 8's, 4's, 2, en 1's.
Uitstekend.
Dus nu hebben we -
OK, kun je me helpen.
Dus nu hebben we - wat is je naam?
Joanne: Joanne.
DAVID J. MALAN: Joanne.
Dus Joanne en ik gaan nu deze jongens te adviseren over de manier waarop we
kunt gaan over spelling iets uit.
Dus op de ruggen van de vellen papier, ze een
weinig spiekbriefje dat gaat hen of te vertellen
zij die een 0 of een 1.
En waarom niet voor de eenvoud zullen we vertegenwoordigen 0 door gewoon
staan ​​onhandig.
Heel goed.
Of een 1 door uw hand, wat neerkomt op een 1.
En laten we eens kijken of we niet kunnen spellen een vier karakter
zin hier.
>> Zo, nu ga je gang, vrijwilligers, en uit te voeren rond een voor
het verhogen van je hand als je een 1 of het houden van het
naar beneden als je een 0.
Zo, nu dat we deze drie handen omhoog, welk nummer,
iedereen, zijn ze eigenlijk vertegenwoordigen?
OK.
67.
Waarom?
Nou ja, een snelle geestelijke gezondheid te controleren.
64's plaats, want het is een 1, dat is als 1 keer 64 plus 1
maal 2, dus dat is 66 plus 1 keer 1.
Dat is plus 1, dus 67.
Dus nu deze jongens worden gezamenlijk vertegenwoordigen 67
wat neerkomt blijkbaar wat hier in ASCII?
OK.
Dus een c.
Oke.
Dus laten we nu overgaan naar twee ronden.
Iedereen te beginnen met hun handen naar beneden.
En in de tweede ronde -
eigenlijk is er niet veel van een rol, denk ik, maar
we doen alsof.
Dus de tweede ronde, verhogen of verlagen uw handen.
>> Oke.
Publiek, wat gaan we nu uitdrukken is 83.
Dus je zou kunnen doen de wiskunde.
Maar voor iedereen wiens hand is, ben je toe te voegen in het nummer dat
zij vertegenwoordigen.
Dus nu hebben we 83.
Laten we breiden het spiekbriefje een beetje, en we hebben nu -?
[Onverstaanbaar]
DAVID J. MALAN: OK.
Dit kan duidelijk waar we hier gaan, maar
niettemin, ronde drie.
OK.
Ronde drie is goed om daarheen te gaan.
Dus ronde drie, welk nummer zijn deze jongens nu
vertegenwoordigen?
OK.
Ik hoorde 53, die nu?
Interessant.
Nu waarom deze soort van contra intuïtieve resultaat, toch?
Als we willen tot 5 vertegenwoordigen - wij allen waarschijnlijk weet
waar dit naartoe gaat -
waarom ik niet gewoon verhogen de 4 de plaats en de 1 de plaats?
>> Nou, beseffen dat er een verschil is, fundamenteel,
tussen hoe een computer interpreteert deze bits niet.
Als je probeert om het getal 5, dan absoluut vertegenwoordigen,
we verhogen de hand nummer 4 en verhogen de hand nummer 1.
Maar we zijn niet vertegenwoordigen cijfers.
De context hier op het podium is dat we die
tekens of tekens.
En in dit verband de computer om te beseffen dat,
oh, dit patroon van bits niet een getal is alleen, het is
eigenlijk die een hoger concept, in dit geval een
alfabetische brief.
Het feit dat het nu het nummer 5 met die
de waarde van 53 is omdat in ASCII het ding dat we
esthetisch te zien als de nummer 5 zelf behoefte heeft aan een
patroon van bits.
Want waarom?
Nou ja, de wereld zojuist besloten om de lagere nummers, 0 te gebruiken,
1, 2, 3, wat kijken naar redelijk cryptisch dingen.
En inderdaad, dit zijn de tekens die niet op een
toetsenbord, speciale expressies die u in een computer nodig hebt om
interessante dingen te doen, maar de mens nooit
eigenlijk typt.
Dus 53 is inderdaad 5.
Nu, net als een laatste sanity check, welk nummer zouden ze
vertegenwoordigen in slechts een moment?
PUBLIEK: 48.
DAVID J. MALAN: OK.
Dus 48.
En inderdaad, ga je gang.
De vierde ronde.
16 plus 32 is inderdaad 48.
En dus een groot applaus, als we dat konden, voor onze
acht vrijwilligers hier.
Bedankt.
U kunt blijven deze.
Als u -
Heel goed gedaan.
Elke richting is prima.
>> Dus hebben we nu een manier die niet alleen na te denken over hoe
vertegenwoordigen gegevens en eigenlijk die het fysiek,
maar ook het doen van een hoger niveau dingen op de top van het.
Inderdaad, dit gaat om een ​​rode draad door computer
wetenschap van het bouwen van meer en meer interessante complexe
dingen op de top van vrij eenvoudige ideeën, in dit
geval gewoon 0s en 1s.
In termen van waarom dit nuttig is, goed ook al in een
cursus als deze zullen we focussen op grondslagen en
programmeren en op het oplossen van problemen, kunt u afgaan in
informatica in een aantal richtingen.
In dit geval, is een grafiek die u op de
back-pagina van uw onofficiële gids voor CS aan Harvard, een van de
vandaag is twee afdrukken.
Dit suggereert de verschillende richtingen waarin
kunt u na een cursus als deze.
Leren over kunstmatige intelligentie, over graphics,
over machine learning, over de taal zelf.
Ook realiseren dat er nog andere wegen.
Er zijn meer wiskundige paden in de informatica.
Als je zelfs niet in staat om iets te nemen als CS50 deze
vallen, is er inleidende cursussen in het voorjaar.
Computer Science 1, bijvoorbeeld, is een ander
on-oprit naar deze nieuwe wereld.
>> Nu nog even terzijde in het belang van het oplossen van problemen
met betrekking tot cursussen, beseffen dat CS50 uiteengezet wat tijd
geleden om te proberen een van deze problemen, bekend probleem
als my.harvard, die velen van u wellicht gebruiken om daadwerkelijk
winkelen voor cursussen.
Maar zo niet, check out een tool als deze, evenals andere
nakomelingen dat sommige van onze oud-studenten
en het personeel hebben.
Maar in Harvard Cursussen, dat is een web-based tool -
iets dat je in staat zal zijn het ontwerpen en
inzet van jezelf, maar ook nog andere dingen ook, door
het einde van het semester.
Realiseer je dat dit bouwt voort op een open data set, in dit geval
een cursus catalogus, en laat studenten in dit geval
verkennen een vrij complexe data set.
>> We groeven gisteravond een paar statistieken op basis van de weinige
duizend mensen die zijn dit met behulp van meer dan
de afgelopen dagen.
Als u al nieuwsgierig om te weten hoeveel cursussen je vrienden
eigenlijk hebben de neiging om te winkelen, nou ja, vandaag is het de gegevens blijkt dat
7,6 is het gemiddelde aantal cursussen over
iemand boodschappenlijstje.
En nu geef ik je, ook, de statistiek van de meest
aantal cursussen op het winkelen iemands lijst.
En we waarschijnlijk weet iemand als dit.
201 is dit jaar het record.
Nu een aantal van onze oud-studenten en personeel daadwerkelijk
samen een clip om een ​​beeld voor je van wat dit te schilderen
pad van de informatica-en CS50 zelf is.
Laat me ga je gang en trek je, dank aan de heer Hahvahd hier, een
video geproduceerd door een aantal van uw voorgangers.
Als we dat konden houden de branden voor.
[VIDEO AFSPELEN]
[END VIDEO AFSPELEN]
>> SPEAKER 14: (zingen) We nemen onze tijd met wat kras,
voor loops, evenementen, kunnen we overeenkomen, samenstellen met behulp van onze
bash, zal deze termijn niet een boring.
Hacking leuk, sommige gratis maaltijden, lezingen zijn gewoon onwerkelijk,
onze beurs is zo'n big deal, er is zoveel te aanbidden.
Ga, David Malan.
Walkthroughs, ik ben niet hozen.
Kantooruren, niemand niet.
Waar je denkt dat je codering, baby?
He, ik heb je ontmoet en dit is gek,
maar hier is onze reden.
Neem CS50.
Het is moeilijk om code rechts zonder je, schat.
Maar hier is onze reden.
Neem CS50.
He, ik heb je ontmoet en dit is gek,
maar hier is onze reden.
Neem CS50.
En elke ster bedrijf wil mij inhuren, een andere reden.
Neem CS50.
Voordat je kwam in mijn leven, ik gecodeerd zo slecht, ik zo gecodeerd
slecht, ik zo gecodeerd, zo slecht.
Voordat je kwam in mijn leven, ik gecodeerd zo slecht
en ik kan niet meer terug.
Neem CS50.
>> DAVID J. MALAN: Ik had geen idee dat er zou gaan gebeuren.
Dus, een meer serieus te kijken naar wat komen gaat.
Dus in termen van de verwachtingen van deze cursus,
je bent inderdaad verwacht bij te wonen of kijken naar de cursus
lezingen, legt een probleem set, neem twee quizzen, dienen
een afstudeerproject.
In termen van cijfers, beseffen dat mijn opmerking bij de opening
over pass / fail, iets dat we heel veel voor nodig om
hart in CS50.
Er is niet genoeg van een cultuur aan de Harvard van het proberen
iets en riskeren mislukking.
Inderdaad, we hadden aantallen studenten, en mijzelf, in
het bijzonder, werden die zich zorgen maakten over het kwetsen van uw GPA of
het krijgen van een B in iets als CS50.
En de mogelijkheid om een ​​cursus als deze te nemen, en andere
gateway cursussen op het inleidend niveau, pass / fail
is een zeer weinig gebruikte mogelijkheid in dit college,
in het algemeen.
En dus weet ik zelfs ingeschreven in deze cursus
in eerste instantie voor pass / fail alleen krediet.
En hoewel ik schakelaar aan het einde van de dag, was
die vijf eerste weken, tot en met de vijfde maandag van de
semester die de cutoff, dat kon ik eigenlijk
zet voet in deze nieuwe wateren en daadwerkelijk proberen iets
zeer onbekende en zeer oncomfortabel
voor mij op dat moment.
>> Dus in termen, nu, welke rol de verschillende hoeken via welke
u kunt benaderen deze cursus dienen, dus lezingen, het is aan
u als u met ons in zee in persoon op deze locatie.
Sterker nog, we weten statistisch dat ongeveer 40% van je wil
soort van komen en gaan in de loop van het semester.
En 10% van je, zullen we nooit weer te zien na vandaag.
En dat is prima, om eerlijk te zijn.
Een van de definiërende kenmerken van CS50 is
dat er talloze deze middelen sommige
die we door middel van rammelen in slechts een ogenblik, met inbegrip van
lezingen en secties en dingen die er geroepen walkthroughs en
kantooruren en dergelijke.
En het is meer middelen dan de typische student moet
moeten of kunnen fysiek te profiteren van.
Maar dat is als gevolg van de uiteenlopende leerstijlen die
elke student lichaam manifesteert.
En dus in lezingen, de primaire rol, zoals ik het zie, is het
niet om verbaal te duwen vrij complex materiaal en
noodzakelijkerwijs leveren alle van de fijne kneepjes van het
fundamenten die we dit semester verkennen, maar
eerder om zaken als we dus gedaan nu toe al doen,
deze voorbeelden, waarbij mensen op het podium, in een poging om
schilderen een mentaal beeld, en ook te creëren, durf ik zeggen, wat
van deze memorabele momenten.
Zodat zelfs als je worstelt met bepaalde onderwerpen, heb je
deze herinneringen graag, oh, ook al was dat vrij
abstract, de wiskunde, werd ik verloren met het dragen van de 1, zoals het
werkelijk aan het eind van de dag, is niet zo sterk af
iets wat ik al weet.
En dus is de rol die lezingen, dienen hetzij in persoon
hier in Sanders of online op video, is echt het instellen van de
fase mentaal voor u elke week voor de verschillende concepten
en problemen die we duiken in.
>> In termen van hoog niveau concepten meeste van deze woorden
kunnen voortvloeien boven je hoofd voor het moment, en dat is prima.
Voor degenen onder u die komen in de cursus meer comfortabele
weet van een aantal van deze onderwerpen.
Maar typisch voor die 10% van de klasse waarvoor zij
veel meer achtergrond, waarbij AP informatica,
programmeren aangezien zij 12, beseffen dat er
kansen in secties en in probleem stelt om te gaan alle
meer in de diepte in verschillende thema's, in te vullen welke
hiaten u zou kunnen hebben van je middelbare school of voorafgaande
achtergrond.
In termen van de talen, beseffen dat wat taal die we
Gebruik in CS50 grotendeels irrelevant op
het einde van de dag.
We toevallig te gebruiken, in de eerste plaats, een taal genaamd C. Tegen het
einde van het semester, introduceren we web-centric
talen zoals PHP en JavaScript.
Maar wij en anderen kunnen leren van een cursus als deze in vrijwel elke
moderne high-level taal.
Python en Ruby en anderen zijn heel populair deze dagen.
Omdat te realiseren aan het eind van de dag, je bent niet te leren
in deze cursus C. U bent niet leren PHP of JavaScript.
Je leert hoe je problemen op te lossen, of web-based,
computer-gebaseerd of data-georiënteerde zichzelf, met
deze gewoon als tools.
>> Nu, in termen van de logistiek, gebruikt u
iets, uiteindelijk, genaamd de CS50 Appliance.
Maakt niet uit of je een Mac hebt, een pc, een Linux-computer,
of dergelijke.
Je hebt vrij beschikbare software vanaf volgende week
waarmee de CS50 Appliance, een virtuele gebruikt
omgeving die je zult gebruiken op uw eigen computer, zodat u
en al je klasgenoten een uniforme Linux desktop
in dit geval.
Het is het probleem sets, hoewel, waarin je echt
je handen uit de mouwen in de loop.
En aan het eind van de dag, is het probleem sets, I
denken, dat is echt een student te bepalen
ervaren in deze cursus.
Realiseren dat veel van de problemen sets worden vrijgegeven
in twee edities, een standaard toevoeging die we verwachten en
stimuleren 90% van de klas in te duiken.
Maar we geven ook een probleem sets in
zogenaamde hacker toevoegingen.
En je weet dat het de hacker toevoeging, omdat op elke pagina
met een watermerk het zegt hacker toevoeging op.
En dat is voor deze demografische onder u die AP
informatica met 10 jaar van de programmering onder je riem
en zijn op zoek om die leemten op te vullen en om meer formele,
in plaats van autodidact, opleiding, misschien.
Realiseer je dat er een zeer grote demografische in de
klasse die juist die hetzelfde doel heeft.
Je hebt vijf late dagen.
Probleem sets zijn over het algemeen te wijten op donderdag, maar u kunt
uit te breiden vijf van deze termijnen het gebruik van deze
dingen genoemd laat dagen.
En wij zullen uw laagste score ook laten vallen op het einde van de
semester volgens de gegevens in de syllabus.
>> Maar een ander kenmerk van CS50 meer dan
Door de jaren is uitgegroeid tot de kantooruren.
Het is een kans die je visueel zag in foto's een beetje
geleden waarin we verzamelen - eerder in huis dineren
hallen, daarvoor in de kelder van het Science
Center, en dit jaar in Annenberg Hall - vier avonden per
week 20u00-23u00 waar je zeer over deze
veel gedeelde ervaring van het werken aan, worstelend
door bepaalde problemen, maar met een aanzienlijke steun
structuur op zijn plaats.
Inderdaad, de manier waarop dit zal werken is dat je je aan bij Annenberg
als je wat vraag tijdens de week, dan heb je te brengen
uw laptop, dan heb je zitten, pak wat te eten, en je zult aanmelden
in CS50 Discuss, een web-based programma dat het onderwijs
personeel heeft ontwikkeld die u zal toestaan ​​om vragen te stellen
en zie follow-ups in een typisch discussieforum
sense met etiketten en dergelijke en auto volledig te
zoeken in de gegevens.
Maar je zult ook in staat zijn om, tijdens de uren van kantoor
uur, uw vragen zijn geëscaleerd naar
echte mensen.
Inderdaad is het doel uiteindelijk zodat een we beginnen op te bouwen
up in de loop van het semester een corpus van hopelijk
echt nuttige informatie, gemeenschappelijke antwoorden op veelgestelde
vragen, zodat u zelf kunt oplossen problemen
en los te komen zo snel mogelijk, maar onder het genot van de
onderwijzend personeel, meestal 20 tot 30 van het onderwijs bursalen en
Natuurlijk assistenten, op het personeel in een keer.
>> We zullen wat heet de CS50 Greeter in Annenberg.
En als we die bepalen, weet je wat, deze vraag,
we kunnen niet echt beantwoorden effectief online.
We moeten je computer te zien.
We willen met je praten een-op-een.
Op een.
Je bent echt worstelen en je dus wilt praten
een-op-een samen met iemand, zult u worden verzonden naar de
CS50 Greeter, een pedagogisch mede-bedrijf, letterlijk, een
iPad dat studenten 'namen heeft aan de ene kant, het onderwijzend personeel van de
namen anderzijds.
Wij zullen op uw naam, gevolgd door de naam van een
onderwijzend personeel, en uw computerscherm zal beginnen
knipperen zeggen ga dan naar Alice of ga dan naar Bob op
het personeel tafel.
En dus op deze manier zullen we in staat zijn om dingen te verzenden als
efficiënt mogelijk en begeleiden naar
alle oplossingen gemakkelijker.
In de paragrafen zullen deze kansen voor meer
intieme hands-on mogelijkheden met een van de
onderwijs fellows en 12 tot 16 of zo van je klasgenoten in
die elke week zullen we problemen hebben in het probleem set
dat een aantal conceptuele vragen te stellen en een
aantal bit-sized programmering vragen die u
kunnen uitzoeken op uw eigen, en je kon werken aan uw
eigen, maar in de context van waar we werken aan
gezamenlijk een aantal van deze problemen en gaan waar de
ander gesprek voert ons.
>> Daarnaast zal in rubriek u mogelijkheden
beoordelen inzendingen van huiswerk dat je hebt gemaakt, uw
klasgenoten, soms anoniem, altijd via opt-in
als je zou willen om het werk dat u hebt verzonden delen.
Dus het zal echt een twee-directionele gesprek,
een kans om je eigen werk beoordelen op een meer
dynamische gevoel, in plaats van simpelweg te kijken naar een PDF-of een
afdruk en het denken over het voor een paar seconden en niet
noodzakelijkerwijs het absorberen van de feedback die het onderwijs
personeel hebben.
En je zult gebruik maken van een hulpmiddel hier genoemd CS50 Spaces.
Voor wie niet vertrouwd, dit is de taal die bekend staat als C boven
links, en je krijgt deze na verloop van tijd te leren kennen.
Maar dit is een web-based tool die we zullen gebruiken in
sectie die u zal toestaan ​​en je 15 of zo klasgenoten
in te loggen met uw onderwijs fellow bij het
voorzijde van de kamer.
Je zult in staat om code te schrijven in dit venster.
Je zult in staat om elektronisch chatten, als je niet
eigenlijk op sectie op dat moment.
En uw onderwijs mede, wanneer het tijd is om te bespreken
Alice of Bob's oplossing in de klas, het onderwijs mede kunnen
klik op een knop en voila, project op het scherm,
wat dat ook student heeft gewerkt aan op dat
punt in de tijd.
Dus voor degenen onder u die hebben vrienden die hebben CS50 genomen
het verleden, zich realiseren dat secties zijn aanzienlijk geweest
opgestart dit jaar des te actiever, temeer
dynamisch, en echt een twee-weg gesprek tussen onderwijs
medewerkers en studenten.
>> En walkthroughs.
Dus voor deze problemen sets, bieden wij ook niet alleen de
specificatie zelf, die in het algemeen een tamelijk uitgebreide
PDF, maar ook dingen wel bekend als walkthroughs, waarbij een
lid van het onderwijzend personeel zal leiding geven aan een wekelijkse sessie
dat loopt letterlijk je door het probleem set, waardoor
u tips en adviezen en uitgangspunten en is bedoeld
aan de zeer frequent gestelde vragen
vraag, waar moet ik beginnen?
Nou, je begint ofwel met een duik in de spec op zijn
eigen of door het bijwonen van of het kijken naar deze walkthroughs.
De eerste walkthrough in feite zullen deze vrijdag.
Ze zullen op vrijdag, niet zozeer omdat we denken dat het zal
een populaire tijd, maar omdat we dan filmen ze al heel vroeg
in de week om ze online te krijgen door het weekend, zodat u
zoveel mogelijk dagen werkelijk betrokken in dat
inhoud en.
Maar meer daarover in collegezaal deze vrijdag.
>> Nu wat betreft de steunconstructie, de
belangrijke statistiek is misschien wel de 108 onderwijs
fellows en assistenten natuurlijk dat dit
Natuurlijk heeft op dit moment.
Als sommige van jullie die geen tegenstrijdige klassen zou willen
om samen met mij hier op het podium, is het deze jongens die zal
uiteindelijk echt te definiëren uw ervaring in de cursus.
Ik had veel van het onderwijs kerels leert me klassen in
de dag, en ik herinner me heel weinig van die eerlijk gezegd.
Maar tot nu toe, ik herinner me nog een van de weinige, mijn CS50 TF
die heeft me echt geholpen vragen te beantwoorden, die echt geholpen
mij toen ik worstelde, en was echt een partner in dit
ervaring van het leren van een heel nieuwe wereld.
In een klein beetje, zullen al deze jongens bij je buiten voor
taart, dat is een traditie van CS50, in het transept van de
Memorial Hall.
>> Maar laat mij eerst aan u voorstellen Nate
Hardison, opnieuw, Rob Bowden, en Tommy MacWilliam, dit
jaar natuurlijk aan het hoofd.
Als jullie zouden hier samen met mij in het midden.
Ze hebben allemaal voorbereid op een aantal inspirerende opmerkingen.
>> TOMMY MacWilliam: Ik heb niet bereid iets
inspirerend.
Maar mijn naam is Tommy.
Ik ben een senior in Mather.
Ik studeer informatica.
Ik ben erg enthousiast om op de haag team en gaan
door de CS50 reis met jullie.
Wat ik echt leuk vind aan CS50 is hoe het echt leert u
om na te denken over problemen op een nieuwe manier.
Dit is echt een vaardigheid die komt wel van onschatbare waarde,
welk gebied je in.
En niet alleen dat, maar wij bieden meer gratis snoep dan welke
andere cursus op de campus.
Ja, en dus ik kijk er echt naar uit om te zien wat
iedereen bouwt dit semester.
En als er nog iemand vragen nu of de hele
het semester, zeker te voelen vrij om uit te reiken naar me toe en
Ik zou blij zijn om te helpen.
>> ROB BOWDEN: Hi.
Ik ben Rob Bowden.
Ik ben een senior in Kirkland.
Ja, dat klopt.
We zijn allemaal erg enthousiast voor deze volgende semester.
We hopen dat jullie allemaal enthousiast.
Ik had niet verwacht dat.
Ja.
Dus we zoveel energie gestoken in het maken van deze
semester echt geweldig.
En zolang je bereid bent om in de inspanning, is er
zo veel dat je kunt krijgen van deze cursus.
Ah, we -
ja.
U kunt een hoop plezier uit van deze cursus.
We zouden niet hebben een staf van 108 als je niet veel
plezier uit te halen.
Dus, gewoon proberen om betrokken te zijn en je zal geen spijt van.
>> NATE Hardison: Hoi, jongens.
Ik ben Nate.
Ik ben de leermeester voor de cursus.
Ik ben echt blij om hier te zijn ook.
Dit is mijn eerste jaar hier.
Ik hoop dat jullie allemaal deze cursus te nemen en te genieten zo veel als
Ik heb genoten van het zo ver.
En als je ooit wilt leren hoe te tellen tot en met 9 of 10 in
binaire, kom met me praten.
>> DAVID J. MALAN: Dus op het gevaar af van het verlaten van deze jongens hier op
onhandig stadium een ​​beetje, laten we dwarrelen door slechts een paar van
de dingen die af te wachten alvorens we schorsen voor cake.
Wat is het dat ons te wachten staat?
Nou, als we eens een snelle blik terug op het afgelopen jaar, in probleem
0 opgeeft, wordt uw voorgangers dook een programmeer-
taal genaamd Scratch, een grafische programmeertaal
die u gebruikt in de eerste dagen van de cursus die start deze
Vrijdag tot enkele concepten onbekend voor sommigen van jullie leren.
Maar beseffen dat er zal een geavanceerd aspect van deze voor zijn
degenen onder u met voorafgaande achtergrond.
>> In het afgelopen jaar het probleem van set 2, studenten dook in het
wereld van cryptografie, de kunst van het encryptieapparatuur onleesbaar
informatie, uitvoering van programma's die gecodeerde gegevens.
En in de hacker bovendien vorig jaar heeft studenten te gaan
barst of de wachtwoorden decoderen in een typisch
computer xe wachtwoord bestand door te komen met algoritmen en
heuristiek voor brute kracht uitzoeken wat iemand is
wachtwoord op een computer systeem was.
Vorig jaar, ook in probleem set 3, deden studenten implicaties - in
probleem set 4 - deed studenten
uitvoering van de spelletje Sudoku.
En in de hacker bovendien dat jaar deed de studenten niet
gewoon implementeren hoe het spel te spelen, maar eigenlijk een oplosser
waarbij de computer kan u, de mens, met
hints door sneller dan je het oplossen van
dit specifieke probleem.
>> In probleem set 5, deden we forensisch onderzoek, deze kunst van het
terugkrijgen van informatie die was per ongeluk of zeer
opzettelijk verwijderd uit een computer.
Vorig jaar, het onderwijzend personeel en ik wandelden rond de campus
het nemen van foto's van mensen, plaatsen en dingen, en dan
per ongeluk geformatteerd de mediakaart op onze camera die
had al die foto's.
Maar geen probleem.
We hebben een forensisch beeld van deze mediakaart, overhandigde het uit
aan alle leerlingen in de klas, en daagde hen uit te schrijven
programma dat alle JPEG's uit die kaart teruggewonnen.
En dit is eigenlijk een van onze favoriete probleem sets.
>> En ik opgegraven in een e-mail van een van je voorgangers,
die was geweldig leuk om te enige tijd geleden te lezen.
Hij schreef - dit is van Matt - lieve David, gisteren mijn
zus per ongeluk geformatteerd haar camera's SD-kaart en verloren
een jaar lang van memorabele foto's.
Ze is helaas niet het beste op een back-up haar gegevens.
Maar deze situatie deed me denken aan PSET 5, dus ik dacht dat ik
zou proberen om haar SD-kaart lopen door de Recover-programma
dat ik schreef helemaal terug in oktober.
Dus na vier uur uit te vinden hoe je een te creëren
ruwe beeld van de geformatteerde SD-kaart -
Google bleek vrij nutteloze te zijn in dit opzicht tot
ironisch ik toevallig over uw instructies komen op
het Internet -
na knutselen rond met een aantal van de opdracht argumenten,
Ik slaagde erin om de forensische beeld te creëren.
En na het installeren en configureren van de CS50
Appliance, slaagde ik erin om de forensische beeld door mijn
programmeren en herstellen alle 1.027 van foto's van mijn zus.
Rechts, Matt.
>> Dus in de laatste Year's -
[Applaus]
In probleem van vorig jaar set 6, gaven we de studenten een
woordenboek van 150.000 Engels woorden en daagde hen uit om
schrijf een spellingscontrole, dat vragen van het formulier beantwoord
wordt dit woord correct gespeld zijn of
onrechte zo snel mogelijk.
En in een opt-in basis waren studenten mogen dan
daag klasgenoten door het plaatsen van hun resultaten, de
hoeveelheid RAM die zij gebruikten, het aantal CPU-cycli of
seconden die ze gebruikt, zodat de studenten werden vervolgens gerangschikt
op de cursus website.
Nogmaals, zuiver facultatief aspect ervan, maar erg leuk in die
heel vaak zou een student naar nummer 10 of zo op te plaatsen
het grote bord op de website, uit eten gaan, en dan
terug te komen en te realiseren zijn kamergenoot had net randen in
voor hem of haar op het grote bord, waardoor het gieten een andere
twee of drie uur alleen maar om er een op zijn of haar kamergenoot.
>> Dus we kijken ernaar uit om iets dergelijks
dit jaar ook.
In probleem set 7 hebben we sturen in de richting van web
programmeren, eigenlijk het oplossen van problemen in de steeds
steeds vaker omgeving van een web browser.
Weet steeds minder doen we downloaden software op Mac's en
Pc's, maar in toenemende mate doen we het allemaal binnen het web.
>> En inderdaad vorig jaar, ongeveer 88% van de studenten 'final projecten in
de cursus waren web-based.
En die, ook, zijn vaardigheden die je zullen voortvloeien uit deze
klasse tegen het einde cursus.
Want wat wacht op het einde natuurlijk is de CS50 Fair,
deze tentoonstelling die is gebaseerd op het idee van een Science Fair.
Maar in deze versie van een eerlijke doen alle leerlingen in de klas
brengen hun laptops en hun vrienden en familie en anderen
naar Noordwest-Science, een groot gebouw op de campus, het opzetten van
hun laptop, nog wat eten, nog wat popcorn en drinken,
en dan exposeren hun laatste projecten voor alle mensen in
aanwezigheid die vorig jaar genummerd ongeveer 2.500 deelnemers
uit over de campus.
En uitdrukkingen als dit en als dit nog niet
ongewoon op de beurs.
>> In de aanloop naar de beurs is de CS50 Hackathon, een kans
om hop op een Harvard shuttle, hoofd naar beneden de straat op
Microsoft om 8:00 uur, en niet naar huis te gaan tot 7.00 uur.
Wij serveren eerste diner om 8:00 PM, tweede diner om 1:00 AM,
en voor degenen die nog staan ​​om 5.00 uur, we trakteren op
pannenkoeken bij IHOP.
En de Hackathon is een kans, zoals hier afgebeeld,
om te duiken in uw uiteindelijke projecten, ongeacht of het werken aan
uw eigen of met vrienden in een collaboratieve omgeving,
waar de gehele onderwijzend personeel werkt goed in de
nacht met een ruim aanbod van Hong Kong Chinees eten.
Om 5.00 uur zal een dergelijke beelden als deze zijn heel gewoon deze
jaren ook.
>> Dus als we in een ogenblik te verdagen voor cake, houd in gedachten dat
76% van de mensen in deze zaal nog geen ervaring.
En volgens de syllabus, wat telt uiteindelijk in deze
Natuurlijk is niet zozeer waar je terecht komt ten opzichte van uw
klasgenoten, maar waar je in week 11 eindigen ten opzichte van
jezelf in week 0.
Dit is CS50.