We all have played tic tac toe before. If you haven't here are the rules.  Explaining Tic Tac Toe to a kid is a fairly simple exercise, but computers are a different story. In this part of today we'll try to teach a computer the logic of Tic Tac Toe.  We want to teach our program:  what a valid Tic Tac Toe board (representation) looks like how we know if there's a winner and who the winner is when we have a tie in the game (there's ) if a certain move of a player is a valid move To end up with compact and fast code, we will use the functional programming paradigm. That means that every function that we write will be 'pure': it has an input (parameters) and an output (return), and it doesn't have any side effects. Because of that, these functions will be compact and predictable.  So the rules for the logic functions: don't use while/for loops, don't use let or var only const. Have fun!