MIT Challenge

, Author

Under de kommande 12 månaderna ska jag lära mig hela MIT:s fyraåriga läroplan för datavetenskap, utan att ta några lektioner.

UPPDATERING: MIT Challenge är nu avslutad. Jag avslutade den 26 september 2012, knappt 12 månader efter att jag började den 1 oktober 2011. Klicka på ”Se mer…” för varje klass för att få tillgång till mina tentor, officiella lösningar eller kod som jag skrev.

Svar på några vanliga frågor:

  1. Hur mycket jobbade jag under utmaningen? I början ungefär 60 timmar/vecka. Senare mer som 35.
  2. Har du fått en examen från MIT? Nej. Se föredraget ovan för min motivation att göra hela utbildningen utan tillgodoräknande.
  3. Gjorde du allt som en MIT-student gör? Nej. Jag gjorde proven och programmeringsprojekten för en läroplan som är mycket lik MIT:s egen (jag var tvungen att byta ut vissa labbklasser och humanistiska krav mot andra klasser). Antalet kredittimmar är dock detsamma. Kolla här för MIT:s faktiska 4-åriga CS-läroplan som en jämförelse med min egen. (Observera: Den här länken har uppdaterats eftersom den gamla var död, men jag har inte kontrollerat om det har gjorts ändringar i CS-planen sedan jag gjorde MIT Challenge)
  4. Använde du läroböcker eller föreläsningsvideor? Allt finns i rutan ”Se mer…” för varje klass. Kolla upp det om du är osäker för varje klass.
  5. Vilken ordning gjorde du klasserna i? I den ordning som anges nedan. Utom att vissa av dem togs samtidigt. Men om du följde denna ordning seriellt skulle du inte missa några förkunskapskrav.
  6. Bedömde du arbetet själv? Ja. Jag medger att detta innebär en viss grad av fel jämfört med att låta en professor betygsätta mitt arbete. De flesta proven är dock kvantitativa med lösningsuppsättningar som har betygsrubriker, så det begränsar felet något. Jag uppmuntrar alla att kolla mina faktiska provresultat och jämföra dem med lösningarna. I många av de prov där det krävdes långa beräkningar, gav jag delbetyg under förutsättning att de begrepp som lärdes ut i kursen tillämpades korrekt. Jag anser att den givna betygsättningen är rättvis, men om man ville inta den bestämda ståndpunkten att varje misstag (t.ex. att glömma bort ett minustecken) ogiltigförklarar en hel fråga, skulle detta sänka en del av mina betyg. Jag har gått igenom och räknat om enligt dessa strängare restriktioner och det skulle innebära att slutproven för 18.01, 5.111, 18.03, 6.002 och 6.013 skulle hamna under gränsen för godkänt (de andra 28 klasserna var antingen opåverkade eller höll sig över godkänt). Jag anser att den ursprungliga betygsättningen var rättvis, om än ofullständig, men dessa senare beräkningar visar effekterna av mitt beslut att använda delbetyg.
  7. Menar du att alla inte borde gå på universitet och göra detta istället? Naturligtvis inte. Jag gjorde min grundutbildning på universitet och jag ångrar inte det. Mitt mål med det här projektet var att se om det skulle vara möjligt – att tänja på förväntningarna på hur lång, hur kostsam och hur konventionell en utbildning måste vara.

Datorer har alltid fascinerat mig. Från ekonomi till Facebook är algoritmer det dolda språk som ligger till grund för det mesta av vårt liv. De största omvandlingarna av vår värld skrivs i kod, och framstegen inom artificiell intelligens gör det möjligt för oss att använda datorer för att förstå vad det innebär att vara människa.

Bortom maskinens poesi är datavetenskap också oerhört praktiskt. Förmögenheter har gjorts och revolutioner utlösts på rader av kod.

Jag har alltid velat tala det språket. Men jag ville inte investera fyra år av mitt liv och hundratusentals dollar för att lära mig det.

Jag ger mig in i det här experimentet för att jag vill visa att inlärning inte kräver antagningskommittéer och SAT-test, tusentals dollar i skulder eller ens den fyraåriga takt som de flesta studenter antar är nödvändig för att lära sig ett ämne.

