Skip to content

Selection: Case StatementsActivities & Teaching Strategies

Active learning helps Year 10 students grasp case statements because they move beyond abstract definitions to solve real problems. By refactoring messy if-else chains or designing menu systems, students see how structure improves clarity and reduces errors in their own code.

Year 10Computing4 activities20 min45 min

Learning Objectives

  1. 1Compare the readability and efficiency of case statements versus nested if-else structures for specific programming scenarios.
  2. 2Design a program segment that effectively uses a case statement to manage user menu selections.
  3. 3Justify the selection of a case statement over a series of if-else statements based on code clarity and logical structure.
  4. 4Analyze the impact of using case statements on program maintenance and debugging.

Want a complete lesson plan with these objectives? Generate a Mission

Pair Refactor: If-Else to Case

Provide students with a nested if-else menu handler for a simple game. In pairs, they rewrite it using a case statement, test inputs, and note changes in line count and clarity. Pairs then swap code for peer review.

Prepare & details

Compare the readability and efficiency of case statements versus nested if-else structures.

Facilitation Tip: During Pair Refactor, pair students with different prior knowledge to encourage peer teaching and immediate feedback on their refactoring choices.

Setup: Groups at tables with problem materials

Materials: Problem packet, Role cards (facilitator, recorder, timekeeper, reporter), Problem-solving protocol sheet, Solution evaluation rubric

ApplyAnalyzeEvaluateCreateRelationship SkillsDecision-MakingSelf-Management
45 min·Small Groups

Small Group Menu Design

Groups design a case-based menu for a library system handling options like borrow, return, or search. They code the structure, add sample outputs, and present one unique feature. Discuss efficiency as a class.

Prepare & details

Design a program segment that uses a case statement to handle menu selections.

Facilitation Tip: In Small Group Menu Design, circulate to ensure groups test edge cases like invalid inputs and discuss how case statements handle them.

Setup: Groups at tables with problem materials

Materials: Problem packet, Role cards (facilitator, recorder, timekeeper, reporter), Problem-solving protocol sheet, Solution evaluation rubric

ApplyAnalyzeEvaluateCreateRelationship SkillsDecision-MakingSelf-Management
20 min·Whole Class

Whole Class Debug Challenge

Display a buggy case statement on the board with missing breaks or fallthrough errors. Students suggest fixes in a think-pair-share, then vote on the best version before coding a corrected full program.

Prepare & details

Justify when a case statement is a more appropriate choice than a series of if-else statements.

Facilitation Tip: For the Whole Class Debug Challenge, assign each group a different buggy case statement to analyze, then have them present their findings to the class.

Setup: Groups at tables with problem materials

Materials: Problem packet, Role cards (facilitator, recorder, timekeeper, reporter), Problem-solving protocol sheet, Solution evaluation rubric

ApplyAnalyzeEvaluateCreateRelationship SkillsDecision-MakingSelf-Management
25 min·Individual

Individual Justification Task

Students receive code snippets and write a short justification for using case over if-else, citing readability or branch count. They test both versions with varied inputs to verify claims.

Prepare & details

Compare the readability and efficiency of case statements versus nested if-else structures.

Facilitation Tip: In the Individual Justification Task, provide a checklist of criteria for effective case statements so students self-assess before submitting.

Setup: Groups at tables with problem materials

Materials: Problem packet, Role cards (facilitator, recorder, timekeeper, reporter), Problem-solving protocol sheet, Solution evaluation rubric

ApplyAnalyzeEvaluateCreateRelationship SkillsDecision-MakingSelf-Management

Teaching This Topic

Teach case statements by starting with familiar tools students already use, like menu-driven programs or grade calculators. Avoid presenting case syntax as a standalone concept; instead, frame it as a solution to problems they’ve already encountered. Research shows that students grasp control structures better when they see the inefficiencies in their own code first, so prioritize refactoring over lectures.

What to Expect

Successful learning looks like students confidently replacing if-else chains with case statements, explaining when each structure is appropriate. They should justify their choices based on readability and maintenance, not just syntax.

These activities are a starting point. A full mission is the experience.

  • Complete facilitation script with teacher dialogue
  • Printable student materials, ready for class
  • Differentiation strategies for every learner
Generate a Mission

Watch Out for These Misconceptions

Common MisconceptionDuring Pair Refactor, watch for students assuming case statements are always faster than if-else chains.

What to Teach Instead

Provide a simple timer and line counter with the refactoring task. Ask pairs to measure execution time and count lines before and after refactoring, then discuss whether speed differences are meaningful compared to code clarity.

Common MisconceptionDuring Small Group Menu Design, watch for students trying to use case statements with unsupported data types like strings in all languages.

What to Teach Instead

Provide a language-specific reference sheet with each group’s chosen language. Ask them to test their case statement with a string input and observe the error, then revise their design using if-else or an enum where necessary.

Common MisconceptionDuring Whole Class Debug Challenge, watch for students ignoring break statements and assuming fallthrough is always desired.

What to Teach Instead

Give each group a code snippet with a missing break and an expected output. Ask them to run the code, observe the unexpected behavior, and explain why fallthrough caused the error. Have them add the missing break and compare outputs.

Assessment Ideas

Quick Check

After Pair Refactor, collect each pair’s rewritten code and their explanation of one advantage. Assess whether they focus on readability, maintainability, or performance, and whether they correctly implemented the case statement.

Discussion Prompt

After Small Group Menu Design, facilitate a class discussion where groups share scenarios where case statements made their menus easier to read. Challenge students to provide counterexamples where if-else would be clearer, and justify their reasoning.

Exit Ticket

During the Individual Justification Task, have students submit their scenarios for case statements and if-else. Assess their reasoning by checking if they considered factors like input types, number of conditions, and readability.

Extensions & Scaffolding

  • Challenge students to create a case statement that handles at least five different input scenarios, then write a reflection on why case statements were the best choice.
  • For students who struggle, provide a partially completed case statement with missing break statements and ask them to identify and fix the errors.
  • Deeper exploration: Have students research how different programming languages implement case statements, noting variations in syntax and functionality.

Key Vocabulary

Case StatementA control flow statement that allows a variable or expression to be tested against a list of values. If a match is found, the code block associated with that value is executed.
Multi-way BranchingA programming construct that allows a program to execute one of several different paths of code based on the evaluation of a single expression.
Control FlowThe order in which individual statements, instructions, or function calls of a program are executed or evaluated.
Conditional ExecutionThe execution of certain parts of a program only if specific conditions are met.

Ready to teach Selection: Case Statements?

Generate a full mission with everything you need

Generate a Mission