Category Archives: reading

Murray Chp. 4: Computational Strategies of Representation

Computation as Symbol Manipulation

  • We decide as humans what a byte means. There are different ways of noting these (eg hex) and depending on the context they all have different meanings.

Abstraction of Processes into Flow Charts and Pseudocode

  • Abstraction is necessary to make a general process that we can apply to more specific instances.
  • Example: employee time cards:
    • The computer needs a specific format to be able to represent processes we need to do.
    • Hours, rate of pay, employee identification, method of payment
  • Pseudocode & flow charts: used to create a common sense of what the steps and outcomes need to be so that individual designers/teams can tackle specific areas of the project but still be able to put it together.

Scripting Behaviors

  • Standardizing and developing uniform behavior across groups.
  • Writing, proverbs, rituals are all ways of scripting behavior.
  • Computers use algorithms to shape behaviors.
  • An algorithm is kind of like a recipe: it’s a set of instructions.
  • Blueprint for a mindset.

State

  • State is to a machine or a program as instance is to a model: a specific set of conditions that can be observed in a moment of time.
  • This is more of an abstract concept than a technical detail, although the state of a machine or a program is part of the technical environment.
  • Example: saving a game: you don’t have to save the whole world, just the set of variables that represents the state of the world and your character.
  • State diagram vs. branching hierarchy: it can be more efficient to model your process as a set of states that can be moved between rather than a path that only goes in one direction.

Modularity and Encapsulation

  • If a program can be modularized, that means it can be divided into individual components without affecting the overall system.
  • It can be tested and modified separately.
  • Encapsulation means that underlying details are hidden. The goal is to standardize the topmost function.
  • This uses a technique called information hiding.
  • Example: when a development team is selling their software to the public, they don’t make their underlying source code public. Open source games/projects make the code available.

Collaboratively created by the members of CSC 105 Spring 2022.