Karine Laidley

School
Computer Science Teacher Middle School Advanced Math and Science Academy Charter School Marlborough, MA

How will I introduce Scalable Game Design in my school?
I will be including it as a unit in our middle school cirriculum. I first have to plan this out with my fellow teachers (other science and computer teachers at the school.) Our 6th graders have CS class everyday throughout the school year, so there is a lot of potential to have a full semester on SGD, which could include multiple game creations. In 7th and 8th grade, we see the students every other day, so we may cover one game then collaborate with another science teacher to implement a cross-curricular STEM project. This might require more time this coming year, since the 7th and 8th graders do NOT have any Agent Sheets experience, but going forward, it will be much easier to jump into a STEM project after a short "review" game.

Project Journal
Day 1, Monday:


 * 1) Introduction to computational thinking, zone of proximal development, notion of flow.
 * 2) Introduction to the AgentSheets application.
 * 3) Created the Frogger project, using agents, depictions and behaviors.
 * 4) Computational Thinking Patterns Learned: Collision (with car and truck), Transport (on log and turtle), Absorb and Generate (cars and trucks from the tunnels).
 * 5) At the end, we submitted our project to the Arcade and created our wiki pages.

Day 2, Tuesday:


 * 1) Created a foundational project (Fun House) that will be used as a basis for multiple projects for the week. It had 4 agents (hero, chaser, gold, floor).
 * 2) Learned about random movement of an agent.
 * 3) Learned about Diffusion and Agent Attributes, and how the "smell" of the hero can help the chaser move "smartly" towards the hero but calculating the "smell" of each cell around it as the average of the 4 cells around it. The smell has a constant value of 1000, for example, on the hero agent. The chaser will decide to move in the direction of the cell with the highest value of the "smell". That is called Hill Climbing, another computational thinking pattern.
 * 4) Learned about Polling: to know if all the gold has been picked up by the hero, you create a new agent (controller) which broadcasts to all gold agents as a "check in" method. If no one responds, that means all the gold is gone and the game is over (player wins!) If at least one responds, that means the game is still going. We used a simulation attribute (number) called gold_left that represented the count of the gold that responded. So if gold_left = 0, then the game is over.
 * 5) Learned about keeping score, timer, and count of moves. We imported the DIGIT agent from pacman and used it for TIME, MOVES, and GOLD. We reused the INC method on the DIGIT agent (imported with the class) to increment the value of the number it represented.
 * 6) Learned about Push/Pull thinking pattern. We created a new copy of this Fun House project and changed it to make the game similar to Sokubon, where the hero has to push the gold onto a pallette. The game ends this time by pushing them all onto the pallettes. We used a push (hero pushes the gold), then a pull (gold checks if it can move, then pulls the hero with it).
 * 7) Uploaded to the Arcade the final version of the game.

Day 3, Wednesday:


 * 1) Reviewed all computational thinking patterns.
 * 2) Played a Jeopardy game to help review them.
 * 3) Talked about debugging. Syntactic Support is NOT enough; need to provide Semantic Support (sense-making).
 * 4) Learned about Conversational Programming, a unique feature of AgentSheets that shows the programmer the value of the rules and conditions on an agent with respect to the current state of the worksheet. Very cool!
 * 5) Review of common errors and how to fix them. See wiki for zip file of projects for debugging in class.
 * 6) Review iDREAMS expectations.
 * 7) Introduction to Lesson Planning and what we plan on doing for next year to implement Scalable Game Design in our curriculum.

Day 4, Thursday:


 * 1) Introduction to SHODOR.
 * 2) STEM should be strategies that engage the mind. You can incorporate STEM in any setting in education.
 * 3) Expectation &gt; Observation &gt; Reflection &gt; repeat…
 * 4) Right answer = Wrong answer + Corrections
 * 5) The Onion Project: layers! one step at a time to make the final simulation.
 * 6) Created a new project in AgentSheets, and added a person (healthy depiction). Then added a sick depiction.
 * 7) Added behavior to make the healthy person get the disease (percentage) and stick to the sick one.
 * 8) Plot data for Simulation Properties and export them to Excel.
 * 9) SEIR (Susceptible, Exposed, Infected, Recovered)
 * 10) &lt;span style="line-height: 115%; color: black; font-size: 10pt" /&gt; Agent Attributes: Exposed  and Exp_clock . Use them to control when he gets infected after being exposed.
 * 11) Then make them get cured if sicktime &gt; 10 with a 25% chance.
 * 12) Generate Report… HTML summary
 * 13) We can check the value of the attribute of the agent next to me using [left], [right], [up], [down], OR by using coordinated, [-1, 0], [1, 0], [0, 1], [0, -1], and diagonally too using [1,1], [-1, -1], [-1, 1], [1, -1]. COOL!!!

Day 5, Friday: 1)      Small Forest Fire Simulation:  a.        How come forests are hard to manage?  b.       Why is it that if the forest is getting dryer, it is more dangerous?  c.        If a tree is next to any burning tree, there is a chance of it changing into a burning tree.  d.       After some time, a burning tree will stop burning and change into a charred tree.  e.       The order  in which you place the agents on the worksheet matters when you run the game.  It always starts with the one that was drawn LAST . f.         ' To fix that issue we create another agent (ranger) that broadcasts to Trees to check for their surroundings, then broadcasts again to change color. '   g.        When the ranger says “check”, if you are a tree next to a burning tree, set kindle = 1.  h.       If you are a burning tree, set charred = 1.  i.          When the ranger says “burn”, if you are kindle=1 then change to BT, if you are charred=1, change to CT. j.        If you want to plot data from multiple, you can either:                                                                i.        Ask each student to plot data for a specific % burnRate, then compare/collect that data. ii. Or, you can create an agent that resets the forest and collects the number of burned trees, then upon clicking with the tool, resets… then export data from one run. 2)      Randomize, visualize and animate:  a.        bag agent.  b.       coin attribute = random value between 20 and 100.  c.        Map it to a color.  d.       Create a randomize method for that.  e.       Create a rule that checks if the coins value is greater than the one on the right, swap them (moveLeft and moveRight).  f.         Create a method for the ‘finger’ tool that resets the bags then randomizes their color again.      3) Checked out the Avalanche project.

4) Upload the projects.

5) Work on plans for the fall.

Contact Information

 * [mailto:k.laidley@amsacs.org Email]