Introduction to Computational Thinking
6-8
Alabama Course of Study
Digital Literacy and Computer Science
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
ISTE Standards for Students
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).
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.
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.
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.
“A. B. C. / C. B. V.”
Activity Before Concept / Concept Before Vocabulary
Concept Invention / Discovery Learning
What do you think a Flow Chart is?
A Flow Chart is:
A diagram that is used to help explain the process of an action.
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
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
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
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
another in the algorithm
Selection
Am I happy?
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
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??
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!
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
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
ACTIVITY 1
Debug the playground games
that are posted on the in the
There are 5
When you are done, make a flowchart of your morning routine.
From wake up to arrival at school.
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
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
Computational Thinker
Abstraction
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.
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”.
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
Computational Thinker
Algorithms
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).
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
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??
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
another in the algorithm
Selection
Am I happy?
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.
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
Computational Thinker - Algorithms
Computational Thinker
Programming and Development
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.
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.
What do you think an Algorithm is?
A list of steps to solve a problem.
A set of instructions that can be performed with or without a computer.
Examples of Algorithms
10 - 6 = 3
What about Bubble Sort?
What about Selection Sort?
How do I do the Insertion Sort?
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.
Sorting Algorithms!
Instructions:
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.
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.
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.
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.
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.
Support and Resources
Support and Resources