MIT-haaste

, Author

Oppaan seuraavien 12 kuukauden aikana koko MIT:n tietojenkäsittelytieteen nelivuotisen opetussuunnitelman käymättä yhtään kurssia.

UPDATE: MIT-haaste on nyt suoritettu. Sain sen päätökseen 26. syyskuuta 2012, vajaat 12 kuukautta sen jälkeen, kun aloitin 1. lokakuuta 2011. Klikkaa ”Katso lisää…” minkä tahansa luokan kohdalla päästäksesi käsiksi tentteihini, virallisiin ratkaisuihini tai kirjoittamaani koodiin.

Vastauksia joihinkin yleisiin kysymyksiin:

  1. Kuinka paljon tein töitä haasteen aikana? Alussa noin 60 tuntia/viikko. Myöhemmin enemmän kuin 35.
  2. Ostitko tutkinnon MIT:stä? En. Katso yllä olevasta puheesta motivaationi suorittaa koko koulutus ilman opintopisteitä.
  3. Teitkö kaiken mitä MIT:n opiskelija tekee? En. Tein tentit ja ohjelmointiprojektit opetussuunnitelmasta, joka on hyvin samankaltainen kuin MIT:n oma (jouduin vaihtamaan joitakin laboratoriotunteja ja humanististen aineiden vaatimuksia muihin kursseihin). Opintopisteiden määrä on kuitenkin sama. Katso täältä MIT:n varsinainen 4-vuotinen CS-opintosuunnitelma vertailuna omaani. (Huom: Tämä linkki on päivitetty, koska vanha linkki oli kuollut, mutta en ole tarkistanut, onko CS-opintosuunnitelmaan tehty muutoksia sen jälkeen, kun tein MIT Challengea)
  4. Käytitkö oppikirjoja vai luentovideoita? Kaikki on kunkin luokan ”See More…” -ruudussa. Tarkista se, jos olet epävarma kunkin luokan osalta.
  5. Missä järjestyksessä suoritit luokat? Alla olevassa järjestyksessä. Paitsi että jotkin kurssit suoritettiin samaan aikaan. Jos kuitenkin noudattaisit tätä järjestystä peräkkäin, et jättäisi mitään ennakkotehtäviä väliin.
  6. Osaitko itse arvosanan töistä? Kyllä. Myönnettäköön, että tämä tuo mukanaan jonkin verran virheitä verrattuna siihen, että professori arvostelisi työni. Suurin osa kokeista on kuitenkin kvantitatiivisia ja niissä on ratkaisusarjat, joissa on arvostelurubriikat, joten se rajoittaa virheitä jonkin verran. Kehotan kaikkia tutustumaan todellisiin tenttituloksiini ja vertaamaan niitä ratkaisuihin. Monissa kokeissa, joissa vaadittiin pitkiä laskutoimituksia, annoin osa-arvosanoja, jos kurssilla opetettuja käsitteitä sovellettiin oikein. Uskon, että annettu arvostelu on luultavasti oikeudenmukainen, mutta jos haluttaisiin ottaa vahva kanta, jonka mukaan mikä tahansa virhe (kuten miinusmerkin unohtaminen) mitätöi koko kysymyksen, tämä heikentäisi joitakin arvosanojani. Olen käynyt läpi ja laskenut uudelleen näiden tiukempien rajoitusten mukaisesti, ja se laskisi 18.01-, 5.111-, 18.03-, 6.002- ja 6.013-luokkien loppukokeet läpäisykynnyksen alapuolelle (muut 28 kurssia jäivät joko ilman vaikutusta tai pysyivät läpäisykynnyksen yläpuolella). Uskon, että alkuperäinen arvostelu oli oikeudenmukainen, vaikkakin epätäydellinen, mutta nämä myöhemmät laskelmat osoittavat päätökseni käyttää osa-arvosanoja vaikutuksen.
  7. Oletko sitä mieltä, että kaikkien ei pitäisi mennä yliopistoon, vaan tehdä näin? Ei tietenkään. Tein perustutkintoni yliopistossa enkä kadu sitä. Tavoitteeni tässä projektissa oli nähdä, olisiko se mahdollista – työntää odotuksia siitä, kuinka pitkä, kallis ja perinteinen koulutus on hankittava.

Computerit ovat aina kiehtoneet minua. Rahoituksesta Facebookiin algoritmit ovat piilokieli, joka on suurimman osan elämäämme taustalla. Maailmamme suurimmat muutokset kirjoitetaan koodilla, ja tekoälyn edistysaskeleet mahdollistavat sen, että voimme tietokoneiden avulla ymmärtää, mitä tarkoittaa olla ihminen.

Koneen runouden lisäksi tietojenkäsittelytiede on myös suunnattoman käytännöllistä. Koodiriveillä on tehty omaisuuksia ja käynnistetty vallankumouksia.

Olen aina halunnut puhua tuota kieltä. Mutta en halunnut sijoittaa neljä vuotta elämästäni ja satoja tuhansia dollareita sen oppimiseen.