Kommer jag att misslyckas? Det är definitivt en möjlighet – människor som är mycket smartare än jag kämpar sig igenom enorma arbetsuppgifter på institutioner som MIT, och jag försöker lära mig samma material i fyra gånger så snabb takt, utan att ha tillgång till instruktörer.

Allt jag kan lova är att dela med mig av vad jag hittar med dig. Nedan listas alla 33 klasser som jag kommer att täcka. För var och en av dem kommer jag att skriva slutprovet och du kan jämföra mina svar med MIT:s officiella lösningar. Jag kommer också att publicera eventuella misslyckanden, så att du kan vara säker på att jag inte utelämnar mina misstag.

Post-MIT Challenge Update

Sedan utmaningen avslutades använder jag det här utrymmet för att dela med mig av några av de nya kurser som jag avslutar eller program som jag har avslutat med anknytning till datavetenskap.

  • WordSmith – Det här är en AI som jag har byggt som spelar Scrabble. Gratis och öppen källkod.

LÄRANDEPROGRESSIONER (33/33):

Klicka på titlarna för att se videor, få tillgång till kurserna och se mina resultat

8.01: Fysik I – Klassisk mekanik – AVSLUTAT

Jag avslutade den här kursen i juli som en del av ett pilotexperiment för att se om jag klarade av att göra hela programmet. Kursen är briljant, professor Walter Lewin gör ett fantastiskt jobb med att levandegöra fysiken utan att offra intellektuell stringens. Anmärkning: Den här kursen togs bort av MIT, du kan få tillgång till en annan version här. Scotts betyg: 5/5

18.01: Single Variable Calculus – COMPLETED

Detta var den första officiella kursen jag slutförde för MIT Challenge. Solida föreläsningar gav mig en bra känsla för grunderna i kalkyl som börjar med gränser och går upp till mer avancerad integration.
Scott’s rating: 4/5

18.02: Multi-Variable Calculus – COMPLETED

Denna kurs utvidgar grundprinciperna för kalkyl med en variabel till mer än en dimension. Mycket användbart att känna till för att förstå elektricitet, magneter, ljus eller något som involverar 3D-objekt.
Scott’s rating: 4/5

8.02: Physics II – Electromagnetism – COMPLETED

En annan klass som undervisas av professor Walter Lewin, demonstrationerna är fantastiska. Rigorösa för dem som vill ha de tekniska detaljerna, men ändå lättillgängliga, där man diskuterar vardagliga begrepp som regnbågar och metalldetektorer. Anmärkning: Den ursprungliga kursen som jag deltog i togs bort av MIT. Här är en ersättningskurs.
Scott’s betyg: 5/5

6.01: Introduction to EE and CS I – COMPLETED

Detta är en bra kurs, men jag rekommenderar inte att du läser den om du inte har någon programmeringsbakgrund, eftersom den dyker rakt in i objektorientering med relativt lite förklaring. Jag gillade verkligen blandningen av mer avancerade begrepp från AI och tillståndsmaskiner i grundkursen. Kursanteckningarna är gratis och utmärkta, även om mycket av fokus ligger på robotik som använder specialiserad utrustning som jag inte har tillgång till. (Som en sidobemärkning har många påpekat att det slutprov jag skrev inte var heltäckande, du kan läsa mitt djupgående svar här) Anmärkning: Den ursprungliga kursen jag läste har bytts ut av MIT. Här är en ersättare.
Scott’s rating: 4/5

  1. Access the course material for free
  2. Download Code
    • Project: State-Machine Library
    • Project: Bayesian State Estimator
    • Projekt: A* Pathfinding Algorithm
  3. Mina tentamensresultat
  4. Aktuella MIT-lösningar

5.111: Principles of Chemical Science – COMPLETED*

God introduktion till kvantkemi, Lewis-diagram, syra/bas och redoxreaktioner. Innehåller även ett mer avancerat avsnitt om övergångsmetaller och kristallfältsteori. Tyvärr hade klassen inget fungerande slutprov, så jag var tvungen att använda mina praktiska mellanprov som grund för utvärderingen.
Scott’s rating: 4/5

