###### Last updated: 02/09/2017

## Teacher Guide: Arena Levels


#### Basic Instructions for Multiplayer Arena:

### Summary

The arena level is a reward for completing the required work. Students who have fallen behind in the levels or who have not completed their written reflections should use this time to finish. As students turn in their work, they can enter the arena and attempt multiple solutions until time is called.

### Transfer Goals
* Write accurate code syntax for JavaScript or Python
* Debug programs for JavaScript or Python
* Refine solutions based on observations

### Standards
* CCSS.Math.Practice.MP1 Make sense of problems and persevere in solving them.
* CCSS.Math.Practice.MP2 Reason abstractly and quantitatively. 
* CCSS.Math.Practice.MP6 Attend to precision.

### Coding Time (40-55 mins)
Have students navigate to the last level of CS1 (Wakka Maul), CS2 (Power Peak), or CS3 (Cross Bones), , and complete it at their own pace.

#### Dividing the Class
Students must choose a team to join: Red or Blue. It is important to divide the class as most students will choose red, if undirected. It doesn’t matter if the sides are even, but you need players on both sides in order to let your students play against one another. Ways to divide the class:
* Divide the class into two randomly by drawing from a deck of cards.
* Students who turn in their work early join the blue team, and latecomers play red.
* Alternate teams as players finish.

#### Rankings**
Once students have beaten one of the AIs, they will be put into the class rankings. Red teams only fight against blue teams and there will be top rankings for each. Students will only compete against the AI and other students in your CodeCombat class (not strangers). Once students have submitted code for either team, other students can click the “Fight” link next to any student in the ranking to challenge that student!
Note that the class rankings are plainly visible. If some students are intimidated by competition or being publicly ranked, give them the option of a writing exercise instead:
Write a walkthrough or guide for their favorite level.
Write a review of the game or a favorite level.

#### Design a new level!
Refining the Code
Code for Arenas can be submitted repeatedly. Encourage your students to submit code, observe how it fares against the AI or their classmates, and then make improvements and resubmit. In addition, students who have finished the code for one team can go on to create code for the other team.

### Reflect (5 mins)
Class discussion: How is coding a solution different from controlling a hero in real time?
You have been playing a game that requires you to think about a whole plan in advance, then let the hero carry out your instructions without intervention. This differs dramatically from the traditional way of playing video games by directly controlling the hero and making decisions while the game is running. Talk about how these differences feel. Which is more fun? Which is harder? How does your strategy change? How do you deal with mistakes?


## Advanced use of Multiplayer Arena:


### Day 1:


* Optional - Peer Programming: put players in pairs for better overall strategies and teamwork
* Start all the players in the class playing the arena at the same time, with half the players on red and half the players on blue
* If you leave your teacher account on the arena ladder page it will simulate more matches between your students.

### Day 2:


* Allow teams to code for 20 minutes to finalize their strategies
* Have players submit the latest version of what they have and stop coding
* Spectate matches between players/pairs in a tournament bracket to determine an overall winner of the live tournament (up to you how to determine the brackets, something like this)
* Optional: have the winning players explain the code behind their strategies to the rest of the class
