S4→FUNDAMENTALSOFCOMPUTATIONALTHINKING
C17→AbstractionandAutomation
Abstraction- reducingaproblemtoitsessentialfeaturestohelpussolvetheproblem
Thereare6formsofabstraction:
1. RepresentationalAbstraction
2. AbstractionbyGeneralization/Categorisation
3. ProceduralAbstraction
4. FunctionalAbstraction
5. DataAbstraction
6. ProblemAbstraction
RepresentationalAbstraction:
● Repeatedlyremovingunnecessarydetailsoonlyinformationneededtosolvetheproblems
remains
AbstractionbyGeneralisation/Categorisation:
● Simplifyingproblemsbygroupingcharacteristicstogetherina
hierarchicalrelationship
ProceduralAbstraction:
● Top-down
○ Startingatthetop/beginningandbreakingdownproblemsintoaseriesofsubroutines/
procedures
● FocusonWHATvs.HOW(whateventstrigger,theirlinks,sideeffectsanderrorhandling)
FunctionalAbstraction:
● Theprogrammerdesignscommon,re-usablefunctionstosolveproblems
● Reusingfunctionsreducescomplexityastheyonlyneedtobewrittenonce
○ Eg.foramaterialsmanagementsystem;calctotalCost(),calcBudget()
DataAbstraction:
● Hidingdetailsofhowdataisrepresentedsonewdataobjectscanbeconstructedfrom
previouslydefineddatatypes
○ Eg.sentencescanbeabstractedintoaseriesofwords.Wordscanbeabstractedintoa
seriesofcharactersext(wherecharactersactaspredefineddatatypes)
S4→FUNDAMENTALSOFCOMPUTATIONALTHINKING
C17→AbstractionandAutomation
Abstraction- reducingaproblemtoitsessentialfeaturestohelpussolvetheproblem
Thereare6formsofabstraction:
1. RepresentationalAbstraction
2. AbstractionbyGeneralization/Categorisation
3. ProceduralAbstraction
4. FunctionalAbstraction
5. DataAbstraction
6. ProblemAbstraction
RepresentationalAbstraction:
● Repeatedlyremovingunnecessarydetailsoonlyinformationneededtosolvetheproblems
remains
AbstractionbyGeneralisation/Categorisation:
● Simplifyingproblemsbygroupingcharacteristicstogetherina
hierarchicalrelationship
ProceduralAbstraction:
● Top-down
○ Startingatthetop/beginningandbreakingdownproblemsintoaseriesofsubroutines/
procedures
● FocusonWHATvs.HOW(whateventstrigger,theirlinks,sideeffectsanderrorhandling)
FunctionalAbstraction:
● Theprogrammerdesignscommon,re-usablefunctionstosolveproblems
● Reusingfunctionsreducescomplexityastheyonlyneedtobewrittenonce
○ Eg.foramaterialsmanagementsystem;calctotalCost(),calcBudget()
DataAbstraction:
● Hidingdetailsofhowdataisrepresentedsonewdataobjectscanbeconstructedfrom
previouslydefineddatatypes
○ Eg.sentencescanbeabstractedintoaseriesofwords.Wordscanbeabstractedintoa
seriesofcharactersext(wherecharactersactaspredefineddatatypes)