7.012: Introduktion till biologi – UTFÖRT

Utmärkt biologikurs som utforskar biologi från en experimentell synvinkel och ger en grund i grunderna för biokemi, immunologi, genetik och ekologi. Läroboken är också ett bra komplement som också visar det experimentella tankesättet som ledde till upptäckterna.
Scott’s rating: 4/5

18.03: Differentialekvationer – KOMPLETAD

Differentialekvationer är en utvidgning av kalkyl och gör det möjligt att modellera och analysera komplexa system. De spelar en särskilt viktig roll inom elektroteknik där de (och deras diskreta motsvarigheter) är viktiga för att förstå kretsar, signaler och system. Videoföreläsningarna i samband med den här kursen har betydande avvikelser från resten av kursinnehållet, vilket gjorde att jag slösade bort en del tid.
Scott’s rating: 3/5

6.02: Introduction to EE and CS II – COMPLETED

Detta var en knepigare klass att ta sig an eftersom det inte finns någon klass för den i MIT:s OCW. Att lära sig den innebar att man skulle gå igenom de mestadels dolda hålen i MIT:s offentliga arkiv för att försöka hitta anteckningar och tentor. En konsekvens av detta är att filterdesign, ett viktigt ämne, saknades helt i anteckningarna och jag kunde inte slutföra laborationerna (6 & 7) eller de examensavsnitt som handlade om det. Det fanns inget slutprov, så jag genomförde alla tre delproven och betygsatte dem kollektivt.
Scott’s rating: 3/5

  1. Kursmaterial
  2. Laborationsuppgifter (varning stor), Uppgiftsinstruktioner/Filer
  3. Mina tentamenssvar
  4. Aktuella MIT-lösningar

6.042J: Mathematics for Computer Science – COMPLETED

Grafer, talteori, bevis, sannolikhet och räkning är bara några av de ämnen som behandlas i denna utmärkta kurs. Det finns inga videoföreläsningar, men den kostnadsfria kursboken är otrolig och engagerande. Det finns också en enorm mängd resurser för att öva på problemen, vilket erbjuder intressanta utmaningar.
Scotts betyg: 5/5

6.006: Introduktion till algoritmer – KOMPLETAD

En introduktion till algoritmer och komplexitetsteori. Kursen ger ett bra tillfälle att tillämpa algoritmiska designkoncept (dynamisk programmering, greedy-algoritmer osv.) på verkliga programmeringsproblem, vilket ger kursen en konkretion som saknades i 6.042J. Tyvärr insåg jag inte att slutprovet inte var heltäckande innan jag skrev det, så jag har också inkluderat mina frågesporter som jag hade gjort för att öva. Jag slutförde de flesta av uppgifterna, men eftersom det inte fanns några lösningar har jag lämnat dem obedömda.
Scott’s rating: 4/5

18.06: Linear Algebra – COMPLETED

Utmärkta videoföreläsningar och rikligt med material gjorde detta till en av de mer lättillgängliga kurserna i OCW:s katalog. Professor Gilbert Strang ger flytande och lättförståeliga föreläsningar. Min första tentamen för den här kursen var bara 56%, så jag bestämde mig för att ta en dag till för att skriva den tentamen med högre poäng som jag postade nedan.
Scott’s rating: 5/5

6.041: Probabilistisk systemanalys – KOMPLETAD

Kursen är en kurs i sannolikhet och går in på sannolikhetens grunder med hjälp av kalkylering för att analysera svårare sannolikhetsfrågor än de som ställs i 6.042J. Läroboken är utformad specifikt för den här kursen, så den är extremt användbar.
Scotts betyg: 4/5

6.002: Kretsar och elektronik – UTFÖRT

Denna kurs behandlar grunderna i digitala och analoga kretsar. Tentamen var ganska utmanande och det var den första tentamen där jag faktiskt fick slut på tid när jag genomförde den. Tyvärr är de officiella lösningarna endast tillgängliga för MIT, så jag kan inte ladda upp dem här som en jämförelse. Den här kursen tjänar som grund för många av de senare EE-kurserna, så jag är säker på att jag kommer att få en annan chans att verkligen bli testad på kärnkoncepten.
Scott’s rating: 4/5

