January 22nd, 2021

5 aspects of algorithms:

  • Input
    • Way to give information into the algorithm
    • e.g.
      • What blocks you chose
      • Mouse movements
      • Minecraft world
  • Output
    • Way to get information out
      • Blocks being created in Minecraft
      • Character moving
      • Whether you succeed or die
      • Mouse cursor
  • Math
    • Computers are really very fast machines for doing math
  • Conditionals
    • "If" --- decide what to do based on the answer to a question.
    • Minecraft: check if there is a block
  • Repetition
    • Doing the same thing repeatedly
    • Minecraft: repeat a certain number of times

3 kinds of errors:

  • syntax
    • Something that is not a valid program
    • Like a grammatical error
    • Minecraft basically didn't have these --- makes things much easier!
  • semantic
    • Valid program that doesn't do what you want.
    • Computer has no idea what you want!
  • runtime
    • Valid program, but something goes wrong while the program is running
    • e.g. dividing by zero.
    • falling in lava, running into trees, creepers, etc.