Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lecture 0 - Course Introduction

Lecture 0 - Course Introduction

More Decks by Programming Ruby @ fmi.uni-sofia.bg

Other Decks in Programming

Transcript

  1. Kimo's high expectations set a new pace for me. He

    taught me “the standard pace is for chumps” - that the system is designed so anyone can keep up. If you're more driven than “just anyone” - you can do so much more than anyone expects. — http://sivers.org/kimo Monday, October 8, 12
  2. Четвъртата “лекция” от курса ще се проведе на “по бира”.

    Датата е 15 октомври. Мястото вероятно е RockIT. Monday, October 8, 12
  3. Задачите • десет броя • предават се онлайн • проверяват

    се автоматично • 0-6 точки Monday, October 8, 12
  4. Задачите • десет броя • предават се онлайн • проверяват

    се автоматично • 0-6 точки • могат да дават допълнителни точки Monday, October 8, 12
  5. Задачите • десет броя • предават се онлайн • проверяват

    се автоматично • 0-6 точки • могат да дават допълнителни точки • имате право да пропуснете три Monday, October 8, 12
  6. Задачите • десет броя • предават се онлайн • проверяват

    се автоматично • 0-6 точки • могат да дават допълнителни точки • имате право да пропуснете три • чуждите решения са публични Monday, October 8, 12
  7. Тестове • два броя • 30 въпроса за един час

    • 30 точки всеки Monday, October 8, 12
  8. Проекти • на края на семестъра • вие измисляте или

    ние избираме • 60 точки Monday, October 8, 12
  9. Проекти • на края на семестъра • вие измисляте или

    ние избираме • 60 точки • 30 за стил, 30 за тестове Monday, October 8, 12
  10. Проекти • на края на семестъра • вие измисляте или

    ние избираме • 60 точки • 30 за стил, 30 за тестове • да работят е задължително, но не достатъчно Monday, October 8, 12
  11. Участие в час • някой знае ли защо държа Snickers?

    • обикновено на тях има код, който ви носи 1 точка Monday, October 8, 12
  12. Участие в час • някой знае ли защо държа Snickers?

    • обикновено на тях има код, който ви носи 1 точка • насърчават да не спите в час Monday, October 8, 12
  13. Участие в час • някой знае ли защо държа Snickers?

    • обикновено на тях има код, който ви носи 1 точка • насърчават да не спите в час • получивате ги за добро включване в час Monday, October 8, 12
  14. Участие в час • някой знае ли защо държа Snickers?

    • обикновено на тях има код, който ви носи 1 точка • насърчават да не спите в час • получивате ги за добро включване в час • например: въпрос, отговор или коментар Monday, October 8, 12
  15. Участие в час • някой знае ли защо държа Snickers?

    • обикновено на тях има код, който ви носи 1 точка • насърчават да не спите в час • получивате ги за добро включване в час • например: въпрос, отговор или коментар • ако прекалите с глупостите ще хванете захарна болест Monday, October 8, 12
  16. Участие в сайта • добър пост във форумите • добър

    коментар на чуждо решение Monday, October 8, 12
  17. Помощ с материалите • лекциите са OpenSource • оправяне на

    грешки • примери от лекциите Monday, October 8, 12
  18. Помощ с материалите • лекциите са OpenSource • оправяне на

    грешки • примери от лекциите • ваши допълнения Monday, October 8, 12
  19. Challenges • малка задачки относително често • малки: 4-10 реда

    код * под “мързи” имаме предвид “не можем” Monday, October 8, 12
  20. Challenges • малка задачки относително често • малки: 4-10 реда

    код • често: 2-3 пъти в седмицата * под “мързи” имаме предвид “не можем” Monday, October 8, 12
  21. Challenges • малка задачки относително често • малки: 4-10 реда

    код • често: 2-3 пъти в седмицата • имате 24 часа за всяка * под “мързи” имаме предвид “не можем” Monday, October 8, 12
  22. Challenges • малка задачки относително често • малки: 4-10 реда

    код • често: 2-3 пъти в седмицата • имате 24 часа за всяка (понеже ни мързи* да измислим хубаво име) * под “мързи” имаме предвид “не можем” Monday, October 8, 12
  23. Tip of the Day • кратки полезни Ruby съвети •

    няма да се всеки ден Monday, October 8, 12
  24. Tip of the Day • кратки полезни Ruby съвети •

    няма да се всеки ден • обикновено ги публикуваме ние Monday, October 8, 12
  25. Tip of the Day • кратки полезни Ruby съвети •

    няма да се всеки ден • обикновено ги публикуваме ние • може да изпращате и ваши Monday, October 8, 12
  26. “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-а Monday, October 8, 12
  27. “Programs must be written for people to read, and only

    incidentally for machines to execute.” — H. Abelson and G. Sussman Monday, October 8, 12
  28. web framework най-популярното нещо в Ruby ще говорим най-накрая (3-4

    лекции) (ОК за проекти, но трябва да одобрим) Monday, October 8, 12
  29. Тежките ограничения максимум X реда код в метод максимум Х

    нива на влагане в метод максимум Х метода в клас Monday, October 8, 12
  30. Тежките ограничения максимум 10 реда код в метод максимум 3

    нива на влагане в метод максимум 7 метода в клас Monday, October 8, 12
  31. В този курс ще се учим как се дялкат камъни,

    а не как се строят катедрали. Monday, October 8, 12
  32. $ 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 интерпретира се Monday, October 8, 12
  33. 133 923 хранилища, 50 491 потребителя (миналата година бяха 133

    923 хранилища, 50 491 потребителя) Monday, October 8, 12
  34. # 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/ Monday, October 8, 12
  35. def factorial(n) 1.upto(n).inject { |a, b| a * b }

    end puts factorial(10) Monday, October 8, 12
  36. class Integer def factorial 1.upto(self).inject { |a, b| a *

    b } end end puts 10.factorial Monday, October 8, 12
  37. def prime?(n) 2.upto(n - 1).all? { |a| n.remainder(a).nonzero? } end

    puts prime?(13) puts prime?(42) Monday, October 8, 12
  38. class Integer def prime? 2.upto(pred).all? { |a| remainder(a).nonzero? } end

    end puts 13.prime? puts 42.prime? Monday, October 8, 12