Requirements:

  • Code Analysis: (4.A)
    • Clearly state program's purpose, functionality, inputs, and outputs (written response)
    • Video showing program functioning (CAN NOT BE SCREENSHOTS)
      • Input
      • Program functionality
      • Output
  • Data Abstraction: (3.B)
    • Two segments:
      • Data storage (list)
      • Stored data being used as part of fulfilling the program's purpose
    • Identify the name of the list
    • Describe the data within the list and how it relates to the program
  • Managing Complexity: (3.C)
    • Program code segment that uses a list to simplify otherwise needlessly complex code (like the python quiz for loop)
    • Explain how the list simplifies the code, and how to code it would be coded differently without the list (written)
  • Procedural Abstraction: (3.B)
    • Use abstraction to simplify programs
      • A procedure with at least one parameter that affects the functionality of the procedure
      • Show where the procedure is being called
    • Describe the function of the procedure and how it simplifies the program
  • Algorithm Implementation: (2.B)
    • An algorithm including...
      • Sequencing
      • Selection
      • Iteration
    • Explain the steps of the algorithm with great detail
  • Testing: (4.C)
    • Describe two calls to the procedure. Each call must pass a different argument that cause a different segment of code in the algorithm to execute.
    • Describe the condition being tested by each call to the procedure.
    • Identify the result of each call.

Collaboration Rules:

  • 2 students working on the same program
    • Pair programming
    • Dividing a complex program into different parts
  • Giving feedback
  • Providing debugging assistance
  • Citing code from a peer
    • "A collaborative peer" to protect anonymity

Planning: TETRIS

  • Concern: I have started this with javascript for the flask website but is it possible to use python instead for flask?
  • Requirements:
    • Purpose: To entertain? idk
    • Functionality:
    • List: different shapes and colors, use a randomizer to pull from lists
    • Input: user key inputs: arrow keys, spacebar
    • Procedure: shape-selection procedure that randomizes the shape and then the color.
    • Output: blocks on screen and stuff
    • Algorithm: To check for the positions of each block and if each row is filled