6.046J: Design and Analysis of Algorithms – COMPLETED

En av mina favoritkurser hittills! Kursen utforskar några av de mer avancerade begreppen inom algoritmer som inte finns i 6.006, t.ex. att bevisa att vissa problem är NP-kompletta, approximationsalgoritmer, kryptering, sublinjära algoritmer och parallellbearbetning. Jag var dock tvungen att vara försiktig eftersom OCW-versionen av den här kursen är före MIT:s ändring av läroplanen där 6.006 lades till, så den täcker betydligt enklare material än de nuvarande versionerna.
Scott’s betyg: 5/5

6.034: Artificiell intelligens – KOMPLETAD

En bra kurs som täckte en översikt över olika AI-tekniker, inklusive sökning, begränsningspropagering, neurala nätverk, kärnmaskiner, begreppsinlärning och behandling av naturligt språk. Jag slutförde också 6 uppgifter för denna klass som krävde att jag lärde mig programmeringsspråket Scheme. En av utmaningarna med att skriva prov för den här klassen var variationen i kursplanerna, eftersom så många olika tekniker behandlades och detaljerna skiljde sig åt från klass till klass.
Scott’s rating: 5/5

6.003: Signaler och system – KOMPLETAD

Denna kurs lär ut grunderna i signal- och systemanalys och utökar de matematiska tekniker som först diskuterades i 18.03. Klassen är användbar för mer än bara kretsar, men den är särskilt viktig för att förstå saker som frekvensmodulering, ljudfilter, brusreducering och tjänar till och med som grund för bildanalys och bildmanipulering. Detta var också den första tentamen som jag misslyckades med från början, men lyckligtvis förbättrade jag mig och fick 69 % på mitt andra försök. Observera: Den ursprungliga kursen som jag tog är inte längre tillgänglig. Här är en ersättare.
Scotts betyg: 4/5

6.004: Computation Structures – COMPLETED

Great class teaching the crossover between electrical engineering and computer science. Konstruktionsprojektet bestod i att bygga en CPU-specifikation på grindnivå, dvs. att bygga kretsarna för att möjliggöra att en dator kan byggas. Den enda svagheten var klassens relativa brist på material, men uppgifterna och laborationerna har starkt stöd.
Scotts betyg: 4/5

  1. Access the course material for free
  2. Labs and Projects(Obs: BSim och JSim krävs för att köra filerna. De kan laddas ner gratis från kurssidan)
  3. Min examen
  4. MIT Official Solutions

24.241: Logik I – KOMPLETAD

Intro till sentential- och predikatkalkyler, deras härledningssystem och metateoretiska bevis. Jag tyckte att kursen var ganska torr och teknisk, men den erbjöd bra övning i mer rigorösa bevismetoder, i motsats till de mer informella stilar som lärs ut i datavetenskapskurser. Tyvärr är de tentamenssvar som jag använde för att korrigera min uppsats inte offentliga, så jag kan inte publicera dem här.
Scotts betyg: 3/5

14.01: Principles of Microeconomics – COMPLETED

Jag hade redan läst mikroekonomi när jag tog min examen i företagsekonomi, så den största delen av kursen var en repetition. Eftersom MIT har en mycket starkare matematisk grund än min alma mater var det dock uppfriskande att se mer rigorösa tekniska definitioner av många av begreppen. Jag spenderade lite mindre än fyra dagar på den här kursen, så de flesta av mina fel berodde på att jag glömde bort tekniska definitioner och formler eftersom inga sådana gavs på provet.
Scott’s rating: 3/5

6.033: Computer Systems Engineering – COMPLETED

En användbar kurs som lär ut grunderna i datornätverk, kryptering, klient-server-paradigmet och Internet. Jag tyckte att en del av kursen var repetitiv efter 6.004 och 6.02, som hade överlappande innehåll, men den var ändå användbar. Jag gjorde misstaget att inte fokusera tillräckligt mycket på läsuppgifterna eftersom det är där en stor del av inlärningen kommer ifrån.
Scott’s rating: 4/5