Aloitan tämän kokeilun, koska haluan osoittaa, että oppiminen ei vaadi hyväksymislautakuntia ja SAT-testejä, tuhansien dollarien velkaa tai edes sitä neljän vuoden vauhtia, jonka useimmat opiskelijat olettavat tarvitsevansa oppiaineen oppimiseen.

Epäonnistunko? Se on ehdottomasti mahdollista – minua paljon älykkäämmät ihmiset kamppailevat MIT:n kaltaisissa oppilaitoksissa valtavan työmäärän läpi, ja minä yritän oppia samaa materiaalia nelinkertaisella nopeudella ilman ohjaajien apua.

Voin vain luvata, että jaan kanssanne, mitä löydän. Alla on lueteltu kaikki 33 luokkaa, joita käsittelen. Kirjoitan jokaisesta niistä loppukokeen ja voitte verrata vastauksiani MIT:n virallisiin ratkaisuihin. Lähetän myös mahdolliset epäonnistumiset, jotta voitte olla varmoja, etten jätä virheitäni pois.

MIT-haasteen jälkeinen päivitys

Haasteen päätyttyä käytän tätä tilaa kertoakseni uusista kursseista, joita suoritan, tai ohjelmista, jotka olen saanut valmiiksi tietotekniikkaan liittyen.

  • WordSmith – Tämä on rakentamani tekoäly, joka pelaa Scrabblea. Ilmainen ja avoin lähdekoodi.

OPPIMISEN ETENEMINEN (33/33):

Klikkaa otsikoita nähdäksesi videoita, päästäksesi kursseille ja nähdäksesi tulokseni

8.01: Fysiikka I – Klassinen mekaniikka – TÄYDENNETTY

Suoritin kurssin valmiiksi heinäkuusssa kokeilun merkeissä nähdäkseni, olisinko valmis suorittamaan koko kurssin. Kurssi on loistava, professori Walter Lewin tekee loistavaa työtä fysiikan elävöittämisessä uhraamatta älyllistä tarkkuutta. Huomautus: MIT poisti tämän kurssin, voit käyttää eri versiota täältä. Scottin arvosana: 5/5

18.01: Single Variable Calculus – COMPLETED

Tämä oli ensimmäinen virallinen kurssi, jonka suoritin MIT Challengeen. Vankat luennot antoivat minulle hyvän käsityksen laskennan perusteista alkaen rajoista ja edeten edistyneempään integrointiin.
Scottin arvosana: 4/5

18.02: Multi-Variable Calculus – COMPLETED

Tällä kurssilla laajennetaan yhden muuttujan laskennan perusperiaatteet useampaan kuin yhteen ulottuvuuteen. Erittäin hyödyllistä tietää, kun halutaan ymmärtää sähköä, magneetteja, valoa tai mitä tahansa, mihin liittyy 3D-objekteja.
Scott’s rating: 4/5

8.02: Fysiikka II – Sähkömagnetismi – TÄYDENNETTY

Toinen professori Walter Lewinin opettama kurssi, demonstraatiot ovat hämmästyttäviä. Tiukka niille, jotka haluavat teknisiä yksityiskohtia, mutta silti helposti lähestyttävä, keskustellen jokapäiväisistä käsitteistä kuten sateenkaarista ja metallinpaljastimista. Huomautus: MIT poisti alkuperäisen kurssin, jonka kävin. Tässä on korvaava kurssi.
Scott’s rating: 5/5

6.01: Introduction to EE and CS I – COMPLETED

Tämä on hyvä kurssi, mutta en suosittele käymään sitä, jos sinulla ei ole mitään ohjelmointitaustaa, koska se sukeltaa suoraan olio-orientaatioon suhteellisen vähin selityksin. Pidin todella paljon tekoälyn ja tilakoneiden edistyneempien käsitteiden sekoittamisesta ydinkurssiin. Kurssin muistiinpanot ovat ilmaisia ja erinomaisia, vaikka suuri osa keskittyykin robotiikkaan, jossa käytetään erikoislaitteita, joihin minulla ei ole pääsyä. (Sivuhuomautuksena monet ihmiset ovat huomauttaneet, että kirjoittamani lopputentti ei ollut täysin kattava, voit lukea perusteellisen vastaukseni täältä) Huomautus: MIT on vaihtanut alkuperäisen kurssin. Tässä on korvaava.
Scottin arvosana: 4/5

  1. Access the course material for free
  2. Download Code
    • Project: State-Machine Library
    • Project: Bayesian State Estimator
    • Project: A* Pathfinding Algorithm
  3. Tenttitulokseni
  4. Todelliset MIT-ratkaisut

5.111: Kemiantutkimuksen perusteet – TÄYDENNETTÄVÄ*

Hyvä johdatus kvanttikemiaan, Lewisin diagrammeihin, happo-/emäs- ja redox-reaktioihin. Sisältää myös edistyneemmän osion siirtymämetalleista ja kiteenkenttäteoriasta. Valitettavasti kurssilla ei ollut toteuttamiskelpoista lopputenttiä, joten jouduin käyttämään arvosteluperusteena käytännön välikokeita.
Scottin arvosana: 4/5

7.012: Johdatus biologiaan – TÄYDENNETTY

