## Lesson Summary

Summary

Students will learn how programs can solve problems using the various types of conditional statements in Python programs.

Outcomes

• Students will understand how conditional logic controls program flow.
• Students will be able to solve problems that require conditional logic.

Overview

1. Getting Started (5 min)
2. Introduction of Content (30 min)
1. Comparison operators [5 min]
2. Logical operators [5 min]
3. Conditional statements [20 min]
3. Activity (10 min)
4. Wrap-up (5 min)

## CSP Objectives

Big Idea - Creativity
• EU 1.2 - Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem.
• LO 1.2.2 - Create a computational artifact using computing tools and techniques to solve a problem. [P2]
Big Idea - Programming
• EU 5.1 - Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
• LO 5.1.2 - Develop a correct program to solve problems. [P2]
• EU 5.4 - Programs are developed, maintained, and used by people for different purposes.
• LO 5.4.1 - Evaluate the correctness of a program. [P4]
• EU 5.5 - Programming uses mathematical and logical concepts.
• LO 5.5.1 - Employ appropriate mathematical and logical concepts in programming. [P1]

## Math Common Core Practice:

• MP1: Make sense of problems and persevere in solving them.
• MP2: Reason abstractly and quantitatively.
• MP6: Attend to precision.
• MP7: Look for and make use of structure.
• MP8: Look for and express regularity in repeated reasoning.

## Common Core ELA:

• RST 12.2 - Determine central ideas and conclusions in the text
• RST 12.3 - Precisely follow a complex multistep procedure
• RST 12.4 - Determine the meaning of symbols, key terms, and other domain-specific words and phrases
• RST 12.9 - Synthesize information from a range of sources
• RST 12.10 - Read and comprehend science/technical texts
• WHST 12.2 - Write informative/explanatory texts, including the narration of historical events, scientific procedures/experiments, or technical processes

## Key Concepts

Decisions in programs are made using conditional statements.

## Essential Questions

• How do people develop and test computer programs?
• Which mathematical and logical concepts are fundamental to computer programming?

How are comparison operators and Boolean expressions used with conditional statements?

## Teacher Resources

Student computer usage for this lesson is: required

In the Lesson Resources folder:

• Nested If Statement Setup

Reference Texts:

Online interpreters:

# Getting Started (5 min)

## Journal

Think of a decision you make in your daily life and how you make the decision.  In your journal, write about your decision and the process you use to decide.

Teaching note: take a few minutes to have students share responses (whole class, elbow partners, small groups).

# Introduction of Content (30 min)

## Brief discussion of comparison operators [5 min]

==, !=, <, >, >=, <=

## Briefly discuss logical operators [5 min]

Includes AND, OR, and NOT

Example: Type various combinations of Boolean values (True / False) with Boolean operators (not, and, or) into the IDE (PyCharm)

## Conditional Statements [20 min]

### Show physical representation using real-life example

Suggested Activity: What’s in the box?

Materials: Two small opaque containers, one small item for each container, two post-it notes.

Set-Up Directions: Set up the activity before the class arrives, following the directions below:

1. Place one item in each container.
2. Using the post-it notes, label one box "green" and the other "black."
3. On the board, write the two colors (green and black) on the board to record the student tally.
4. On the board, write the following pseudocode:
``if numofGreen > numofBlack:`    open green boxelse:    open black box`

Activity Directions:

1. Ask: “If you could choose one of these colors, which one would it be? Please only vote once.  Raise your hand if you would choose Green." Record the number of students who voted for Green on the board.
3. Show the students the pseudocode on the board and work through the if/else statement using the data collected from the class.
4. Open the box and display the item that the class voted for.

### Discussion of Conditional Execution (if, if/else)

Show the example from How to Think Like a Computer Scientist text (ActiveCode:6 (ch05_4)) or similar example.  Briefly demonstrate how to read flowcharts while showing the example from How to Think Like a Computer Scientist.

Check for understanding: Have students answer to the following questions:

1. What will be printed by the following code segment?

``````x=15
if x==25:
print ('Pizza is yummy')
else:
print ('My teacher is awesome')``````

2. What will be printed by the following code segment?

``x=35`y=52if x!=25 and y==52:  print ('Pizza is yummy')else: ('My teacher is awesome')`

### Use IDE (PyCharm) to show how to create an if/else statement

Suggested Coding Example:

``n = input('Please enter your password: ')`if n=='P@s5w0d':    print ('Welcome, correct user!')else:    print ('Incorrect, try again')`

# Activity (10 min)

## Journal: Making Predictions [2 min]

Give the students the practice problem from Independent Activity 1 below.  Have the students answer the following questions:

1. You are about to create a program using the given criteria. In your opinion, what is the purpose of this program?
2. What do you think the output of  this program is when the `food` variable contains the following values?
pizza
popcorn

## Independent Activity 1 [8 minutes]

If/else practice problem: In the IDE, write a program that will prompt a user to enter a value for a food item. Evaluate the variable `food.` If the value of `food` is equal to “potato salad,” display “In Stock”.  If the value of `food` is not equal to “potato salad,” display “Not in Stock”.

Test your program with the following values for food:

pizza
popcorn

# Wrap Up (5 min)

## Journal

1. What difficulties, if any, did you encounter during the development of your program?
3. What conditional execution concepts do you need clarified?

## Options for Differentiated Instruction

Alternate Instructional Strategy for Guided Practice :

• For guided practice, have a list of instructions for how to write the example presented.

Alternate Instructional Strategy for Journal: Interactive Journaling

• Comment on the journal entry by asking check-for-understanding questions or clarifying any misconceptions students write about.

## Formative Assessment

• A variety of checking for understanding techniques
• Temperature checks
• Teacher review student's code
• Thumbs up/ thumbs down
• Questioning thoughout the lesson (whole group / small group / individual)
• Quick quizzes
• Interactive journaling

## Summative Assessment

• Students create a small program demonstrating conditional execution
• Reflective journal entry