MIT Challenge

, Author

I løbet af de næste 12 måneder vil jeg lære hele MIT’s 4-årige pensum for datalogi uden at tage nogen undervisning.

OPDATERING: MIT Challenge er nu afsluttet. Jeg afsluttede den 26. september 2012, lige under 12 måneder efter at jeg begyndte den 1. oktober 2011. Klik på “Se mere…” for at få adgang til mine eksamener, officielle løsninger eller kode, jeg har skrevet.

Svar på nogle almindelige spørgsmål:

  1. Hvor meget arbejdede jeg i løbet af udfordringen? I begyndelsen ca. 60 timer/uge. Senere mere som 35.
  2. Har du fået en grad fra MIT? Nej. Se foredraget ovenfor om min motivation for at gennemføre hele uddannelsen uden merit.
  3. Har du gjort alt det, som en MIT-studerende gør? Nej. Jeg lavede eksamener og programmeringsprojekter for et pensum, der ligner MIT’s eget meget (jeg var nødt til at bytte nogle laboratorieklasser og humanistiske krav til andre klasser). Antallet af kredittimer er dog det samme. Se her for MIT’s faktiske 4-årige CS pensum som en sammenligning med mit eget. (Bemærk: Dette link er blevet opdateret, da det gamle var dødt, men jeg har ikke tjekket, om der er foretaget ændringer i CS- pensummet, siden jeg gennemførte MIT Challenge)
  4. Har du brugt lærebøger eller forelæsningsvideoer? Alt står i “Se mere…”-ruden for hver klasse. Tjek det, hvis du er i tvivl om de enkelte klasser.
  5. Hvilken rækkefølge fulgte du klasserne i? I den rækkefølge, der er anført nedenfor. Bortset fra at nogle blev taget på samme tid. Men hvis du fulgte denne rækkefølge i rækkefølge, ville du ikke gå glip af nogen forudsætninger.
  6. Noterede du selv arbejdet? Ja. Jeg indrømmer, at dette introducerer en vis grad af fejl i forhold til at lade en professor bedømme mit arbejde. Men de fleste af eksamenerne er kvantitative med løsningssæt, som har rubrikker til bedømmelse, så det begrænser fejlen en smule. Jeg opfordrer alle til at tjekke mine faktiske eksamensresultater og sammenligne dem med løsningerne. I mange af de eksamener, der krævede lange beregninger, tillod jeg delkarakterer, forudsat at de begreber, der blev lært i kurset, blev anvendt korrekt. Jeg mener, at den givne karaktergivning nok er retfærdig, men hvis man ville indtage den stærke holdning, at enhver fejl (som f.eks. at glemme at medtage et minustegn) ugyldiggør et helt spørgsmål, ville det reducere nogle af mine karakterer. Jeg har gennemgået og genberegnet under disse strengere restriktioner, og det ville bringe de afsluttende eksamener i 18.01, 5.111, 18.03, 6.002 og 6.013 under grænsen for beståelse (de andre 28 klasser var enten upåvirket eller forblev over beståelsesgrænsen). Jeg mener, at den oprindelige karaktergivning var retfærdig, om end ufuldkommen, men disse senere beregninger viser virkningen af min beslutning om at bruge delkarakterer.
  7. Mener du, at alle ikke skal gå på universitetet og gøre dette i stedet? Selvfølgelig ikke. Jeg tog min bachelor på universitetet, og jeg fortryder det ikke. Mit mål med dette projekt var at se, om det ville være muligt – at skubbe forventningerne til, hvor lang tid, hvor dyrt og hvor konventionelt en uddannelse skal opnås.

Computere har altid fascineret mig. Fra finansverdenen til Facebook er algoritmer det skjulte sprog, der ligger til grund for det meste af vores liv. De største forandringer i vores verden bliver skrevet i kode, og fremskridtene inden for kunstig intelligens giver os mulighed for at bruge computere til at forstå, hvad det vil sige at være menneske.

Bortset fra maskinens poesi er datalogi også enormt praktisk. Der er blevet skabt formuer og sat revolutioner i gang på linjer af kode.

Jeg har altid ønsket at kunne tale det sprog. Men jeg ønskede ikke at investere fire år af mit liv og hundredtusindvis af dollars i at lære det.

Jeg begiver mig ud i dette eksperiment, fordi jeg vil vise, at læring ikke kræver optagelseskomitéer og SAT-tests, tusindvis af dollars i gæld eller endda det fireårige tempo, som de fleste studerende antager er nødvendigt for at lære et fag.