Erinomainen biologian kurssi, joka tutkii biologiaa kokeellisesta näkökulmasta ja antaa perustiedot biokemian, immunologian, genetiikan ja ekologian perusteista. Oppikirja on myös hyvä täydennys, joka näyttää myös löytöihin johtaneen kokeellisen ajattelutavan.
Scottin arvosana: 4/5

18.03: Differentiaaliyhtälöt – TÄYDENNETTY

Differentiaaliyhtälöiden avulla voit mallintaa ja analysoida monimutkaisia järjestelmiä. Niillä on erityisen tärkeä rooli sähkötekniikassa, jossa ne (ja niiden diskreetit vastineet) ovat välttämättömiä piirien, signaalien ja järjestelmien ymmärtämiseksi. Tähän kurssiin liittyvillä videoluennoilla on huomattavia poikkeamia muusta kurssin sisällöstä, mikä aiheutti minulle ajanhukkaa.
Scottin arvosana: 3/5

6.02: Introduction to EE and CS II – COMPLETED

Tämä oli hankalampi kurssi, koska MIT:n OCW:ssä ei ole sille kurssia. Sen oppiminen tarkoitti MIT:n julkisten arkistojen enimmäkseen piilossa olevien syvennysten seulomista muistiinpanojen ja tenttien löytämiseksi. Seurauksena tästä on, että suodatinsuunnittelu, tärkeä aihe, puuttui kokonaan muistiinpanoista, enkä pystynyt suorittamaan sitä käsitteleviä harjoituksia (6 & 7) tai tenttiosioita. Lopputenttiä ei ollut, joten suoritin kaikki kolme välikoetta ja arvostelin ne yhdessä.
Scottin arvosana: 3/5

  1. Kurssimateriaali
  2. Laboratoriotehtävät (varoitus suuri), Tehtäväohjeet/tiedostot
  3. Tenttivastaukseni
  4. Todelliset MIT-ratkaisut

6.042J: Mathematics for Computer Science – COMPLETED

Graafit, numeroteoria, todistukset, todennäköisyys ja laskenta ovat vain muutamia tämän erinomaisen kurssin aiheita. Videoluentoja ei ole, mutta kurssin ilmainen oppikirja on uskomaton ja mukaansatempaava. On myös valtava määrä resursseja ongelmien harjoitteluun, jotka tarjoavat mielenkiintoisia haasteita.
Scottin arvosana: 5/5

6.006: Johdatus algoritmeihin – COMPLETED

Johdatus algoritmeihin ja kompleksisuusteoriaan. Kurssi tarjoaa hyvän tilaisuuden soveltaa algoritmisuunnittelun käsitteitä (dynaaminen ohjelmointi, ahneet algoritmit jne.) todellisiin ohjelmointiongelmiin, mikä antaa tälle kurssille konkreettisuutta, joka puuttui kurssista 6.042J. Valitettavasti en tajunnut, että loppukoe ei ollut kattava, ennen kuin kirjoitin sen, joten olen liittänyt mukaan myös kokeet, jotka olin tehnyt harjoittelun vuoksi. Suoritin suurimman osan tehtävistä, mutta koska niissä ei ollut ratkaisuja, olen jättänyt ne arvostelematta.
Scottin arvosana: 4/5

18.06: Lineaarialgebra – TÄYDENNETTY

Erinomaiset videoluennot ja runsaat materiaalit tekivät tästä yhden helpommin lähestyttävistä kursseista OCW:n luettelossa. Prof. Gilbert Strang pitää sujuvat, helposti ymmärrettävät luennot. Ensimmäinen tenttini tältä kurssilta oli vain 56 %, joten päätin ottaa vielä yhden päivän aikaa kirjoittaakseni korkeamman pistemäärän saaneen tentin, jonka lähetin alla.
Scottin arvosana: 5/5

6.041: Probabilistic Systems Analysis – COMPLETED

Todennäköisyyskurssilla syvennytään todennäköisyyden perusteisiin laskutoimitusten avulla, jotta voidaan analysoida vaikeampia todennäköisyyskysymyksiä kuin ne, jotka esitetään kurssilla 6.042J. Oppikirja on suunniteltu nimenomaan tätä kurssia varten, joten se on erittäin hyödyllinen.
Scottin arvosana: 4/5

6.002: Piirit ja elektroniikka – TÄYDENNETTY

Tällä kurssilla käsitellään digitaalisten ja analogisten piirien perusteita. Tentti oli melko haastava ja se oli ensimmäinen tentti, jonka suorittamiseen minulla loppui oikeastaan aika kesken. Valitettavasti viralliset ratkaisut ovat MIT-access only, joten en voi ladata niitä tänne vertailun vuoksi. Tämä kurssi toimii pohjana monille myöhemmille EE-kursseille, joten olen varma, että saan vielä toisenkin tilaisuuden tulla todella testatuksi keskeisistä käsitteistä.
Scottin arvosana: 4/5

6.046J: Design and Analysis of Algorithms – COMPLETED

