Skip to content

Aggressive Cows ←|→ Binary Search ←|→ Mob Programming

Photo of Mike Stratton
Hosted By
Mike S.
Aggressive Cows ←|→ Binary Search ←|→ Mob Programming

Details

This is going to be a fun and exciting event! We will work together as a team in solving a code kata.

For this kata we will be working on the Aggressive Cows problem that is solved with a Binary Search algorithm. We will select a language based off of majority rule. We will then transpose the aggressive cow problem into binary search pseudo code and then a working solution, by way of mob programming. TDD enthusiasts are encouraged to join and write tests insuring our code works.

It is important to note that by first transposing the problem into pseudo code, the solution is attainable in any programming language. It is also useful in identifying possible architectural problems prior to coding.

Mob Programming, What Is It?
"The basic concept of mob programming is simple: the entire team works as a team together on one task at the time. That is: one team – one (active) keyboard – one screen (projector of course). "
— Marcus Hammarberg, Mob programming – Full Team, Full Throttle

Agenda:
6:00 - 6:10 Introductions, open discussion
6:10 - 6:20 Instructions, Q&A
6:20 - x:xx Mob Programming!
x:xx - x:xx Closing

Mob Programming, Quick Overview
One programmer will be the navigator, a second will be the driver. The navigator will tell the driver what to do at the point of intent. For example, the navigator might state to the driver: "create a function named IsData that returns a boolean". The driver may request further instruction.
A timer will be going that will give all devs an equal opportunity to drive and navigate. The devs that are remaining are "the mob" and will be in que to take there turn to first drive then navigate.
We will be working on a problem whose solution utilizes the binary search algorithm

MOB PROGRAMMING RULES

  1. 1 driver and 1 navigator working on problem.
  2. Mob is to remain silent unless the navigator requests help!
  3. The navigator may drive us off a cliff - that is OK!
  4. The mob may vote to revert the last navigators code.
  5. Navigators may bypass their turn.
  6. Drivers may bypass their turn.
  7. Mob can vote to work on another problem
  8. No Designated Mob Leader at start
  9. Mob may vote to Designate a Mob Leader
  10. Designated Mob Leader Can Change Rules

Links
Collaborative Coding - https://repl.it/@mikestratton/AggCow
Problem Selection - https://www.spoj.com/problems/AGGRCOW/
Timer - https://mobti.me/
Youtube: https://www.youtube.com/watch?v=SiE1XFhYoaA

Photo of Learn Full Stack group
Learn Full Stack
See more events