We have made several major improvements to our larger-scale Coding Exercises with our new CS201 curriculum. Our new Planning Exercises provide a dedicated space for students to focus on code structure and design before they are required to write code. Our revamped Coding Exercises better allow teachers to structure the activity using a learning modality that best meets the needs of their class. Find the key details of these related activity types below.
These exercises are themed around real-world uses of code to engage students in authentic software development. Each unit of the course has an over-arching theme representing a broad applications of code (e.g. Automation or Cryptography), and these exercises typically align to that theme.
Planning Exercises
The goal of Planning Exercises is to develop students' critical thinking skills and ensure that the planning phase of a coding project isn't seen as optional. This allows students to really focus on strategic thinking (DoK Level 3) rather than rote recall and application (DoK Levels 1 and 2).
Planning Exercises are centered around a student worksheet, on which students decompose the problem into its core components (input, output and logic), identify how recent coding topics apply, and write or draw the structure of their proposed solution. Planning Exercises always have a matching Coding Exercise where students will write the program they have designed.
Students are empowered to solve the scenario in any manner they choose, as long as their solution meets the full set of requirements specific to the Planning Exercise. Before progressing onto the Coding Exercise, the class goes over the provided structural solution (representing one way to solve the problem), which students can leverage as they start coding. Students are also encouraged to share out how their plan differs from the teacher's plan.
Coding Exercises
It is not required to have students work through a Planning Exercise before every Coding Exercise. Coding Exercises introduce the scenario and requirements again if the Planning Exercise was not completed, and students are still able to implement a plan of their choosing (dependent on their assigned difficulty level). Coding Exercises have two new features that together improve the independent work experience and the subsequent class discussion.
Student-facing hints
Students will now see line-level Hint beacons to the left of their coding environment, in much the same way the teacher has Teach Assist beacons specific to that line of code. Each student difficulty level surfaces a unique set of hints tailored to students working at that level. The lower the difficulty level, the more specific the hint; at higher levels, the hints leave more for the student to figure out.
The example pictured here is from a Coding Exercise at difficulty level 2. The student is first presented with a guiding question and the relevant Code Assist keywords, which they can click to navigate directly to those entries in the Code Assist panel. If the student wants additional support without asking a peer or the teacher, they click on "More" and can see a structural frame for the code they need to add, framing the problem as a substitution challenge.
Star beacons
After students have coded their own programs, it's time to share the solution with the class. When viewing the solution, you'll see that the standard circular Teach Assist beacons have been replaced with new Star beacons. These beacons present 3-5 questions for each Coding Exercise that highlight the most important ideas represented in the activity. It's essential to include these discussion questions in your review with students, to ensure all students are solidifying the concepts and skills they will need to succeed in their own coding projects.