1 of 53

Introduction to Computational Thinking

6-8

Alabama Course of Study

Digital Literacy and Computer Science

2 of 53

Co-Presenters

Aimee Bates

Technology Integration Specialist, Cullman City Board of Education

Aimee began her career teaching math at Cullman Middle School. She has served as a 21st Century Fellow with Alabama Best Practices, has served on the Governor’s Commision on Quality Teaching, and was a Digital Literacy Computer Science Course of Study Committee member. She was named Cullman Area Teacher of the Year in 2006. She is currently assisting teachers across her district as a technology integration specialist and is beginning her 15th year in education. She is married and is a mom to 4 boys ages 21, 20, 6, and 3.

Email: abates@cullmancats.net

Vincent Chiaramonte

Teacher, Bumpus Middle School, Hoover City Board of Education

Vinny has a passion for lifelong learning, education, computer science, technology, problem solving, and all things social science. Formerly a social science teacher Vinny started teaching computer science (CS) in 2014 at Bumpus Middle School in Hoover Alabama. He has experience teaching in private schools, low income schools, and schools of means. Vinny was named R.F. Bumpus Middle School Teacher of The Year (2015), and the Alabama Secondary Alternate Teacher of the Year (2016). Most recently he was recognized nationally as a 2017 Milken Educator Award recipient and locally as a University of Montevallo Outstanding Alumnus Award 2018.

Email: vinnyCSed@gmail.com

3 of 53

ISTE Standards for Students

4 of 53

Computing education in K–12 schools includes computer literacy, educational technology, digital citizenship, information technology, and computer science. As the foundation for all computing, computer science is “the study of computers and algorithmic processes, including their principles, their hardware and software designs, their applications, and their impact on society” (Tucker et. al, 2006, p. 2).

5 of 53

6 of 53

Grades Overview

Students in Grades 6-8 are developing more independence physically, socially, and emotionally as they seek their places in an increasingly digital and global society. Many of these students will begin developing their global online presence for the first time. In these grades, students are becoming proficient digital citizens, while continuing to build on a strong foundation in computer science principles. The goals of the content strands at this level demonstrate this balance.

7 of 53

Recurring Standards

Safety, Privacy, and Security

Identify, demonstrate, and apply personal safe use of digital devices.

Legal and Ethical Behavior

Recognize and demonstrate age-appropriate responsible use of digital devices and resources as outlined in school/district rules.

Impact of Computing

Analyze the potential impact of computing.

Systems

Identify and employ appropriate troubleshooting techniques used to solve computing or connectivity issues.

Collaborative Research

Locate, curate, and evaluate information from digital sources to answer research questions.

Digital Tools

Produce, review, and revise authentic artifacts using appropriate digital tools.

8 of 53

Computational Thinker

As Computational Thinkers, students break problems into component parts, identify key pieces of information, and use that information to solve problems.

Strands include Abstraction, Algorithms, and Programming and Development.

9 of 53

“A. B. C. / C. B. V.”

Activity Before Concept / Concept Before Vocabulary

Concept Invention / Discovery Learning

10 of 53

11 of 53

What do you think a Flow Chart is?

12 of 53

A Flow Chart is:

A diagram that is used to help explain the process of an action.

13 of 53

Writing my algorithm

Name

Symbol

Flowchart use

Oval

This is used at the start and at the end of a program to start and stop the program.

Flow line

This shows which way the logic flows in the program. (It can go in more than one direction)

Parallelogram

Shows an input (keyboard press, mouse click, can you think of any others?)

or an output (printer, speakers, can you think of more?)

Rectangle

This is something that needs to happen.

(e.g. Stir the ingredients together. Spread the jam on the bread, move the sprite to the left. )

Diamond

This is selection, this means the program can choose to done thing or another based on the question in the diamond.

