Skip to content

Latest commit

 

History

History
263 lines (158 loc) · 29.2 KB

rails-girls-varna-2015-august-coaches-guide.md

File metadata and controls

263 lines (158 loc) · 29.2 KB

Rails Girls Varna 1.0 - Coaches Guide

Документ с напътствия за инструктори и организатори на Rails Girls Varna 1.0, 16 август 2015 г., връзки към ресурси, бележки, уточнения и прочее.

Съдържание:

  1. TL;DR
  2. Въведение и предистория
  3. Общи напътствия и принципи
  4. Конкретно за това събитие и по програмата

TL;DR

След това прочетете това ръководство.

Въведение и предистория

Накратко за Rails Girls

Стартира в края на 2010 година във Финландия, като еднократно събитие, но бързо набира популярност. Днес – вече стотици събития в над 130 града по цял свят.

В България го организираме за пети път. Интересът е винаги голям.

Между другото, ако харесвате идеята на събитието – търсят се помощници за организацията на следващите събития и изобщо хора, които да поемат щафетата :)

За Rails Girls Varna 1.0

Неделя, 16 август 2015 г. За пръв път във Варна. Организира се основно от същия екип, който стои и зад Rails Girls Sofia, в тясно сътрудничество с екипа на VarnaConf.

Ще бъде в хотел "Черно море", гр. Варна, бул. Сливница 33, зала 1.

Неделя регистрацията отваря в 09:30. Началото е в 10:00 и продължаваме до около 16 ч. Програма тук.

Ще има кратка пауза за обяд и осигурен безплатен такъв. Сутринта ще има кафе.

Организацията е от доброволци. Парите от спонсори отиват за кетъринг, зала и swag.

Стикери и печатни материали, swag

Принтираме name tags, стикери, имаме плакати. Спонсорите също често предоставят рекламни материали, листи, химикалки и друг swag.

Pre-парти

Начало - събота, от около 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

Copy/Paste - ок

Темата е спорна. В ръководствата на 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 пред Атом, например.

In HTML We Trust

Започваме с кратък лекционен увод в програмирането. След това следва първата 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>

План за обяснения:

  1. HTML са командите, с които караме браузърите да рисуват неща по екрана. Суха дефиниция. След малко ще я илюстрираме.
  2. HTML е просто текст. Всеки текст е и HTML. Започва се с обикновен текстов файл, с разширение .html. Може да ползвате Notepad, или Notepad2, инсталиран в предишната стъпка, като направите уточнението, че и с Notepad става, просто с Notepad2 е цветно. Плюсът на Notepad е, че може да се демонстрира как само с вградените в операционната система инструменти, човек може да твори HTML. Бонус е когато впоследствие HTML файлът бъде отворен с по-умен редактор и когато се покаже оцветяването и нещата, които редакторът дава. Във файла участничките си пишат името на първия ред, оставят празен ред и пишат едно-две изречения за себе си. Може пак на отделни редове. Файлът се отваря с браузър. Всичко се вижда, но е на един ред. Изводи - какво значи whitespace-а за HTML (а и какво е "whitespace").
  3. HTML таговете са начални и крайни маркери. Задават структура. Имат сурова визия по подразбиране. Нека оградят първия ред - с името си - с <h1> таг. Може да го напишете на хартия, за да видят отварящия и затварящия таг и с какви скоби са. Може да им отнеме малко време да намерят символите на клавиатурата. Добре е те да си напишат тага. Запазете файла и презаредете браузъра. Обсъдете резултата - името е с големи букви и е на отделен ред. Вкарайте <p> след това. Споменете за различните видове h1, h2, ...
  4. Браузърите са толерантни към невалиден HTML – това, което сме създали, формално погледнато, е само парченце от цялостен HTML документ и е невалиден такъв документ, според формалната дефиниция. Но работи. Кажете какво друго има обикновено в един валиден HTML документ – <html>, <head>, <body>.
  5. 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 стилове, които коренно променят визията. Има линкове в самия сайт към алтернативни дизайни.
  6. При наличие на време и желание, може да покажете как изглежда един CSS документ и да обясните двете основни неща вътре: селектори (selectors) и правила (properties). Правилата задават конкретен визуален стил – цвят, шрифт, фон, размери и прочее. Селекторите пък указват за кои парчета от HTML да важи този конкретен визуален стил.

Не е нужно да се запомня всичко това, но ще е полезно за по-лесно ориентиране впоследствие.

Приложение

След увода в HTML, продължаваме с приложението.

Ще използваме ръководството в тази презентация: bit.ly/railsgirlsvarna1.

Обяд (13:00 - 13:30)

Обядът ще е на място и е осигурен от спонсорите.

Lightning talks (13:30 - 13:50)

След обяда ще има сесия от няколко кратки (петминутини) презентации за фокусиране на хората.

Събирам предложения за желаещи да говорят и темите им. Пишете до групата rails-girls-sofia-instructors@googlegroups.com с предложенията си. Вижте миналогодишните теми за вдъхновение.

Силно препоръчителни са истории пред (суха) теория. Това прави впечатление и се запомня. Мотивационните и забавни, неангажиращи презентации са много подходящи.

Workshop 2 (13:50 - 15:50)

След lightning talks продължаваме с workshop сесията и с работата над приложението.

Групова снимка и финал (15:50 - 16:00)

Заключителни слова и се събираме и правим една групова снимка по модел на #Friday Hug (нищо, че ще е неделя). Може да сте виждали груповата снимка от предни издания.

Сошал

Туитене и шерване на снимки и текст във Facebook се насърчава. Официален хештаг: #RailsGirlsVarna.

След събитието

Имаме доста пълно ръководство за това как да продължи човек след събитието. Въпреки това, може да се разшири и да се добавят още ресурси. Най-малкото има нови материали, които трябва да се добавят. Трябва обаче да внимаваме да не стане overwhelming.

Хората не продължават да се занимават много - сами им е трудно, или пък им липсва достатъчно мотивация. Затова имаме идеи.

Study groups и регулярни срещи

Ще разкажем за 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 приложение.

  • Третото издание на The Rails Tutorial

  • ExplainShell е полезен сайт за обяснение на shell команди

  • Microsoft осигуряват DreamSpark акаунти за всички учащи (студенти, ученици, магистри, докторанти...), кандидатствали за Rails Girls, не само за одобрените.

Допринасяйте за това ръководство с pull requests.