6.013: Electromagnetics and Applications – COMPLETED

Och det är utan tvekan den svåraste kursen jag har läst i programmet hittills. Klassen använder sig flitigt av vektorkalkyl, omvandlingar och komplex notation förutom att allmänt utvidga de principer för elektromagnetism som lärs ut i 8.02. En stark grund i ämnena i 6.003, 6.002, 18.02, 18.03 och 8.02 är en god idé om du vill försöka dig på den här kursen. Jag klarade tentamen med nöd och näppe, så det är definitivt ett ämne som jag skulle vilja återuppta och förfina någon gång i framtiden, eftersom det uttryckte många intressanta idéer.
Scott’s rating: 3/5

14.02: Principles of Macroeconomics – COMPLETED

Jag hade också läst makroekonomi tidigare när jag tog min grundexamen, så detta var mest en sammanfattning. Med det sagt tyckte jag att MIT-versionen av kursen och stödmaterialet var mycket mer lättillgängligt. Det är en bra kurs att ta om man vill förstå ekonomin som helhet. Observera: Den ursprungliga kursen som jag tog var omkopplad av MIT. Här är en ersättare.
Scotts betyg: 3/5

24.242: Logic II – COMPLETED

Denna kurs var helt baserad på 8 hemuppgifter, så mängden testmaterial som jag gick igenom var svagare än många andra, tyvärr. Med det sagt älskade jag den här kursen, eftersom Godels ofullständighetssatser representerar en av de mest djupgående idéer jag någonsin sett i en kurs.
Scott’s rating: 5/5

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

Denna kurs var en förlängning av 6.003, Signals and Systems. Den tar de grundläggande begreppen för signalanalys och filter och utvidgar dem till representationer av tillståndsmaskiner och stokastiska signaler. Inkluderandet av slumpmässiga signaler är mycket användbart för att hantera brus, så många av begreppen i denna klass är mer praktiska än deras ideala motsvarigheter i 6.003. Den kostnadsfria läroboken/kursanteckningarna var mycket användbara.
Scott’s rating: 4/5

24.244: Modal logic – COMPLETED

Modal logic är möjligheten och nödvändighetens logik och utökar den grundläggande predikatkalkylen. Det är en intressant logik att studera eftersom den kan representera många olika logiska system, beroende på vilka axiom som används (deontiska, alethiska, tentiska osv.). Slutprovet var ett hemprov, så jag genomförde det under två dagar.
Scott’s rating: 3/5

14.20: Industriell organisation – KOMPLETAD

Introkurser i ekonomi förenklar vanligtvis analysen genom att anta perfekt konkurrens eller monopol. Den här kursen tar bort detta antagande och tar hänsyn till hur företag konkurrerar strategiskt mot varandra. Den här kursen väckte verkligen mitt intresse för att lära mig mer om spelteori. Tyvärr insåg jag inte att exemplet på slutprovet var ganska begränsat som täckning av innehållet, men det var det bästa jag kunde göra.
Scott’s rating: 3/5

14.23: Government Regulation of Industry – COMPLETED

Innehållet i den här kursen var mycket likt 14.20, även om den fokuserade mer på den historiska kontexten och den politiska ramen än den spelteoretiska sidan. En intressant klass, läroboksavsnitten var ganska långa (nästan 900 sidor) men nivån på den matematiska analysen var lätt, så det var lättläst.
Scott’s betyg: 3/5

14.48J: Economics of Education – COMPLETED

Med tanke på hur min utmaning såg ut var detta en rolig kurs eftersom den utforskade olika teorier om utbildning. Större delen av klassen kändes som en diskussion i grundläggande ekonometri, eftersom det verkar som om litteraturen inte är entydig när det gäller många centrala idéer (är mindre klasser bättre? fungerar kupongprogram?). Klassen utforskade också skillnaderna mellan den vanliga humankapitalteorin om utbildning och signalförklaringen, även om den presenterade litteraturen återigen mestadels var ofullständig.
Scott’s rating: 3/5

6.005: Elements of Software Construction – COMPLETED

