Programming Concepts and Algorithms/Solutions
(The type of thinking that enables you to write computer programs) are called Computational Thinking
Programming is great for solving problems that have a lot of computation or repetition in them.
Computers only work with numbers => so Everything is a Number
Hardware: bits(0, 1), can only do math.
Do not need to worry about bits due to a wonderful principle called abstraction.
Abstraction: Separation of interface(what-it-does/how-you-use-it) & implementation(how-it-does-it/how-it-works).
Abstraction often comes in layers, and what layer you need to work at depends on what you need to do.
Importance of Everything is a Number
- Can expose numeric properities(eg: Math with letters can be Cryptography)
- Interpretation of numbers/How to operate on numbers => Types
- eg:
- “1” + “1” = “11”
- 1 + 1 = 2
- eg:
- Whenever you have data you want to work with, you need to represent it as numbers.
- You may be able to use existing types such as strings, which already represent information as numbers, to help you out.