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

Про що не говорять програмісти, про що мовчать науковці (ucu2015)

Про що не говорять програмісти, про що мовчать науковці (ucu2015)

Presentation about hackers, software ethics, recession of programmers' evolution for 1st semester students of CS program @ Ukrainian Catholic University

Yuriy Tymchuk

December 16, 2015
Tweet

More Decks by Yuriy Tymchuk

Other Decks in Programming

Transcript

  1. Хто я? Тепер. 24 роки 2006. 15 років Ph.D. UniBe

    Unikernel Фріланс команда Тех-підтримка / адмін. мережі УАРНЕТ Програміст Інтерлогіка Львівський фізико- математичний ліцей Програміст Innocode Мала академія наук України Бакалаврат Факультет інформатики. ЛНУ Ph.D. USI Стажування RMoD Магістратура Кафедра програмування. ЛНУ
  2. Objects are like people. They’re living, breathing things that have

    knowledge inside them about how to do things and have memory inside them so they can remember things. And rather than interacting with them at a very low level, you interact with them at a very high level of abstraction, like we’re doing right here. Steve Jobs 1995
  3. Ph.D. UniBe Unikernel Фріланс команда Тех-підтримка / адмін. мережі УАРНЕТ

    Програміст Інтерлогіка Львівський фізико- математичний ліцей Програміст Innocode Мала академія наук України Бакалаврат Факультет інформатики. ЛНУ Ph.D. USI Стажування RMoD Магістратура Кафедра програмування. ЛНУ Pascal C++ C++ Java C# PHP JavaScript Prolog Lisp Erlang Ruby Smalltalk Java Scala Ruby Pharo Pharo Python Racket Swift Objective-C C Bash
  4. Філософія хакерів Ха ́кер (англ. Hacker) — особа, що намагається

    отримати несанкціонований доступ до комп'ютерних систем, як правило з метою отримання секретної інформації.
  5. На скільки пітонічний ваш код? countriesWithA = []
 i=0
 while

    i < len(countryList): if "a" in countryList[i]: countriesWithA.append(countryList[i]) i += 1
  6. На скільки пітонічний ваш код? countriesWithA = [] for i

    in range(len(countryList)): if "a" in countryList[i]: countriesWithA.append(countryList[i])
  7. На скільки пітонічний ваш код? countriesWithA = [] for country

    in countryList: if "a" in coutry: countriesWithA.append(country)
  8. Samy Kamkar “but most of all, samy is my hero”

    20 годин - 1 000 000 друзів
  9. Чи потрібна вам безпека? From: To: Subject: року виповнюєтьÑÑроків з

    Ð´Ð½Ñ Ð·Ð°ÑнувР°Ð½Ð½Ñ ЛьвівÑького національного універÑитету імені Івана Франка. ІÑÑ‚Ð¾Ñ€Ñ–Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð›ÑŒÐ²Ñ–Ð²Ñького уні верÑитету ÑÑгає витоками Ð¥VІІ ÑÑ‚. У Ð¥VІ – Ð¥VІІ ÑÑ‚. центрами культурного Ð¶Ð¸Ñ‚Ñ‚Ñ Ð½Ð° українÑьких землÑÑ… були Ñ†ÐµÑ €ÐºÐ¾Ð²Ð½Ñ– братÑтва. Mr. Smith Ms. Smith cancer
  10. exampleWithNumber: x <syntaxOn: #aSlide> "This is a complete* syntax of

    Pharo language" | y | true & false not & (nil isNil) ifFalse: [ self halt ]. y := self size + super size. { 1 . 2 . #($a #a 'a' 1.0 1) } do: [ :each | Transcript show: each class name; show: each printString; show: ' ' ]. ^ x < y
  11. middleOf: a and: b | sum | sum := a

    + b. ^ sum / 2 Синтаксичні дерева
  12. #middleOf:and: middleOf: a and: b | sum | sum :=

    a + b. ^ sum / 2 Синтаксичні дерева
  13. #middleOf:and: b a middleOf: a and: b | sum |

    sum := a + b. ^ sum / 2 Синтаксичні дерева
  14. #middleOf:and: b a sum middleOf: a and: b | sum

    | sum := a + b. ^ sum / 2 Синтаксичні дерева
  15. #middleOf:and: b a sum ^st st middleOf: a and: b

    | sum | sum := a + b. ^ sum / 2 Синтаксичні дерева
  16. #middleOf:and: b a sum ^st st := middleOf: a and:

    b | sum | sum := a + b. ^ sum / 2 Синтаксичні дерева
  17. #middleOf:and: b a sum ^st st := sum + middleOf:

    a and: b | sum | sum := a + b. ^ sum / 2 Синтаксичні дерева
  18. #middleOf:and: b a sum ^st st := sum + a

    b middleOf: a and: b | sum | sum := a + b. ^ sum / 2 Синтаксичні дерева
  19. #middleOf:and: b a sum ^st st := sum + a

    b / middleOf: a and: b | sum | sum := a + b. ^ sum / 2 Синтаксичні дерева
  20. #middleOf:and: b a sum ^st st := sum + a

    b / sum 2 middleOf: a and: b | sum | sum := a + b. ^ sum / 2 Синтаксичні дерева
  21. Code Review A. Bacchelli, C. Bird. Expectations, outcomes, and challenges

    of modern code review. In Proceedings of ICSE’13, pp. 712–721, IEEE, 2013
  22. Visual Design Inspection Y. Tymchuk, A. Mocci, and M. Lanza.

    Code Review: Veni, ViDI, Vici. In Proceedings of SANER’15, pp. 151-160, IEEE, 2015
  23. Y. Tymchuk, A. Mocci, and M. Lanza. Code Review: Veni,

    ViDI, Vici. In Proceedings of SANER’15, pp. 151-160, IEEE, 2015 Y. Tymchuk, A. Mocci, and M. Lanza. Vidi: The Visual Design Inspector. In Proceedings of ICSE’15, to be published, IEEE, 2015 ViDI