Detta är MIT:s obligatoriska kurs i programvaruutveckling. Den var svår, inte på grund av att den är alltför intellektuellt krävande, utan på grund av arbetsmängden. Den består av 3 lagprojekt, 3 individuella projekt och flera laborationer (uppgifter i sig). Jag var tveksam till att ta på mig den här klassen eftersom utmaningens tidsbegränsning gör det svårt att ta på sig sådana här klasser, men i slutändan kom jag fram till att det enda sättet var att helt enkelt göra allt arbete.

Jag lyckades slutföra klassen på cirka 3 veckor, fördelat på cirka två månader. Det var en av de mest givande klasserna, även om den också var den mest tidskrävande. Jag skulle ha velat stanna längre med varje projekt, särskilt det slutliga programmet för snabbmeddelanden som jag byggde från grunden, för att försköna det med fler funktioner. Kursen är ett utmärkt val om du redan är en nybörjarprogrammerare, men vill lära dig fler designidéer på hög nivå för att inte bara skriva fungerande kod, utan väldesignad kod.

Jag har lagt ut alla projekt jag skrev här, även om du måste ha Java installerat för att köra dem. Jag har också inkluderat skrivningarna för de tre designprojekten (ursäkta bristen på kontrast i skanningarna!)
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 – COMPLETED

Denna klass lär ut grunderna i hur man använder datoralgoritmer för att se, främst i samband med att man styr en robot så att den utför åtgärder utifrån dessa bilder. Ämnena omfattar binär bildbehandling, kantdetektering, Gaussiska utvidgade ytor, orientering och fotogrammetri. Kursen utvärderades genom två frågesporter att ta hem och räknades som en av två kurser på forskarnivå som jag tog i utmaningen.

Totalt sett var kursen utmanande och använde sig av tekniker för Fourieranalys, vektorkalkyl, linjär algebra, kvadratisk programmering och variationsberäkning, så det var troligen den mest utmanande kurs som jag har tagit inom tillämpad matematik. Tyvärr fanns det inga programmeringsuppgifter, vilket skulle ha varit intressant.
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 – COMPLETED

Denna kurs lär ut grunderna i datorgrafik, främst ray tracing, även om scanline-metoder lärs ut. Utvärderingen baserades helt och hållet på inlämningsuppgifter (det fanns två mindre frågesporter, men de hade inga lösningar så jag använde dem inte). Uppgifterna började med en grundläggande ray caster och platt skuggning och byggde successivt upp ray tracer för att inkludera matt skuggning, glänsande reflektioner, kastade skuggor, genomskinliga ytor med brytningsindex, spegelreflexioner och procedurell texturering. Ett projekt gjordes också för att skapa en datastruktur för gridacceleration, som inte har någon visuell effekt men som avsevärt snabbar upp den relativt långsamma strålspårningsmetoden för grafik.

Detaljer om den använda programmeringsmiljön finns i README.rtf för koden. Filen är ganska stor, men den innehåller också alla bilder som renderats så att du kan ta en titt på resultatet även om du inte kompilerar/kör de specifika scenerna i fråga. (Som jämförelse ingår MIT:s officiella utdata som sample_res.pdf för varje uppgift, så att du kan se hur min raytracer står sig i jämförelse). Observera: Den ursprungliga kursen som jag läste ändrades. Här är en ersättning.
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 – COMPLETED

Denna kurs var inte en MIT-kurs utan en forskarutbildning i beräkningsteori som gavs av Cal Newport vid Georgetown University. Detta var ett ämne som jag verkligen hade velat studera efter att ha gillat MIT:s båda algoritmkurser, men MIT:s komplexitetsteorikurs saknade utvärderingsverktyg som jag kunde använda. Några intressanta idéer från kursen är vilka typer av problem som kan lösas av algoritmer (vilket innebär att det finns en process för att lösa varje instans av problemet) och begränsningarna för den hastighet och det minne som krävs för att lösa vissa klasser.

Den innehåller också en omfattande diskussion om ett av de viktigaste och mest olösta problemen inom matematiken, huruvida P=NP, som skulle få djupgående konsekvenser för samhället beroende på svaret och trots årtionden av arbete och ett pris på en miljon dollar för lösningen har ingen kunnat besvara det.

