[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.