Unit 2 Part 2 Summary on Loops (2.7-2.12)

From CS Awesome 2CC BY-NC-SA 4.0Original page

Java1 class period3 exercises4 graded tests

Files

README.mdDownload

Unit 2 Part 2 Summary on Loops (2.7-2.12)

Each coding exercise has its own folder. Open its .java file and press Run to try it. Run Tests checks every graded exercise in this lesson at once.

In the second half of this unit, lessons 2.7-2.12, you learned about loops. Loops are used to repeat a statement or block of statements inside a pair of curly braces.

Concept Summary

  • Body of a Loop - The single statement or a block of statements that can be repeated (a loop may not execute at all if the condition is false to start with). In Java the body of the loop is either the first statement following a while or for loop is the body of the loop or a block of statements enclosed in { and }.
  • For Loop - A loop that has a header with 3 optional parts: initialization, condition, and change. It does the initialization one time before the body of the loop executes, executes the body of the loop if the condition is true, and executes the change after the body of the loop executes before checking the condition again.
  • Infinite Loop - A loop that never ends.
  • Loop - A way to repeat one or more statements in a program.
  • Nested Loop - One loop inside of another.
  • Out of Bounds error - A run-time error that occurs when you try to access past the end of a string or list in a loop.
  • Trace Code - Writing down the values of the variables and how they change each time the body of the loop executes.
  • While Loop - A loop that repeats while a Boolean expression is true.

Java Keyword Summary

  • while - used to start a while loop
  • for - used to start a for loop or a for each loop
  • System.out.println(variable) - used to print the value of the variable. This is useful in tracing the execution of code and when debugging.

Vocabulary Practice

Check your understanding: Drag the definition from the left and drop it on the correct concept on the right. — answer it on CS Awesome: https://runestone.academy/ns/books/published/csawesome2/loops-summary.html#vocabloops1

Check your understanding: Drag the definition from the left and drop it on the correct method on the right. — answer it on CS Awesome: https://runestone.academy/ns/books/published/csawesome2/loops-summary.html#vocabloops2

For more practice, see this Quizlet.

Common Mistakes

  • Forgetting to change the thing you are testing in a while loop and ending up with an infinite loop.
  • Getting the start and end conditions wrong on the for loop. This will often result in you getting an out of bounds error. An out of bounds error occurs when you try to access past the end of a string.
  • Jumping out of a loop too early by using one or more return statements inside of the loop.

Here is an example of a while loop that doesn’t ever change the value in the loop so it never ends. If you run it press Ctrl+C in the terminal to stop it. Fix it.

Exercise 1

Fix the infinite loop so that it counts from 3 down to 1.

Open the 01-while-loop-mistake1 folder and edit Loop1.java. Press Run to try it; Run Tests checks it (1 test).

Here is an example of going past the bounds of a string. This code should double all but the first and last letter in message. Fix the code so that it doesn’t cause an out of bounds error.

Exercise 2

Fix the test condition in the loop below so that it doesn’t cause an out of bounds error.

Open the 02-while-loop-oob folder and edit Loop2.java. Press Run to try it; Run Tests checks it (1 test).

Here is an example of jumping out of a loop too early. The code below is intended to test if all of the letters in a string are in ascending order from left to right. But, it doesn’t work correctly. Can you fix it?

Exercise 3

Fix the code so it does not leave the loop too early. When should you return true or false?

Open the 03-while-loop-early-leave folder and edit Loop3.java. Press Run to try it; Run Tests checks it (2 tests).

For teachers

Unit 2 Part 2 Summary on Loops (2.7-2.12)

Students read CSAwesome2's “Unit 2 Part 2 Summary on Loops (2.7-2.12)” in CS Room and work through its 3 Java coding exercises.

  • Time: 1 class period
  • Tests: 4 in 3 graded exercises, set up for you when you import the lesson

Goals

Before class

In class

  1. Students read README.md. Questions that need CS Awesome's interactive widgets link back to it.
  2. Students do exercises 01–03, each in its own folder, pressing Run to try their code.
  3. Run Tests checks every graded exercise at once; scores appear in the Gradebook. Grading uses your copy of the tests, so a student who edits theirs does not change the grade.

Exercises

FolderFileGradingTests
01-while-loop-mistake1Loop1.javaAutograded1
02-while-loop-oobLoop2.javaAutograded1
03-while-loop-early-leaveLoop3.javaAutograded2

Teachers can download a reference solution after signing in.