• stages in the software development lifecycle
    1. defining and understanding the problem
    2. planning and designing
    3. implementing
    4. testing and evaluating
    5. maintaining
  • pseudocode
  • different licenses
  • railroad diagrams
  • EBNF
  • fetch-execute cycle:
    1. fetch: the instruction at the address in memory is indicated by the program counter, then incremented
    2. decode: the control unit decodes the instruction and prepares other components for execution
    3. execute: the instruction is executed (the ALU is used)
    4. store: the results (return) are stored in one or more of general-purpose registers. a further instruction is needed to move the results to RAM.
  • Arithmetic Logic Unit (ALU):
    • Functionality: The ALU performs both arithmetic operations and logic operations
    • inputs: Receives data from input registers.
    • outputs: After performing the operation, the ALU sends the result to an output register or back to memory.
    • Flags: the ALU sets or clears certain flags based on operations’ results (zero flags indicating a zero, or flags to indicate an overflow etc.)
  • loops
    • Post test loop
      • the code executes once before the condition is checked
    • pre-test loop
      • the condition is checked before any, code is executed