[Powered by Google Translate] LUIDSPREKER 1: Dit is CS50.
Dus ik was waar je nu bent enkele jaren geleden, en toen ik een eerstejaars op de
tijd, ik was niet echt op dit pad van het doen van computers wetenschap, 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 graag dingen als geschiedenis.
Ik vond het grondwettelijk recht, een soort van Engels en wiskunde, zo vriendelijk van
goed afgerond, maar niet per se weten dingen die ik niet had geleerd
op de middelbare school.
En dus eerste jaar had ik deze schroom, waarbij ook al ben ik
vond computers, computerspelletjes spelen en dergelijke, ik in ieder geval nooit
dacht van mezelf als een computer persoon, een computer wetenschapper, en
eerlijk gezegd, ik heb mijn vrienden dacht op de middelbare school die het nemen van de computer
wetenschap waren een beetje een - geeks.
>> En toch, toen ik hier kwam op de campus, was er deze cursus, CS50, en op
de tijd, het had een reputatie van echt als 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
omdat veel van de voorwaarden als ik kon oversteken, het tellen van dingen voor gen
ed of kern en dergelijke, en dan tweede jaar, om wat voor reden, kreeg ik
de moed om te voet stap in Science Center B, waar CS50.
Een zeer beroemde informaticus door de naam van Brian Kernighan was
leren hier dat jaar, en zelfs dan, ik was alleen bereid om daadwerkelijk
Vul mijn studie-kaart door het nemen van deze klasse pass / fail.
Ik keek om me heen, en ik dacht dat iedereen in deze kamer heeft om te weten
manier meer over informatica, over programmeren, over computers.
Iedereen moet worden programmeren in deze kamer omdat ze waren 12, maar inderdaad,
dat was niet het geval.
En dus is de allerlaatste dag, de vijfde maandag van het semester die ik neem
deze sprong en verandering van pass / fail om een ​​letter, en uiteindelijk het veranderen van mijn
concentratie die dezelfde dag aan de informatica.
>> Nu dat is niet ons doel in deze klasse, om u allen te zetten in de computer
wetenschap concentrators, maar echt, voor te stellen dat er deze gelegenheid
op dit gebied en op andere terreinen waarmee je misschien wel heel vertrouwd,
gezien het feit dat middelbare scholen doorgaans een vrij standaard curriculaire volgen
pad, om maar wagen in, in CS50, in nieuwe wateren.
En als je hier zit vandaag denken dat je eigenlijk niet zo hoort,
doen de meeste van de mensen naar rechts en naar links.
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 om je heen
vandaag de dag niet, in feite, geen eerdere ervaring.
18% hebben een CS klasse en 6% hebben twee of meer.
Ondertussen vragen we onze studenten per jaar om zichzelf te beschrijven in termen
van comfort niveau, en dat is -
er is niemand definitie van deze.
Je gewoon een soort van weten, als je niet erg comfortabel in CS50.
En vorig jaar hadden we 55% in deze groene cirkelsegment hier, zelf-beschrijven
als minder comfortabel studenten die eerlijk gezegd hadden we er geen idee van waarom zou ze
de winkel van de cursus op die eerste dag, maar het is dezelfde 55% bleef bij ons tot
termijn is einde, net als 35%, die ergens waren tussen die meer
comfortabel en de minder comfortabel.
>> Dus wat is de informatica?
Nou ja, op de middelbare school, en echt, meer in het algemeen die er deze dagen,
er is een waarneming of dit misverstand dat de informatica is
programmering.
En dat is absoluut een aspect van de informatica, maar het programmeren,
ongeacht de taal is, is eigenlijk gewoon een instrument dat informatici
gebruiken om problemen op te lossen, in het gebied van informatica of
steeds meer deze dagen, in de natuurwetenschappen, de natuurlijke
wetenschappen, in de geneeskunde, in de geesteswetenschappen, te analyseren
grote hoeveelheden data.
Overal is er nu de computer en de gegevens, is er een mogelijkheid om te solliciteren
geleerde lessen in een klas als CS50.
>> Dus laten we het oplossen van een probleem dat een computer wetenschapper zou kunnen gaan over
oplossen en proberen om wat jargon te zetten, er wat conceptueel kader, rond
wat overigens mocht zijn een aantal vrij abstracte ideeën.
Dus dit is een telefoon.
Je ziet niet deze dingen te vaak.
Het college lijkt nog deze hebben in de huizen en slaapzalen, maar
terug in de dag, als je wilde een telefoon als deze te gebruiken, was er geen
elektronische adresboek in uw mobiele telefoon.
Integendeel, u trok iets bekend als een telefoonboek, en deze telefoonboeken
ongeveer 1.000 pagina's meestal had.
Ze werden gesorteerd van A tot Z, en je had gewoon naar de juiste pagina te vinden
vind de persoon die je zoekt om hun naam en hun vondst
telefoonnummer.
Nu hoe ga je over het opzoeken van iemand die 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, als naïef en inefficiënt, zou beginnen
hier, en beginnen flippen naar pagina vier, naar pagina vijf, naar pagina zes, en te sorteren
van lineair, langs een rechte lijn, ga je door deze telefoon boek, en zelfs
hoewel het gaat worden ongelooflijk vervelend, als Mike Smith is in deze
boek, ik uiteindelijk ga om hem te bereiken toen ik eindelijk draaien op de S
deel van dit boek.
Nu, natuurlijk, hoeft u niet naar een computer wetenschapper te zijn dat dit te weten
is een domme manier van het oplossen van dit probleem.
Wat zou een typische mens doen?
Goed gedaan.
Dus je zou omdraaien naar het midden, toch?
Dus je zou ruwweg omdraaien naar het midden, kijk hier, en ik lijken om mezelf te vinden
in het M sectie.
Oke, dus M is duidelijk niet wat ik ben op zoek naar.
Mike is naar rechts, om zo te zeggen van deze sectie, en als sommigen van jullie hebben
gezien, kunnen we letterlijk nu overgaan tot deze scheuren
probleem in een half.
>> 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, we
hebben nu twee problemen.
Die elk half zo groot, en we kunnen letterlijk gooien de helft van de
probleem weg.
Nu zijn we vertrokken niet met 1.000 pagina's, maar zeg, 500.
Dus wat moet ik nu doen?
Nou, een typisch menselijke ongeveer weer in het midden, en ik vind mezelf
de R-sectie, zodat er nog niet helemaal.
Dus nogmaals, ik kan dit probleem scheuren in de helft.
Dank u.
Dus nu heb ik alleen nog zo'n 250 pagina's, en ik kan weer doen, en opnieuw, en
weer en gaan van 125 tot ongeveer 60 tot 30, 15, enzovoort.
En tot slot, ik word teruggebracht tot een van de S pagina's, waarop, als hij
in het telefoonboek, dient Mike Smith zijn.
>> Nu dat is een natuurlijk redelijk algoritme, en het is een
eenmalig gebruik algoritme in dit geval, maar wat kunnen we sorteren van
weg te nemen van dat?
Nou, de eerste benadering, juist, als naïef, hoewel, het was, kan
beschreven door deze rechte lijn.
Dus als de x-as, hier zeggen, dit is de omvang van het probleem.
Dus als de x-as gaat naar rechts, het probleem groter wordt.
Wat betekent het om groter?
In de context van dit probleem, 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, gaan we ervan uit dat vermoedelijk meer tijd kost.
Dus dat eerste benadering lineair zoeken van pagina een naar pagina 1000
een lineaire procedure, een lineair algoritme of werkwijze, en we kunnen
beschrijven van deze rechte lijn.
Als ik nog een pagina toe te voegen aan het telefoonboek, gaat het om, in het slechtste
geval is, neem me nog een pagina om aan 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 tegelijk of vier tegelijk, maar zelfs dat is niet
alles fundamenteel beter.
Ook al is het twee tegelijk, ja, dat soort beweegt deze lijn een beetje,
en betekent dat het minder tijd vergt, aangezien hetzelfde aantal pagina's, maar
het is niet fundamenteel beter.
Maar wat doen we gewoon doen, en wat heb jullie allemaal doen instinctief?
U werkelijk behaalde een beetje zoiets als dit, logaritmische tijd,
waarbij het probleem kan groeien en groeien en groeien, maar de kosten van de oplossing van dit
probleem, de tijd nodig om dat probleem op te lossen, niet
groeien bijna net zo snel.
Dit zou een logaritmische curve, log van n, waarbij n ligt in de grootte van zijn
het probleem, het aantal pagina's in dit telefoonboek.
En wat betekent dit in de praktijk?
Nou, als we, net 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 op de telefoon
boek, en wij verdubbelen het tot 1000, in deze meer intelligente model van
flipping naar het midden, hoe veel meer pagina-tearers te nemen om 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 zou gewoon scheur het een keer extra.
>> Dus in het kort, de omvang van het probleem groeien veel sneller dan de kosten van
eigenlijk het oplossen ervan.
Nu is dit slechts een dergelijk algoritme.
Er zijn anderen die we kunnen oplossen op deze zelfde manier.
En dus waarom doen we niet deze - indien u wilt humor mij, zij het onhandig hier
in Sanders, ga je gang, iedereen, als je kon, en staan ​​op hun plaats.
Zoals je ziet op het scherm hier, dit is een algoritme, een proces, een computer
programma, als je wil, uit te voeren door mensen, dat heeft slechts drie stappen.
We zijn al op stap een, je hebt stond op.
En nu denk je bij jezelf de nummer een.
Dat is uw huidige nummer.
Iedereen hier is nummer een.
Stap twee, samen koppelen met iemand staan ​​en je nummers,
en dan vast te stellen dat bedrag als uw nieuwe nummer.
Een van jullie moet gaan zitten, dan herhalen.
>> Op dit punt, moet steeds minder mensen staan.
Dit is waar het wordt lastiger.
Iemand hier, hier.
Het ergste is, je moet ook heel mondeling rekenen doen voor
van honderden Harvard undergrads.
Oke, beetje een bug hier.
Oke, wat is je nummer?
Negen.
Oke.
Wat is je nummer?
179.
Oke, goed.
So 188.
Dus jullie kunnen gaan zitten.
Wat is je nummer?
118.
Sommige slimme undergrad gaan doen van de wiskunde.
Oke, 118, 188.
Wat hebben we nog meer?
71.
79.
Oke.
En?
47, die, onderwijzend personeel, 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
zou dit hebben gewerkt?
Wat moet net gebeurd?
Dus op elke iteratie van dit algoritme, zijn we begonnen met een getal
van mensen die, en dat was het totale aantal, n, in het begin.
Dan de helft van je ging zitten, en we gingen naar n meer dan twee.
Dan de helft van je ging zitten, gingen we naar n over vier, n meer dan acht, meer dan 16,
enzovoort, totdat al het soort gedesintegreerde daar bij de
einde, in theorie, had iedereen gepaarde af in een balkon, en mezzanine, en
orkest hier, zouden we hebben maar een eenzame persoon die, met een totale
waarde, in dit geval van 705.
Wat betekent dat, hoewel betekenen, voor de looptijd?
Nou, na te denken over als ik, zoals de mens, dit had gedaan handmatig.
Ik zou vrij naïef, maar juist zijn begonnen met een, twee, drie,
vier, vijf, zes, zeven, acht, enzovoort; is al 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.
Dus twee, vier, zes, acht, tien, twaalf.
En dat krijgt veel sneller, maar nu fundamenteel, door gebruik te maken van de
collectieve intelligentie van iedereen in deze kamer, kunnen we veel bereiken een bocht
meer als dit, waarbij nu het nummer van de mensen in deze zaal
zou dubbel, nog eens 700 mensen lopen in deze ruimte voor 1.400 mensen, maar
het zou slechts ons nog een iteratie van dit algoritme op te lossen.
>> En dus in toenemende mate, deze dagen, wanneer we deze enorme data sets in
Facebook en Google, en dergelijke, is het oplossen van problemen met dit stukje
inzicht, dit stukje slimheid, dat is waardoor we steeds veel te doen,
veel krachtiger dingen met computers van vandaag.
Als je van dit soort dingen, zou je gezien hebben op Facebook CS50's
eigen puzzel Day, komen deze zaterdag.
Als u wilt deelnemen aan zoiets als dit, waarbij u en
twee, of drie, of vier teams van vier zou graag een aantal puzzels op te lossen dergelijke
als deze, maak je kans op een aantal fantastische prijzen te winnen, waaronder een
Wii, en een aantal cadeaubonnen, en een aantal andere Facebook swag deze zaterdag,
middag tot 3:00 uur.
Naar cs50.net/rsvp dergelijke.
En deze dia is online als je wilt om rond te spelen.
De puzzels van dit jaar zijn nieuw.
>> U zult merken in de klas, ook des te meer camera's dit jaar.
Dus niet alleen de natuurlijk gefilmd op de gebruikelijke wijze kan ook CS50
deel te nemen aan een documentaire over het hoger onderwijs die op zoek is naar de
transformatieve ervaring die een student kan deze dagen hebben in een
undergraduate opleiding.
Dus in de richting van deze Daartoe zullen niet alleen wij worden filmen voor dat we gaan filmen
zowel voor in toenemende mate online publiek en, soms,
dit publiek hier.
Dus we van harte welkom om de klasse dit jaar onze Harvard verlenging scholieren,
Graduate School of Design, het onderwijs, de business school, het Kennedy
School, de wet school, evenals een aantal studenten van Belmont,
Lexington, Newton, en Watertown High Schools.
Welkom aan u allen.
Daarnaast, dit jaar, zoals je misschien hebt gehoord, Harvard, en MIT, en
Berkeley nu hebben opgenomen in een samenwerkingsverband op een
initiatief genaamd EDX, een initiatief om de onderwijsstelsels open voor alle
hoe meer mensen online en, fundamenteel, start het doen van onderzoek op
een veel bredere schaal over de manier waarop mensen leren.
En zo CS50 zal het college de eerste cursus deel te nemen aan dat zijn
initiatief, maar ook, wat betekent dat u toegang hebt tot alle meer
tools, des curricular inhoud, des video-inhoud als
Hierdoor alsmede gisterochtend de 53.019 mensen die
geregistreerd om CS50 nemen met u mee dit jaar op het internet.
Dus wat dit betekent, in het bijzonder, is dat het onderwijzend personeel en ik heb
heb heel wat tijd deze zomer de voorbereiding van de herfst, zowel op de campus
en uit te schakelen, zodat we kunnen beginnen met het opbouwen van een corpus van interessante, van
dwingende, van boeiende educatieve inhoud, die met name gericht op
meer intieme vervoermiddelen van vrij complexe materie.
>> Dus naast lezingen van de cursus, en secties, en dingen
zogenaamde walkthroughs, die we zullen opnieuw in slechts een beetje, zullen we ook
deze shorts van dit jaar die u in staat om te gaan met de cursus uit een
andere hoek allemaal samen.
Dus is dit te gebruiken als een mogelijkheid om snel een kijkje te nemen laat op een die
bespreekt deze notie van binaire.
>> Dus in de informatica zijn er dingen genoemd algoritmen, waarvan er twee
we namen een kijkje op - deze procedures voor het oplossen van problemen.
Maar aan het eind van de dag, moet u een of andere manier te vertegenwoordigen informatie, en u
nodig om het te vertegenwoordigen op een manier die een computer kan begrijpen.
En zelfs als je niet echt begrijpen computers, en je bent in
dat 76% op dit moment, heb je waarschijnlijk een vaag gevoel dat computers
een of andere manier veel in nullen en enen, het binaire systeem, om zo te zeggen.
Waarom is dat het geval?
Nou, blijkt wanneer computers kwam voor het eerst over, als je het nodig te vertegenwoordigen
informatie, kon je dat doen met elektriciteit, en hoewel dit een beetje
van een oversimplificatie, een zeer gemakkelijke manier van opname-informatie is ofwel
door te draaien dat elektriciteit op een in een binaire, zo te zeggen, of draaien
die elektriciteit uit te schakelen.
>> Dus Barry, als je het niet erg vindt, kunnen we dim de lichten
volledig voor slechts een moment?
Dit is hier een zeer gratuite binaire nul.
Oke, als we de lichten een back-up, nu Sanders Theatre is
die de binaire waarde van een.
Helaas, met slechts een beetje, met slechts een set van lichten, kunnen we alleen
vertegenwoordigen twee nummers in de wereld, nul en een, en het zou mooi zijn als
computers kunnen een beetje hoger dan die tellen, maar inderdaad, ze kunnen.
Dus laat me hier te trekken op het scherm onze vriend, Nate Hardison, die zal geven
ons een snelle blik in de loop van slechts een paar minuten bij
Deze notie van binaire.
>> NATE Hardison: Terug toen je leerde lezen en schrijven nummers, kunt u
geleerd over de cijfers nul tot negen.
Op hele getallen groter dan negen schrijven, leer je dat alles wat je moest doen
werd gebruikt een combinatie van deze cijfers als in 52 en 437.
Dus deze manier van schrijven van nummers heeft een naam, decimale notatie.
Waarom decimaal?
Nou, de Latijnse wortel van decimaal, deca, 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 zelfs nog meer, zodat we vier keer 100 plus 3 kreeg
maal 10 plus 7 keer 1.
herinner me leren over degenen plaats, de 10s plaats, de 100s
plaats, en ga zo maar door?
Dit is precies waar dat vandaan komt.
En tot slot, kunnen we zien hoe we een heleboel van de bevoegdheden van kreeg
10 ingebed in hier.
We hebben 4 maal 10 tot de 2 plus 3 maal 10 tot de 1 plus 7
maal 10 tot nul.
Dus nu zie je waarom 10 is een speciaal nummer in decimale notatie.
In feite hebben we een naam voor.
Het wordt de base, omdat het de basis van de exponent in
onze rekenkunde hier.
>> Decimale notatie is niet de enige manier om cijfers te geven.
In feite, zelfs als we ons bevrijden van de cijfers twee door negen, we kunnen nog steeds
vertegenwoordigen alle van de nummers die we konden met decimaal.
Dus nu we twee cijfers, nul en een hebben, twee is onze speciale nummer,
de basis van onze notatie.
De naam van deze notatie wordt binair omdat de
voorvoegsel bi betekent twee.
Dus in plaats daarvan nu met een van die plaats, en 10s plaats, enzovoort, we
hebben nu een die plaats, een tweeën plaats, een fours plaats, en ga zo maar door, gaat door
machten van twee.
Dus laten we dit zien door te doen wat tellen.
Dus nul is nog steeds nul, en een is nog steeds een.
Maar nu hebben we een twos plaats in plaats van een 10s plaats, 10
staat voor het nummer twee.
Drie dezelfde te krijgen, voegen we een tot dat, en krijgen 11.
Vier, aangezien er nu een fours plaats wordt vertegenwoordigd door 100.
Vijf is 101.
Zes is 110.
Zeven is 111.
Acht, weer, heeft zijn eigen plaats.
Het is dus 1000.
En ik denk dat je het punt.
>> LUIDSPREKER 1: Dus dit is om te zeggen wat computers doen en wat binair is is
eigenlijk niet zo verschillend van wat we al als vanzelfsprekend voor sommige
jaar, toch?
Terug op de lagere school, leerde je om precies te tellen in de
mode die Nate voorgesteld, maar heeft u waarschijnlijk niet echt over nagedacht
het sinds het feit dat er dit kunnen plaatsen, 10s plaats en 100s
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 begrip
nul en een, heb je natuurlijk niet alleen de lichten aan en uit
noodzakelijk.
Je moet om het te doen op een veel fijnere korrel schaal.
En door fijnere korrel, zou je onthoud dit 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 die gebruik maken van
binaire, dat nullen en enen te gebruiken, gewoon magnetisme aan de binnenkant
dat lijnt dingen up-down-of down-up, waardoor die een nul of een een,
respectievelijk.
Dus inderdaad, laten we weg hier te verplaatsen van de abstracte, en kijk naar de binnenkant
van wat is een meer traditionele computer harde schijf.
Deze toevallig wat groter zijn op het scherm, dat het van een desktop
computer, maar laptops vandaag de dag nog steeds dezelfde technologie, maar is geleidelijk
worden vervangen door meer geavanceerde dingen die daadwerkelijk geen bewegende
onderdelen - de binnenkant, dan van een harde schijf.
>> SPEAKER 2: De harde schijf is de plaats 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 die vertellen
de harde schijf hoe die gegevens op te slaan.
De harde schijf circuits vertalen deze signalen in spanning
fluctuaties.
Deze aanslag, controle van de harde schijf bewegende delen, enkele van de weinige
bewegende delen meer in de moderne computer.
Een aantal van de signalen onder controle van een motor, die scholen met metaal beklede platen.
Uw gegevens worden in feite opgeslagen op deze schotels.
Andere signalen bewegen de lees-schrijf-koppen te lezen of te
schrijven van gegevens op de platters.
Deze machines is zo nauwkeurig dat een menselijke haar niet eens kon worden uitgewisseld tussen
de hoofden van draaiende platen, maar het werkt allemaal op geweldige snelheden.
>> LUIDSPREKER 1: Dus we nu inzoomen op wat er daadwerkelijk gebeurt op de top van deze
schotels in termen van het magnetisme hebben we deze tweede van twee blikken.
>> SPEAKER 3: Laten we eens kijken naar wat we zojuist zagen in slow motion.
Wanneer een korte elektrische puls gestuurd naar de lees-schrijfkop, klapt
op een kleine elektromagnetische voor een fractie van een seconde.
De magneet creëert een veld, dat verandert de polariteit van een heel klein
gedeelte van de metaaldeeltjes die vacht elke schotel oppervlak.
Een patroon reeks van deze kleine opgeladen gebieden op de schijf staat voor een
enkele bit van de gegevens in een binair getal dat door computers.
Wanneer nu de stroom eerst de ene kant door de lees-schrijfkop het gebied
is gepolariseerd in een richting.
Als de huidige verzonden in de tegenovergestelde 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 te krijgen en de lees-en schrijfrechten
hoofd bewegen.
Zet samen miljoenen van deze gemagnetiseerd segmenten, en
je hebt een bestand.
Nu de stukken van een enkel bestand kan worden verspreid over platters van een schijf,
net zoiets als de puinhoop van papieren op je bureau.
Dus een speciale extra bestand houdt de sporen van waar alles is.
Weet je niet willen dat je had zoiets?
>> LUIDSPREKER 1: Inderdaad.
Dus hebben we deze mogelijkheid om deze informatie weer te geven, cijfers
op een zeer laag niveau.
Wij hebben een fysieke manier te vertegenwoordigen dat hetzelfde, maar we kunnen niet echt
alles doen wat veel van belang nog niet, anders dan misschien een aantal rekenkundige en
wiskunde.
Wij hebben op geen enkele manier te vertegenwoordigen tot nu toe dingen zoals alfabetische letters,
zodat wij mensen kunnen communiceren, met behulp van deze zelfde apparaten.
Maar gelukkig bestaat er coderingen, patronen van nullen en enen
dat vertegenwoordigen hoger niveau constructies zoals A, en B, en C, en de gehele
zinnen en alinea's, en dergelijke.
En zo ASCII, een acroniem dat verwijst naar dit coderingssysteem waarbij
een nummer vertegenwoordigt een bepaalde letter - bijvoorbeeld, het nummer dat we kennen
als decimale waarde 65 is bekend als de hoofdletter A computers.
De decimale waarde van 97 in computers staat bekend als een kleine een.
En wat betekent dat eigenlijk?
Nou, ook al Nate, een moment geleden alleen, geteld van nul tot acht, indien
we verder tellen tot 65, of verder tot 97, het patroon van
nullen en enen dat hij zou hebben getrokken op het scherm zou precies
wat een computer gebruikt om vertegenwoordigen de letter A in hoofdletters, of de letter een
in kleine letters.
En inderdaad, er is een hele regeling bij.
Dit is op het eerste gezicht, overweldigende grafiek van coderingen, maar als je aandacht
alleen op de rechter helft hier, merkt in deze middelste kolom, we hebben dit
begrip cijfers gevolgd door letters.
En boven hebben we 32 en het karakter char, waarbij 32 de
integer, nu verwijst, is blijkbaar de spatiebalk karakter.
Wanneer u de spatiebalk karakter te krijgen op uw laptop, wat je echt
verzenden is een getal, een patroon van nullen en enen, een elektrische stroom,
als je wil, die voor deze nullen en enen, 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 A, en
97 inderdaad een kleine letter.
>> Dus nu dat we deze coderingsschema hebben, kunnen we beginnen met het
spellen dingen uit.
Inderdaad, computers meestal uiten in standaardeenheden die, niet
gebruikmakend van een individueel bit, die weer niet zo handig gewoon
vertegenwoordigen nul of een, lichten aan of uit, maar, met behulp van
sequenties van bits.
En de meest voorkomende maateenheid, zoals u waarschijnlijk weet, of in ieder geval
afgeleid, is een byte.
Een byte is gewoon acht bits, acht nullen of enen achter elkaar.
Dus we kunnen beginnen met spelling dingen uit.
En dus als we konden, waarom niet proberen dit een beetje collectief hier?
Zijn er acht mensen in deze zaal die bereid zou zijn
om te komen op het podium?
Je moet prettig om op camera, maar je hoeft niet echt nodig
om iets anders te weten wat er 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 me ben je al de 128s plaats je de 64s plaats je de 32s plaats.
Maar we gaan zeer snel moeten dit ongedaan te maken.
Dus laat me je voldoet aan de daar.
En je moet in de 128s plaats helemaal over, hier net als de
honderden plaats of de duizenden plek zou verder kunnen naar links, we willen
de grootste tijdelijke aanduiding om hier te zijn aan de linker als goed.
We hebben 64S, 32, 16s, 8s, 4s, 2s, en 1s -
excellent.
Dus nu hebben we -
oke, kun je me helpen.
Dus nu hebben we - wat is je naam?
Joanne: Joanne.
LUIDSPREKER 1: 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 hun vellen papier, ze hebben een kleine spiekbriefje
dat gaat om hen te vertellen of ze een nul of een een vertegenwoordiger.
En waarom niet, voor de eenvoud, zullen wij vertegenwoordigen nul door gewoon
staan ​​onhandig.
Heel goed.
Of een een door het verhogen van uw hand, wat neerkomt op een een.
En laten we eens kijken of we niet kunnen spellen een vier karakters zin hier.
>> Dus nu ga je gang, vrijwilligers, en uit te voeren eerste ronde door het verhogen van uw hand
als je een een, of het houden van het af als je een nul.
Dus nu we deze drie handen omhoog hebben, welk nummer, iedereen, zijn
ze eigenlijk vertegenwoordigen?
Oke, 67.
Waarom?
Nou ja, een snelle geestelijke gezondheid te controleren.
64s plaats, want het is een een.
Dat is hetzelfde als een keer 64, plus 1 maal twee, dus dat is 66, plus 1 keer 1.
Dat is plus 1, dus 67.
Dus nu deze jongens samen vertegenwoordigen 67, die blijkbaar
staat voor wat hier in ASCII?
Oke,
dus een C. Goed.
Dus laten we nu overgaan naar twee ronden.
Iedereen begint met hun handen naar beneden, en dan de tweede ronde.
Eigenlijk is er niet veel van een rol, denk ik, maar we doen alsof je.
Dus de tweede ronde, verhogen of verlagen uw handen.
>> Oke.
Publiek, wat zijn we nu?
Uitdrukken is 83.
Dus u kunt 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 -
dit misschien duidelijk waar we hier gaan, maar
niettemin, ronde drie.
Oke, ronde drie is goed om daarheen te gaan, zo rond drie, welk nummer zijn
deze jongens nu goed?
Oke, ik hoorde 53, die nu - interessant.
Nu waarom deze soort van contra-intuïtief resultaat, toch?
Als we willen tot vijf vertegenwoordigen -
we allemaal waarschijnlijk wel weet waar dit naartoe gaat -
waarom ik niet gewoon verhogen van de handen en voeten plaats en degene die plaats?
>> Nou, we beseffen dat er een verschil is, fundamenteel, tussen de manier waarop
een computer interpreteert deze bits niet.
Als je probeert om het getal vijf, dan absoluut vertegenwoordigen, we hebben net
steek je hand nummer vier en verhogen de hand nummer een.
Maar we zijn niet vertegenwoordigen cijfers.
De context hier op het podium is dat we tekens voor het weergeven of
tekens, en in deze context, de computer moet zich realiseren dat oh, dit
patroon van bits is geen getal alleen.
Het is eigenlijk neerkomt op een hoger niveau concept.
In dit geval een alfabetische letter.
Dus het feit dat het nu de nummer vijf met de vertegenwoordigende
waarde 53 is, omdat in ASCII, de wat we esthetisch zien als de
nummer vijf zelf heeft een patroon van bits - want waarom?
Nou ja, de wereld zojuist besloten om de lagere nummers, nul, een, twee te gebruiken,
drie voor wat leek te zijn vrij cryptisch dingen.
En inderdaad, dit zijn de tekens die niet op het toetsenbord.
Speciale uitdrukkingen die je nodig hebt in een computer om interessante dingen te doen, maar
mensen nooit echt typt.
Zo 53 inderdaad voor vijf.
Nu even een laatste sanity check, welk nummer zouden ze
vertegenwoordigen in slechts een moment?
Oke, 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.
Heel goed gedaan.
Elke richting is prima.
>> Dus we hebben nu een manier niet alleen te denken over hoe de weergave van gegevens,
en eigenlijk vertegenwoordigen het fysiek, maar ook het doen van een hogere
niveau dingen op de top van.
En inderdaad, dit gaat om een ​​rode draad door de informatica zijn van
het bouwen van meer en meer interessante en complexe dingen op de top van
vrij eenvoudige ideeën -
in dit geval alleen nullen en enen.
In termen van waarom dit handig is, nou ja, ook al is in een cursus als deze,
zullen we focussen op de fundamentals, en de programmering, en op het oplossen van de
problemen, kunt u afgaan in de informatica in een aantal richtingen.
In dit geval hier, dit is een grafiek die u aan de achterkant pagina van uw
onofficiële gids voor CS op Harvard, een van de twee huidige afdrukken.
Dit suggereert de vele verschillende richtingen waarin je kunt gaan na een
cursus als deze -
leren over kunstmatige intelligentie, over graphics, ongeveer
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 dit najaar, is er
inleidende cursussen in het voorjaar, Informatica 1, bijvoorbeeld, is
nog een andere on-oprit naar deze nieuwe wereld.
>> Nu nog even terzijde, in het belang van het oplossen van problemen in verband met cursussen,
realiseren CS50 uiteengezet enige tijd geleden om te proberen een van deze problemen op te lossen, een
probleem bekend als my.harvard, die velen van u wellicht gebruiken om daadwerkelijk
shop voor cursussen, maar zo niet, check out een tool als deze, evenals andere
nakomelingen dat een aantal van onze oud-studenten en medewerkers hebben gemaakt.
Maar in Harvard Cursussen, dat is een web-based tool, iets dat je
zal kunnen ontwerpen en implementeren van uzelf en nog
andere dingen ook aan het eind van het semester, beseffen dat deze voortbouwt
op een open data set.
In dit geval natuurlijk catalogus, en geeft studenten in dit geval
verkennen een vrij complexe data set.
>> We groeven gisteravond een paar statistieken op basis van de paar duizend mensen die
zijn met behulp van deze de afgelopen dagen.
Als u al nieuwsgierig om te weten hoeveel banen je vrienden eigenlijk
hebben de neiging om te winkelen, nou ja, vandaag deze gegevens suggereren dat 7,6 is het gemiddelde
aantal cursussen op het winkelen iemands lijst.
En nu zal ik u ook de statistiek van de meest aantal
cursussen over winkelen iemands lijst - en wij allen waarschijnlijk wel weet
iemand als dit.
201 is dit jaar het record.
Nu een aantal van onze oud-studenten en medewerkers eigenlijk samen een clip
schetsen een beeld voor je van wat dit pad van de informatica
en CS50 zelf.
Laat me ga je gang en trek je, dank aan de heer Harvahd hier een video geproduceerd door
een aantal van uw voorgangers, als we de lichten houden voor deze.
[Muziek spelen]
>> LUIDSPREKER 1: 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 bent u inderdaad verwacht
bij te wonen of bekijk de cursus lezing, acht probleem sets te dienen, neem twee
quizzen, dient een afstudeerproject.
In termen van cijfers, beseffen dat mijn opmerkingen bij de opening over
pass-fail, iets dat we zeer ter harte te nemen aan CS50 - er is geen
genoeg van een cultuur aan de Harvard van het proberen
iets en riskeren mislukking.
Inderdaad, we hadden aantallen studenten, en mijzelf in het bijzonder, die was
bezorgd over het kwetsen van uw GPA, of het krijgen van een B in iets als CS50,
en de mogelijkheid om een ​​cursus als deze en andere gateway cursussen op
het inleidend niveau pass / fail is een zeer weinig gebruikte mogelijkheid op dit
college in het algemeen.
En dus weten, zelfs ik ingeschreven in deze cursus in eerste instantie voor pass / fail
krediet alleen, en ook al heb ik wel schakelaar aan het eind van de dag, het was
die vijf eerste weken, tot en met de vijfde maandag van het semester, dat is
de cutoff, dat kon ik echt voet in deze nieuwe
wateren, en daadwerkelijk proberen iets heel vertrouwd en zeer oncomfortabel
voor mij op dat moment.
>> Dus in termen nu welke rol de verschillende invalshoeken waarmee u kunt
benaderen deze cursus dienen -
zo lezingen. Het is aan jou.
Als u met ons in zee in persoon op deze locatie, inderdaad, we weten
statistisch dat ongeveer 40% van je wil soort van komen en gaan over 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 kenmerkende eigenschappen van CS50 is dat er deze
ontelbare bronnen, waarvan sommige zullen we door middel van rammelen in slechts een moment,
met lezingen en secties, en dingen die genoemd walkthroughs, en kantoor
uur, en dergelijke, en het is meer middelen dan de typische student
zou moeten of kunnen fysiek voordeel te halen uit, maar dat komt omdat
van de uiteenlopende leerstijlen dat elke student lichaam manifesteert.
En dus in lezingen, de primaire rol zoals ik het zie is het niet om verbaal te duwen
uit vrij complex materiaal en per se leveren alle van de
fijne kneepjes van de fundamenten die we dit semester verkennen, maar
liever, om dingen als we dus gedaan nu toe al, hebben deze voorbeelden
met mensen op het podium proberen om een ​​mentaal beeld te schetsen, en ook
te creëren, durf ik het zeggen, een aantal van deze memorabele momenten, zodat zelfs als je
worstelen met bepaalde onderwerpen, heb je deze herinneringen, zoals oh, ook al
dat was vrij abstract, de wiskunde, werd ik verloren met het dragen van een een, zoals,
het werkelijk aan het eind van de dag, is niet zo verschillend iets I
al weet.
En dus is de rol die lezingen ofwel zal hier dienen in persoon Sanders
of online op video is echt op het podium mentaal ingesteld voor u elke week
voor de verschillende concepten en problemen die we duiken in.
>> In termen van de hoge concepten kan de meeste van deze woorden overvloeien
je hoofd voor het moment.
En dat is prima.
Degenen onder jullie die zullen in de loop comfortabeler zal weten van
een aantal van deze onderwerpen, maar meestal voor dat 10% van de klasse waarvoor
ze hebben veel meer achtergrond, waarbij AP informatica, programmeren omdat
ze waren 12, beseffen dat er mogelijkheden zijn in secties en
probleem stelt om alle meer diepte ingaan op verschillende onderwerpen, in te vullen
wat hiaten u zou kunnen hebben van je middelbare school of voor achtergrond.
In termen van de talen, beseffen dat wat taal die we gebruiken in CS50 is
grotendeels irrelevant aan het eind van de dag.
We toevallig in de eerste plaats gebruik maken van een taal genaamd C. Tegen het einde van de
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 language -
Python en Ruby, en anderen zijn heel populair deze dagen, omdat te realiseren,
aan het eind van de dag, je bent niet leren in deze C. Je bent niet
leren PHP of JavaScript.
Je leert hoe je problemen op te lossen, of web-based, computer-based, of
datagerichte zichzelf, met hiernaar eenvoudigweg als tools.
>> Nu in termen van de logistiek, gebruikt u iets uiteindelijk wel de
CS50 Appliance.
Maakt niet uit of je een Mac hebt, een pc, een Linux-computer, of iets dergelijks,
heb je vrij beschikbare software vanaf volgende week met welke te gebruiken
de CS50 Appliance, een virtuele omgeving die u zult gebruiken op uw
eigen computer, zodat u en al je klasgenoten een uniforme Linux
bureaublad in dit geval.
Het is het probleem sets, hoewel, waarin je echt krijgt je handen
vuil in de cursus.
En aan het eind van de dag, het is het probleem sets, denk ik, dat echt
definiëren van een student ervaring in deze cursus.
Realiseer je dat veel van het probleem sets zal worden uitgebracht in twee edities -
een standaard editie die we verwachten en stimuleren 90% van de
klasse in te duiken.
Maar we hebben ook vrijgegeven een probleem sets in de zogenaamde hacker edities, en u
weet dat het de hacker editie, want op elke pagina met een watermerk, is het
zegt hacker editie op.
En dat is voor deze demografische onder u die AP informatica hebben met 10
jaren van het programmeren onder je riem, en zijn op zoek in te vullen die gaten,
en om meer formele, in plaats van autodidact training misschien, te realiseren
dat er een zeer grote demografische in de klasse die is
precies dat hetzelfde doel.
Je hebt vijf late dagen.
Probleem sets zijn over het algemeen te wijten op donderdag, maar u kunt uitbreiden vijf van
deze termijnen met behulp van deze dingen genoemd laat dagen, en we zullen ook laten vallen
uw laagste score aan het einde van het semester, per de
gegevens in de syllabus.
>> Maar een ander kenmerk van CS50 door de jaren heen uitgegroeid tot kantoor
uur, een kans die je visueel gezien op foto's een beetje geleden, waarin
verzamelen we eerder in het huis eetzalen, voorafgaand aan dat in de
kelder van het science center, en dit jaar in Annenberg Hall, vier
avonden per week 20u00-23u00, waar heb je dit zeer
gedeelde ervaring van het werken aan, worstelen door middel van bepaalde problemen,
maar met een aanzienlijke steunstructuur in plaats.
Inderdaad, de manier waarop dit zal werken is dat je je aan bij Annenberg als u
enkele vraag tijdens de week.
Je zult je laptop mee te nemen, zult u gaan zitten, pak wat te eten, en je zult aanmelden
aan bij CS50 Discuss, een web-based programma dat het onderwijzend personeel heeft
ontwikkeld die u zal toestaan ​​om vragen te stellen en followups in een zie
typische discussieforum zin, met behulp van labels en dergelijke, en auto-complete
de gegevens zoeken.
Maar je zult ook in staat zijn om, tijdens de uren van kantooruren, uw
vragen escaleerde de werkelijke mens.
Inderdaad is het doel zodat een uiteindelijk beginnen we opbouwen 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, terwijl het hebben van het onderwijs
personeel - meestal 20% tot 30% van de leer bursalen en natuurlijk assistenten
op het personeel in een keer.
>> We zullen wat heet de CS50 Greeter in Annenberg, en als we
vast te stellen dat, weet je wat?
Deze vraag hebben we echt beantwoorden effectief online.
We moeten je computer te zien.
We willen met u een gesprek op een.
Je bent echt worstelen, en u dus wilt een gesprek op een
naast iemand, zult u worden verzonden naar de CS50 Greeter, een
onderwijs mede bedrijf, letterlijk, een iPod die leerlingen namen heeft op een
kant, docenten namen aan de andere kant.
Wij zullen uw naam, gevolgd door de naam van een onderwijzend personeel, en uw
computerscherm gaat knipperen, zeggende gaan kijken Alice of please please
gaan zien Bob aan het personeel tafel.
En dus op deze manier zullen we in staat zijn om dingen verzending zo efficiënt
mogelijk en begeleiden naar oplossingen alle gemakkelijker.
In de paragrafen zullen deze mogelijkheden voor meer intieme hands-
op kansen met een van de leer fellows en 12 tot 16 of zo van
je klasgenoten, waarin elke week zullen we problemen hebben in het probleem set
dat een aantal conceptuele vragen te stellen, en een aantal hapklare
het programmeren van vragen die je zou kunnen uitzoeken op uw eigen, en je kon
werken aan je eigen, maar in het kader van sectie, zullen we werken via
gezamenlijk een aantal van deze problemen en gaan waar de
gesprek neemt ons mee.
>> Daarnaast zal in paragraaf heb je mogelijkheden om inzendingen van beoordelen
huiswerk dat je hebt gemaakt, je klasgenoten, soms anoniem,
altijd door een opt-in, als u wilt delen de
werken die u hebt verzonden.
Dus het zal echt een twee-directionele gesprek, en de mogelijkheid om
beoordelen uw eigen werk in een veel dynamischer gevoel, in plaats van simpelweg
kijken naar een PDF-of afdruk en het denken over het voor een paar seconden
en niet noodzakelijk absorberend de feedback die de
onderwijzend 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 linksboven, en
krijg je dit na verloop van tijd weet, maar dit is een web-based programma dat we zullen
gebruiken in paragraaf waarmee u en uw 15 of zo klasgenoten om in te loggen met
uw onderwijs mede aan de voorzijde van de kamer.
Je zult in staat om code te schrijven in dit venster.
Je zult in staat zijn om elektronisch te chatten als je niet echt bij sectie op
dat moment, en uw onderwijs mede, wanneer het tijd is om te
bespreken Alice of Bob's oplossing in de klas, kan het onderwijs mede op een
knop en voila, project op het scherm wat dan ook dat de student is
werken op dat tijdstip.
Dus voor degenen onder u hebben vrienden die hebben CS50 genomen in het verleden, te realiseren
die secties zijn aanzienlijk opgestart dit jaar des te meer
actief, des te meer dynamische, en echt, een twee-weg gesprek tussen
docenten en studenten.
>> En walkthroughs.
Dus voor deze problemen sets, bieden wij ook niet alleen de specificatie
zelf, die over het algemeen een vrij gedetailleerde PDF, maar ook dingen bekend
als walkthroughs, waarbij een lid van het onderwijzend personeel zal leiding geven aan een wekelijkse
sessie die letterlijk je wandelingen door het probleem set, waardoor u
tips en advies, en uitgangspunten, en is bedoeld om de zeer te vragen
vaak gestelde vraag: waar moet ik beginnen?
Nou, moet u ofwel beginnen met een duik in de spec op zijn eigen, of door het bijwonen van
of 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 populair
tijd, maar omdat we dan filmen ze heel vroeg in de week en krijg
ze online door in het weekend, zodat u zoveel dagen als mogelijk
eigenlijk bezighouden met die inhoud ook.
Maar meer daarover in collegezaal deze vrijdag.
>> Nu wat betreft de steunconstructie, de belangrijkste statistiek is
misschien de 108 leer fellows en assistenten natuurlijk dat deze cursus
momenteel.
Als sommige van jullie die geen tegenstrijdige klassen mee wilt doen
me hier op het podium, is het deze jongens die uiteindelijk echt definiëren van uw
ervaren in de cursus.
Ik had veel van het onderwijs kerels leert me de lessen in de dag, en ik
herinner me heel weinig van die, eerlijk gezegd, maar tot nu toe, ik herinner me nog onder
die paar mijn CS50 TF, die heeft me echt geholpen vragen te beantwoorden, die echt
hielp me toen ik worstelde, en was echt een partner in dit
ervaring van het leren van een heel nieuwe wereld.
In een klein beetje, al deze jongens zullen samen met u naar buiten voor cake, die
is een traditie van CS50, in het transept van de Memorial Hall, maar laat me
eerst moet je weer kennismaken met Nate Hardison, Rob Bowden, en Tommy
McWilliams, dit jaar de koers aan het hoofd.
Als jullie zouden hier samen met mij in het midden.
Ze hebben allemaal voorbereid op een aantal inspirerende opmerkingen.
>> TOMMY MCWILLIAMS: Ik wist niet bereid iets inspirerend.
Maar mijn naam is Tommy.
Ik ben een senior in Mather.
Ik studeer informatica, erg enthousiast te zijn over de hoofden team en
het doornemen van de CS50 reis met jullie.
Wat ik echt leuk vind aan CS50 is hoe het echt leert je om na te denken over
problemen op een nieuwe wijze.
Dit is echt een vaardigheid die gaat van onschatbare waarde zijn, het maakt niet uit welk gebied
ga je in.
En niet alleen dat, maar wij bieden meer gratis snoep dan welke
andere cursus op de campus.
Dus ik ben gewoon echt naar uit om te zien wat
iedereen bouwt dit semester.
En als er nog iemand vragen nu of tijdens het semester, zeker
voel je vrij om uit te reiken naar mij, 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 zo veel moeite in het maken van dit semester echt geweldig, en als
Zolang je bereid bent om in de inspanning, er is zo veel dat je kunt krijgen
uit van deze cursus.
U kunt een hoop plezier uit van deze cursus.
We zouden niet hebben een staf van 108 als je niet kon krijgen een veel plezier van te maken,
dus probeer gewoon te worden betrokken, en u zult 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 geniet ervan zo veel als ik heb
genoten van het zo ver.
En als je ooit wilt leren hoe je tot negen of tien komen in binaire, kom
met me praten.
>> LUIDSPREKER 1: Dus op het gevaar af van het verlaten van deze jongens hier op het podium een ​​beetje
onhandig,'s dwarrelen door te laten maar een paar van de dingen die af te wachten alvorens we
verdagen voor cake.
Wat is het dat ons te wachten staat?
Nou, als we eens een snelle blik terug op het afgelopen jaar, in probleem nulstellen, uw
voorgangers dook een programmeertaal genaamd Scratch, een grafische
programmeertaal die u gebruikt in de eerste dagen van de cursus, te beginnen
deze vrijdag, om sommige concepten onbekend voor sommigen van jullie leren, maar realiseren
er zal een geavanceerd aspect van deze voor die van u met voorafgaande zijn
achtergrond.
>> In het afgelopen jaar het probleem te stellen twee studenten dook in de wereld van
cryptografie, de kunst van het encryptieapparatuur onleesbaar informatie,
uitvoering van programma's die versleutelde gegevens, en in de hacker editie laatste
jaar heeft studenten overgaan tot barsten of de wachtwoorden te decoderen in een typische
van de computer. xc wachtwoord bestand door te komen met algoritmen en heuristieken voor
brute kracht uitzoeken wat iemands wachtwoord op een computer
systeem was.
Vorig jaar of twee, in probleem reeks vier deden studenten
uitvoering van de spelletje Sudoku.
En de hacker editie van dat jaar had de studenten niet alleen te implementeren hoe
het spel 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 vijf, we hebben forensisch onderzoek, deze kunst het terugkrijgen van informatie
Dat was per ongeluk of heel bewust
verwijderd van de computer.
Vorig jaar, het onderwijzend personeel en ik wandelden rond de campus te nemen
foto's van mensen, plaatsen en dingen en dan per ongeluk
geformatteerd de mediakaart op onze camera dat al die foto's had.
Maar geen probleem, we hebben een forensisch beeld van deze mediakaart, overhandigde het uit
aan alle leerlingen in de klas, en daagde hen uit om programma's te schrijven die
hersteld alle van de JPEG's uit die kaart.
En dit is eigenlijk een van onze favoriete probleem sets, en ik opgegraven van een
oude e-mail van een van je voorgangers, die erg leuk was om te
lees enige tijd geleden.
>> Dit is van Matt.
Beste David, gisteren mijn zus per ongeluk geformatteerd haar camera's SD-
kaart en verloor een jaar ter waarde van memorabele foto's.
Ze is helaas niet het beste op een back-up haar gegevens.
Maar deze situatie deed me denken aan p-set vijf, dus ik dacht dat ik zou proberen om
run haar SD-kaart door het herstellen programma dat ik helemaal terug schreef
in oktober.
Dus na vier uur uit te vinden hoe je een RAW-beeld te creëren van de
geformatteerde SD-kaart -
Google blijken te zijn erg behulpzaam in dit opzicht, totdat ik ironisch
gebeurd om over uw instructies komen op het Internet -
na knutselen rond met een aantal van de command line argumenten, slaagde ik erin
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 programma en
herstellen alle 1.027 van foto's van mijn zus, schrijft Matt.
>> In probleem van vorig jaar ingestelde zes, we gaven de leerlingen een woordenboek van
150.000 Engels woorden en daagde hen uit om een ​​spellingscontrole schrijven dat
beantwoord vragen van het formulier, wordt dit woord juist of onjuist gespeld
zo snel mogelijk.
En op opt-in basis waren studenten mogen dan uitdagen klasgenoten
door het plaatsen van de resultaten, de hoeveelheid RAM die ze gebruiken, het aantal
CPU-cycli of seconden dat ze gebruikt, zodat de studenten werden vervolgens gerangschikt op
de cursus website - nogmaals, zuiver facultatief aspect ervan, maar erg leuk
in dat zeer vaak zou een student naar positie nummer 10 of zo te krijgen op de grote
raad van bestuur, op de website, uit eten gaan en dan terug te komen, en het realiseren van
zijn kamergenoot had net gescherpt voor hem of haar op het grote bord,
waardoor het gieten nog twee of drie uur alleen maar om een
zijn of haar kamergenoot.
>> Dus we kijken ernaar uit om iets dergelijks ook dit jaar.
In probleem set 7 hebben we sturen in de richting van web programmeren, eigenlijk
het oplossen van problemen in de steeds vaker omgeving
van een web browser.
Weet dan steeds minder gaan we downloaden software op Macs en pc's, maar
in toenemende mate, doen we het allemaal binnen het web.
>> En inderdaad, vorig jaar, ongeveer 88% van de studenten 'laatste projecten in de loop
waren web-based.
En die ook zijn vaardigheden die je van deze klasse afgeleid door
cursus einde, want wat wacht op het einde natuurlijk is de CS50 Fair, dit
tentoonstelling die is gebaseerd op het idee van een wetenschap eerlijke, maar in deze versie van
een eerlijke doen alle leerlingen in de klas te brengen hun laptops, en hun
vrienden en familie, en anderen om Northwest Science, een groot gebouw op
campus, het opzetten van hun laptop, nog wat eten, nog wat popcorn en drinken, en
dan vertonen hun laatste projecten voor alle aanwezigen, die vorig jaar
genummerd zo'n 2.500 deelnemers uit over de campus, en uitdrukkingen als
dit, en staan, waren 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 naar Microsoft om 8:00 uur, en niet naar huis gaan
tot 7.00 uur.
Wij serveren eerste diner om 8:00 PM, tweede diner om 1:00 uur, en voor degenen die nog
staan ​​om 5.00 uur gaan we trakteren op pannenkoeken bij IHOP.
En de Hackathon is een kans, zoals hier afgebeeld, te duiken in uw
afstudeeropdrachten, of werken aan je 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 dergelijke beelden als deze zijn heel gebruikelijk ook dit jaar.
>> Dus als we in een ogenblik te verdagen voor cake, in gedachten houden dat 76% procent van de
mensen in deze kamer nog geen ervaring, en volgens de syllabus,
wat uiteindelijk telt in deze cursus is niet zozeer waar je terecht komt
ten opzichte van je klasgenoten, maar waar je, in week 11, uiteindelijk ten opzichte van
jezelf in week 0.
Dit is CS50.