Vil jeg fejle? Det er bestemt en mulighed – folk, der er meget klogere end jeg selv, kæmper sig igennem enorme arbejdsbyrder på institutioner som MIT, og jeg forsøger at lære det samme materiale med 4x den hastighed, uden fordel af instruktører.

Det eneste, jeg kan love, er at dele det, jeg finder, med dig. Nedenfor er listet alle 33 klasser, som jeg vil dække. For hver af dem vil jeg skrive den endelige eksamen, og du kan sammenligne mine svar med de officielle løsninger fra MIT. Jeg vil også skrive eventuelle fejl, så du kan være sikker på, at jeg ikke udelader mine fejl.

Post-MIT Challenge Update

Siden udfordringen blev afsluttet, bruger jeg dette rum til at dele nogle af de nye kurser, jeg gennemfører, eller programmer, jeg har afsluttet relateret til datalogi.

  • WordSmith – Dette er en AI, jeg har bygget, der spiller Scrabble. Gratis og open source.

LÆRINGSFORSKRIDT (33/33):

Klik på titlerne for at se videoer, få adgang til kurserne og se mine resultater

8.01: Physics I – Classical Mechanics – COMPLETED

Jeg afsluttede dette kursus i juli som en del af et pilotforsøg for at se, om jeg kunne klare at gennemføre hele programmet. Kurset er genialt, Prof. Walter Lewin gør et fantastisk stykke arbejde med at bringe fysik til live uden at ofre intellektuel stringens. Bemærk: Dette kursus blev fjernet af MIT, du kan få adgang til en anden version her. Scott’s rating: 5/5

18.01: Single Variable Calculus – COMPLETED

Dette var det første officielle kursus, jeg gennemførte i forbindelse med MIT Challenge. Solide forelæsninger gav mig en god fornemmelse af det grundlæggende i calculus startende fra grænser og op til mere avanceret integration.
Scott’s rating: 4/5

18.02: Multi-variabelregning – FÆRDIG

Dette kursus udvider de grundlæggende principper for beregning med én variabel til mere end én dimension. Meget nyttigt at vide for at forstå elektricitet, magneter, lys eller noget andet, der involverer 3D-objekter.
Scott’s bedømmelse: 4/5

8.02: Physics II – Electromagnetism – COMPLETED

En anden klasse undervist af Prof. Walter Lewin, demonstrationerne er fantastiske. Strenge for dem, der vil have de tekniske detaljer, men stadig lettilgængelige, idet de diskuterer hverdagsbegreber som regnbuer og metaldetektorer. Bemærk: Det oprindelige kursus, som jeg tog, blev fjernet af MIT. Her er et erstatningskursus.
Scott’s rating: 5/5

6.01: Introduction to EE and CS I – COMPLETED

Dette er et godt kursus, men jeg anbefaler ikke at tage det, hvis du ikke har nogen programmeringsbaggrund, da det dykker direkte ind i objekt-orientering med relativt lidt forklaring. Jeg nød virkelig blandingen af mere avancerede koncepter fra AI og state machines ind i grundkurset. Kursusnoterne er gratis og fremragende, selv om en stor del af fokus er på robotteknologi, som bruger specialiseret udstyr, som jeg ikke har adgang til. (Som en sidebemærkning har mange mennesker påpeget, at den afsluttende eksamen jeg skrev ikke var fuldt ud omfattende, du kan læse mit dybdegående svar her) Bemærk: Det oprindelige kursus, jeg tog, er blevet skiftet af MIT. Her er en erstatning.
Scott’s rating: 4/5

  1. Access the course material for free
  2. Download Code
    • Project: State-Machine Library
    • Project: Bayesian State Estimator
    • Projekt: Bayesian State Estimator
    • Projekt: A* Pathfinding Algorithm
  3. Mine eksamensresultater
  4. Aktuelle MIT-løsninger

5.111: Principles of Chemical Science – COMPLETED*

God introduktion til kvantekemi, Lewis-diagrammer, syre/base- og redoxreaktioner. Indeholder også et mere avanceret afsnit om overgangsmetaller og krystalfeltteori. Desværre havde klassen ikke en brugbar afsluttende eksamen, så jeg var tvunget til at bruge mine praktiske midtvejsprøver som bedømmelsesgrundlag.
Scott’s rating: 4/5