Det fanns två prov som jag skrev och betygsatte eftersom de var icke-kumulativa.
Scott’s rating: 5/5

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

My MIT Challenge TEDx Talk

FAQ for the MIT Challenge

  1. Vilka regler följer du?
  2. Håller du alla uppgifter, uppsatser och projekt?
  3. Den här läroplanen skiljer sig från MIT:s?
  4. Vad händer om du misslyckas med en kurs?
  5. Varför gör du det här? Älskar du bara att studera?
  6. Kommer du att få ett diplom för detta?
  7. Du läser lektioner i serie, är det inte bara att plugga inför prov?
  8. Vilken typ av tidigare erfarenhet har du av ämnet?
  9. Jag är bloggare/reporter/journalist – hur kan jag kontakta dig för att dela med mig av historien?

Q) Vilka regler följer du?

Då jag inte är inskriven på MIT (eller är ansluten till dem på något sätt) har jag varit tvungen att skapa mina egna regler för att göra utmaningen rättvis men ändå genomförbar. De grundläggande reglerna är enkla:

  1. Jag anser att en kurs är slutförd om jag klarar slutprovet (vilket vanligtvis innebär att jag får ett betyg på minst 50 %, även om jag siktar på mycket högre betyg).
  2. Jag skriver provet med samma begränsningar som en student: ingen tittning på frågorna eller lösningarna i förväg, inga anteckningar eller förbjudet material, samma tidsbegränsningar (standardvärdet är 3 timmar om inget annat anges).
  3. Jag betygsätter uppsatserna själv och jämför dem med de faktiska MIT-lösningarna. Jag lägger ut båda, så att alla kan dubbelkontrollera mina betygsmetoder.

Håll i minnet att detta bara är minimikraven för min utmaning. För klasser som har en betydande programmeringskomponent försöker jag göra representativa programmeringsuppgifter, i den mån det är möjligt.

Q)Gör du alla uppgifter, papper och projekt?

För teori- eller mattebaserade klasser är sluttentamen i allmänhet en omfattande bedömningsgrund, så jag kommer att använda dem som min bedömning. Det slutar fortfarande med att jag gör de flesta eller delar av uppgifterna och prov som förberedelse, men eftersom jag inte kan upprätthålla konsekvens med detta kriterium över hela utmaningen (många uppgifter är antingen inte tillgängliga eller omöjliga att utvärdera objektivt) gör jag dem på ett informellt sätt.

För klasser med en betydande mängd programmeringsarbete eller praktiska konstruktionsproblem kommer jag att försöka slutföra de flesta uppgifterna. Men eftersom dessa är svårare att utvärdera förlitar jag mig fortfarande på slutproven som det viktigaste kriteriet för dessa klasser.

Q) Skiljer sig din läroplan från MIT:s?

Jag tillbringade nästan en månad med att försöka sätta ihop den närmaste spegel av MIT:s faktiska läroplan för datavetenskap som jag skulle kunna följa. Tyvärr kan jag inte göra detta perfekt eftersom vissa klasser är omöjliga att utvärdera (inklusive laborationer och forskningskurser), och andra hade ingen tillgång online.

Jag tar samma antal kredittimmar som en faktisk MIT-examen, så där jag inte kunde ta en klass ersatte jag den med ett liknande alternativ. När det gäller volymen av den kunskap som ska läras in liknar därför min läroplan den som MIT föreslår sina studenter.

Det enda andra undantaget med MIT har att göra med valbara kurser. Jag läser olika kurser som inte är datavetenskapliga, för att på bästa sätt efterlikna HASS-kraven för MIT-studenter. Dessa är inte en perfekt matchning, eftersom online-kurserna för konst är betydligt svagare än för naturvetenskap vid MIT.

Du kan se MIT:s faktiska kursplan för datavetenskap här.

Q) Vad händer om du misslyckas med en kurs?

Med tanke på den takt som jag försöker hålla tror jag att det är oundvikligt att jag misslyckas med en kurs. Mitt huvudkrav är att jag ska klara ett slutprov, så om jag misslyckas med ett, tillåter jag mig själv att ta ett annat prov efteråt.