Yksi suosikkikursseistani tähän mennessä! Kurssilla tutkitaan joitakin edistyneempiä algoritmien käsitteitä, joita ei löydy kurssista 6.006, kuten tiettyjen ongelmien osoittaminen NP-täydelliseksi, approksimaatioalgoritmit, salaus, sublineaariset algoritmit ja rinnakkaiskäsittely. Minun oli kuitenkin oltava varovainen, koska tämän kurssin OCW-versio on ennen MIT:n opetussuunnitelman muutosta, jossa 6.006 lisättiin, joten se kattaa huomattavasti helpompaa materiaalia kuin nykyiset versiot.
Scottin arvosana: 5/5

6.034: Artificial Intelligence – COMPLETED

Hyvä kurssi, joka kattoi katsauksen erilaisiin tekoälytekniikoihin, mukaan lukien haku, rajoitteiden eteneminen, neuroverkot, kernel-koneet, käsiteoppiminen ja luonnollisen kielen käsittely. Suoritin myös 6 tehtävää tätä kurssia varten, joka vaati minua oppimaan ohjelmointikielen Scheme. Yksi tämän kurssin tenttien kirjoittamisen haasteista oli opetussuunnitelmien vaihtelevuus, koska käsiteltiin niin monia eri tekniikoita ja niiden erityispiirteet vaihtelivat kurssista toiseen.
Scottin arvosana: 5/5

6.003: Signals and Systems – COMPLETED

Tällä kurssilla opetetaan signaalien ja järjestelmien analyysin perusteet laajentaen matemaattisia tekniikoita, joista keskusteltiin ensimmäisen kerran kurssilla 18.03. Vaikka luokka on hyödyllinen muissakin kuin virtapiireissä, se on erityisen tärkeä esimerkiksi taajuusmodulaation, audiosuodattimien ja kohinanvaimennuksen ymmärtämisessä, ja se toimii jopa perustana kuva-analyysille ja -käsittelylle. Tämä oli myös ensimmäinen tentti, jossa aluksi epäonnistuin, mutta onneksi paranin ja sain toisella yrityksellä 69 prosenttia. Huomautus: Alkuperäinen kurssi, jonka kävin, ei ole enää saatavilla. Tässä on korvaava kurssi.
Scott’s rating: 4/5

6.004: Computation Structures – COMPLETED

Hyvä kurssi, jolla opetetaan sähkötekniikan ja tietojenkäsittelytieteen rajapintoja. Suunnitteluprojektiin kuului porttitason suorittimen spesifikaation rakentaminen, eli piirien rakentaminen, jotta tietokone voidaan rakentaa. Ainoa heikkous oli luokan suhteellinen materiaalin vähyys, mutta tehtävät ja harjoitukset ovat kuitenkin vahvasti tuettuja.
Scottin arvosana: 4/5

  1. Access the course material for free
  2. Labs and Projects(Huom: BSim ja JSim tarvitaan tiedostojen suorittamiseen. Ne voi ladata vapaasti kurssisivulta)
  3. Tenttini
  4. MIT Official Solutions

24.241: Logiikka I – TÄYDENNETTY

Esittely lause- ja predikaattilaskentaan, niiden derivointijärjestelmiin ja metateoreettisiin todistuksiin. Pidin kurssia melko kuivana ja teknisenä, mutta kurssi tarjosi hyvää harjoittelua tiukempiin todistusmenetelmiin, toisin kuin tietotekniikan kursseilla opetetut epävirallisemmat tyylit. Valitettavasti tenttivastaukset, joita käytin paperini korjaamiseen, eivät ole julkisia, joten en voi julkaista niitä täällä.
Scott’s rating:

14.01: Principles of Microeconomics – COMPLETED

Olin käynyt mikrotaloustieteen jo kauppatieteellistä tutkintoa tehdessäni, joten suurin osa tästä kurssista oli kertausta. Koska MIT:ssä on kuitenkin paljon vahvempi matemaattinen perusta kuin alma materissani, oli virkistävää nähdä monien käsitteiden tiukemmat tekniset määritelmät. Käytin tähän kurssiin hieman alle neljä päivää, joten suurin osa virheistäni johtui teknisten määritelmien ja kaavojen unohtamisesta, koska niitä ei annettu tentissä.
Scott’s rating: 3/5

6.033:

Hyödyllinen kurssi, jossa opetetaan tietokoneverkkojen, salauksen, asiakas-palvelin -paradigman ja Internetin perusteita. Mielestäni osa kurssista toisti itseään 6.004:n ja 6.02:n jälkeen, joissa oli päällekkäistä sisältöä, mutta se oli silti hyödyllinen. Tein sen virheen, etten keskittynyt tarpeeksi lukutehtäviin, koska suurin osa oppimisesta tulee sieltä.
Scottin arvosana: 4/5

6.013: Electromagnetics and Applications – COMPLETED