7.012: Introduktion til biologi – FÆRDIG

Udmærket biologikursus, der udforsker biologi fra en eksperimentalists synspunkt og giver en basis i det grundlæggende inden for biokemi, immunologi, genetik og økologi. Lærebogen er også et godt supplement, der også viser den eksperimentelle tankegang, der førte til opdagelserne.
Scott’s rating: 4/5

18.03: Differentialligninger – FÆRDIG

Differentialligninger er en udvidelse af regning og giver dig mulighed for at modellere og analysere komplekse systemer. De spiller en særlig vigtig rolle inden for elektroteknik, hvor de (og deres diskrete modstykker) er afgørende for at forstå kredsløb, signaler og systemer. Videoforelæsningerne i forbindelse med dette kursus har betydelige afvigelser fra resten af kursets indhold, hvilket fik mig til at spilde en del tid.
Scott’s rating: 3/5

6.02: Introduction to EE and CS II – COMPLETED

Dette var et vanskeligere fag at tage på, da der ikke findes et fag til det i MIT’s OCW. At lære det betød at gennemgå de for det meste skjulte fordybninger i MIT’s offentlige arkiver for at forsøge at finde noter og eksamener. En konsekvens heraf er, at filterdesign, et vigtigt emne, manglede helt i noterne, og jeg var ikke i stand til at gennemføre de laboratorier (6 & 7) eller de eksamensafsnit, der omhandlede det. Der var ingen afsluttende eksamen, så jeg gennemførte alle tre midtvejsprøver og bedømte dem samlet.
Scott’s rating: 3/5

  1. Kursusmateriale
  2. Laboratorieopgaver (advarsel stor), Opgaveinstruktioner/Filer
  3. Mine eksamensbesvarelser
  4. Aktuelle MIT-løsninger

6.042J: Mathematics for Computer Science – COMPLETED

Grafer, talteori, beviser, sandsynlighed og tælling er blot nogle af de emner, der behandles i dette fremragende kursus. Der er ikke nogen videoforelæsninger, men den gratis lærebog til kurset er utrolig og engagerende. Der er også en enorm mængde ressourcer til at øve sig i problemerne, hvilket giver interessante udfordringer.
Scott’s bedømmelse: 5/5

6.006: Introduction to Algorithms – COMPLETED

En introduktion til algoritmer og kompleksitetsteori. Kurset giver en god mulighed for at anvende algoritmiske designkoncepter (dynamisk programmering, greedy-algoritmer osv.) på faktiske programmeringsproblemer, hvilket giver dette kursus en konkretisering, som manglede i 6.042J. Desværre var jeg ikke klar over, at den afsluttende eksamen ikke var omfattende, før jeg skrev den, så jeg har også inkluderet mine quizzer, som jeg havde lavet for at øve mig. Jeg gennemførte de fleste af opgaverne, men da der ikke var nogen løsninger, har jeg efterladt dem uden bedømmelse.
Scott’s rating: 4/5

18.06: Linear Algebra – COMPLETED

Udmærkede videoforelæsninger og rigeligt materiale gjorde dette til et af de mere nærgående kurser i OCW’s katalog. Prof. Gilbert Strang holder flydende og letforståelige forelæsninger. Min første eksamen til dette kursus var kun 56%, så jeg besluttede at tage endnu en dag til at skrive den eksamen med højere score, som jeg postede nedenfor.
Scott’s rating: 5/5

6.041: Probabilistic Systems Analysis – COMPLETED

Det er et kursus i sandsynlighed, der går ind i grundlaget for sandsynlighed og bruger calculus til at analysere sværere sandsynlighedsspørgsmål end dem, der blev stillet i 6.042J. Lærebogen er designet specifikt til dette kursus, så den er yderst brugbar.
Scott’s bedømmelse: 4/5

6.002: Kredsløb og elektronik – FÆRDIG

Dette kursus dækker de grundlæggende principper for digitale og analoge kredsløb. Eksamen var ret udfordrende, og det markerede den første eksamen hvor jeg faktisk løb tør for tid ved at køre den. Desværre er de officielle løsninger kun MIT-access only, så jeg kan ikke uploade dem her til sammenligning. Denne klasse tjener som grundlag for mange af de senere EE-klasser, så jeg er sikker på, at jeg får en anden chance for virkelig at blive testet på de centrale begreber.
Scott’s rating: 4/5

