Silverlight-os technológiák haladóknak tanfolyam tapasztalatai

Posted: 2010. augusztus 16. in Silverlight

Hát ezzel is megvolnék: tartottam diákoknak Silverlight haladó tanfolyamot, olyan témakörökről és technológiákról, melyek egy része rosszul dokumentált.

Ebben a blogbejegyzésben szeretném Veletek megosztani a tapasztalataimat a tanfolyam előkészületeitől egészen a pénteki euforikus érzésig (vége-vége-vége).

 
A történet ott kezdődött, hogy július közepén a számítógépem alaplapja és tápegysége rendkívül intim viszonyba került egymással, konkrétan olyan forróság járta át őket, hogy összeégtek. 

A képhez nem fűznék kommentárt, a lényeg a lényeg, hogy tönkrement a gépem. Már egy ideje gondolkodtam azon, hogy kéne vennem egy notit, ezért úgy láttam éppen itt az ideje, eme beruházás materializálásának. Meg is rendeltem a gépet, amelyre azt mondták, hogy azt követő hét elejére meg is lesz… hát nem így lett… végül is augusztus 3.-ától tudtam használatba venni az én kis DRÁGASZÁGom. Ennek köszönhetően egyik géptől a másikig folyton cápáztam itthon a család számítógépei között, amíg meg nem lett az új gépem. Így át tudtam írni az SL kezdőknek tanfolyam demóit és diáit SL 4.0-ásra. Szerencsére Bálinttól kaptam egy kölcsön notit július legvégén emiatt úgy, ahogy tudtam dolgozgatni. Persze én naivan azt gondoltam, hogy a délelőtti kezdőknek szóló tanfolyam után lesz még annyi lelkierőm délutánonként, hogy dolgozni tudok a haladóknak szóló tanfolyamon. Hát nem így lett…  Így maradt egyetlen hetem arra, hogy összedobjam azt a 6 diasort és azt a több mint 30 demót, amelyet a múlt héten nagyrészt bemutattam a nagyérdeműnek.

Szóval úgy kezdtem el dolgozni AZ ANYAGON, hogy kevés időm volt és egy vadi új gépem. Már az első nap rájöttem, hogy amit kiadtam előzetesen tematikát az át kell gondolnom, mivel ennyit nem lett volna időm normálisan kidolgozni. Így hát kiválogattam a szerintem érdekesebb és valamilyen szinten nehéz témaköröket, majd átírtam a tanfolyam címét. Erre azért volt szükség, mivel nem egy Silverlight dig deep into tanfolyamot készültem összeállítani (pl.: Adatkötés alfától omegáig és tovább), hanem egy olyat, ahol olyan technológiákat mutatok be, melyek Silverlight alapúak és az üzleti alkalmazások fejlesztésénél nyújtanak nagy segítséget. Ezért lett a tanfolyam új neve: Silverlight-os Technológiák haladóknak.

Ezek után jött a témakörök szintjeinek meghatározása. Mivel tudtam, hogy az SL kezdőknek tanfolyamról is fognak jönni egy jó páran (őket hívtam a tanfolyamon „A bátraknak”), ezért nem mehettem túlságosan mély szintre. (Bár alapból nem is terveztem, de ez így jó kifogásnak tűnt  ) Emiatt megpróbáltam belőni a LEVEL 300-at, vagyis bevezető előadást akartam tartani az egyes technológiákról, de úgy, hogy azért néhány dolgot feltételezek a hallgatóságról. Konkrétan minimális SL (pl.:  ha azt mondom, hogy kétirányú adatkötés, akkor ne pislogjanak) és szoftvertechnológiai alapismeretek. Utóbbira azért volt szükség, mert eléggé sok ott használt fogalmat szerettem volna felhasználni a tanfolyam során. (pl.: Design Pattern, Inversion Of Control, N-tier, MVC, szoftver életciklus, stb.) Végülis úgy döntöttem ezeket is bele veszem az anyagba, mert nem árt, ha össze vannak foglalva egy-egy dián. Továbbá az anyag összeállítása során fontosnak tartottam, hogy legyenek az egyes témakörök végén egyéni munkák, hogy a hallgatók el tudják mélyíteni a tudásukat, így a neten eléggé sokat keresgéltem megfelelő step-by-step-ek után (amiket aztán a tanfolyamon skip-eltünk , de erre majd mindjárt visszatérek).

Most, hogy már minden megvolt az előkészületek közül, így neki is vágtam a demók és diák gyártásának. (Ekkor már megvoltak a témakörök, de a sorrend még nem). Elsőként a MEF-hez készítettem el a demókat, amivel eléggé gyorsan haladtam, mivel semmilyen problémába nem futottam bele. Utána jött a diakészítés, aminél a legnagyobb fejtörést, mint mindig, az adott technológia bevezetése okozta. Így a slideshare oldaláról sok-sok diasort leszedve válogattam össze a megfelelő ábrákat. Bár tudom eléggé hihetetlennek hangzik, de nem rendelkezek túl nagy önbizalommal, vagy pontosabban fogalmazva szeretem, ha megerősítenek abban, amit csinálok, hogy az jó. Ezért Árvai Zoli barátomat megkértem, hogy néhány diasoromat legyen szíves nézze át. Ez utónis köszönöm a sok-sok javaslatot és véleményt, amellyel elősegítette, hogy a diasorok teljesebbek és precízebbek legyenek.