Epäilemättä vaikein kurssi, jonka olen tähän mennessä käynyt ohjelmassa. Luokassa käytetään paljon vektorilaskentaa, muunnoksia ja kompleksinotaatiota sen lisäksi, että se laajentaa yleisesti 8.02:ssa opetettuja sähkömagnetismin periaatteita. Vahva perusta kurssien 6.003, 6.002, 18.02, 18.03 ja 8.02 aiheista on hyvä idea, jos haluat yrittää tätä kurssia. Läpäisin kokeen vain niukasti, joten se on ehdottomasti aihe, johon haluaisin palata ja jota haluaisin tarkentaa jossain vaiheessa tulevaisuudessa, koska siinä ilmaistiin paljon mielenkiintoisia ajatuksia.
Scottin arvosana: 3/5

14.02: Principles of Macroeconomics – COMPLETED

Olin käynyt makrotaloustieteen myös aiemmin, kun tein perustutkintoa, joten tämä oli lähinnä kertausta. Siitä huolimatta pidin MIT:n versiota kurssista ja tukimateriaalia paljon helpommin lähestyttävänä. Hyvä kurssi jos haluaa ymmärtää taloutta kokonaisuutena. Huomautus: Alkuperäinen kurssi, jonka kävin, oli MIT:n vaihtama. Tässä on korvaava.
Scottin arvosana: 3/5

24.242: Logic II – COMPLETED

Tämä kurssi perustui täysin 8 kotitehtävään, joten läpi käymäni tenttimateriaalin määrä oli valitettavasti heikompi kuin monilla muilla. Tästä huolimatta rakastin tätä kurssia, sillä Godelin epätäydellisyysteoriat edustavat yhtä syvällisimmistä ajatuksista, joita olen koskaan nähnyt kurssilla.
Scottin arvosana: 5/5

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

Tämä kurssi oli jatkoa kurssille 6.003, Signals and Systems. Siinä käsitellään signaalianalyysin ja suodattimien peruskäsitteitä ja laajennetaan niitä tilakone-esityksiin ja stokastisiin signaaleihin. Satunnaissignaalien mukaan ottaminen on erittäin hyödyllistä kohinan käsittelyssä, joten monet tämän luokan käsitteistä ovat käytännöllisempiä kuin niiden ideaaliset vastineet 6.003:ssa. Ilmainen oppikirja/kurssimuistiinpanot oli erittäin hyödyllinen.
Scottin arvosana: 4/5

24.244: Modaalilogiikka – TÄYDENNETTY

Modaalilogiikka on mahdollisuuden ja välttämättömyyden logiikkaa ja se laajentaa peruspredikaattilaskentaa. Se on mielenkiintoinen logiikka tutkittavaksi, koska se voi edustaa monia erilaisia logiikkajärjestelmiä riippuen otetuista aksioomista (deonttinen, aleettinen, tensiivinen jne.). Loppukoe oli kotiin vietävä loppukoe, joten suoritin sen kahden päivän aikana.
Scottin arvosana: 3/5

14.20: Industrial Organization – COMPLETED

Taloustieteen alkeiskursseilla tyypillisesti yksinkertaistetaan analyysia olettamalla täydellinen kilpailu tai monopoli. Tällä kurssilla tämä oletus poistetaan ja tarkastellaan, miten yritykset kilpailevat strategisesti toisiaan vastaan. Tämä kurssi todella herätti kiinnostukseni oppia lisää peliteoriasta. Valitettavasti en tajunnut, että esimerkin lopputentti oli sisällön kattavuudeltaan melko rajallinen, mutta se oli paras mahdollinen.
Scottin arvosana: 3/5

14.23: Government Regulation of Industry – COMPLETED

Tämän kurssin sisältö oli hyvin samankaltainen kuin kurssin 14.20, joskin siinä keskityttiin enemmän historialliseen kontekstiin ja poliittiseen viitekehykseen kuin peliteorian puoleen. Mielenkiintoinen kurssi, oppikirjan lukuosiot olivat melko pitkiä (lähes 900 sivua), mutta matemaattisen analyysin taso oli kevyt, joten se oli helppoa luettavaa.
Scottin arvosana: 3/5

14.48J: Economics of Education – COMPLETED

Haasteeni luonteen huomioon ottaen tämä oli hauska kurssi, sillä siinä tutkittiin koulutuksen eri teorioita. Suurin osa kurssista tuntui olevan keskustelua perusekonometiikasta, sillä kirjallisuus on ilmeisesti epäselvää monien keskeisten ajatusten osalta (ovatko pienemmät luokat parempia? toimivatko voucher-ohjelmat?). Kurssilla tutkittiin myös eroja tavanomaisen inhimillisen pääoman teorian ja signalointi-selityksen välillä, vaikka jälleen kerran esitelty kirjallisuus oli enimmäkseen epäselvää.
Scottin arvio: 3/5

6.005: Elements of Software Construction – COMPLETED

Tämä on MIT:n pakollinen ohjelmistokehityksen kurssi. Se oli vaikea, ei siksi, että se olisi älyllisesti liian vaativa, vaan työn määrän takia. Se koostuu kolmesta tiimiprojektista, kolmesta yksilöprojektista ja useista labroista (harjoitustehtäviä, omana työnään). Epäröin ottaa tämän kurssin vastaan, koska haasteeseen liittyvät aikarajoitteet vaikeuttavat tällaisten kurssien vastaanottamista, mutta lopulta ajattelin kuitenkin, että ainoa keino on yksinkertaisesti tehdä kaikki työt.