6.046J: Design and Analysis of Algorithms – COMPLETED

Et af mine yndlingskurser indtil videre! Kurset udforsker nogle af de mere avancerede begreber inden for algoritmer, som ikke findes i 6.006, såsom beviser for, at bestemte problemer er NP-komplette, tilnærmelsesalgoritmer, kryptering, sublineære algoritmer og parallel behandling. Jeg var dog nødt til at være forsigtig, da OCW-versionen af dette kursus er fra før MIT’s curriculumændring, hvor 6.006 blev tilføjet, så det dækker væsentligt lettere materiale end de nuværende versioner.
Scott’s rating: 5/5

6.034: Artificial Intelligence – COMPLETED

Godt kursus, der dækkede en oversigt over forskellige AI-teknikker, herunder søgning, constraint propagation, neurale netværk, kernel machines, konceptlæring og naturlig sprogbehandling. Jeg gennemførte også 6 opgaver til dette kursus, som krævede, at jeg lærte programmeringssproget Scheme. En af udfordringerne med at skrive eksamener for dette kursus var variationen i pensum, da der blev dækket så mange forskellige teknikker, og de specifikke detaljer var forskellige fra klasse til klasse.
Scott’s rating: 5/5

6.003: Signaler og systemer – FÆRDIGT

Dette kursus underviser i de grundlæggende principper for signal- og systemanalyse og udbygger de matematiske teknikker, der først blev diskuteret i 18.03. Selv om klassen er nyttig til mere end blot kredsløb, er den især vigtig for at forstå ting som frekvensmodulation, lydfiltre, støjreduktion og tjener endda som grundlag for billedanalyse og -manipulation. Dette var også den første eksamen, som jeg ikke bestod i første omgang, men heldigvis forbedrede jeg mig og scorede 69% i andet forsøg. Bemærk: Det oprindelige kursus, som jeg tog, er ikke længere tilgængeligt. Her er en erstatning.
Scott’s rating: 4/5

6.004: Computation Structures – COMPLETED

Glimrende klasse, der underviser i krydsfeltet mellem elektroteknik og datalogi. Designprojektet omfattede opbygning af en CPU-specifikation på gate-niveau, dvs. opbygning af det kredsløb, der gør det muligt at bygge en computer. Den eneste svaghed var klassens relative mangel på materiale, men opgaverne og laboratorierne er dog stærkt understøttet.
Scott’s rating: 4/5

  1. Access the course material for free
  2. Labs and Projects(Bemærk: BSim and JSim are required to run the files. De kan downloades gratis fra kursussiden)
  3. Min eksamen
  4. MIT Official Solutions

24.241: Logik I – Fuldført

Intro til sentential- og prædikatregning, deres afledningssystemer og metateoretiske beviser. Jeg fandt klassen temmelig tør og teknisk, men klassen gav god øvelse i mere stringente bevismetoder i modsætning til de mere uformelle stilarter, der undervises i datalogiundervisning. Desværre er de eksamensbesvarelser, som jeg brugte til at rette min opgave, ikke offentlige, så jeg kan ikke skrive dem her.
Scott’s bedømmelse: 3/5

14.01: Principles of Microeconomics – COMPLETED

Jeg havde allerede taget mikroøkonomi, da jeg tog min handelsuddannelse, så langt det meste af dette kursus var en repetition. Men da MIT har et meget stærkere matematisk grundlag end min alma mater, var det forfriskende at se mere stringente tekniske definitioner af mange af begreberne. Jeg brugte lidt under fire dage på dette kursus, så de fleste af mine fejl skyldtes, at jeg glemte tekniske definitioner og formler, da ingen af dem blev givet til eksamen.
Scott’s rating: 3/5

6.033: Computer Systems Engineering – FÆRDIG

En nyttig klasse, der underviser i de grundlæggende principper for computernetværk, kryptering, klient-server-paradigmet og internettet. Jeg fandt en del af undervisningen repetitiv efter 6.004 og 6.02, som havde overlappende indhold, men den var stadig nyttig. Jeg begik den fejl at jeg ikke fokuserede nok på læseopgaverne, da det er der en stor del af læringen kommer fra.
Scott’s rating: 4/5

6.013: Electromagnetics and Applications – COMPLETED

