In this lab, students apply the CS concepts of stacks and backtracking by writing a program to explore all accessible locations within a cave and find as much treasure as possible. Choosing an appropriate algorithm and set of data structures will prove crucial to how difficult the lab will be.
Students are encouraged to review how to effectively implement pair programming at the beginning of the laboratory. The document about pair programming which is provided to students is linked below. Students are also asked to read research articles on how pair programming impacts them. One such article is entitled "The Costs and Benefits of Pair Programming" by Allistar Cockburn and Laurie Williams. Additionally, I often model in front of the class with a TA, how to effectively use pair programming in this laboratory.
Students are encouraged to use pair programming, a form of Collaborative Learning throughout this lab. Students are also ask to reflect on their work by discussing their initial design plan, the implementation, and identification of errors and deficiencies. This is an example of Student-Centered Assessment. Additionally, by framing the material in terms of hiking to a campsite or exploring a cave for hidden treasure, this lab employs Meaningful and Relevant Content.