A többi diasor és demóalkalmazás elkészítése nagyrészt gördülékenyen ment kivéve az MVVM és a Dynamic Languages  (dinamikus nyelvek) részt. Ezekkel a fő probléma az, hogy nincsen egy hivatalos forrás, ahonnan meg lehet őket jól tanulni, így nincs egy tematika, ami alapján érdemes lehet végig venni az egyes feature-öket. Emiatt az MVVM-nél én inkább magára a DI-re és a többi technológiával való együttműködésre fektettem a nagyobb hangsúlyt, nem pedig pl.: a ViewModel-ek között kommunikációra, a validációra, stb.. „Ahány előadó, annyiféle megközelítés”.
A dinamikus nyelvekkel kapcsolatban a legnagyobb problémát az okozta, hogy meghatározzam, melyik nyelvből, mennyit kéne ahhoz bemutatni, hogy se ne legyen túl felületes, se ne legyen túl mély. (Eléggé nehéz megtalálni, ezt az arany középutat.) Ja és persze a legjobb az egészben, hogy 2 nyelv alapjait kell bemutatni + dinamikus nyelvi koncepciókat + mindez, hogyan illik bele az SL programozási modellbe és milyen előnyeink származnak ebből. Szóval summázva, nem egy egyszerű dolog. (Dynamic Langauges-re még a blogbejegyzés végén visszatérek).

Augusztus 8.-án befejeztem a diagyártást és félve bár, de úgy saccoltam, hogy az összeállított anyagokat kb. 4 nap alatt le tudom adni. Hát itt is sikerült eléggé alul becsülnöm magam , ugyanis az első három nap alatt vettük végig az első két témakört (WCF Duplex Communication, WCF Data Services (+ REST)). A maradék két napra maradt 4 diasor, amit végül lecsökkentettem háromra (Dynamic Languages-t kivettem a repertoárból).  Ennek persze egyrészt én vagyok az oka, hiszen eléggé sokat meséltem mindenféle silverlight-os és szoftver technológiai dolgokról, hogy még tisztább legyen a kép egy-egy adott technológia kapcsán. Másrészről viszont a hallgatóság is közrejátszott a tanfolyam haladási sebességének alakulásában. Voltak egy páran, akik még nem érezték teljesen magukénak a XAML szintaxisát vagy a WCF-es proxy használatát, így eléggé sok elírás és rossz helyre kattintás miatt, sok időt kellett eltöltenem a problémák kibogozásával. Ne értsétek félre ez nem probléma, csak ha a résztvevőknek nagyobb tapasztalata lett volna, és nagyobb biztonsággal tudtak volna mozogni a Silverlight-ban, akkor egy kicsit gyorsabban is haladhattunk volna. (Illetőleg, akik értettek hozzá azok nem unatkoztak volna). A kicsit lassabb haladás miatt sajnos ki kellett vennem az egyéni laborgyakorlatokat, ami szerintem fontos, de végülis, aki akar vele a későbbiekben foglalkozni úgy is végig fog csinálni egy jó pár ilyet…

Összességében nekem azt sikerült levonnom a tanfolyamból az anyagokat illetően, hogyha a WCF Duplex kommunikációt kihagyom és esetleg a WCF Data Services elején kevesebbet foglalkozok a REST-es résszel, akkor az 5 napba ilyen tempóval belefér az 5 témakör (-duplex, -rest, + dynamic). Bár nehezen mondok le a Duplex-ről, mert én eléggé sokat foglalkoztam vele és (aki olvasgatja a blog-omat, az tudja, miről beszélek), de végülis a többi technológia sokkal gyakrabban előfordul az üzleti alkalmazásoknál, mint ez, ezért ezt a jövőben lehet csak a kispadon tartom.

Ami magát a tanfolyam egészét illeti, nekem nagyon pozitív benyomásom van róla, ugyanis sok értelmes ember verődött ott össze, akik közül sokan mertek kérdezni is . A végén kitöltetett értékelő lap alapján nagyon jó visszajelzéseket kaptam, amelyet köszönök szépen.  Szóval én úgy értékelném a tanfolyamot, hogy jól sikerült, és remélhetőleg a résztvevők is sokat tanultak belőle.

Ami pedig a jövőt illeti. Egyrészt úgy tervezem, hogy a kimaradt dinamikus nyelvekből, majd készítek valamikor egy rövid screencast sorozatot, amely bemutatja az alapjait az egésznek. (Lehet, hogy a videók angol nyelvűek lesznek, de egyelőre még nem döntöttem el. Szerintetek milyen nyelvű legyen? Mivel nincs túl sok ilyen témájú angol nyelvű videó, ezért én eléggé erőteljesen hajlok afelé, hogy ilyet készítsek, így széles körben is tudom terjeszteni az igét ). Másrészt pedig a jövőben előfordulhat, hogy több magasabb szintű (level 300-400) tanfolyamot vagy előadását fog tartani az MS. Remélem a többi előadó is látja ennek a szükségességét .
 

Akinek bármilyen véleménye, megjegyzése, esetleg ötlete van a tanfolyammal, a diasorokkal, a demókkal kapcsolatban kérem, ossza meg velem, hogy a jövőben még jobbá tudjam alakítani őket. Előre is köszönöm a segítségeteket.

Hozzászólások
  1. Péter szerint:

    Most már lehet kommentálni…Az új Live valamiért alapból csak a barátoknak engedélyezte a kommentálást… no comment

Hozzászólás