Draft

Notes

  • Compute means to calculate. Define compute. Show the evolution of the word over the years.
  • Define computational thinking. Show the evolution of the term.
  • What do we compute?
    • Basic arithmetic for day-to-day monetary transactions.
    • Historically, we calculated the positions of planets.
    • Engineers solve equations to build things. Game devs:
      • Pong needs to compute velocity, angle, rebound speed of the ball.
      • Update the score.
      • Determine the number of key presses and the amount to move the paddle.

  • Why do we compute?
    • We need to build things.
      • Metro rail
      • Hospital and the surgeon’s knife
      • Income tax portal
    • To build things, we have to solve problem.
    • We live in a mathematical world. The world is governed by numbers.
  • How do we compute?
    • Fingers
    • Pen and paper
    • Calculator
    • Desktop computer/laptop
    • Smartphone
  • Who does the computation?
    • Machine
    • Technology has effected a transfer of agency.
      • Human computations are
        • slow
        • error prone when volumes are high
        • not scalable
  • Human computer, this was actually a job until the advent of digital computers. The first computers were human, mostly women. Two instances:
    • The two wars and the space race employed human computers.
    • Manhattan project at Los Alomos employed human computers.
    • NASA during the 1960s, the space race.
  • Computing: Computing stands on three pillars
    • Data
      • Description of an entity or an event
        • A cricket match generates data
        • Exam generates data
        • A physics experiment generates data
        • A human being generates data
        • A book generates data
        • A school reunion generates data
        • A video generates data
          • Data about data, or metadata
            • Length of the video
            • Category
            • Frame rate
      • All things in the world at all times are emitting some information which we capture as data
      • Representing data is in itself a big problem
        • Data from a cricket match can be represented as a table
        • In a reunion, you can represent the relationship between different people as a graph
      • Collection, curation, storage and retrieval of data
        • Google search is nothing but retrieval of data
    • Compute
      • The ability to execute instructions rapidly
      • Processing power
    • Algorithms
      • How do you multiply two three-digit numbers?
      • How do you multiply two ten-digit numbers?
      • The sequence of steps is agnostic to the operator.
      • An algorithm is a sequence of unambiguos steps.
      • A recipe is not an algorithm for this reason.
  • Problem solving
    • The loop
      • Problem formulation
      • Solution arrived using problem solving principles
      • The solution spawning new problems or refining existing problems
    • Problem formulation
      • Goal
      • Resources
      • Constraints
    • Problem solving principles
      • Decomposition
      • Abstraction
      • Composition
      • Algorithmic thinking
  • Algorithms
    • Define an algorithm as a “finite sequence of well-defined steps”
    • Add demos to showcase different algorithms
      • Three-digit multiplication
      • Bobo, the path finder
      • Bobo, the builder
      • Linear search vs binary search

References