computational thinking Flashcards
abstraction
removes unnecessary details from the problem while keeping all relevant and importants peices of details
advantages and disadvantages of abstraction
adv:
reduces processing requirements
reduces memory requirements
simplifies programming
disadv:
reduces scenery,sound and diagrams are not to scale
thinking ahead
planning inputs, outputs and reusable components
benefits and drawbacks of caching
storing instructions in RAM allows for faster use in future
can be complicated to implement
the need of reusable components
use of classes
use of subprograms/subroutines
use of external libraries
thinking procedurally
breaking the problem down(decomposition)
thinking logically
identifying decision points for branching or iteration
advanteages of thinking logically
determine time complexity of an algorithm
thinking concurrently
identifying if parts of the program can be solved simultaneously
advantages and siadvantages of thinking concurrently
speeds up solution
Less idle time for processor
may be difficult to program
pipelining
looks for processes that can be processed simultaneously
processes are sequential
parallel processing