Uden tvivl det sværeste fag, jeg har taget på uddannelsen indtil videre. Kurset gør stor brug af vektorregning, transformationer og kompleks notation foruden en generel udvidelse af de principper for elektromagnetisme, der blev undervist i 8.02. Et solidt fundament i emnerne i 6.003, 6.002, 18.02, 18.03 og 8.02 er en god idé, hvis du vil forsøge dig med denne klasse. Jeg bestod kun lige akkurat eksamen, så det er helt sikkert et emne, som jeg gerne vil genbesøge og forfine på et tidspunkt i fremtiden, da det udtrykte en masse interessante ideer.
Scott’s bedømmelse: 3/5

14.02: Principles of Macroeconomics – COMPLETED

Jeg havde også haft makroøkonomi før, da jeg tog min bacheloruddannelse, så dette var mest en opsummering. Når det er sagt, syntes jeg, at MIT-versionen af kurset og støttematerialet var meget mere tilgængeligt. Det er et godt fag at tage, hvis man ønsker at forstå økonomien som helhed. Bemærk: Det oprindelige kursus, jeg tog, blev skiftet af MIT. Her er en erstatning.
Scott’s rating: 3/5

24.242: Logic II – COMPLETED

Denne klasse var udelukkende baseret på 8 hjemmeopgaver, så mængden af testmateriale jeg gennemgik, var desværre svagere end mange andre. Når det er sagt, elskede jeg dette kursus, da Godels ufuldstændighedssætninger repræsenterer en af de mest dybtgående ideer, jeg nogensinde har set i et kursus.
Scott’s rating: 5/5

6.011: Intro to Comm., Control and Signals – COMPLETED

Dette kursus var en udvidelse af 6.003, Signals and Systems. Den tager udgangspunkt i de grundlæggende begreber inden for signalanalyse og filtre og udvider dem til at omfatte repræsentationer af tilstandsmaskiner og stokastiske signaler. Inddragelsen af tilfældige signaler er meget nyttig til håndtering af støj, så mange af begreberne i denne klasse er mere praktiske end deres ideelle modstykker i 6.003. Den gratis lærebog/kursusnoter var meget nyttig.
Scott’s rating: 4/5

24.244: Modal logik – FÆRDIG

Modal logik er logikken for mulighed og nødvendighed og udvider den grundlæggende prædikatkalkyle. Det er en interessant logik at studere, fordi den kan repræsentere mange forskellige systemer af logik, afhængigt af de valgte aksiomer (deontisk, alethisk, tese, osv.). Den afsluttende eksamen var en take-home-eksamen, så jeg gennemførte den i løbet af to dage.
Scott’s rating: 3/5

14.20: Industrial Organization – COMPLETED

Intro-økonomikurser forenkler typisk analysen ved at antage perfekt konkurrence eller monopol. Dette kursus fjerner denne antagelse og ser på, hvordan virksomheder konkurrerer strategisk mod hinanden. Dette kursus har virkelig vakt min interesse for at lære mere om spilteori. Desværre var jeg ikke klar over, at eksemplet på den afsluttende eksamen var ret begrænset som dækning af indholdet, men det var det bedste, jeg kunne gøre.
Scott’s rating: 3/5

14.23: Government Regulation of Industry – COMPLETED

Indholdet af dette kursus var meget lig 14.20, selvom det fokuserede mere på den historiske kontekst og de politiske rammer end på den spilteoretiske side. En interessant klasse, tekstbogens læseafsnit var ret lange (næsten 900 sider), men niveauet af matematisk analyse var let, så det gjorde det nemt at læse.
Scott’s rating: 3/5

14.48J: Economics of Education – COMPLETED

Givet karakteren af min udfordring var dette en sjov klasse, da den udforskede de forskellige teorier om uddannelse. Det meste af klassen føltes som en diskussion i grundlæggende økonometri, da det ser ud til, at litteraturen ikke er entydig om mange centrale ideer (er mindre klasser bedre? virker voucher-programmer?). Klassen udforskede også forskellene mellem den almindelige humankapitalteori om uddannelse og signalforklaringen, selv om den præsenterede litteratur endnu en gang for det meste var ukonklusiv.
Scott’s rating: 3/5

6.005: Elements of Software Construction – COMPLETED

