MIT Challenge

, Author

Během následujících 12 měsíců se naučím celý čtyřletý učební plán informatiky na MIT, aniž bych navštěvoval nějaké předměty.

UPDATE: MIT Challenge je nyní dokončena. Skončil jsem 26. září 2012, necelých 12 měsíců po zahájení 1. října 2011. Kliknutím na „See More…“ u kterékoli třídy získáte přístup k mým zkouškám, oficiálním řešením nebo kódu, který jsem napsal.

Odpovědi na některé časté otázky:

  1. Kolik jsem během výzvy pracoval? Na začátku zhruba 60 hodin/týden. Později spíše 35.
  2. Dostal jste titul z MIT? Ne. viz výše uvedený rozhovor o mé motivaci absolvovat celé vzdělání bez kreditů.
  3. Dělal jsi všechno, co dělá student MIT? Ne. dělal jsem zkoušky a programovací projekty pro učební plán, který je velmi podobný tomu, který má MIT (musel jsem vyměnit některé laboratorní předměty a humanitní požadavky za jiné předměty). Počet kreditních hodin je však stejný. Podívejte se sem na skutečný čtyřletý učební plán MIT v oboru CS pro srovnání s mým vlastním. (Poznámka: Tento odkaz byl aktualizován, protože starý odkaz byl mrtvý, nicméně jsem neověřoval, zda došlo ke změnám v učebních osnovách CS od doby, kdy jsem dělal MIT Challenge)
  4. Používal jsi učebnice nebo videa z přednášek? Vše je v panelu „See More…“ u každé třídy. Prosím, podívejte se na to, pokud si nejste jisti pro každou třídu.
  5. V jakém pořadí jste dělali třídy? V pořadí uvedeném níže. S výjimkou toho, že některé byly absolvovány ve stejnou dobu. Pokud byste však toto pořadí dodržovali postupně, nevynechali byste žádné prerekvizity.
  6. Známkovali jste si práci sami? Ano. Připouštím, že to přináší určitou míru chyb oproti tomu, když mi práci hodnotí profesor. Většina zkoušek je však kvantitativních se sadami řešení, které mají rubriky pro známkování, takže to chybovost poněkud omezuje. Doporučuji všem, aby se podívali na mé skutečné výsledky zkoušek a porovnali je s řešeními. U mnoha zkoušek, které vyžadovaly zdlouhavé výpočty, jsem připustil částečné hodnocení za předpokladu, že byly správně aplikovány pojmy vyučované v kurzu. Domnívám se, že poskytnuté známkování je pravděpodobně spravedlivé, ale pokud byste chtěli zaujmout silné stanovisko, že jakákoli chyba (například zapomenutí přenést znaménko minus) zneplatňuje celou otázku, snížilo by to některé mé známky. Prošel jsem a přepočítal podle těchto přísnějších omezení a pod hranici úspěšnosti by to dostalo závěrečné zkoušky z 18.01, 5.111, 18.03, 6.002 a 6.013 (ostatních 28 tříd to buď neovlivnilo, nebo zůstaly nad hranicí úspěšnosti). Věřím, že původní klasifikace byla spravedlivá, i když nedokonalá, ale tyto pozdější výpočty ukazují dopad mého rozhodnutí použít dílčí známky.
  7. Myslíte si, že by všichni neměli chodit na vysokou školu a místo toho dělat toto? Samozřejmě že ne. Já jsem si udělal bakalářské studium na univerzitě a nelituji toho. Mým cílem tohoto projektu bylo zjistit, zda by to bylo možné – posunout očekávání, jak dlouho, jak nákladně a jak konvenčně je třeba získávat vzdělání.

Počítače mě vždy fascinovaly. Od financí až po Facebook jsou algoritmy skrytým jazykem, který je základem většiny našeho života. Největší proměny našeho světa se píší v kódu a pokroky v umělé inteligenci nám umožňují pomocí počítačů pochopit, co to znamená být člověkem.

Kromě poezie stroje je informatika také nesmírně praktická. Na řádcích kódu se tvoří bohatství a vznikají revoluce.

Vždycky jsem chtěl mluvit tímto jazykem. Ale nechtěl jsem investovat čtyři roky svého života a statisíce dolarů, abych se ho naučil.

Pouštím se do tohoto experimentu, protože chci ukázat, že učení nevyžaduje přijímací komise a testy SAT, tisíce dolarů na dluh, a dokonce ani čtyřleté tempo, o kterém se většina studentů domnívá, že je nezbytné k tomu, aby se naučili nějaký předmět.

