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

Global Day of Coderetreat 2015

Global Day of Coderetreat 2015

Global Day of Coderetreat 2015 presentation from the event in Skopje.

5d0be7db35e8c5d24a0b63f4de463430?s=128

Dalibor Nasevic

November 14, 2015
Tweet

Transcript

  1. Hidden Slide Slower Hidden Slide Slower November 14, 2015, Skopje

    Global Day of Coderetreat @dnasevic
  2. Hidden Slide Slower Hacklab Kika 2011

  3. Hidden Slide Slower Hacklab Kika 2012

  4. Hidden Slide Slower MediaLab 2013

  5. Hidden Slide Slower Ever-Near 2014

  6. Sponsor + 2015 Host Hidden Slide Slower

  7. What is Coderetreat? Hidden Slide Slower Codereatreat is a day-long,

    intensive practice event, focusing on the fundamentals of software development and design. • Experiment in Safe environment • Deliberate Practice • Get Out of the Comport Zone
  8. Format Hidden Slide Slower • Problem: Conway's Game of Life

    • Pair Programming • Length of Session: 45 minutes • Prefer using Test-Driven Development (TDD) • After each session, pairs should be swapped • After each session, code must be deleted
  9. Goals for the day Hidden Slide Slower • Language agnostic

    • Try not to finish the problem • Try learn new things • Focus on practice and experiment • Have Fun
  10. Hidden Slide Slower • Devised by the British mathematician John

    Horton Conway in 1970 • Zero-player game • Initial state • Evolves based on 4 rules Conway's Game of Life
  11. Hidden Slide Slower Examples

  12. Hidden Slide Slower Seal

  13. Hidden Slide Slower Any live cell with fewer than two

    live neighbours dies, as if caused by under-population. Rule 1 ▪
  14. Hidden Slide Slower ▪ ▪ ▪ ▪ ▪ ▪ Any

    live cell with two or three live neighbours lives on to the next generation. Rule 2
  15. Hidden Slide Slower ▪ ▪ ▪ ▪ ▪ ▪ ▪

    ▪ ▪ Any live cell with more than three live neighbours dies, as if by overcrowding. Rule 3
  16. Hidden Slide Slower ▪ ▪ ▪ ▪ ▪ Any dead

    cell with exactly three live neighbours becomes a live cell, as if by reproduction. Rule 4
  17. Hidden Slide Slower ▪ ▪ ▪ ▪ ▪ ▪ Blinker

    Example
  18. Good code Hidden Slide Slower What are the characteristics of

    good code?
  19. Static qualities Hidden Slide Slower • Easy to read and

    understand what it does • Easy to find the code to change • Easy to change
  20. Dynamic qualities (on runtime) Hidden Slide Slower • Performance •

    Scalability • Security • Robustness etc
  21. 4 Rules of Simple Design Hidden Slide Slower (tests) (good

    names) (DRY) (small)
  22. 1. Getting familiar with the problem 2. TDD 3. Ping-Pong

    Pairing 4. Methods with max 4 lines and no primitives across method boundaries 5. No in-method branching statements 6. No return values Constraints Hidden Slide Slower
  23. • What, if anything, did you learn today? • What,

    if anything, surprised you today? • What, if anything, will you do differently moving forward? Retrospective Hidden Slide Slower