# TDD and Pair programming
{id: tdd-pair-programming}

## Parts of the session
{id: parts-of-the-session}

* Pair programming a project using TDD.
* Switching pairs to explain the solution to each other.
* Retrospective



## Why in pairs
{id: why-in-pairs}

* Why in pairs? Because you already know how to program alone. Let's try something else now.
* Why stand-alone task? So you can experiment without the fear of breaking your peoduction code.



## Tic-tac-toe
{id: tic-tac-toe}

* [Tic-tac-toe](https://en.wikipedia.org/wiki/Tic-tac-toe)



## Tic-tac-toe - hints
{id: tic-tac-toe-hints}

* Decide on a representation of the board
* Allow the computer to recognize when someone won.
* Report invalid boards?
* Allow two humans to play
* Make the computer play.
* Make the system play agains itself
* Watch [War Games](https://en.wikipedia.org/wiki/WarGames)




## Game of Chomp
{id: game-of-chomp}

* [Chomp](https://en.wikipedia.org/wiki/Chomp)
* Special cases
* Winning and losing positions



