(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
  • 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.

The Green Screen Problem(Developing an Algorithm)