JavaScript Flashcards
What is Computational Thinking
To think like a computer
What is Computational Thinking used for?
Using the specific and unique capabilities of computers to solve problems
What is the main limitation of computers?
That they only understand 0’s and 1’s.
How can I begin to speak to a computer in terms it can understand?
Simplify my thinking
What are the 4 principles of Computational Thinking?
- Decomposition
- Abstraction
- Pattern Recognition
- Algorithm Writing
What is Decomposition?
Breaking a BIG problem down into the many smaller problems involved
How is a BIG problem solved?
By solving the smaller problems involved
What is Pattern Recognition?
- Looking for commonalities amongst the smaller problems
2. Looking for similar methods to solve the smaller problems
What is Abstraction?
To omit specific details of a problem and focus on the general patterns
What is Algorithm Writing?
A series of instructions that explain how to solve a problem
What is a real world example of a algorithm?
A recipe, knitting pattern, IKEA dresser assembly
In what terms do computers think in?
- Math
- Logic
- 0’s
- 1’s
What are the 5 stages of communicating with computers?
- Human thinking big, complex thoughts
- Human learning how to think like a computer (Computational Thinking)
- Human learning to translate big, complex thought into computer language like JavaScript
- Computer program that translates the message (JavaScript) into 0’s and 1’s
- Computer receiving the message of the 0’s and 1’s
What is meant by the word “problem” in computer programming?
A challenge or issue that has yet to be solved
What is the core question of Abstraction?
What parts of the problem are absolutely necessary for me to solve?
What does Abstraction allow me to do?
Focus on only the things that are necessary
What is the best way to find if there is a glitch in a solution?
Test it out with one thing first to see what happens
Breaking down a big problem into smaller problems is known as what?
Decomposition
When you look for similarities between problems you’re trying to solve, what is that called?
Pattern Recognition
When you turn everything you’ve learned about the problem you’re solving into a series of repeatable instructions, what’s that?
Algorithm Writing
What does my computer know?
Basically nothing
How would we use the first step of Decomposition to tell the computer how to make a peanut butter and jelly sandwich?
- To list out all of the needed ingredients and tools to make the sandwich.
- List out all of the actions needed to make the sandwich.
How would we use the second step of Pattern Recognition to find actions that repetitive in the peanut butter and jelly making process?
We can see that there is both opening of a jar and spreading an ingredient in both the peanut butter and jelly process
Why is finding a pattern in process helpful?
Because if I solve a problem for one then I solve it for all with the same pattern.
How would we use the third step of Abstraction to find only the necessary details for making a peanut butter and jelly sandwich?
Cutting the problem down to basics of only Peanut Butter + Jelly + Bread = Sandwich
What is the hardest thing about Abstraction?
Leaving out all of the details
What can Abstraction help us you out with?
It can help you check your assumptions
What must you sometimes do in order to solve one small part of a problem?
You sometimes have to make assumptions
What are some assumptions I may want to make when thinking through Abstract parts of the peanut butter and jelly sandwich problem?
- The computer knows what a knife is
- The computer knows how to open jars
- The bread is not in a bag
- The bread is sliced