Dette er MIT’s obligatoriske kursus i softwareudvikling. Det var en hård en, ikke fordi den er for intellektuelt krævende, men på grund af arbejdsmængden. Den består af 3 holdprojekter, 3 individuelle projekter og flere labs (opgaver, i sig selv). Jeg var tøvende overfor at tage dette fag på, fordi udfordringens tidsmæssige begrænsninger gør det svært at tage fag som dette, men i sidste ende fandt jeg dog ud af, at den eneste måde var simpelthen at gøre alt arbejdet.

Jeg formåede at afslutte faget på ca. 3 uger, fordelt over ca. to måneder. Det var en af de mest givende klasser, selv om den også var den mest tidskrævende. Jeg ville gerne have været længere tid om hvert enkelt projekt, især den endelige instant messaging-applikation, som jeg byggede fra bunden, for at udsmykke den med flere funktioner. Kurset er et glimrende valg, hvis du allerede er nybegynder som programmør, men ønsker at lære flere designideer på højt niveau, så du ikke blot kan skrive fungerende kode, men også veldesignet kode.

Jeg har lagt alle de projekter, jeg skrev, ud her, selv om du skal have Java installeret for at køre dem. Jeg har også medtaget skrivelserne til de tre designprojekter (undskyld den manglende kontrast i scanningerne!)
Scott’s rating: 5/5

  1. Access the course material for free
  2. All Code
  3. All Code
  4. Project Write-Ups
  5. MIT Provided Material and Assignment Specs

6.801: Machine Vision – FÆRDIGT

Dette kursus underviser i de grundlæggende principper for, hvordan man bruger computeralgoritmer til at se, primært i forbindelse med styring af en robot til at udføre handlinger på baggrund af disse billeder. Emnerne omfatter binær billedbehandling, kantdetektion, Gaussian extended surfaces, orientering og fotogrammetri. Kurset blev evalueret ved hjælp af to hjemmequizzer og talte som en af de to fag på kandidatniveau, jeg tog i udfordringen.

Overordnet set var faget udfordrende, idet der blev brugt teknikker fra Fourier-analyse, vektorberegning, lineær algebra, kvadratisk programmering og variationsregning, så det var sandsynligvis det mest udfordrende fag, jeg har taget inden for anvendt matematik. Desværre var der ingen programmeringsopgaver, hvilket ville have været interessant.
Scott’s rating: 5/5

  1. Access the course material for free
  2. My Exams
  3. MIT Official Solutions (and Questions)

6.837: Computer Graphics – FÆRDIGT

Dette kursus underviser i de grundlæggende principper for computergrafik, primært ray tracing, men der undervises også i scanline-metoder. Evalueringen var udelukkende baseret på opgaverne (der var to mindre quizzer, men de havde ingen løsninger, så jeg brugte dem ikke). Opgaverne startede med en grundlæggende ray caster og flat shading og byggede gradvist ray tracer op til at omfatte matte shading, blanke refleksioner, kasteskygger, transparente overflader med brydningsindeks, spejlreflektion og procedural texturing. Der blev også udført et projekt om oprettelse af en gitteraccelerationsdatastruktur, som ikke har nogen visuel effekt, men som i høj grad fremskynder den relativt langsomme ray tracing-tilgang til grafik.

Detaljer om det anvendte programmeringsmiljø er inkluderet i README.rtf til koden. Filen er ret stor, men den indeholder også alle de renderede billeder, så du kan tage et kig på output, selv om du ikke kompilerer/kører de specifikke scener, der er tale om. (Til sammenligning er MITs officielle output inkluderet som sample_res.pdf for hver opgave, så du kan se, hvordan min raytracer er i forhold til den). Bemærk: Det oprindelige kursus jeg tog ændrede sig. Her er en erstatning.
Scott’s rating: 5/5

  1. Access the course material for free
  2. My Code
  3. MIT Supplied Code (and Sample Answers)

COSC 545: Theory of Computation – FÆRDIGT

Dette kursus var ikke et MIT-kursus, men et kandidatkursus i beregningsteori, som blev undervist af Cal Newport på Georgetown University. Dette var et emne, som jeg virkelig havde ønsket at studere efter at have nydt begge MIT’s algoritmekurser, men MIT’s kompleksitetsteori-kursus manglede evalueringsværktøjer, som jeg kunne bruge. Nogle interessante idéer fra kurset er, hvilke typer af problemer der kan løses af algoritmer (hvilket betyder, at der findes en proces til at løse enhver forekomst af problemet) og begrænsningerne i forhold til den hastighed og hukommelse, der kræves for at løse visse klasser.