(e.g. Is the bath water too hot? (YES = add more cold water and NO = move on to the next part of the algorithm)

?

YES

NO

14 of 53

Write an algorithm to…

Wash your hair….

Start

Add shampoo

Turn shower on

Get in the shower

Wet hair

Lather hair

Rinse out shampoo

Stop

15 of 53

Write an algorithm to…

Wash your hair….

Start

Add shampoo

Is hair dirty?

Get in the shower

Wet hair

Wash the rest of me.

Rub in to hair

Rinse out shampoo

Stop

Turn shower on

Do I want conditioner?

Add conditioner

Rub in to hair

Rinse out conditioner

Turn shower off

YES

NO

YES

NO

Get out of shower

16 of 53

Write an algorithm to…

Clap my hands if I am happy and I know it

Start

YES

Am I happy?

Clap my hands twice

NO

Stop

  • Takes us one way or

another in the algorithm

  • IF this condition is met THEN do this ELSE do this

Selection

Am I happy?

17 of 53

Write an algorithm to…

Clap my hands if I am happy and I know it

Start

YES

Am I happy?

Clap my hands twice

NO

Stop

Selection

LOOPS

  • To repeat a process.

  • When we use flow charts, a decision (selection) is needed to determine whether the loop continues.

18 of 53

Write an algorithm to…

Play Snap

Stop – Game Over

Start

Shuffle the cards

Deal them all out.

YES

YES

Player puts a card down, face up

Shout SNAP! Take the cards.

Has anyone got all the cards?

NO

NO

Does the picture match the last one??

19 of 53

Write an algorithm to…

Show which team won

Start

Input the second teams score

Is the first team > second team?

Print: the second team won!

Stop

Input the first teams score

YES

NO

Print: the first team won!

20 of 53

Write an algorithm to…

Can Jonny play Call Of Duty?

Start

Is Jonny’s age >17?

Print: No you can not play it, you are too young!

Stop

Input Jonny’s age

YES

NO

Print: You can play Call of Duty

21 of 53

Write an algorithm to…

Know when to ask for help

Start

YES

Listen carefully to what my teacher wants me to do

NO

Do I understand what I have got to do?

Can I do the task on my own?

NO

Read any information you have been given. Have a Think about what you have to do. Spend 5 minutes trying to work it out

YES

Stop

YES

Can I do the task on my own?

Do the task

Ask a some one who does understand the task on the same table as you.

YES

NO

Can I do the task on my own?

Ask the teacher or the TA for help

NO

22 of 53

ACTIVITY 1

Debug the playground games

that are posted on the in the

Google Classroom.

There are 5

Bugged Packet

When you are done, make a flowchart of your morning routine.

From wake up to arrival at school.

23 of 53

Write a Flowchart algorithm

ON YOUR PROJECTS PAGE on YOUR GOOGLE SITE.

Show your morning routine: From, before you wake up to the time you arrive at school.

BEFORE you create your flow chart, simply write out a list of steps in pseudocode. For example:

Sleeping

Alarm or parent is waking me (true or false)

Get up else stay sleeping

If awake begin morning routine

Go to restroom

brush teeth

etc… etc…

MUST HAVE: 3 selection or decision diamonds and 3 input or output parallelograms.

You MUST create your list of steps (pseudocode) AND flowchart on Google Drawing. Go to the Google Apps Market and search Google Draw.

ACTIVITY 2

24 of 53

Writing my algorithm using a flowchart

Name

Symbol

Flowchart use

Oval

This is used at the start and at the end of a program to start and stop the program.

Flow line

This shows which way the logic flows in the program. (It can go in more than one direction)

Parallelogram

Shows an input (key board press, mouse click, can you think of any others?)

or an output (printer, speakers, can you think of more?)

Rectangle

This is something that needs to happen.

(e.g. Stir the ingredients together. Spread the jam on the bread, move the sprite to the left. )

Diamond

This is selection, this means the program can choose to done thing or another based on the question in the diamond.

(e.g. Is the bath water too hot? (YES = add more cold water and NO = move on to the next part of the algorithm)

?

YES

NO

25 of 53

Computational Thinker

Abstraction

26 of 53

Computational Thinker - Abstraction

Sixth Grade

1. Remove background details from an everyday process to highlight essential properties.

(Got up, got dressed, got to school)

Examples: When making a sandwich, the type of bread, condiments, meats, and/or vegetables do not affect the fact that one is making a sandwich.

2. Define a process as a function. (Morning routine process can be called a function morning routine)

Example: Functions or sets of steps combined to produce a process: turning off your alarm + getting out of bed + brushing your teeth + getting dressed = morning routine.

27 of 53

Computational Thinker - Abstraction

Seventh Grade

1. Create a function to simplify a task.

(Brushing Teeth - To The Flowcharts!)

Example: Get a writing utensil, get paper, jot notes can collectively be named “note taking”.

28 of 53

Computational Thinker - Abstraction

Eighth Grade

1. Design a function using a programming language that demonstrates abstraction. Scratch Snap!

Example: Create a program that utilizes functions in an effort remove repetitive sequences of steps.

2. Explain how abstraction is used in a given function.

Example: Examine a set of block-based code and explain how abstraction was used

29 of 53

Computational Thinker

Algorithms

30 of 53

Computational Thinker - Algorithms

Sixth Grade

3. Create pseudocode that uses conditionals.

Examples: Using if/then/else (If it is raining then bring an umbrella else get wet).

4. Differentiate between flowcharts and pseudocode.

Example: Flowcharts use shapes to indicate what to do at each step while pseudocode uses text.

5. Identify algorithms that make use of sequencing, selection or iteration.

Examples: Sequencing is doing steps in order (put on socks, put on shoes, tie laces); selection uses a Boolean condition to determine which of two parts of an algorithm are used (hair is dirty? True, wash hair; false, do not); iteration is the repetition of part of an algorithm until a condition is met (if you’re happy and you know it clap your hands, when you’re no longer happy you stop clapping).

31 of 53

Write an algorithm to…

Wash your hair….

Start

Add shampoo

Turn shower on

Get in the shower

Wet hair

Lather hair

Rinse out shampoo

Stop

32 of 53

Write an algorithm to…

Play Snap

Stop – Game Over

Start

Shuffle the cards

Deal them all out.

YES

YES

Player puts a card down, face up

Shout SNAP! Take the cards.

Has anyone got all the cards?

NO

NO

Does the picture match the last one??

33 of 53

Write an algorithm to…

Clap my hands if I am happy and I know it

Start

YES

Am I happy?

Clap my hands twice

NO

Stop

  • Takes us one way or

another in the algorithm

  • IF this condition is met THEN do this ELSE do this

Selection

Am I happy?

34 of 53

Computational Thinker - Algorithms

Seventh Grade

2. Create complex pseudocode using conditionals and Boolean statements. (Increase complexity of your morning routine)

Example: Automated vacuum pseudocode – drive forward until the unit encounters an obstacle; reverse 2”; rotate 30 degrees to the left, repeat.

3. Create algorithms that demonstrate sequencing, selection or iteration.

Examples: Debit card transactions are approved until the account balance is insufficient to fund the transaction = iteration, do until.

4. Design a complex algorithm that contains sequencing, selection or iteration. (School Schedule)

Examples: Lunch line algorithm that contains parameters for bringing your lunch and multiple options available in the lunch line.

35 of 53

Write a Flowchart algorithm

ON YOUR PROJECTS PAGE on YOUR GOOGLE SITE.

Show your morning routine: From, before you wake up to the time you arrive at school.

BEFORE you create your flow chart, simply write out a list of steps in pseudocode. For example:

Sleeping

Alarm or parent is waking me (true or false)

Get up else stay sleeping

If awake begin morning routine

Go to restroom

brush teeth

etc… etc…

MUST HAVE: 3 selection or decision diamonds and 3 input or output parallelograms.

You MUST create your list of steps (pseudocode) AND flowchart on Google Drawing. Go to the Google Apps Market and search Google Draw.

ACTIVITY 2

36 of 53

Computational Thinker - Algorithms

Eighth Grade

3. Create an algorithm using a programming language that includes the use of sequencing, selections, or iterations.

(From Flowchart to Program)

Scratch

Snap!

37 of 53

Computational Thinker

Programming and Development

38 of 53

Who remembers what Computational Thinking is?

Process of formulating problems & solutions so that the solutions are represented in a way that can be carried out or processed.

39 of 53

Algorithms

Learning Objectives

I CAN…examine (look at; inspect) the algorithm functions then sort (organize) and sequence (put in order; put in a series) playing cards based on sorting algorithms.

40 of 53

What do you think an Algorithm is?

41 of 53

A list of steps to solve a problem.

A set of instructions that can be performed with or without a computer.

42 of 53

Examples of Algorithms

  • Mathematical Calculations

  • Searching algorithms

    • Addition
    • Subtraction
    • Multiplication
    • Division
    • Insertion Sort
    • Bubble Sort

    • Merge Sort
    • Selection Sort

10 - 6 = 3

43 of 53

What about Bubble Sort?

  • Compare side by side and swap if needed.

  • Move right one place and compare the next two.

  • Move on to the next item and repeat. Then start over until all are sorted.

44 of 53

What about Selection Sort?

  • Start at the beginning.

  • Compare all unsorted numbers

  • Select the smallest unsorted number.

  • Switch that number with the one you are on.

  • Move on to the next item and repeat. Then start over until all are sorted.

45 of 53

How do I do the Insertion Sort?

  • You take the first item on the list and compare it with the second item.

  • Make a switch if needed.

  • Move on to the next item and repeat.

46 of 53

Sorting Algorithms

A set of instructions that will sort data:

Demonstrate a bubble sort with cards & Scratch Bubble Sort Guy.

Demonstrate a Selection Sort with cards & Scratch

Demonstrate an Insertion Sort using cards & Scratch

Demonstrate a Merge Sort in Scratch

A set of instructions that can be performed with or without a computer.

47 of 53

Sorting Algorithms!

Instructions:

  • Use each of the new sorting algorithms you learned to sort at least 10 different cards.
  • If you need help. Use the videos on the blog.
  • Respond to this prompt in your digital journals:

Describe how an automated program in Scratch allows for more productivity and why?

Repeat each of the sorts you learned about using at least 10 cards.

48 of 53

Computational Thinker - Programming & Development

Sixth Grade

6. Identify steps in developing solutions to complex problems using computational thinking.

7. Describe how automation works to increase efficiency.

Example: Compare the amount of time/work to hand wash a car vs. using an automated car wash.

8. Create a program that initializes a variable.

Example: Create a flowchart in which the variable or object returns to a starting position upon completion of a task.

49 of 53

Sorting Algorithms

A set of instructions that will sort data:

Demonstrate a bubble sort with cards & Scratch Bubble Sort Guy.

Demonstrate a Selection Sort with cards & Scratch

Demonstrate an Insertion Sort using cards & Scratch

Demonstrate a Merge Sort in Scratch

A set of instructions that can be performed with or without a computer.

50 of 53

Computational Thinker - Programming & Development

Seventh Grade

5. Solve a complex problem using computational thinking.

6. Create and organize algorithms in order to automate a process efficiently.

Example: Set of recipes (algorithms) for preparing a complete meal.

7. Create a program that updates the value of a variable in the program.

Examples: Update the value of score when a coin is collected (in a flowchart, pseudocode or program).

8. Formulate a narrative for each step of a process and its intended result, given pseudocode or code.

51 of 53

Computational Thinker - Programming & Development

Eighth Grade

5. Discuss the efficiency of an algorithm or technology used to solve complex problems.

6. Describe how algorithmic processes and automation increase efficiency.

7. Create a program that includes selection, iteration, or abstraction, and initializes, and updates, at least two variables.

Examples: Make a game, interactive card, story, or adventure game.

52 of 53

Support and Resources

53 of 53

Support and Resources