Elements of computational thinking Flashcards
what is the nature of abstraction ?
the nature of abstraction is hiding unnecessary details and showing details that are important in context
what are the advantages of abstraction?
- makes UI’s easier to use
-only useful data is used
-underlying data storage and algorithms are hidden
why is abstraction needed?
- abstraction is needed as it allows us to create a general idea of what the problem is and how to solve it . this process instructs us to remove all specific details and any patterns that will not solve our problem .
- to save memory
why is thinking ahead important?
thinking ahead is important as it allows code efficiency
and minimise errors
what is a precondition ? and why is it important ?
a precondition is a condition that must be fullfilled before other things can happen or be done .
for example , a budget
this is important as this allows the user to create a list of things they must look for in order to solve a problem
what is caching? and what are its benefits and drawbacks?
caching is the process of storing copies of files in a temporary memory location.
benefits:
-improves speed and efficiency
drawback :
-the wrong data is often fetched
-complicated to implement
-maintaing the correct sequence of instruction or data can be problematic .
what is a reusable program component ? and what are the benefits of using a reusable program ?
A reusable program component is a section of code that can be reused during the development of new programs
benefits:
- shortens development time
-saved system resources
- more time efficient
- lowers development cost
what is external reuse ?
external reuse is selling a component to a third party
e.g API
what is thinking procedurally ? and what is its adv?
thinking procedurally is identifying the individual parts of a bigger problem .- a a large complex task is broken down.
an advantage is that its easier to test and maintain
what is a boolean expression?
this is a true or false statement
what is a logical condition ?
this is when you boolean expressions to chose the most logical output
what is concurrently ?
this is when an application is making progress on more than one task at the same time. (concurrently)
what is parallelism ?
parallelism means that an application splits its tasks into smaller tasks which can be processed in Parrallel e.g over multiple cpu cores at the SAME TIME.
what is backtracking ?
backtracking is the process of building towards a solution , abandoning partial success when the solution cant be completed .
e.g going back to find other routes to solve the problem .
what is data mining? and when is it used
is the concept of analysing vast amount of data gathered from a variety of sources to discover new information .
this tends to by used by firms to maximise profits