Det indeholder også en omfattende diskussion om et af de vigtigste og mest uløste problemer i matematikken, nemlig om P=NP, som ville have dybtgående konsekvenser for samfundet afhængigt af svaret, og på trods af årtiers arbejde og en millionpris for løsningen har ingen været i stand til at besvare det.

Der var to eksamener, som jeg skrev og bedømte, fordi de var ikke-kumulative.
Scott’s bedømmelse: 5/5

  1. Access the course material for free
  2. My Exams

My MIT Challenge TEDx Talk

FAQ for the MIT Challenge

  1. Hvilke regler følger du?
  2. Holder du alle opgaver, papirer og projekter?
  3. Er dit pensum anderledes end MIT’s?
  4. Hvad sker der, hvis du dumper et fag?
  5. Hvorfor gør du det? Elsker du bare at studere?
  6. Får du et eksamensbevis for at gøre dette?
  7. Du tager fagene i rækkefølge, er det ikke bare cramming til prøver?
  8. Hvilken slags tidligere erfaring har du med faget?
  9. Jeg er blogger/reporter/journalist – hvordan kan jeg kontakte dig for at dele historien?

Q) Hvilke regler følger du?

Da jeg ikke er indskrevet på MIT (eller er tilknyttet dem på nogen måde), har jeg været nødt til at konstruere mine egne regler for at gøre udfordringen fair, men alligevel gennemførlig. De grundlæggende regler er enkle:

  1. Jeg betragter et kursus som gennemført, hvis jeg kan bestå den afsluttende eksamen (hvilket typisk betyder, at jeg får en karakter på mindst 50 %, selv om jeg sigter efter meget højere).
  2. Jeg skriver eksamen under de samme begrænsninger som en studerende: ingen kigge på spørgsmålene eller løsningerne på forhånd, ingen noter eller forbudt materiale, samme tidsbegrænsninger (standard er 3 timer, hvis det ikke er angivet).
  3. Jeg bedømmer selv opgaverne og sammenligner dem med de faktiske MIT-løsninger. Jeg lægger begge dele ud, så alle kan dobbelttjekke mine karakteriseringsmetoder.

Husk, at dette kun er minimumskravene i min udfordring. For klasser, der har et betydeligt programmeringselement, forsøger jeg at lave repræsentative programmeringsopgaver, i det omfang det er muligt.

Q)Laver du alle opgaver, papirer og projekter?

For teori- eller matematikbaserede klasser er de afsluttende eksamener generelt et omfattende bedømmelsesgrundlag, så jeg vil bruge dem som min bedømmelse. Jeg ender stadig med at lave de fleste eller dele af opgaverne og quizzerne som forberedelse, men da jeg ikke kan opretholde konsistens med dette kriterium over hele udfordringen (mange opgaver er enten ikke tilgængelige eller umulige at evaluere objektivt), laver jeg dem på en uformel måde.

For klasser med en betydelig mængde programmeringsarbejde eller praktiske designproblemer, vil jeg forsøge at gennemføre de fleste opgaver. Men da disse er sværere at evaluere, er jeg stadig afhængig af de afsluttende eksamener som det vigtigste kriterium for disse klasser.

Q) Adskiller dit pensum sig fra MIT’s?

Jeg brugte næsten en måned på at prøve at stykke det tætteste spejl af MIT’s faktiske pensum for datalogi sammen, som jeg kunne følge. Desværre kan jeg ikke gøre dette perfekt, da nogle klasser er umulige at evaluere (herunder laboratorier og forskningsklasser), og andre havde ingen adgang online.

Jeg tager det samme antal kredittimer som en egentlig MIT-grad, så hvor jeg ikke kunne tage en klasse, erstattede jeg den med et lignende alternativ. Med hensyn til omfanget af den viden, der skal læres, svarer mit pensum derfor til det, som MIT foreslår sine studerende.

Den eneste anden undtagelse med MIT har at gøre med valgfag. Jeg tager forskellige ikke-computervidenskabelige fag, for bedst muligt at efterligne HASS-kravene for MIT-studerende. Disse er ikke et perfekt match, da online-kursusmaterialet for kunst er betydeligt svagere end for naturvidenskab på MIT.

Du kan se MIT’s faktiske pensum for datalogi her.

Q) Hvad sker der, hvis du dumper et fag?

