Уводна лекция за курса "Програмиране с Ruby", който се води във ФМИ към СУ през учебната 2015/16 г. Версия на презентацията с бележки. Повече информация: http://fmi.ruby.bg/
1. Да развиете техническите си умения 2. Да се срещнете с нови технологии 3. Да развиете нетехническите си (комуникационни) умения 4. Да повишите кръвната си захар Ако искате:
Две целеви групи: 1. По-напреднали и по-“лакоми” за информация 2. Студенти с минимални познания, опит и понякога – демотивирани Нашите наблюдения от предишни курсове са, че има основно два типа студенти: 1. Силно мотивирани, с повече опит и теоретични познания, готови да отделят много време на курса и които напредват с много бързи темпове. 2. Студенти на ръба на демотивацията,с минимални познания и минимален или никакъв опит.
1. Задавай въпроси 2. Не се отказвай Ако чувствате, че има нещо, което не сте осмислили добре – не се отказвайте лесно. Задайте въпрос. Няма нищо срамно в това. Няма нито един от нас, в тази зала, който да е с неограничена компетентност. Всеки се е борил с определен клас проблеми и е опитен в едни неща, но не толкова в други неща. И ключът в това да не спрем
развитието си, е да си признаем – пред себе си и пред другите – когато не разбираме или не знаем нещо. И да се опитаме да разберем. Умението да програмираш, без значение от език или платформа, е невероятно оръжие. Сега, в този университет, имате златен шанс да се въоръжите. Не го пропускайте. Не се отказвайте. Ще помагаме :)
Ако има въпрос, по който се чувствате по-компетентни и видите възможност за помощ – включете се. Така помагате не само на свой колега, но и на себе си. Не мога да изброя всички примери, в които съм осмислил или задълбочил познанията си за дадена концепция, опитвайки се да я обясня на друг. Също така, ще си помогнете за оценката :) Програмистката общност винаги ми
е харесвала със своята готовност да приема начинаещи и да споделя знание. Винаги сме готови да разказваме разпалено за технология, език, принцип… И това е чудесно. Така се развиваме, защото притокът на свежи хора и идеи поставя на изпитание някои закостенели виждания и ни кара да се движим напред.
http://fmi.ruby.bg Регистрацията е отворена. Имаме сайт. Това е основното място, където ще се случват нещата в курса – там ще качваме материали, ще пускаме новини, ще предавате домашни, ще дискутираме проблеми. Това ще е вашият нов дом във следващите четири месеца. Когато напишете “f” в лентата за URL на браузъра, трябва първото предложение да ви бъде fmi.ruby.bg, а не facebook.com. Затова, трябва да се регистрирате
Записване с молба Става, но трябва да ни пишете, ако ви няма в СУСИ – три имена и факултетен номер [email protected] В СУСИ има лимит от 100 човека. Обикновено го достигаме и много хора записват курса с молба. Това е напълно окей с нас. Няма проблем да ви я подпишем, така или иначе е само формалност. За да се регистрирате в сайта в този случай, ще има нужда да ни изпратите на [email protected] три имена и факултетен номер.
Свободен достъп Ако не сте студент във ФМИ, или ако не сте студент изобщо – няма проблем да идвате на курса. Ще се отнасяме към вас както към другите студенти. Ще ви направим и регистрация в сайта. Изпратете ни три имена на [email protected] и ще ви върнем фиктивен факултетен номер, с който да се регистрирате.
Група “Програмиране с Ruby” https://facebook.com/groups/programming.ruby/ Много удобна за организация на различни извънкласни занимания, за които ще споменем ей сега.
“Лекция” на “по бира” (подробности скоро) Най-вероятно ще е сряда, 21 октомври. Ще я обявим като новина в сайта и ще направим събитие във фейсбук. Ще ни е важно да знаем колко от вас ще идват, за да изберем подходящо място, така че преценете рано.
● десет броя ● предават се онлайн ● проверяват се автоматично ● обикновено 0-6 точки ● могат да дават допълнителни точки ● има и наказателни точки ● имате право да пропуснете три ● чуждите решения са публични Задачите
● към края на семестъра ● вие измисляте или ние избираме ● 60 точки ● 1/3 функционалност, 1/3 стил, 1/3 тестове ● да работят е задължително, но не достатъчно ● обмисляме дали да има етап на междинна проверка към средата на декември Проектите
● Предизвикателства ● Участие в час ● Участие във форумите (помощ на другарчето) ● Бонус точки за елегантни решения ● Принос в GitHub ● Изнасяне на кратка презентация по време на курса Бонуси
● даваме Snickers за добри въпроси, отговори или коментари ● обикновено на тях има код, който ви носи 1 точка ● насърчават да не спите в час ● ако прекалите с глупостите ще хванете захарна болест Участие в час
В края оценяваме усилия Точковата система ни помага да се ориентираме, но малки вариации там не са фатални. Това, което е най-важно за нас, е вашето желание да се развивате и усилията, които ще положите. Това е, което ще е ключово за оценката. Ако записвате курса само за оценка и кредити – по-добре го отпишете сега и направете места за хората, които имат желанието да инвестират време в развитието си.
2. Принципи Но ще говорим много и за принципи. Смятаме, че принципните неща, до които сме достигнали като изводи от опита си, са от основополагащо значение. Дори може да се каже, че езикът, който ще изучаваме, е по-скоро платформа, с чиято помощ ще се опитаме да ви предадем принципните неща, които не са пряко свързани с една конкретна технология.
“Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer.” — Edsger Dijkstra* * изобретател на blog post-а
designed for programmer productivity and fun Въпреки, че не е толкова популярен колкото Java, C++, Python, C# - е съвсем зрял инструмент, с който спокойно и прилично може да си изкарвате прехраната. Има търсене и недостиг на качествени Ruby кадри, както у нас, така и на международния пазар. Накратко – Ruby не е език-играчка. Ruby е като Tesla Model S. Може би не е с най-бързите параметри, но не е и никак бавен. Едно превозно
средство, което е представител на бъдещето и което ти доставя уникално удоволствие, когато го използваш. И определено може да те придвижи от точка А до точка Б. Дори и да не ползвате Ruby в ежедневната си работа, покрай него ще научите неща, които ще са ви полезни и там. Дори това да е, че не може да продължите да пишете повече на текущите си език и технология, при положение, че има езици като Ruby :)
$ cat hello.rb puts "Hello world!" forty_two = 6 * 9 puts "The answer is #{forty_two}" $ ruby hello.rb Hello world! The answer to is 54 интерпретира се
Community хостинг за Ruby (безплатни) библиотеки (наричат се gems). ● Над 100 хил. библиотеки ● Над 90 хил. потребителя ● Над 6 милиарда изтегляния https://rubygems.org
от 2011 - зрялост Ако през 2011 г. сме казали, че Ruby и екосистемата около него са достигнали зрялост, три години по- късно това е вярно с още по-голяма сила.
Въпроси, диалог и обратна връзка Обратната връзка и комуникацията както между вас и нашия екип, така и межу вас самите, са ключът към един успешен курс.
Programming Ruby 1.9 and 2.0 Освен множеството ресурси онлайн, ако предпочитате по-структуриран подход и нямате търпение да започнете още сега, може да пробвате някоя книжка. Има няколко и на О’Reilly.
# Output "I love Ruby" say = "I love Ruby" puts say # Output "I *LOVE* RUBY" say['love'] = "*love*" puts say.upcase # Output "I *love* Ruby" # five times 5.times { puts say } из http://ruby-lang.org
Още днес • Регистрирайте се на сайта: http://fmi.ruby.bg/ • Качете си профилна снимка • Попълнете анкетата • Инсталирайте си Ruby 2.2.3: http://fmi.ruby.bg/topics/1 Защо профилна снимка? Отново – по-добра комуникация. Хората инстинктивно търсим връзка между име и лице и това ни помага да си изградим образ за даден човек, което пък от ствоя страна ни помага да комуникираме по-ефективно с него.