2.1.1 Thinking Abstractly
No description yet. This curated deck is ready for daily study.
Card preview (8)
Abstraction
• removing unnecessary details and complexities and only including the relevant details to create a representation of reality. [1]
How and why is abstraction used
• it removes unnecessary details [1] • focusing on main purpose of the program/ does not detract from the main purpose of the program [1] • so reduces computational resources required and saves time [1]
Why is abstraction needed + benefits
• to simplify programming [1] • to reduce memory and processing requirements of the program [1] • reduces development time as factors that can detract from the program can be ignored [1] • reduces the complexity of programming code so the program requires less computational power so therefore can run on lower spec devices [1]
EXAMPLES of abstraction : in simulations
• scenery may be simplified or removed • buildings may be simplified • simplified controls (car simulation/awroplane etc) • symbols used to represent real life features • simplified/removed weather
EXAMPLES of abstraction : in games
• characters can be replaced as stickmen • places on the board are replaced with shape + name
EXAMPLES of abstraction : in diagrams
• {things} have been removed/simplified with symbols • diagram is not to scale • anything that is not included in the diagram but is there in real life - be CREATIVE IT COULD BE ANYTHING
Abstractions cons
• too much abstraction can cause models to become much less accurate/ too simplistic (which may make games less engaging if too simple)
Explain why it is necessary for developers to use abstraction (in simulations) ?
• a real ____ contains unnecessary details and complexities irrelevant to the simulation • which would require unnecessary programming and extra computational resources • which could detract from the main purpose of the program