Givet det tempo, jeg forsøger, tror jeg, at det er uundgåeligt, at jeg dumper et fag. Mit hovedkrav er, at jeg skal bestå en afsluttende eksamen, så hvis jeg dumper en, tillader jeg mig selv at tage en anden eksamen bagefter.

Min strategi er at tage en “fail first”-tilgang for at være mere effektiv med min tid på fag, hvor jeg har flere afsluttende eksamener, som jeg kan bruge som grundlag for evaluering. Dette er meget forskelligt fra universitetet, hvor en fiasko kan være et reelt tilbageslag. Det er en fordel ved selvuddannelse frem for stive formelle institutioner.

Q) Hvorfor gør du det her? Elsker du bare at studere?

Ingen kan lide at studere, men alle ønsker at blive kloge. Det er enormt givende at lære, at komme til disse indsigter og føle sig klogere på et emne. Det er ærgerligt, at mange af os har glemt dette efter mange års straffende formel uddannelse.

Jeg vil indrømme, at jeg måske er lidt skør eller arrogant, fordi jeg ønsker at gennemføre et 4-årigt program på kun 12 måneder. Men min virkelige motivation er at vise folk, at det er muligt at lære hurtigere, og at det samtidig kan være sjovere.

Q) Får du et eksamensbevis for at gøre dette?

Nej, og det er netop det, der er pointen. Vores samfund sætter fejlagtigt lighedstegn mellem viden og akkreditering. Det er fint at få et stykke papir, og for mange arbejdsområder er det helt nødvendigt. Men ligningen er lavet så stærkt, at folk glemmer, at de to ting er forskellige.

Jeg har allerede en karriere som forfatter og ejer af en lille virksomhed. Jeg ønsker aldrig at arbejde for en stor virksomhed, hvor HR måske vil undersøge min manglende eksamen nøje. For mit vedkommende vil jeg bare gerne lære datalogi, hvis jeg vil starte en ny virksomhed eller arbejde for en nystartet virksomhed.

Jeg har intet imod college. Universitetet var en fantastisk og værdifuld oplevelse for mig, og det kunne det også være for dig. Jeg håber blot, at folk, der føler, at det nuværende system ikke fungerer for dem, kan finde en anden vej ved at vise et alternativ.

Q) Er det ikke bare at bramme til prøver?

Nej, men forskellen er subtil. De fleste klasser bygger på tidligere koncepter, så mit mål med hver enkelt er at udvikle en dyb forståelse, som jeg kan udnytte. Cramming er typisk en udvej til udenadslære for hurtigt at bestå en test og derefter glemme det. Forståelse er sværere, men ikke nødvendigvis mere tidskrævende (og et krav, hvis hver klasse bygger på den foregående).

Som en opdatering, Siden de første fire klasser har jeg siden de første fire klasser, jeg har været fremgang 3-4 klasser parallelt ad gangen. Selv om dette indebærer gennemgang over et meget kortere tidsrum end det typiske (1 måned i stedet for 1 semester), øger det fordelene ved spaced repetition.

I sidste ende vil min evne til at forstå og præstere tilstrækkeligt i klasser på højere niveau være testen af min metode, da de fleste førsteårs klasser primært tjener som grounding for sværere senior klasser.

Q) Hvilke tidligere erfaringer har du med faget?

Da jeg stadig gik i gymnasiet, programmerede jeg en del, mest for at lave små computerspil. Desuden har jeg taget fire computerundervisningskurser på universitetsniveau, da jeg gik på University of Manitoba for at tage min handelsuddannelse. Ja, jeg har en vis tidligere erfaring med programmering, hvilket vil give mig en fordel i denne udfordring. Når det er sagt, er mit tidligere niveau af færdigheder nok ikke langt fra mange af de CS-studerende, der rent faktisk går på MIT, og som pensummet er baseret på.

Dertil kommer, at jeg gennemførte det første kursus 8.01 Klassisk mekanik som et pilotforsøg for denne hovedudfordring i juli 2011. Derfor er antallet af klasser, som jeg forsøger mig med i den 12-måneders periode, officielt 32.

Q) Jeg er blogger/reporter/journalist – hvordan kan jeg kontakte dig for at dele historien?

Du kan kontakte mig på [email protected] eller bruge formularen her. Jeg kommer til at have ret travlt (af indlysende årsager), så undskyld på forhånd, hvis det tager et stykke tid at få mine e-mails igennem, da jeg normalt går offline, når jeg er i gang med et kursus.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.