Misconception: Students struggle with the jump from writing code in one method to writing code in two methods.

  • Give students code that includes multiple methods to help students bridge this jump.
    • Have students trace through the provided code.
    • Then, have students write code for a program that uses multiple methods (like in the example activities below).
  • Activity 1:
    • Provide students with the following code to trace through, individually or in groups.
    • As a class, trace through the code together to make sure everyone correctly understands the order the code executes in.
    • public class ExampleClass {
          public static void main(String[] arg){
              System.out.println("Hello!");
              ExampleClass.function1();
              ExampleClass.function2();
          }
          public static void function1(){
              System.out.println("in function1");
              ExampleClass.function3();
          }
          public static void function2(){
              System.out.println("in function2");
          }
          public static void function3(){
              System.out.println("in function3");
          }
      }
  • Activity 2:
    • Have students write code to calculate the sum of squares using the following instructions.
      • Write a method named square, which takes in an int as an argument and returns the square of the number:
        • public static int square(int x)
      • Next, write a method sumOfSquares that takes in two ints as arguments and returns the sum of squares.
        • public static int sumOfSquares(int a, int b)
      • Here is some example code:
        • public class MathHelper {
              public static void main(String[] arg){
                  System.out.println("Hello!");
                  int output = sumOfSquares(3, 4);
                  System.out.println("sumOfSquares(3, 4) returns " + output);
              }
              public static int sumOfSquares(int a, int b){
                  return square(a) + square(b);
              }
              public static int square(int x){
                  return x * x;
              }
          }

More about this tip

External Source

Interview with Owen Astrachan.