Propadnu? Rozhodně je to možné – lidé mnohem chytřejší než já se potýkají s obrovskou zátěží na institucích, jako je MIT, a já se pokouším naučit stejnou látku čtyřnásobnou rychlostí, bez výhod instruktorů.

Vše, co mohu slíbit, je, že se s vámi podělím o to, co zjistím. Níže je uvedeno všech 33 tříd, kterými se budu zabývat. U každé z nich napíšu závěrečnou zkoušku a vy můžete porovnat mé odpovědi s oficiálními řešeními MIT. Zveřejním také případné neúspěchy, abyste měli jistotu, že nevynechávám své chyby.

Aktualizace po ukončení výzvy MIT

Od ukončení výzvy využívám tento prostor ke sdílení některých nových kurzů, které dokončuji, nebo programů, které jsem dokončil a které se týkají informatiky.

  • WordSmith – Jedná se o umělou inteligenci, kterou jsem vytvořil a která hraje Scrabble. Zdarma a s otevřeným zdrojovým kódem.

POKROK VE VÝUCE (33/33):

Kliknutím na názvy si můžete prohlédnout videa, vstoupit do kurzů a podívat se na mé výsledky

8.01: Fyzika I – Klasická mechanika – SPLNĚNO

Tento kurz jsem dokončil v červenci jako součást pilotního experimentu, abych zjistil, zda jsem schopen absolvovat celý program. Kurz je skvělý, profesor Walter Lewin odvádí úžasnou práci, když přibližuje fyziku životu, aniž by obětoval intelektuální přísnost. Poznámka: Tento kurz byl MIT odstraněn, jinou verzi si můžete stáhnout zde. Scottovo hodnocení:

18.01: Single Variable Calculus – COMPLETED

Toto byl první oficiální kurz, který jsem absolvoval v rámci MIT Challenge. Solidní přednášky mi daly dobrou představu o základech kalkulu počínaje limity a konče pokročilejší integrací.
Scott’s rating: 4/5

18.02:

Tato třída rozšiřuje základní principy kalkulu s jednou proměnnou do více než jedné dimenze. Velmi užitečné znalosti pro pochopení elektřiny, magnetů, světla nebo čehokoli, co se týká trojrozměrných objektů.
Scott’s rating: 4/5

8.02: Fyzika II – Elektromagnetismus – DOKONČENO

Další hodina vedená profesorem Walterem Lewinem, ukázky jsou úžasné. Přísné pro ty, kteří chtějí technické detaily, ale přesto přístupné, probírající každodenní pojmy jako duha a detektory kovů. Poznámka: Původní kurz, který jsem absolvoval, byl MIT odstraněn. Zde je náhradní kurz.
Scott’s rating: Je to dobrý předmět, ale nedoporučuji ho navštěvovat, pokud nemáte žádné zkušenosti s programováním, protože se rovnou vrhá do objektové orientace s relativně malým vysvětlením: 5/5

6.01: Introduction to EE and CS I – COMPLETED

