Pilotujte rychlé prototypování s JavaScriptem a třídou NodeJS

Tradiční výuka informatiky je na nic, pokud jde o moderní agilní technologie, jako jsou databáze Ruby on Rails, Django, NodeJS a NoSQL. Když jsem naposledy kontroloval, maximum, které bylo nabízeno, byly kurzy Web Design I, Web Design II a Photoshop Basics. WTF?! Nechápejte mě špatně. Mám magisterský titul v oboru informačních systémů a základů hodnot, ale nikdy mě nenaučili nic aktuálního. Bylo tam nějaké ASP, nějaké C++, nějaké SQL, ale většinu svého učení jsem musel dělat sám. Jistě existuje spousta informací na internetu a v knihách, ale ne každý má čas, odhodlání, soustředění a sebekázeň na zvládnutí nových technických dovedností tímto způsobem. Číst knihu nebo sledovat screencast prostě nestačí. Nejlepší učení pochází z 25 % knih, 25 % komunikace a diskuse mezi vrstevníky, 25 % vztahů mezi studenty a učiteli; posledních 25% je čas a cvičení na vlastní pěst.

Viděl jsem obrovskou potřebu efektivních technických školení a rozhodl jsem se ověřit svůj nápad. Měla jsem už dost zkušeností s výukou z vysokoškolských let, během kterých jsem napsala svou první učebnici, nechala ji o rok později vydat do osnov pro spolužáky a z výuky jógy. Potřeboval jsem pilotní kurz, a tak jsem oslovil startupový akcelerátor a fond StartupMonthly a nabídl jsem, že vyvinu a vyučuji školení „Rapid Prototyping with JavaScript and NodeJS“.

Vybral jsem si JavaScript a NodeJS, protože studenti budou moci používat stejný jazyk pro front-end i back-end vývoj. Jejich mozek se nemusí přepínat, což šetří čas a urychluje proces učení. NodeJS je stále populárnější díky své podpoře v reálném čase a já jsem pro tuto technologii velmi nadšený. Školení probíhá během dlouhého víkendu, začíná v pátek večer volitelnou relací otázek a odpovědí o nastavení vašeho prostředí. Pak máme dva celé dny v sobotu a neděli, takže kurz celkem 16 hodin. Tímto způsobem si lidé, kteří mají zaměstnání na plný úvazek, nemusí brát volno, aby se mohli zúčastnit. Hodina je velmi praktická a pokud možno v souladu s principy Flipped Teaching.

Den 1

Cílem nebyl zisk. Takže jsme velmi agresivně stanovili cenu školení dvakrát nebo třikrát níže, než je tržní cena našich konkurentů, abychom přilákali studenty. Výsledky byly úžasné! Cílem bylo prodat alespoň 10 míst a v první třídě jsme měli 15 lidí! Velké díky Yuri Rabinovich, zabijáckému týmu StartupMonthly a jeho rozsáhlé síti lidí se zájmem o technologie :)

Den 2

Pak začala tvrdá práce. V pravém duchu metodiky štíhlého startu (hej, to je to, co učíme, že?) manuál obsahoval jen minimum informací a byl přizpůsoben středně pokročilým vývojářům webu a JavaScriptu. Většině se dařilo dobře, ale nemůžu to říct za všechny. Byla to pro mě dobrá zpětná vazba a pomohla vylepšit příručku tím, že obsahuje mnoho jednoduchých kroků a další terminálové příkazy pro nasazení a Git.

„Optimalizovat, ale nepřehnaně optimalizovat“

Celkově byli studenti unavení, ale spokojeni s množstvím nových technologií, které vyzkoušeli. Byl to jakýsi čínský bufet programování. Nemusíte zkoušet všechno, vyberete si jen to, co chcete a dopřejete si to :) Zde je seznam témat, abyste měli představu:

  • Agilní, kontinuální nasazení, TDD, párové programování
  • Základní technologie front-end:JavaScript, HTML, CSS
  • NodeJS a jeho výhody. Programování řízené událostmi.
  • Koncepty MongoDB a Document Store a Key-Value.
  • JSON, struktura a příklady.
  • Umí počítat. Cloudové platformy:Windows Azure, Heroku.
  • Struktura požadavku a odpovědi HTTP:záhlaví, tělo, metody
  • RESTful API, příklady a výhody.
  • Přehled HTML:struktura, značky a syntaxe. Zahrnutí CSS, souborů/značek JavaScript.
  • jQuery:AJAX, volání mezi doménami a JSONP
  • Twitter Bootstrap:rozložení mřížky, komponenty formuláře, ikony
  • MÉNĚ:mixinů, proměnných a kompilace.
  • BackboneJS:struktura, události, pohled, dílčí pohledy, modely, kolekce a posluchače událostí a vazba událostí.
  • Parse.com:jednoduchá volání REST API s funkcí ajax jQuery a JavaScript SDK s knihovnou kompatibilní s páteří.
  • Generování klíčů SSH, konfigurace Git, GitHub, Heroku a Windows Azure pro nasazení.
  • Instalace a základní konfigurace NodeJS a MongoDB v lokálním prostředí.
  • Nasazení NodeJS a MongoDB a statických/front-endových aplikací do cloudových služeb PaaS, jako jsou Windows Azure a Heroku s Git.
  • Vytváření ukázkových aplikací pomocí NodeJS, jQuery, BackboneJS, Twitter Bootstrap, MongoDB, Parse.com a dalších nástrojů/technologií. Nasazení do cloudových služeb.
  • Vytvoření vlastního nápadu/prototypu a jeho prezentace. Nasazení do cloudových služeb.
  • Procvičování technik párového programování a testováním řízeného vývoje.

Další miliardový nápad

Do konce víkendu jsme měli 3 týmy po 2 až 3 lidech v každém. Týmy vytvořily nebo začaly vytvářet aplikace pomocí svých vlastních nápadů. Jedním z nich byl remake Redditu s lepším UX/UI a druhým byla služba pro naštvané bývalé přítelkyně, aby posílaly (tuším, že většinou negativní) ohlasy na své bývalé přítele :)

Zde jsou některé posudky od studentů:

Sezení otázek a odpovědí

Příští víkend, 10.–12. srpna 2012, učím druhou hodinu „Rapid Prototyping with JavaScript and NodeJS“. Jsem nadšený, že se mohu podělit o své zkušenosti a vášeň s dalšími 10–20 chytrými lidmi a udělat malou díru v technickém vzdělávání!

Školení „Pokročilé prototypování s JavaScriptem a NodeJS“ a „Mobilní prototypování s JavaScriptem“ se chystají o víkendu 25.–26. srpna 2012. Připravujeme další města jako Los Angeles a New York a (klepneme na dřevo) budoucnost pro sérii „Rapid Prototyping“ vypadá velmi slibně.