This activity exposes students to 1970’s arcade games, letting them enjoy playing those games before asking the students to define states for these games. This will expose them to the important mathematical and coding concept of defining real world situations using a limited number of variables that define each state of that real world situation (i.e. in a basketball game the state of the game could be defined by each team’s score). Students also get exposed to basic Python coding concepts that they can use to learn other coding languages. By learning how to code, students will also be learning the basics to logical thinking and algebra. Most importantly, students will be exposed to Machine learning, which is a form of Artificial Intelligence where the computer uses various algorithms to create and improve upon a list of actions using data, neural nets, and state machines. A lot of these concepts are very complex and take time to understand in depth, so we will be focusing on the state machine concept. To do this we will have the students explore their own learning to get them to realize that machines learn similarly to themselves. Through trial and error, machines learn to optimize their behavior, which results in very interesting solutions to a lot of problems!