Je to dobrý předmět, ale nedoporučuji ho navštěvovat, pokud nemáte žádné zkušenosti s programováním. Velmi se mi líbilo prolínání pokročilejších konceptů z umělé inteligence a stavových strojů do základního kurzu. Poznámky ke kurzu jsou zdarma a jsou výborné, i když se hodně zaměřují na robotiku, která používá specializované vybavení, k němuž nemám přístup. (Jako poznámku na okraj, mnoho lidí poukázalo na to, že závěrečná zkouška, kterou jsem napsal, nebyla úplně komplexní, mou podrobnou odpověď si můžete přečíst zde) Poznámka: Původní kurz, který jsem absolvoval, byl MIT vyměněn. Zde je jeho náhrada.
Scottovo hodnocení:

  • Přístup k materiálům kurzu zdarma
  • Kód ke stažení
    • Projekt: 4/5
      1. Přístup k materiálům kurzu zdarma
      2. Kód ke stažení
        • Projekt: State-Machine Library
        • Project: A* Pathfinding Algorithm
      3. Moje výsledky zkoušky
      4. Aktuální řešení MIT
  • 5.111: Principles of Chemical Science – COMPLETED*

    Dobrý úvod do kvantové chemie, Lewisovy diagramy, acidobazické a redoxní reakce. Obsahuje také pokročilejší část o přechodných kovech a teorii krystalového pole. Hodina bohužel neměla životaschopnou závěrečnou zkoušku, takže jsem byl nucen použít jako základ hodnocení své cvičné pololetní testy.
    Scottovo hodnocení: 4/5

    7.012: Úvod do biologie – splněno

    Vynikající kurz biologie, který zkoumá biologii z pohledu experimentátora a poskytuje základy biochemie, imunologie, genetiky a ekologie. Dobrým doplňkem je i učebnice, která rovněž ukazuje experimentální myšlení vedoucí k objevům.
    Scottovo hodnocení: 3.03: Diferenciální rovnice – DOKONČENO

    Diferenciální rovnice jsou rozšířením kalkulu a umožňují modelovat a analyzovat složité systémy. Zvláště důležitou roli hrají v elektrotechnice, kde jsou (a jejich diskrétní protějšky) nezbytné pro pochopení obvodů, signálů a systémů. Videopřednášky spojené s touto třídou mají značné odchylky od ostatního obsahu kurzu, což způsobilo, že jsem ztratil nějaký čas.
    Scott’s rating: Tento předmět byl pro mě složitější, protože v OCW MIT pro něj není žádná třída. „3/5

    6.02: Introduction to EE and CS II – COMPLETED

    Tento předmět byl pro mě složitější, protože v OCW MIT pro něj není žádná třída. Naučit se ho znamenalo prosít většinou skrytá zákoutí veřejných archivů MIT a pokusit se najít poznámky a zkoušky. Důsledkem toho je, že návrh filtrů, hlavní téma, v poznámkách zcela chyběl a já jsem nebyl schopen dokončit laboratoře (6 & 7) ani části zkoušky, které se jím zabývaly. Závěrečná zkouška nebyla, takže jsem absolvoval všechny tři semestrální zkoušky a hodnotil je společně.
    Scottovo hodnocení: 3/5

    1. Materiál k předmětu
    2. Laboratorní úkoly (upozornění velké), Pokyny k úkolům/soubory
    3. Moje odpovědi ke zkoušce
    4. Aktuální řešení MIT

    6.042J: Matematika pro informatiku – SPLNĚNO

    Grafy, teorie čísel, důkazy, pravděpodobnost a počítání jsou jen některá z témat probíraných v této vynikající třídě. Nejsou zde žádné videopřednášky, ale bezplatná učebnice je neuvěřitelná a poutavá. K dispozici je také obrovské množství zdrojů k procvičování úloh, které nabízejí zajímavé výzvy.
    Scottovo hodnocení: 5/5

    6.006: Úvod do algoritmů – DOKONČENO

    Úvod do algoritmů a teorie složitosti. Předmět poskytuje dobrou příležitost aplikovat koncepty návrhu algoritmů (dynamické programování, chamtivé algoritmy atd.) na skutečné problémy programování, což dává tomuto předmětu konkrétnost, která v 6.042J chyběla. Bohužel jsem si před napsáním závěrečné zkoušky neuvědomil, že není komplexní, takže jsem připojil i své kvízy, které jsem si nechal udělat na procvičení. Většinu úkolů jsem splnil, nicméně vzhledem k tomu, že v nich nebylo žádné řešení, nechal jsem je neoceněné.
    Scottovo hodnocení: 4/5

    18.06: Lineární algebra – SPLNĚNO

    Výborné videopřednášky a bohaté materiály udělaly z tohoto kurzu jeden z nejpřístupnějších v katalogu OCW. Prof. Gilbert Strang přednáší plynule a srozumitelně. Moje první zkouška z tohoto předmětu byla pouze 56%, takže jsem se rozhodl vzít si ještě jeden den na napsání zkoušky s vyšším počtem bodů, kterou jsem zveřejnil níže.
    Scottovo hodnocení: 6.041: Analýza pravděpodobnostních systémů – SPLNĚNO

    Kurz pravděpodobnosti se zabývá základy pravděpodobnosti s využitím kalkulu k analýze obtížnějších pravděpodobnostních otázek, než jaké byly položeny v 6.042J. Učebnice je určena speciálně pro tento kurz, takže je mimořádně užitečná.
    Hodnocení: Scott: 4/5

    6.002:

    Tento kurz se zabývá základy číslicových a analogových obvodů. Zkouška byla poměrně náročná a byla to první zkouška, u které mi skutečně došel čas na její spuštění. Bohužel oficiální řešení jsou přístupná pouze pro MIT, takže je sem nemohu nahrát pro srovnání. Tato třída slouží jako základ pro mnoho pozdějších tříd EE, takže jsem si jistý, že budu mít další šanci být opravdu vyzkoušen ze základních konceptů.
    Scottovo hodnocení: „Vím, že je to pro mě těžké: 4/5

    6.046J: Design and Analysis of Algorithms – COMPLETED

    Jeden z mých nejoblíbenějších předmětů! Předmět se zabývá některými pokročilejšími koncepty algoritmů, které nenajdete v 6.006, jako je dokazování, že konkrétní problémy jsou NP-úplné, aproximační algoritmy, šifrování, sublineární algoritmy a paralelní zpracování. Musel jsem však být opatrný, protože OCW verze tohoto kurzu je z doby před změnou studijního plánu MIT, kdy byl přidán kurz 6.006, takže pokrývá podstatně jednodušší látku než současné verze.
    Scott’s rating: 6.034: Artificial Intelligence – COMPLETED

    Skvělý kurz, který zahrnoval přehled různých technik umělé inteligence včetně vyhledávání, šíření omezení, neuronových sítí, jaderných strojů, učení konceptů a zpracování přirozeného jazyka. V rámci této třídy jsem také splnil 6 úkolů, které vyžadovaly, abych se naučil programovací jazyk Scheme. Jedním z problémů při psaní zkoušek pro tuto třídu byla různorodost sylabů, protože se probíralo tolik různých technik a specifika se lišila třídu od třídy.
    Scott’s rating: 5/5

    6.003: V této třídě se vyučují základy analýzy signálů a systémů, které rozšiřují matematické techniky poprvé probírané v 18.03. Ačkoli je tato třída užitečná nejen pro obvody, je zvláště důležitá pro pochopení takových věcí, jako je frekvenční modulace, zvukové filtry, redukce šumu, a dokonce slouží jako základ pro analýzu a manipulaci s obrázky. Toto byla také první zkouška, kterou jsem zpočátku nezvládl, naštěstí jsem se zlepšil a na druhý pokus jsem získal 69 %. Poznámka: Původní kurz, který jsem absolvoval, již není k dispozici. Zde je jeho náhrada.
    Scottovo hodnocení: 4/5

    6.004:

    Skvělá hodina vyučující na pomezí elektrotechniky a informatiky. Konstrukční projekt zahrnoval sestavení specifikace procesoru na úrovni hradel, tedy sestavení obvodů umožňujících sestavení počítače. Jedinou slabinou byl relativní nedostatek materiálu třídy, nicméně úkoly a laboratoře jsou silně podpořeny.
    Hodnocení: Scott:

  • Přístup k učebním materiálům zdarma
  • Laboratoře a projekty(Poznámka: Pro spuštění souborů je vyžadován BSim a JSim. Lze je volně stáhnout ze stránky kurzu)
  • Moje zkouška
  • Oficiální řešení MIT
  • 24.241: Logika I – SPLNĚNO

    Úvod do sentenčního a predikátového kalkulu, jejich odvozovacích systémů a metateoretických důkazů. Hodina mi přišla poměrně suchá a technická, ale nabídla dobré procvičení rigoróznějších metod dokazování, na rozdíl od neformálnějších stylů vyučovaných v hodinách informatiky. Bohužel odpovědi na zkoušky, které jsem použil k opravě své práce, nejsou veřejné, takže je zde nemohu zveřejnit.
    Scottovo hodnocení:

    14.01: Principles of Microeconomics – COMPLETED

    Mikroekonomii jsem absolvoval už při studiu ekonomie, takže drtivá většina tohoto předmětu byla rekapitulací. Nicméně vzhledem k tomu, že MIT má mnohem silnější matematický základ než moje alma mater, bylo osvěžující vidět přísnější technické definice mnoha pojmů. Strávil jsem nad tímto kurzem necelé čtyři dny, takže většina mých chyb pramenila ze zapomínání technických definic a vzorců, protože žádné nebyly uvedeny u zkoušky.
    Scott’s rating: 3/5

    6.033:

    Užitečný předmět, který učí základy počítačových sítí, šifrování, paradigma klient-server a internetu. Po předmětech 6.004 a 6.02, které se obsahově překrývaly, mi některé části hodiny přišly opakující se, ale i tak byly užitečné. Udělal jsem chybu, že jsem se dostatečně nesoustředil na úkoly ke čtení, protože odtud pochází většina učiva.
    Scott’s rating: 4/5

    6.013:

    Bezpochyby nejtěžší předmět, který jsem zatím v programu absolvoval. V hodině se kromě obecného rozšíření principů elektromagnetismu vyučovaných v 8.02 hojně využívá vektorový počet, transformace a komplexní notace. Pokud se chcete pokusit o tuto třídu, je dobré mít silné základy v tématech 6.003, 6.002, 18.02, 18.03 a 8.02. Zkoušku jsem složil jen těsně, takže je to rozhodně téma, ke kterému bych se chtěl někdy v budoucnu vrátit a dopracovat ho, protože vyjadřovalo spoustu zajímavých myšlenek.
    Scott’s rating: 3/5

    14.02:

    Makroekonomii jsem předtím také absolvoval, když jsem dělal bakalářské studium, takže to byla hlavně rekapitulace. Přesto se mi zdálo, že verze kurzu a podpůrné materiály z MIT jsou mnohem přístupnější. Je to skvělý předmět, pokud chcete pochopit ekonomiku jako celek. Poznámka: Původní kurz, který jsem absolvoval, byl vyměněn za kurz MIT. Zde je jeho náhrada.
    Scottovo hodnocení: „Můj kurz je velmi zajímavý: 3/5

    24.242: Logika II – SPLNĚNO

    Tento předmět byl celý založen na 8 domácích úkolech, takže množství testovacího materiálu, kterým jsem prošel, bylo bohužel slabší než u mnoha jiných. Přesto se mi tato hodina líbila, protože Godelovy věty o neúplnosti představují jednu z nejhlubších myšlenek, s jakými jsem se kdy v hodinách setkal.
    Scottovo hodnocení: 5/5

    6.011:

    Tato hodina byla rozšířením předmětu 6.003, Signály a systémy. Vychází ze základních pojmů analýzy signálů a filtrů a rozšiřuje je o stavové strojové reprezentace a stochastické signály. Zahrnutí náhodných signálů je velmi užitečné pro práci se šumem, takže mnoho pojmů v této třídě je praktičtějších než jejich ideální protějšky v 6.003. Velmi užitečná byla bezplatná učebnice/poznámky ke kurzu.
    Scott’s rating: 4/5

    24.244: Modální logika – SPLNĚNO

    Modální logika je logika možnosti a nutnosti a rozšiřuje základní predikátový kalkul. Je to zajímavá logika ke studiu, protože může představovat mnoho různých logických systémů v závislosti na přijatých axiomech (deontická, aletická, časová atd.). Závěrečná zkouška byla formou take-home final, takže jsem ji absolvoval během dvou dnů.
    Scott’s rating: 3/5

    14.20: Industrial Organization – COMPLETED

    V úvodních kurzech ekonomie se obvykle analýza zjednodušuje tím, že se předpokládá dokonalá konkurence nebo monopol. Tento kurz tento předpoklad odstraňuje a uvažuje o tom, jak si firmy vzájemně strategicky konkurují. Tato hodina ve mně skutečně podnítila zájem dozvědět se více o teorii her. Bohužel jsem si neuvědomil, že vzorová závěrečná zkouška je poměrně omezená, pokud jde o pokrytí obsahu, ale bylo to to nejlepší, co jsem mohl udělat.
    Scott’s rating: 3/5

    14.23: Vládní regulace průmyslu – UPLATNĚNO

    Obsah tohoto předmětu byl velmi podobný předmětu 14.20, i když byl zaměřen spíše na historické souvislosti a politický rámec než na stránku teorie her. Zajímavá třída, části učebnicové četby byly poměrně dlouhé (téměř 900 stran), nicméně úroveň matematické analýzy byla lehká, takže to umožňovalo snadné čtení.
    Scott’s rating: 3/5

    14.48J: Economics of Education – COMPLETED

    Vzhledem k povaze mého úkolu to byl zábavný předmět, protože zkoumal různé teorie vzdělávání. Většina hodiny mi připadala jako diskuse v základech ekonometrie, protože se zdá, že literatura není v mnoha základních myšlenkách jednoznačná (jsou menší třídy lepší? fungují voucherové programy?). V hodině se také zkoumaly rozdíly mezi standardní teorií lidského kapitálu ve vzdělávání a vysvětlením signalizace, ačkoli předložená literatura byla opět většinou neprůkazná.
    Scott’s rating: The class also examined the differences between the standard human-capital theory of education versus the signaling explanation, although, again, the literature presented was mostly inconclusive: 3/5

    6.005:

    Jedná se o povinný předmět na MIT zaměřený na vývoj softwaru: Elements of Software Construction – COMPLETED

    Toto je povinný předmět na MIT zaměřený na vývoj softwaru. Byl těžký, ne proto, že by byl příliš intelektuálně náročný, ale kvůli množství práce. Skládá se ze 3 týmových projektů, 3 individuálních projektů a několika laboratoří (samostatných úkolů). Váhal jsem, jestli se mám do tohoto předmětu pustit, protože časová náročnost ztěžuje přijímání takovýchto předmětů, nicméně nakonec jsem usoudil, že jedinou cestou je prostě udělat všechnu práci.

    Předmět se mi podařilo dokončit asi za 3 týdny, rozložené do zhruba dvou měsíců. Byla to jedna z nejpřínosnějších tříd, i když byla také časově nejnáročnější. Rád bych se u jednotlivých projektů zdržel déle, zejména u závěrečné aplikace pro instant messaging, kterou jsem postavil od nuly, abych ji mohl zkrášlit dalšími funkcemi. Třída je výbornou volbou, pokud jste již začínající programátoři, ale chcete se naučit více myšlenek na vysoké úrovni pro psaní nejen funkčního, ale i dobře navrženého kódu.

    Všechny projekty, které jsem napsal, jsem zveřejnil zde, i když k jejich spuštění budete potřebovat nainstalovanou Javu. Přiložil jsem také zápisy ke třem návrhovým projektům (omlouvám se za nedostatek kontrastu ve skenech!)
    Scottovo hodnocení: 5/5

    1. Přístup k učebním materiálům zdarma
    2. Všechny kódy
    3. Project Write-Ups
    4. MIT poskytl materiály a specifikace zadání

    6.801: Strojové vidění – SPLNĚNO

    Tato třída učí základy používání počítačových algoritmů k vidění, především v kontextu vedení robota k provádění akcí na základě těchto obrazů. Témata zahrnují zpracování binárních obrazů, detekci hran, Gaussovy rozšířené plochy, orientaci a fotogrammetrii. Předmět byl hodnocen dvěma kvízy s sebou domů a započítával se jako jeden ze dvou maturitních předmětů, které jsem v rámci výzvy absolvoval.

    Přednáška byla celkově náročná, využívala techniky Fourierovy analýzy, vektorového kalkulu, lineární algebry, kvadratického programování a variačního kalkulu, takže to byl pravděpodobně nejnáročnější předmět, který jsem absolvoval v oblasti aplikační matematiky. Bohužel nebyly žádné programovací úkoly, které by byly zajímavé.
    Scott’s rating: 5/5

    1. Přístup k učebním materiálům zdarma
    2. Moje zkoušky
    3. Oficiální řešení (a otázky)MIT

    6.837: Počítačová grafika – UPLATNĚNO

    Tento předmět vyučuje základy počítačové grafiky, především ray tracing, i když se vyučují i metody scanline. Hodnocení bylo založeno výhradně na úkolech (byly tam dva menší kvízy, ale neměly řešení, takže jsem je nepoužil). Úkoly začínaly základním ray casterem a plochým stínováním, postupně rozšiřovaly ray tracer o matné stínování, lesklé odrazy, vržené stíny, průhledné povrchy s indexy lomu, zrcadlový odraz a procedurální texturování. V rámci projektu byla také vytvořena datová struktura pro zrychlení mřížky, která nemá žádný vizuální efekt, ale výrazně urychluje relativně pomalý přístup ke grafice pomocí ray tracingu.

    Podrobnosti o použitém programovacím prostředí jsou uvedeny v souboru README.rtf ke kódu. Soubor je poměrně velký, ale obsahuje také všechny vykreslené obrázky, takže se můžete podívat na výstup, i když nebudete kompilovat/spouštět dané konkrétní scény. (Pro srovnání, oficiální výstupy MIT jsou přiloženy jako sample_res.pdf pro každé zadání, takže se můžete podívat, jak vypadá můj raytracer ve srovnání s nimi). Poznámka: Původní kurz, který jsem absolvoval, se změnil. Zde je náhrada.
    Scottovo hodnocení: Můj kód

  • Můj kód
  • Kód dodávaný MIT (a vzorové odpovědi)
  • COSC 545:

    Tento kurz nebyl kurzem MIT, ale postgraduálním kurzem teorie výpočtů, který vedl Cal Newport na Georgetownské univerzitě. Toto téma jsem opravdu chtěl studovat poté, co se mi líbily oba kurzy algoritmizace na MIT, ale v kurzu teorie složitosti na MIT chyběly jakékoli vyhodnocovací nástroje, které bych mohl použít. Některé zajímavé myšlenky z kurzu se týkají toho, které typy problémů lze řešit algoritmy (což znamená, že existuje postup pro řešení libovolné instance problému) a omezení rychlosti a paměti potřebné k řešení určitých tříd.

    Obsahuje také rozsáhlou diskusi o jednom z nejdůležitějších a nevyřešených problémů v matematice, zda P=NP, který by měl v závislosti na své odpovědi hluboké důsledky pro společnost a navzdory desítkám let práce a ceně jednoho milionu dolarů za jeho řešení na něj nikdo nedokázal odpovědět.

    Byly tam dvě zkoušky, které jsem psal a hodnotil, protože nebyly kumulativní.
    Scottovo hodnocení: 5/5

    1. Přístup k učebním materiálům zdarma
    2. Moje zkoušky

    Moje přednáška MIT Challenge TEDx

    Otázka k MIT Challenge

    1. Jaká pravidla dodržujete?
    2. Děláte všechny úkoly, seminární práce a projekty?
    3. Liší se vaše učební osnovy od osnov MIT?
    4. Co se stane, když neuspějete v hodině?
    5. Proč to děláte? Prostě tě baví se učit?
    6. Dostaneš za to diplom?
    7. Děláš předměty postupně, není to jen šprtání se na testy?
    8. Jaké máš s tímto předmětem zkušenosti z minulosti?
    9. Jsem bloger/reportér/novinář – jak vás mohu kontaktovat, abych se s vámi podělil o příběh?“

    Q) Jaká pravidla dodržujete?

    Protože nejsem zapsán na MIT (ani s ním nejsem nijak spojen), musel jsem si vytvořit vlastní pravidla, aby byla výzva spravedlivá, ale zároveň proveditelná. Základní pravidla jsou jednoduchá:

    1. Třídu považuji za úspěšně ukončenou, pokud se mi podaří složit závěrečnou zkoušku (což obvykle znamená získat známku alespoň 50 %, i když se snažím o mnohem vyšší).
    2. Zkoušku píšu za stejných omezení jako student: žádné nahlížení do otázek nebo řešení předem, žádné poznámky nebo zakázané materiály, stejné časové omezení (výchozí je 3 hodiny, pokud není uvedeno).
    3. Práce hodnotím sám a porovnávám je se skutečnými řešeními MIT. Obojí zveřejním, aby si kdokoli mohl překontrolovat mé metody známkování.

    Mějte na paměti, že toto jsou pouze minimální požadavky mé výzvy. U hodin, které mají významnou programátorskou složku, se snažím dělat reprezentativní programátorské úlohy, pokud je to možné.

    Q)Děláte všechny úlohy, referáty a projekty?

    U hodin založených na teorii nebo matematice jsou závěrečné zkoušky obvykle komplexním základem hodnocení, takže je budu používat jako své hodnocení. Většinu úkolů a kvízů nebo jejich části nakonec stejně dělám jako přípravu, ale protože nemohu udržet konzistenci tohoto kritéria po celou dobu soutěže (mnoho úkolů je buď nedostupných, nebo je nelze objektivně vyhodnotit), dělám je neformálně.

    U tříd se značným množstvím programátorské práce nebo praktických návrhových problémů se budu snažit splnit většinu úkolů. Protože je však obtížnější je hodnotit, stále se spoléhám na závěrečné zkoušky jako na hlavní kritérium pro tyto třídy.

    Q) Liší se vaše osnovy od osnov MIT?

    Strávil jsem téměř měsíc tím, že jsem se snažil dát dohromady co nejbližší zrcadlo skutečných osnov informatiky na MIT, podle kterých bych se řídil. Bohužel to nemohu udělat dokonale, protože některé předměty není možné ohodnotit (včetně laboratoří a výzkumných předmětů) a k jiným jsem neměl žádný online přístup.

    Bírám stejný počet kreditních hodin jako skutečný titul MIT, takže tam, kde jsem nemohl absolvovat některý předmět, jsem ho nahradil podobnou alternativou. Z hlediska objemu znalostí, které se mám naučit, je tedy můj studijní plán podobný tomu, který svým studentům navrhuje MIT.

    Jediná další výjimka s MIT se týká volitelných předmětů. Chodím na různé nepočítačové předměty, abych co nejlépe napodobil požadavky HASS pro studenty MIT. Ty však nejsou dokonalou shodou, protože online učební plán pro umělecké obory je na MIT podstatně slabší než pro přírodní vědy.

    Skutečný učební plán MIT pro informatiku si můžete prohlédnout zde.

    Q) Co se stane, když neuspějete v nějakém předmětu?

    Vzhledem k tempu, o které se pokouším, je myslím nevyhnutelné, že v nějakém předmětu neuspěji. Mým hlavním požadavkem je, abych složil závěrečnou zkoušku, takže pokud nějakou neudělám, dovolím si po ní složit jinou zkoušku.

    Mou strategií je zvolit přístup „fail-first“, abych efektivněji nakládal se svým časem na hodinách, kde mám několik závěrečných zkoušek, které mohu použít jako základ hodnocení. To se velmi liší od univerzity, kde neúspěch může být skutečným neúspěchem. To je výhoda sebevzdělávání oproti rigidním formálním institucím.

    Q) Proč to děláte? Studujete prostě rád?“

    Nikdo se neučí rád, ale každý chce být chytrý. Učit se, dostávat se k těmto poznatkům a cítit se chytřejší v daném předmětu je nesmírně obohacující. Škoda, že na to mnozí z nás po letech trestajícího formálního vzdělávání zapomněli.

    Přiznávám, že jsem možná trochu blázen nebo arogantní, když chci dokončit čtyřletý program za pouhých 12 měsíců. Mou skutečnou motivací je však ukázat lidem, že rychlejší učení je možné a že může být zároveň zábavnější.

    Q) Dostanete za to diplom?

    Ne, a právě o to jde. Naše společnost nesprávně ztotožňuje znalosti s akreditací. Získat kus papíru je skvělé a pro mnoho oborů je to zcela nezbytné. Ale toto rovnítko je kladeno tak silně, že lidé zapomínají, že tyto dvě věci jsou odlišné.

    Já už mám kariéru spisovatele a majitele malé firmy. Nikdy nechci pracovat pro velkou korporaci, kde by mě personalisté mohli zkoumat kvůli tomu, že nemám diplom. Pro mě je důležité, abych se naučil informatiku pro případ, že bych chtěl začít podnikat nebo pracovat pro nějaký start-up.

    Nemám nic proti vysoké škole. Univerzita pro mě byla úžasnou a hodnotnou zkušeností a mohla by být i pro vás. Doufám jen, že když ukážu alternativu, lidé, kteří mají pocit, že současný systém pro ně nefunguje, si najdou jinou cestu.

    Q) Není to jen šprtání se na testy?“

    Ne, ale rozdíl je jemný. Většina hodin navazuje na minulé koncepty, takže mým cílem u každé z nich je rozvinout hluboké porozumění, které mohu využít. Šprtání se obvykle uchyluje k memorování, aby se rychle zvládl test a pak se na to zapomnělo. Pochopení je těžší, ale ne nutně časově náročnější (a je podmínkou, pokud každá třída staví na té předchozí).

    Jako aktualizace: Od prvních čtyř tříd jsem postupoval 3-4 třídy paralelně najednou. Ačkoli to znamená opakování v mnohem kratším časovém úseku, než je obvyklé (1 měsíc místo 1 semestru), zvyšuje to výhody rozloženého opakování.

    Koneckonců, moje schopnost pochopit a podat adekvátní výkon v hodinách vyšší úrovně bude testem mé metody, protože většina hodin pro prváky slouží především jako základ pro obtížnější hodiny pro seniory.

    Q) Jaké máte s tímto předmětem zkušenosti z minulosti?

    Když jsem byl ještě na střední škole, věnoval jsem se poměrně dost programování, většinou tvorbě malých počítačových her. Kromě toho jsem absolvoval 4 kurzy informatiky na univerzitní úrovni, když jsem navštěvoval University of Manitoba kvůli studiu ekonomie. Ano, mám nějaké předchozí zkušenosti s programováním, což mi v této soutěži poskytne výhodu. Jak již bylo řečeno, moje předchozí úroveň dovedností není pravděpodobně daleko od mnoha studentů CS, kteří skutečně navštěvují MIT a pro které jsou osnovy založeny.

    Kromě toho jsem v červenci 2011 absolvoval první kurz 8.01 Klasická mechanika jako pilotní experiment pro tuto hlavní výzvu. Proto je počet kurzů, o které se pokouším v období 12 měsíců, oficiálně 32.

    Q) Jsem bloger/reportér/novinář – jak vás mohu kontaktovat, abych se s vámi podělil o tento příběh?

    Můžete mě kontaktovat na adrese [email protected] nebo použít formulář zde. Budu mít dost práce (ze zřejmých důvodů), takže se předem omlouvám, pokud mi bude chvíli trvat, než vyřídím e-maily, protože když pracuji na nějakém kurzu, obvykle jsem offline.

    Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna.