Документ с напътствия за инструктори и организатори на Rails Girls Varna 1.0, 16 август 2015 г., връзки към ресурси, бележки, уточнения и прочее.
Съдържание:
- Елате в 09:30 в неделя. Хотел "Черно море", бул. Сливница 33, зала 1. На втория етаж.
- Прочетете In HTML We Trust.
- Ще се движим по тази презентация: bit.ly/railsgirlsvarna1 (кодът ѝ в GitHub) - прочетете я. Бонус - направете нещата по нея, ако имате инсталирана среда.
- Ползвайте тези bit.ly/railsgirlscheatsheets.
- Цялата необходима документация на Sinatra е в това one-page README.
- Ще имате данни за достъп до Nitrous.io за двете си участнички на имейла. Ако има проблем, намерете Митьо.
След това прочетете това ръководство.
Стартира в края на 2010 година във Финландия, като еднократно събитие, но бързо набира популярност. Днес – вече стотици събития в над 130 града по цял свят.
В България го организираме за пети път. Интересът е винаги голям.
Между другото, ако харесвате идеята на събитието – търсят се помощници за организацията на следващите събития и изобщо хора, които да поемат щафетата :)
Неделя, 16 август 2015 г. За пръв път във Варна. Организира се основно от същия екип, който стои и зад Rails Girls Sofia, в тясно сътрудничество с екипа на VarnaConf.
Ще бъде в хотел "Черно море", гр. Варна, бул. Сливница 33, зала 1.
Неделя регистрацията отваря в 09:30. Началото е в 10:00 и продължаваме до около 16 ч. Програма тук.
Ще има кратка пауза за обяд и осигурен безплатен такъв. Сутринта ще има кафе.
Организацията е от доброволци. Парите от спонсори отиват за кетъринг, зала и swag.
Принтираме name tags, стикери, имаме плакати. Спонсорите също често предоставят рекламни материали, листи, химикалки и друг swag.
Начало - събота, от около 20 ч. Партито ще бъде заедно с afterparty-то на VarnaConf. Мястото още не е уточнено - следете социалните канали на Rails Girls Sofia и VarnaConf за информация по темата.
Ще има по едно безплатно питие от спонсорите за инструктори и участнички от спонсорите.
Целта е социализация, особено между участниците, за да помогне за създаването на общност.
Да запалим участниците.
Да им покажем, че технологиите и програмирането не са изобщо толкова страшни и необятни, колкото изглеждат на пръв поглед и че това не е занаят само за богоизбрани, или за хора с бради. Че в умели ръце, технологиите се превръщат в могъщ инструмент за постигане на невероятни цели и – защо не – за промяна на света.
Ще следваме предварително дефинирана програма. Хубаво е да се стигне до крайната цел - работещо приложение, но не на абсолютно всяка цена. По-важно е у участничките да бъде събуден интерес от нещо, което им е доставило удоволствие – дали ще е писане на HTML и CSS, или ръчкане в Ruby, или промяна по приложението – това трябва вие да усетите. Бъдете гъвкави.
Петя Панайотова е една от участничките. Завършила е журналистика в Софийския университет "Св. Климент Охридски" и казва следното в мотивацията си:
"Интересът ми към уъркшопа се дължи на все по-осъзнатия ми интерес и отношение към програмирането и технологиите. Възможностите и предизвикателствата, които те предлагат, са все по-привлекателни за мен. Наскоро гледната ми точка към програмирането се промени, като това разбира се не стана изведнъж. Осъзнах, че в училище съм си създала погрешна и ограничена представа (не без ""съдействието"" на програмата по предмета, начина на преподаване и липсата на ефектива комуникация с преподавателя) за процеса на програмиране и това, което може да се постигне чрез него. Тази негативна гледна точка се е дължала на неразбиране и незадълбочен поглед. (...)"
Тези предразсъдъци и грешни представи са едни от основните проблеми, които е добре да адресираме.
Най-важното нещо са времето и мотивацията на участниците. Това е ресурсът, който в никакъв случай не трябва да пропиляваме и към който трябва да се отнасяме с изключително внимание.
Всички ние, като инструктори, имаме тежката задача да преглътнем гордостта и егото си. Не е важно ние да блеснем с нещо – важно е да се движим към основната цел на събитието и да се грижим участниците да се чувстват комфортно.
Ако не се набива на очи, че помагате, но нещата вървят – значи сте си свършили работата перфектно.
Групите са по две участнички на инструктор. Ще има разпределение и ще получите информация за участничките и тяхната мотивация и бекграунд.
Възможно е да има такива, които да не дойдат. Допускаме малко размествания по време на самото събитие.
Ако ми пишете с желание да сте инструктор на конкретен човек, ще опитам да ви изпълня желанието.
Извадки на много, много важни моменти от ръководството за инструктори, което всеки трябва да прочете преди събитието:
- Ask students "What do you want to get out of class?" (Всеки инструктор ще получи информация за участниците си - мотивация, информация за опит, данни за контакт и др. Целта е да се настроите максимално на правилната честота.)
- Assume that anyone you're teaching to has 0 knowledge but infinite intelligence
- Admit your ignorance
- Tell people it's ok to make mistakes
- Try to avoid technical jargon
- Don't say "any questions?"; say "What questions do you have?"
- Get the students talking to each other
How to introduce yourself to the class:
- tell your story
- tell why you like programming and teaching.
- beware of bragging
- tell why you care! Why are you getting up on saturday morning to come in here?
Pace:
- Slow down! Wait much longer than you feel is comfortable for questions/comments
Темата е спорна. В ръководствата на Rails Girls насърчават copy/paste, докато има хора (включително и моята първоначална реакция), които смятат, че не трябва да се използва copy/paste.
В крайна сметка, всичко зависи от целите и времето, с което разполагаме. Някои команди на конзолата, особено тези за генериране на scaffold с определени полета, са доста дълги и дори един сбъркан символ ще доведе до нуждата от пренаписване на командата. Това отнема време и човек трябва да прецени доколко инвестираното време ще има възвращаемост и дали не е по-добре да се инвестира в обяснения на по-високо ниво.
За нашите конкретни цели - да запалим интерес и предвид времето, с което разполагаме, copy/paste се препоръчва, особено ако командата е повече от една-две думи. За кратки команди може да ги карате да ги пишат.
Метафорите са силно оръжие, но са и нож с две остриета. Лоши метафори може и да навредят. Помислете предварително за някои, използвайте ги.
Някои примери:
- MVC = Магазин: витрина, служител, складово помещение
- Бази данни = Excel файл; таблици = sheet в Excel файл
- HTML, CSS, = плодова торта с различни слоеве (тук е описано)
Ако имате добри идеи, правете PR и допълвайте този списък.
Програмата е тук: http://railsgirls.com/varna#schedule
Елате към 09:30, ще има кафе. Добре е да сте по местата си, за да може да се запознаят с новодошлите, да разчупят леда и, ако им е скучно, да се мине на стъпка "Среда за разработка".
За да бъде максимално стройна организацията и да не се лутат хората, съм подготвил предварително разпределение на участничките по инструктори.
Всички инструктори трябва да имат name tags, надписани с червен маркер. При регистрация, всяка участничка ще бъде информирана как се казва нейният инструктор и ще трявба да го намери. Затова вероятно ще подредим всички инструктори по азбучен ред в залата :)
Участничките ще имат name tags, надписани с черен маркер.
Вместо да се инсталира необходимия за разработка софтуер, ще ползваме cloud-базираната среда Nitrous.io.
Тъй като безплатният акаунт на Nitrous.io не е достъпен за България все още, сме се разбрали с Nitrous да ни предоставят определен брой предварително създадени акаунти. Всеки инструктор ще получи акаунти с пароли на имейла, които да ползва за участничките си.
Метафора: Всеки майстор има нужда от определен набор инструменти и си има собствена работилница, в която твори. Вместо да ви караме да отделяте време, за да се снабдите с всички необходими инструменти и да си обзаведете собствена работилница специално за това събитие, ние ще ви дадем достъп до една готова такава, под наем – това е услугата Nitrous.io.
Когато участничките влязат в Nitrous.io, може да им обясните какво всъщност замества тази услуга – редактор, терминал/конзола, файлове, стартиране на процеси.
Ако прецените, че на операционната система на участничката ще е лесно да се инсталира необходимият софтуер, вижте секцията "Инсталация" в това ръководство.
Единственото нещо, което може да свалите, е Notepad2 (директен линк, x86), за да е цветен HTML-ът, който ще показвате в следващата секция. Други инструменти, които може да ползвате, са Sublime Texxt и Atom. Вие трябва да решите каквъв редактор ще бъде използван, но отделете няколко минути, в които да обясните какво е среда за разработка, какви налични инструменти за разработка на Ruby on Rails съществуват и защо предпочитате Sublime пред Атом, например.
Започваме с кратък лекционен увод в програмирането. След това следва първата workshop сесия, в която ще се работи над приложението. Преди да се започне самото приложение, ще има кратъка (ок. 45-60 мин.) загрявка с HTML и CSS.
Идеята е участничките да свикнат какво е HTML (съдържание и структура) и какво е CSS (цветове, шрифтове, размери, отмествания, фон, шаренко). Да разберат, че HTML е технология (не точно език за програмиране), която е градивното блокче на интернет, на нея стъпва визуализацията на всички сайтове - това е, което се точи по жицата до нашия компютър.
Как:
Давате обещание на участничките, че след половин час ще са написали първата си уеб страница, на HTML (ако вече не са писали, разбира се; добре е да ги питате преди това). Започвате с един обикновен тесктов редактор, примерно Notepad, в който да пишат текст и да запазят файл като .html
. Внимание - на Windows е добре да изключите опцията, която крие разширенията на файловете - инструкции тук. Текстът може да е част от нещо, което да стане като страничка-визитка на участничката. Нещо такова:
<!DOCTYPE html>
<html>
<head>
<title>Dimitar Dimitrov</title>
</head>
<body>
<h1>Hi, I'm Dimitar!</h1>
<p>I'm a software developer. I mostly do web programming with Ruby on Rails.</p>
<p>I like to:</p>
<ul>
<li>Read. Who doesn't? But can we find the time?</li>
<li>Travel.</li>
<li>Solve problems.</li>
<li>Learn stuff.</li>
</ul>
<p>
<a href="mailto:me@ddimitrov.name">Get in touch</a>
</p>
<p>
<img src="http://gravatar.com/avatar/9d3a04d8252ce89d5edbb0268af7ad8e?s=100" alt="That's me.">
</p>
</body>
</html>
План за обяснения:
- HTML са командите, с които караме браузърите да рисуват неща по екрана. Суха дефиниция. След малко ще я илюстрираме.
- HTML е просто текст. Всеки текст е и HTML. Започва се с обикновен текстов файл, с разширение
.html
. Може да ползвате Notepad, или Notepad2, инсталиран в предишната стъпка, като направите уточнението, че и с Notepad става, просто с Notepad2 е цветно. Плюсът на Notepad е, че може да се демонстрира как само с вградените в операционната система инструменти, човек може да твори HTML. Бонус е когато впоследствие HTML файлът бъде отворен с по-умен редактор и когато се покаже оцветяването и нещата, които редакторът дава. Във файла участничките си пишат името на първия ред, оставят празен ред и пишат едно-две изречения за себе си. Може пак на отделни редове. Файлът се отваря с браузър. Всичко се вижда, но е на един ред. Изводи - какво значи whitespace-а за HTML (а и какво е "whitespace"). - HTML таговете са начални и крайни маркери. Задават структура. Имат сурова визия по подразбиране. Нека оградят първия ред - с името си - с
<h1>
таг. Може да го напишете на хартия, за да видят отварящия и затварящия таг и с какви скоби са. Може да им отнеме малко време да намерят символите на клавиатурата. Добре е те да си напишат тага. Запазете файла и презаредете браузъра. Обсъдете резултата - името е с големи букви и е на отделен ред. Вкарайте<p>
след това. Споменете за различните видове h1, h2, ... - Браузърите са толерантни към невалиден HTML – това, което сме създали, формално погледнато, е само парченце от цялостен HTML документ и е невалиден такъв документ, според формалната дефиниция. Но работи. Кажете какво друго има обикновено в един валиден HTML документ –
<html>
,<head>
,<body>
. - CSS е за визия, оформление, шарено HTML е създаден 1993 г., а CSS - 1996 г. Първоначално е имало само HTML. Покажете един сайт с включен CSS и с изключен CSS – каква е разликата, как се вижда "голият" HTML. За да може да изключите CSS-а, ще трябва да инсталирате Web Developers toolbar за Chrome/Firefox. Там има "disable stylesheets" опция. Алтернативно, в Google Chrome, може да отворите вградения developer tools, да отидете на таб "Sources", там в дървото вляво да намерите CSS документите и в текста вдясно да изтриете кода. Определено покажете CSS Zen Garden - идеята на този сайт е, че HTML-ът е един и същ, но има различни CSS стилове, които коренно променят визията. Има линкове в самия сайт към алтернативни дизайни.
- При наличие на време и желание, може да покажете как изглежда един CSS документ и да обясните двете основни неща вътре: селектори (selectors) и правила (properties). Правилата задават конкретен визуален стил – цвят, шрифт, фон, размери и прочее. Селекторите пък указват за кои парчета от HTML да важи този конкретен визуален стил.
Не е нужно да се запомня всичко това, но ще е полезно за по-лесно ориентиране впоследствие.
След увода в HTML, продължаваме с приложението.
Ще използваме ръководството в тази презентация: bit.ly/railsgirlsvarna1.
Обядът ще е на място и е осигурен от спонсорите.
След обяда ще има сесия от няколко кратки (петминутини) презентации за фокусиране на хората.
Събирам предложения за желаещи да говорят и темите им. Пишете до групата rails-girls-sofia-instructors@googlegroups.com с предложенията си. Вижте миналогодишните теми за вдъхновение.
Силно препоръчителни са истории пред (суха) теория. Това прави впечатление и се запомня. Мотивационните и забавни, неангажиращи презентации са много подходящи.
След lightning talks продължаваме с workshop сесията и с работата над приложението.
Заключителни слова и се събираме и правим една групова снимка по модел на #Friday Hug (нищо, че ще е неделя). Може да сте виждали груповата снимка от предни издания.
Туитене и шерване на снимки и текст във Facebook се насърчава. Официален хештаг: #RailsGirlsVarna.
Имаме доста пълно ръководство за това как да продължи човек след събитието. Въпреки това, може да се разшири и да се добавят още ресурси. Най-малкото има нови материали, които трябва да се добавят. Трябва обаче да внимаваме да не стане overwhelming.
Хората не продължават да се занимават много - сами им е трудно, или пък им липсва достатъчно мотивация. Затова имаме идеи.
Ще разкажем за study групите в София и колко успешни са се оказали те – регулярни ежеседмични срещи, на които да присъства поне един инструктор и желаещи участници, както от това, така и от минали Rails Girls събития, включително и хора, които не са били на Rails Girls.
Набираме местни инструктори-доброволци.
Ако искате дa продължите да се занимавате, моля да посетите нашата Facebook група: RailsGirlsVarnaStudyGroup
-
Безплатни копия на "Learn Rails" от Daniel Kehoe
Visit the web address learn-rails.com/railsgirls and enter the invitation code
RAILSGIRLS
to register and download the ebook. -
Официалното Ruby on Rails ръководство, в което ще се запознаете как да си направите Вашето първо Rails приложение.
-
ExplainShell е полезен сайт за обяснение на shell команди
-
Microsoft осигуряват DreamSpark акаунти за всички учащи (студенти, ученици, магистри, докторанти...), кандидатствали за Rails Girls, не само за одобрените.
Допринасяйте за това ръководство с pull requests.