Min strategi är att ta ett misslyckande först, för att vara mer effektiv med min tid på klasser där jag har flera slutprov som jag kan använda som grund för utvärderingen. Detta skiljer sig mycket från universitetet där ett misslyckande kan vara ett verkligt bakslag. Det är en fördel med självstudier framför rigida formella institutioner.

Q) Varför gör du detta? Älskar du bara att studera?

Ingen tycker om att studera, men alla vill vara smarta. Att lära sig, få till dessa insikter och känna sig smartare i ett ämne är oerhört givande. Synd att många av oss har glömt detta efter år av straffande formell utbildning.

Jag medger att jag kanske är lite galen, eller arrogant, för att jag vill slutföra ett fyraårigt program på bara 12 månader. Min verkliga motivation är dock att visa människor att det är möjligt att lära sig snabbare och att det samtidigt kan vara roligare.

Q) Kommer du att få ett diplom för att göra detta?

Nej, och det är just det som är poängen. Vårt samhälle sätter felaktigt likhetstecken mellan kunskap och ackreditering. Att få ett papper är bra, och för många arbetsområden är det helt nödvändigt. Men ekvationen görs så starkt att folk glömmer att de två sakerna är olika.

Jag har redan en karriär som författare och småföretagare. Jag vill aldrig arbeta för ett stort företag, där HR kanske granskar min avsaknad av examensbevis. För min del vill jag bara lära mig datavetenskap ifall jag vill starta ett nytt företag eller arbeta för ett nystartat företag.

Jag har inget emot college. Universitetet var en fantastisk och värdefull erfarenhet för mig, och det kan det vara för dig också. Allt jag hoppas är att genom att visa ett alternativ kan människor som känner att det nuvarande systemet inte fungerar för dem hitta en annan väg.

Q) Är det här inte bara att plugga inför prov?

Nej, men skillnaden är subtil. De flesta kurserna bygger på tidigare begrepp, så mitt mål med varje kurs är att utveckla en djup förståelse som jag kan utnyttja. Cramming är vanligtvis en tillflykt till memorering för att snabbt klara ett test och sedan glömma det. Att förstå är svårare, men inte nödvändigtvis mer tidskrävande (och ett krav om varje klass bygger på den föregående).

En uppdatering: Sedan de fyra första klasserna har jag gått vidare med 3-4 klasser parallellt i taget. Även om detta innebär en genomgång under en mycket kortare tidsperiod än vad som är typiskt (1 månad i stället för 1 termin), ökar det fördelarna med spaced repetition.

I slutändan kommer min förmåga att förstå och prestera på ett adekvat sätt i klasser på högre nivå att bli testet av min metod, eftersom de flesta nybörjarklasser i första hand tjänar som grund för svårare seniorkurser.

Q) Vilken typ av tidigare erfarenhet har du av ämnet?

När jag fortfarande gick i gymnasiet programmerade jag en hel del, mest för att skapa små dataspel. Dessutom har jag läst fyra kurser i datavetenskap på universitetsnivå när jag gick på University of Manitoba för att avlägga min examen i företagsekonomi. Ja, jag har viss tidigare erfarenhet av programmering, vilket kommer att ge mig en fördel i utmaningen. Med detta sagt är min tidigare kunskapsnivå förmodligen inte långt ifrån många av de CS-studenter som faktiskt går på MIT och som läroplanen är baserad på.

Därutöver avslutade jag den första kursen 8.01 Klassisk mekanik som ett pilotexperiment för denna huvudutmaning i juli 2011. Därför är antalet kurser som jag försöker genomföra under en tolvmånadersperiod officiellt 32.

Q) Jag är en bloggare/reporter/journalist – hur kan jag kontakta dig för att dela med mig av historien?

Du kan kontakta mig på [email protected] eller använda formuläret här. Jag kommer att vara ganska upptagen (av uppenbara skäl) så jag ber om ursäkt i förväg om det tar ett tag innan jag får igenom mina mejl, eftersom jag vanligtvis går offline när jag arbetar med en kurs.

Lämna ett svar

Din e-postadress kommer inte publiceras.