213-thinking-procedurally-elements-of-computational-thinking Flashcards
decomposition
- breaking complex problem
- into smaller more manageable subproblems
- each smaller module can be created, solved, tested individually
- all sub solutions are combined to solve og problem
Thinking procedurally
identify and splitting a problem down into its component parts - sub procedures (decomposition)
- determine the order of steps to solve problem
Structured programming
- organising code into logical structures
- Top down analysis/step wise refinement: identifying major tasks, breaking down into sub tasks, into separate, self contained modules with local variables
- structured control flow constructs: selection, iteration, sequence.
- improves program clarity and quality
Modularisation
programs more easily quickly written. Large programs brown into sub tasks - ez to program and manage, each module can be individually tested, reuse, freq used modules can be saved in library and used by others programs, several programmes work simultaneously on diff modules shorten development, programs more reliable + maintain w fewer errors, ez to find errors in small self contained modules, take less time to test and debug, easier to follow for a well organised Modular program, self contained modules: change should not affect rest of program, new features can be added by new modules.
top down modular design/structure charts/step wise refinement
visually break a large problem down into the smaller parts that make it up
each sub task can be split into smaller sub tasks
until each represent a individual self contained block that performs a specific task
decomposition benefits
- certain sections can be implemented using precoded libraries
- develop modules in parallel, tested in isolation
- simpler debugging, easier to locate mitigate errors