6. Using Mathematics and
Computational Thinking
• Mathematical and computational thinking at the 6–8 level builds on K–5
experiences and progresses to identifying patterns in large data sets and
using mathematical concepts to support explanations and arguments.
• Decide when to use qualitative vs. quantitative data.
• Use digital tools (e.g., computers) to analyze very large data sets for
patterns and trends.
• Use mathematical representations to describe and/or support scientific
conclusions and design solutions.
• Create algorithms (a series of ordered steps) to solve a problem.
• Apply mathematical concepts and/or processes (such as ratio, rate,
percent, basic operations, and simple algebra) to scientific and
engineering questions and problems.
• Use digital tools and/or mathematical concepts and arguments to test and
compare proposed solutions to an engineering design problem.
http://ngss.nsta.org/Practices.aspx?id=5
6
learn to Code; Code to Learn
www.techscool.org
7. NGSS- 3 Dimensional Learning
learn to Code; Code to Learn
www.techscool.org
7
Dimension 1: Practices
Create algorithms
Scientific Inquiry:
formulation of a question that can be answered through investigation
Engineering design:
involves the formulation of a problem that can be solved through design.
Dimension 2: Crosscutting Concepts
Structure and function
Patterns
Dimension 3: Disciplinary Core Ideas
Basic math operations
8. Our Problem
• Could you add up all the numbers
between 1 and 100?
8
learn to Code; Code to Learn
www.techscool.org
9. You’d use a computer.
• Use digital tools (e.g., computers) to analyze
very large data sets for patterns and trends.
9
learn to Code; Code to Learn
www.techscool.org
computers are lean mean number-crunching machines
My i7 quad
core
-2.79 Ghz
66 GFLOPShttp://www.softpedia.com/get/System/Benchmarks/?utm_source=spd&ut
m_campaign=postdl_redir
10. Algorithm
• Create algorithms (a series of ordered steps)
to solve a problem.
10
learn to Code; Code to Learn
www.techscool.org
11. NSTA
Using Mathematics and
Computational Thinking
• Apply mathematical concepts and/or
processes (such as ratio, rate, percent, basic
operations, and simple algebra) to scientific
and engineering questions and problems.
11
learn to Code; Code to Learn
www.techscool.org
12. Pseudo-code
• We need a place holder of the addition of the
numbers – in computer science we call that a
variable
– Good coders don’t just call the variable ‘x’;
– we use a useful name like ‘SUM’
• So SUM = 1 + 2 + 3 + 4 + …..
12
learn to Code; Code to Learn
www.techscool.org
13. Pattern 1
• So SUM = 1 + 2 + 3 + 4 + …..
1. Sum = x + x + 1
2. add 2 to x
3. and repeat until x = 100 99
– 100 is called a fence-post error
– Need to use 99 as we’re using x+1,
• so X has to be 100-1 or 99
13
learn to Code; Code to Learn
www.techscool.org
14. Pattern 2
• So SUM = 1 + 2 + 3 + 4 + …..
1. Sum = x
2. X = x +1
3. Sum = sum + x
4. And repeat until x = 100
14
learn to Code; Code to Learn
www.techscool.org
15. So let’s use Scratch to solve it
15
learn to Code; Code to Learn
www.techscool.org
18. Best Practices
1. Get frustrated!
Show your students that you're human. When they see how
you react to challenges, they'll begin to follow suit.
2. Adopt the iteration mindset.
Life is all about learning how to persevere. It's OK to make
mistakes. We should be teaching our students how to
learn from their mistakes.
3. Allow students to become the experts.
Give your students a chance to shine.
https://www.edutopia.org/blog/coding-in-the-common-
core-tara-linney
18
learn to Code; Code to Learn
www.techscool.org
22. Our Solution Examined
Start the program
Initialize the variables
Number and SUM
Do this computation 100 times
Have the cat say the answer
Add our numbers
22
learn to Code; Code to Learn
www.techscool.org
26. Is our answer reasonable?
• Looks to be too big to be true.
• 1 way to size it is to multiply 100x100 = 10,000
• So the upper bounds is 10,000, the answer
needs to be much smaller than that.
26
learn to Code; Code to Learn
www.techscool.org
27. So what do we do?
27
learn to Code; Code to Learn
www.techscool.org
28. Let’s see if the initial results are
correct
learn to Code; Code to Learn
www.techscool.org
28
3059 after
10 loops
29. Let’s see if the initial results are
correct
learn to Code; Code to Learn
www.techscool.org
29
3,377,699,720,527,819
after 50 loops
32. Solution 2: Replace change with SET
32
learn to Code; Code to Learn
www.techscool.org
1325
after
50
loops
33. Both results are under Assumption
• Earlier ball-park assumption
– 100x100 loops = 10,000
• answer has to be less than 10K
– 1325 after 50 loops
• ( ½ way answer)
– 5150 after 100 loops
• ( answer)
– Both way under 10,000 and both over 200
– so it meets reasonableness criteria
learn to Code; Code to Learn
www.techscool.org
33
34. Final Solution = Solution 2
https://scratch.mit.edu/projects/154267079/#editor
34
learn to Code; Code to Learn
www.techscool.org
35. Housekeeping stuff
• Initialize Number and SUM both to 0
• Have the cat explain to the user what we’ll be
doing
learn to Code; Code to Learn
www.techscool.org
35
36. Set Vs Change Blocks
Changes variable by specified
amount
Sets variable to specified
number
36
learn to Code; Code to Learn
www.techscool.org
37. Scratch Reference Guide
• http://webpages.uncc.edu/krs/courses/1214/software_tools/scratch/ScratchReferenceGuide
.pdf
37
learn to Code; Code to Learn
www.techscool.org
38. Extension or Exploration:
• Beyond solving this addition problem, What
other are other ways you can utilize Scratch in
teaching Math?
• Maybe an arithmetic and geometric
progression
• https://scratch.mit.edu/projects/2586623/#editor?
• https://wiki.scratch.mit.edu/wiki/User:KrIsMa/LessonPlans/Math/11.2_-
_Sequences_and_Series
• https://scratch.mit.edu/projects/1309140/#editor
38
learn to Code; Code to Learn
www.techscool.org
40. Additional resources
• http://people.cs.ksu.edu/~nhb7817/scratch
• This page offers a number of lesson plans for using the Scratch
Programming environment within K-12 education to support
discipline-specific education, as well as address educational
standards expressed in the Common Core State Standards and
the Next Generation Science Standards (Also known collectively in
Kansas as the Career and College Ready Standards).
• Scratch is a programming language and environment developed by
MIT Media Lab's Lifelong Kindergarten Group, which attempts to
make programming accessible by representing programming syntax
as snap-together blocks in a visual multimedia programming
environment. Scratch also has a strong educator community
at ScratchED.
40
learn to Code; Code to Learn
www.techscool.org
43. Use Scratch with Math
• Helps illuminate algorithms
• Helps critical thinking
• Modeling data sets and equations
• Fun
• Integrate into every lesson plan
• Learning to Code is Coding to Learn
learn to Code; Code to Learn
www.techscool.org
43
44. Learn to Code
Code to Learn
44
learn to Code; Code to Learn
www.techscool.org
Editor's Notes
There’s a popular urban legend about Carl Gauss,
who may have been the greatest mathematician in history, and was probably a little too sassy for his own good.
It goes like this:
In Germany, at the cusp of the 19th century, Master Büttner was fed up with his rowdy pupils
. In those days, public schools were sober, single-room affairs crammed with students of all ages —
a crucible for chatter. In the hopes of peace and quiet, Büttner sentenced his pupils — among them a young Gauss — to a long, mind-numbing task: adding up all the numbers between 1 and 100.
This kind of drone-like calculation is sometimes called ‘number-crunching’ — and it’s frustrating work.
What if you forget a number? Or don’t quite add up 47+48 correctly? You might have to start the whole calculation from the top!
If Gauss and his peers had computers, they’d be laughing, because computers are lean mean number-crunching machines. We’re talking over 100,000 MIPS (million instructions per second)!
So if your teacher assigned you the same dull task… you’d do it the smart way.
You’d use a computer.
But to do so you need to write an algorithm
That’s a set of step by step instructions for the computer to solve the problem.
So let’s create our own algorithm to solve this.
I like to call it Psuedo-code, as it is almost code, but its English phrases breaking down the problem to solve our problem.
So what do we need?
We need a place holder of the addition of the numbers – in computers we call that a variable
Good coders don’t just call it ‘x’, we use a useful name like ‘SUM’
So what do we need?
We need a place holder of the addition of the numbers – in computers we call that a variable
Good coders don’t just call it ‘x’, we use a useful name like ‘SUM’