Onnistuin suorittamaan kurssin loppuun noin kolmessa viikossa, joka jakautui noin kahdelle kuukaudelle. Se oli yksi palkitsevimmista tunneista, vaikka se oli myös eniten aikaa vievä. Olisin halunnut viipyä pidempään jokaisen projektin parissa, erityisesti lopullisen pikaviestisovelluksen, jonka rakensin tyhjästä, kaunistellakseni sitä lisäominaisuuksilla. Kurssi on erinomainen valinta, jos olet jo aloitteleva ohjelmoija, mutta haluat oppia lisää korkean tason suunnitteluideoita, joiden avulla voit kirjoittaa toimivan koodin lisäksi myös hyvin suunniteltua koodia.

Olen julkaissut kaikki kirjoittamani projektit täällä, vaikka tarvitsetkin asennetun Javan voidaksesi käyttää niitä. Liitin mukaan myös kolmen suunnitteluprojektin kirjoitukset (pahoittelen kontrastin puutetta skannauksissa!)
Scottin arvosana: 5/5

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

6.801: Konenäkö – TÄYDENNETTY

Tällä kurssilla opetetaan tietokoneen algoritmien käytön perusteet näkemiseen, ensisijaisesti siinä yhteydessä, kun robottia ohjataan suorittamaan toimia näiden kuvien perusteella. Aiheita ovat muun muassa binäärinen kuvankäsittely, reunojen havaitseminen, Gaussin laajennetut pinnat, orientointi ja fotogrammetria. Kurssi arvioitiin kahdella kotiin otettavalla tietovisalla, ja se laskettiin yhdeksi kahdesta jatkotason kurssista, jotka kävin haasteessa.

Kokonaisuudessaan kurssi oli haastava, sillä siinä käytettiin Fourier-analyysin, vektorilaskennan, lineaarialgebran, kvadraattisen ohjelmoinnin ja variaatiolaskennan tekniikoita, joten se oli todennäköisesti haastavin kurssi, jonka olen käynyt matematiikan soveltamisen alalla. Valitettavasti ohjelmointitehtäviä ei ollut, mikä olisi ollut mielenkiintoista.
Scottin arvosana: 5/5

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

6.837: Tietokonegrafiikka – TÄYDENNETTY

Tällä kurssilla opetetaan tietokonegrafiikan perusteita, pääasiassa säteenseurantaa, vaikka myös scanline-menetelmiä opetetaan. Arviointi perustui täysin tehtäviin (oli kaksi pientä tietokilpailua, mutta niissä ei ollut ratkaisuja, joten en käyttänyt niitä). Tehtävät alkoivat perussäteilylaskennasta ja tasomaisesta varjostuksesta, ja ne kehittivät vähitellen säteenseurantaohjelmaa siten, että se sisälsi mattapintaista varjostusta, kiiltäviä heijastuksia, heittovarjoja, läpinäkyviä pintoja taitekertoimineen, peiliheijastuksia ja proseduraalista teksturointia. Lisäksi tehtiin projekti, jossa luotiin ruudukkokiihtyvyystietorakenne, jolla ei ole visuaalista vaikutusta, mutta joka nopeuttaa huomattavasti suhteellisen hidasta säteenseurantaan perustuvaa lähestymistapaa grafiikkaan.

Tietoja käytetystä ohjelmointiympäristöstä on koodin README.rtf-tiedostossa. Tiedosto on melko suuri, mutta se sisältää myös kaikki renderöidyt kuvat, joten voit vilkaista tuotosta, vaikka et kääntäisi/juoksuttaisi kyseisiä kohtauksia. (Vertailun vuoksi MIT:n viralliset tuotokset ovat mukana sample_res.pdf-tiedostona kunkin tehtävän kohdalla, jotta voit nähdä, miten minun raytracerini vertautuu). Huomautus: Alkuperäinen kurssi, jonka kävin, muuttui. Tässä on korvaava kurssi.
Scott’s rating: 5/5

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

COSC 545: Tämä kurssi ei ollut MIT:n kurssi, vaan Cal Newportin Georgetownin yliopistossa pitämä laskennan teorian jatkokurssi. Tämä oli aihe, jota olin todella halunnut tutkia nautittuani molemmista MIT:n algoritmikursseista, mutta MIT:n kompleksisuusteorian kurssilta puuttui arviointityökaluja, joita voisin käyttää. Kurssin mielenkiintoisia ajatuksia ovat muun muassa se, minkä tyyppisiä ongelmia voidaan ratkaista algoritmeilla (eli on olemassa prosessi, jolla ratkaistaan mikä tahansa ongelman instanssi), sekä tiettyjen luokkien ratkaisemiseen vaadittavan nopeuden ja muistin rajoitukset.

Kurssiin sisältyy myös laaja keskustelu yhdestä matematiikan tärkeimmästä ja ratkaisemattomimmasta ongelmasta, siitä, onko P=NP, jolla olisi vastauksesta riippuen syvällisiä seurauksia yhteiskunnalle, ja huolimatta vuosikymmeniä kestäneestä työstä ja miljoonan dollarin palkinnosta sen ratkaisusta, kukaan ei ole kyennyt vastaamaan siihen.

Kurssilla oli kaksi tenttiä, jotka kirjoitin ja arvostelin, koska ne eivät olleet kumulatiivisia.
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. Mitä sääntöjä noudatat?
  2. Suoritatko kaikki tehtävät, paperit ja projektit?
  3. Eroaako opetussuunnitelmasi MIT:n opetussuunnitelmasta?
  4. Mitä tapahtuu, jos reputat kurssin?
  5. Miksi teet tämän? Rakastatko vain opiskelua?
  6. Saatko tästä tutkintotodistuksen?
  7. Kurssisi ovat sarjamuotoisia, eikö se ole pelkkää kokeisiin valmistautumista?
  8. Millaista aiempaa kokemusta sinulla on aiheesta?
  9. Olen bloggaaja/toimittaja/journalisti-miten voin ottaa sinuun yhteyttä jakaakseni jutun?

Q) Mitä sääntöjä noudatat?

Koska en ole kirjoilla MIT:ssä (enkä liity siihen millään tavalla), minun on täytynyt laatia omat sääntöni tehdäkseni haasteesta reilun, mutta toteutettavissa olevan. Perussäännöt ovat yksinkertaiset:

  1. Katson kurssin onnistuneesti suoritetuksi, jos läpäisen loppukokeen (mikä yleensä tarkoittaa vähintään 50 prosentin arvosanaa, vaikka pyrin paljon korkeampaan).
  2. Kirjoitan kokeen samoin rajoituksin kuin opiskelija: ei saa katsoa kysymyksiä tai ratkaisuja etukäteen, ei muistiinpanoja tai kiellettyä materiaalia, samat aikarajoitukset (oletusarvo on 3 tuntia, jos sitä ei ole määritelty).
  3. Arvostelen paperit itse vertaamalla niitä MIT:n todellisiin ratkaisuihin. Julkaisen molemmat, jotta kuka tahansa voi tarkistaa arvostelumenetelmäni.

Pitäkää mielessä, että nämä ovat vain haasteeni vähimmäisvaatimukset. Kursseilla, joilla on merkittävä ohjelmointikomponentti, pyrin tekemään edustavia ohjelmointitehtäviä siinä määrin kuin se on mahdollista.

Q)Teetkö kaikki tehtävät, paperit ja projektit?

Teoriaan tai matematiikkaan pohjautuvilla kursseilla loppukokeet ovat yleensä kattava arvioinnin perusta, joten käytän niitä arviointiini. Päädyn silti tekemään suurimman osan tai osan tehtävistä ja koetehtävistä valmistautumisena, mutta koska en pysty pitämään tätä kriteeriä johdonmukaisena koko haasteen ajan (monia tehtäviä ei joko ole saatavilla tai niitä on mahdotonta arvioida objektiivisesti), teen ne epävirallisesti.

Luokissa, joissa on merkittävä määrä ohjelmointityötä tai käytännön suunnitteluun liittyviä ongelmia, yritän tehdä suurimman osan tehtävistä. Koska näitä on kuitenkin vaikeampi arvioida, luotan edelleen loppukokeisiin tärkeimpänä kriteerinä näillä tunneilla.

Q) Eroaako opetussuunnitelmasi MIT:n opetussuunnitelmasta?

Vietin lähes kuukauden yrittäessäni koota yhteen lähinnä MIT:n varsinaista tietojenkäsittelytieteen opetussuunnitelmaa seuraavan peilikuvan. Valitettavasti en voi tehdä tätä täydellisesti, koska joitakin luokkia on mahdotonta arvioida (mukaan lukien laboratoriot ja tutkimuskurssit), ja toisiin ei ollut mitään pääsyä verkossa.

Otan saman määrän opintopisteitä kuin MIT:n varsinainen tutkinto, joten siellä missä en voinut ottaa yhtä kurssia, korvasin sen vastaavalla vaihtoehdolla. Opittavan tiedon määrän suhteen opetussuunnitelmani on siis samanlainen kuin MIT:n opiskelijoilleen ehdottama.

Ainut muu poikkeus MIT:n kanssa liittyy valinnaisiin aineisiin. Otan erilaisia muita kuin tietojenkäsittelytieteen kursseja, jäljitelläkseni mahdollisimman hyvin MIT:n opiskelijoille asetettuja HASS-vaatimuksia. Nämä eivät sovi täydellisesti yhteen, sillä taideaineiden verkkokurssitarjonta on MIT:ssä huomattavasti heikompi kuin luonnontieteiden.

Täältä näet MIT:n varsinaisen tietojenkäsittelytieteen opetussuunnitelman.

Q) Mitä tapahtuu, jos epäonnistut jollakin kurssilla?

Tahti, jota yritän, huomioon ottaen luulen, että on väistämätöntä, että epäonnistun jollakin kurssilla. Päävaatimukseni on, että läpäisen loppukokeen, joten jos epäonnistun yhdessä, annan itselleni luvan suorittaa toisen kokeen sen jälkeen.

STRATEGIANI on ottaa fail-first-lähestymistapa, jotta voisin käyttää aikaani tehokkaammin kursseilla, joilla minulla on useita lopputenttejä, joita voin käyttää arvioinnin perustana. Tämä on hyvin erilaista kuin yliopistossa, jossa epäonnistuminen voi olla todellinen takaisku. Se on itseopiskelun etu jäykkiin virallisiin instituutioihin verrattuna.

Q) Miksi teet tätä? Rakastatko vain opiskelua?

Kukaan ei pidä opiskelusta, mutta kaikki haluavat olla fiksuja. Oppiminen, noihin oivalluksiin pääseminen ja se, että tuntee itsensä älykkäämmäksi jostakin aiheesta, on suunnattoman palkitsevaa. Harmi, että monet meistä ovat unohtaneet tämän vuosien rangaistavan muodollisen koulutuksen jälkeen.

Myönnän, että saatan olla hieman hullu tai ylimielinen halutessani suorittaa nelivuotisen ohjelman vain 12 kuukaudessa. Todellinen motivaationi on kuitenkin näyttää ihmisille, että nopeampi oppiminen on mahdollista ja että se voi olla samalla hauskempaa.

Q) Saatko tästä tutkintotodistuksen?

Ei, ja juuri siitä on kyse. Yhteiskuntamme rinnastaa virheellisesti tiedon akkreditointiin. Paperin saaminen on hienoa, ja monilla aloilla se on täysin välttämätöntä. Mutta yhtälö tehdään niin vahvasti, että ihmiset unohtavat, että nämä kaksi asiaa ovat eri asioita.

Minulla on jo ura kirjailijana ja pienyrittäjänä. En ikinä halua työskennellä suuryrityksessä, jossa henkilöstöosasto saattaisi tutkailla tutkintotodistukseni puuttumista. Itse haluan vain oppia tietotekniikkaa siltä varalta, että haluan perustaa uuden yrityksen tai työskennellä startup-yrityksessä.

Minulla ei ole mitään yliopistoa vastaan. Yliopisto oli minulle mahtava ja arvokas kokemus, ja se voi olla sitä sinullekin. Toivon vain, että näyttämällä vaihtoehdon ihmiset, jotka kokevat, että nykyinen järjestelmä ei sovi heille, voivat löytää toisen polun.

Q) Eikö tämä ole pelkkää kokeisiin valmistautumista?

Ei, mutta ero on hienoinen. Useimmat kurssit rakentuvat aiemmille käsitteille, joten tavoitteeni jokaisella kurssilla on kehittää syvällinen ymmärrys, jota voin hyödyntää. Opiskelu on tyypillisesti turvautumista ulkoa oppimiseen, jotta koe voidaan nopeasti läpäistä ja sitten unohtaa se. Ymmärtäminen on vaikeampaa, mutta ei välttämättä aikaa vievämpää (ja edellytys, jos jokainen luokka rakentuu sitä edeltävälle).

Päivityksenä: Neljästä ensimmäisestä luokasta lähtien olen jatkanut 3-4 luokkaa rinnakkain kerrallaan. Vaikka tämä edellyttää kertausta paljon lyhyemmässä ajassa kuin on tyypillistä (1 kuukausi yhden lukukauden sijaan), se lisää jaksotetun toiston hyötyjä.

Kykyni ymmärtää ja suoriutua riittävästi korkeamman tason luokista on viime kädessä menetelmäni koetinkivi, sillä useimmat fuksiluokat toimivat ensisijaisesti pohjustuksena vaikeammille vanhemmille luokille.

Q) Millaista aiempaa kokemusta sinulla on oppiaineesta?

Kun olin vielä lukiossa, harrastin melko paljon ohjelmointia, lähinnä pienten tietokonepelien luomista. Lisäksi olen käynyt 4 yliopistotason tietotekniikan kurssia, kun opiskelin Manitoban yliopistossa liiketalouden tutkintoa varten. Kyllä, minulla on jonkin verran aiempaa kokemusta ohjelmoinnista, mikä antaa minulle etulyöntiaseman tässä haasteessa. Tästä huolimatta aiempi taitotasoni ei luultavasti ole kaukana monista niistä CS-opiskelijoista, jotka todella opiskelevat MIT:ssä ja joita varten opetussuunnitelma on laadittu.

Lisäksi suoritin ensimmäisen kurssin 8.01 Klassinen mekaniikka pilottikokeena tätä päähaastetta varten heinäkuussa 2011. Näin ollen kurssien määrä, joita yritän 12 kuukauden aikana, on virallisesti 32.

Q) Olen bloggaaja/toimittaja/journalisti – miten voin ottaa sinuun yhteyttä jakaakseni jutun?

Voit ottaa minuun yhteyttä osoitteessa [email protected] tai käyttämällä lomaketta täällä. Aion olla melko kiireinen (ilmeisistä syistä), joten pahoittelut etukäteen, jos sähköpostien läpikäyminen kestää jonkin aikaa, sillä yleensä olen offline-tilassa, kun työskentelen kurssin parissa.

Vastaa

Sähköpostiosoitettasi ei julkaista.