7.2 Computational Methods (OCR A Level Computer Science) Flashcards

Exam code: H446

1/88

0Still learning

Know0

  • Define computational methods.

Cards in this collection (88)

  • Define computational methods.

    Computational methods are problem-solving techniques that use algorithms and mathematical models to analyse and solve complex problems efficiently using a computer.

  • True or False?

    All problems can be solved using algorithms and programming code.

    False.

    Some problems, especially those involving ethical or social factors, may require human input that algorithms might oversimplify or misinterpret.

  • Sorting a list of numbers is feasible using algorithms like         or merge sort.

    Sorting a list of numbers is feasible using algorithms like quick sort or merge sort.

  • What is a real-world constraint that can affect whether a problem is computable?

    Practical limitations such as computing power, speed, and memory can affect whether a problem is solvable using computational methods.

  • Some problems are theoretically solvable but         due to resource limitations.

    Some problems are theoretically solvable but not practical due to resource limitations.

  • Define resource-intensive problem.

    A resource-intensive problem is a problem that requires a large amount of computational resources (such as memory or processing power), making it impractical to solve on typical hardware despite being theoretically solvable.

  • How have advances in technology expanded the range of problems that can be solved computationally?

    Advances in technology have made it possible to solve previously impractical problems, such as genome sequencing, by increasing computational speed and reducing costs.

  • Queue algorithms can improve         times for customer service.

    Queue algorithms can improve response times for customer service.

  • Define problem recognition.

    Problem recognition is the process of determining if there is a problem that needs to be solved.

  • What is an example of problem recognition in an online shop?

    An example is when customers complain that the checkout process is slow, indicating a problem that needs to be solved.

  • Not all problems should or can be solved with         .

    Not all problems should or can be solved with software.

  • True or False?

    Code can always solve every type of organisational problem.

    False.

    Not all problems should or can be solved with software; some may require other types of solutions.

  • What was the primary issue with the GP surgery's online appointment booking system?

    The primary issue was the slow response time in the online appointment booking system, leading to user frustration and abandoned bookings.

  • A key sub problem in the GP surgery booking system was         bottlenecks during peak hours.

    A key sub problem in the GP surgery booking system was peak hour bottlenecks during peak hours.

  • Why can't all problems in a sales team be solved with software?

    Because problems like low morale, unrealistic targets, and lack of emotional support are cultural and psychological, which require human-centric solutions rather than just software.

  • In the sales team example,         and high turnover were the core issues affecting company performance.

    In the sales team example, low morale and high turnover were the core issues affecting company performance.

  • Define decomposition.

    Decomposition is the process of breaking down a big problem into smaller problems so that they can be solved independently.

  • Programmers use decomposition to          problems down and identify the         involved.

    Programmers use decomposition to break problems down and identify the steps involved.

  • Why is decomposition useful in programming?

    Decomposition is useful because it allows programmers to break complex problems into smaller, more manageable parts, which can be solved independently or by different people.

  • Applying           helps remove non-essential elements so programmers can focus on critical aspects of a problem.

    Applying abstraction helps remove non-essential elements so programmers can focus on critical aspects of a problem.

  • What are some steps to decompose the problem of slow response times in an online booking system?

    First, identify sub-problems such as server limitations, inefficient algorithms, and poor user interface. Then, prioritise which to solve first based on their impact.

  • Define abstraction.

    Abstraction is the process of removing non-essential details so that programmers can focus on the most important aspects of a problem.

  • True or False?

    Decomposition can help identify reusable components in a problem.

    True.

    Decomposition helps programmers find parts of a problem that can be reused in other solutions or projects.

  • How might software solutions improve a recommendation system, and what is one limitation of relying solely on software?

    Software solutions such as improved algorithms, better data quality, and user feedback can help, but software alone cannot account for all real-world variables or rapid changes in customer behaviour.

  • Define divide and conquer strategy.

    The divide and conquer strategy is a method of solving complex tasks by breaking them down into smaller, more manageable sub-tasks, solving each one, and then combining their solutions.

  • What are the three main steps in the divide and conquer algorithmic strategy?

    The three main steps are: divide the problem into sub-problems, conquer by solving the sub-problems, and combine the solutions to form the overall answer.

  • In the        strategy, the problem is broken into smaller tasks, solved independently, and their solutions are        .

    In the divide and conquer strategy, the problem is broken into smaller tasks, solved independently, and their solutions are combined.

  • True or False?

    Divide and conquer always makes a program slower because of the extra steps involved.

    False.

    Divide and conquer can make programs more time efficient by breaking complex problems into manageable sub-problems.

  • What is task parallelism?

    Task parallelism is when several tasks or sub-tasks can be carried out concurrently (at the same time) to speed up the overall completion time.

  • How can task parallelism improve performance in a factory assembly line?

    Task parallelism allows different teams or machines to assemble different components of a product at the same time, speeding up overall production.

  • A benefit of divide and conquer is that it can make efficient use of        , but a drawback is the risk of        if recursion is used.

    A benefit of divide and conquer is that it can make efficient use of cache memory, but a drawback is the risk of stack overflows if recursion is used.

  • In the context of an e-commerce website with slow search, how can divide and conquer and task parallelism be used together to improve performance?

    The search problem can be divided into tasks like query parsing, data retrieval, and front-end rendering. Task parallelism can then be used to process database searches and display products simultaneously, improving speed and user experience.

  • Define abstraction.

    Abstraction is the removal of unnecessary components of a problem to focus only on those that are necessary.

  • Why is abstraction important in solving real world problems?

    Abstraction is important because it allows us to ignore irrelevant details and concentrate on the essential aspects of a problem, making it easier to solve complex real world problems.

  • How is abstraction used in computer games?

    In computer games, abstraction is used to hide unnecessary details, such as the complex algorithms controlling non-player characters, so players can focus on gameplay and enjoyment.

  • When using abstraction in a computer game, the aim is to make the game         and visually appealing, while keeping it fun to play.

    When using abstraction in a computer game, the aim is to make the game realistic and visually appealing, while keeping it fun to play.

  • How does abstraction help when following a cooking recipe?

    Abstraction in recipes allows the user to focus on the steps needed to achieve the desired dish, without needing to understand the underlying science or chemistry involved.

  • In a recipe, a user does not need to know the         behind the process, only the desired output.

    In a recipe, a user does not need to know the chemistry behind the process, only the desired output.

  • How does abstraction enable people to drive cars without understanding engines?

    Abstraction allows drivers to use simple controls like pedals and a key without needing to know how the engine works, enabling them to operate complex machines easily.

  • Abstraction empowers people to utilise         machines like cars.

    Abstraction empowers people to utilise complex machines like cars.

  • Define backtracking.

    Backtracking is an algorithmic technique that incrementally builds possible solutions and abandons them if they fail, returning to previous decision points to try alternative paths.

  • What types of problems is backtracking ideal for solving?

    Backtracking is ideal for solving logic problems, such as puzzles and mazes, where all possible paths need to be explored to find a solution.

  • Backtracking will explore all possible          in the search space to determine if these come to       .

    Backtracking will explore all possible paths in the search space to determine if these come to dead ends.

  • True or False?

    Backtracking is guaranteed to find a solution if one exists.

    True.

    Backtracking will comprehensively explore all possible paths and is guaranteed to find a solution if one exists in the search space.

  • How does backtracking work when solving a maze?

    Backtracking starts at the entrance and moves step-by-step through the maze, marking visited paths. If it encounters a dead end, it retreats to the last unvisited junction and tries a new path until it reaches the exit.

  • Define dead end in the context of backtracking.

    A dead end in backtracking refers to a point in the search space where no valid moves or extensions are possible, requiring the algorithm to backtrack.

  • Backtracking can be used to traverse data structures such as       or       which have multiple paths to the desired solution.

    Backtracking can be used to traverse data structures such as trees or graphs which have multiple paths to the desired solution.

  • What is one major drawback of using backtracking to solve problems?

    One major drawback of backtracking is high time complexity, especially for problems with a large search space, which makes it inefficient and can consume a lot of memory.

  • Define data mining.

    Data mining is the process of turning large quantities of data into useful information by using algorithms and statistical methods to find patterns and insights.

  • What is one reason why organisations use data mining?

    Organisations use data mining to find patterns and trends that are not immediately obvious, helping them make better predictions and decisions.

  • True or False?

    Data mining can only be used in the retail industry.

    False.

    Data mining is used in many industries such as retail, healthcare, finance, automotive, and entertainment.

  • Data mining uses       and             methods to extract valuable insights from large data sets.

    Data mining uses algorithms and statistical methods to extract valuable insights from large data sets.

  • How do online retailers like Amazon use data mining?

    Online retailers like Amazon use data mining to analyse purchase history and browsing behaviour to provide customised product suggestions for customers.

  • What is a potential drawback of using inaccurate data in data mining?

    If data mining uses inaccurate data, it can produce inaccurate results.

  • One complexity of data mining is the need for              and           staff within an organisation.

    One complexity of data mining is the need for data engineers and data scientists staff within an organisation.

  • How is data mining used in the healthcare industry?

    In the healthcare industry, data mining is used to analyse healthcare records and predict disease outbreaks or patient admissions.

  • Define heuristics.

    In A Level Computer Science, heuristics is making use of experience, such as rules of thumb or educated guesses, to find a solution to a problem more quickly, prioritising speed over accuracy.

  • What is the main goal when using heuristics in problem solving?

    The main goal when using heuristics is to find a solution that is ‘good enough’ as quickly as possible, rather than guaranteeing the most accurate or perfect answer.

  • Heuristics often prioritises       over        .

    Heuristics often prioritises speed over accuracy.

  • True or False?

    Heuristics always guarantees the best possible solution to a problem.

    False.

    Heuristics aims for a solution that is good enough and does not guarantee the best or most accurate answer.

  • In the game 'Hot and Cold', what does the feedback of 'hotter' or 'colder' represent?

    In 'Hot and Cold', the feedback 'hotter' or 'colder' tells the searcher if they are getting closer to or further from the hidden object, similar to how heuristics provide guidance but not an exact answer.

  • Getting stuck in a spot that seems 'hot' but is not the actual target is known as reaching a            .

    Getting stuck in a spot that seems 'hot' but is not the actual target is known as reaching a local optimum.

  • How does the A* algorithm use heuristics in pathfinding?

    The A* algorithm uses heuristics to estimate the best path from a start node to an end node, allowing it to find a solution quickly, though not always the most efficient path.

  • One benefit of using heuristics is that they          time by not investigating every possibility.

    One benefit of using heuristics is that they save time by not investigating every possibility.

  • Define performance modelling.

    Performance modelling is a systematic approach to testing or simulating the behaviour of a system before it is used in the real world.

  • What is the main purpose of performance modelling in software production?

    The main purpose of performance modelling is to evaluate and predict the performance characteristics of a software system before it is deployed.

  • Performance modelling uses metrics like       time and          to identify potential bottlenecks.

    Performance modelling uses metrics like response time and throughput to identify potential bottlenecks.

  • True or False?

    Performance modelling can be integrated into both the design and testing phases of software development.

    True.

    Performance modelling can be used in the design phase to make architectural decisions and in the testing phase to simulate real-world scenarios.

  • Define stress testing.

    Stress testing is a process where a system is tested under extreme data loads or large numbers of users to ensure it can cope with such conditions.

  • If the rules that made up a performance model are       , the results produced will be         .

    If the rules that made up a performance model are wrong, the results produced will be incorrect.

  • How can performance modelling help optimise a database system?

    Performance modelling can simulate different database architectures and query strategies, helping to select the best indexing strategy and estimate response times under varying loads.

  • Why is performance modelling important for battery-powered devices?

    Performance modelling is important for battery-powered devices because it can estimate power consumption under different usage patterns, helping to optimise energy efficiency.

  • Define pipelining.

    Pipelining is the process of carrying out multiple instructions concurrently, where the output of one process feeds into the next to improve efficiency and performance.

  • What are the main stages required to utilise pipelining as a computational method?

    To utilise pipelining, you must break down the task, arrange tasks in sequential order, and allow multiple tasks to operate concurrently.

  • How does pipelining in programming improve efficiency?

    Pipelining in programming improves efficiency by chaining multiple instructions together so that the output of one operation becomes the input of the next, similar to an assembly line.

  • In Unix, the       symbol is used to             commands together, passing the output of one command to the input of the next.

    In Unix, the pipe (|) symbol is used to chain commands together, passing the output of one command to the input of the next.

  • Describe how pipelining is similar to an assembly line in manufacturing.

    Pipelining is similar to an assembly line because tasks are broken down and arranged in sequence, enabling different stages to operate at the same time and increasing efficiency.

  • When applying pipelining to manufacturing a car, tasks that can be performed        should be identified, such as developing the engine and chassis at the same time.

    When applying pipelining to manufacturing a car, tasks that can be performed concurrently should be identified, such as developing the engine and chassis at the same time.

  • True or False?

    In pipelining, each task must be completed before the next one starts.

    False.

    In pipelining, multiple tasks operate concurrently, not sequentially one after the other.

  • Define pipe (|) symbol in Unix.

    The pipe (|) symbol in Unix is used to pass the output of one command as input to another, enabling pipelining of commands.

  • Define visualisation.

    Visualisation is when data or concepts are presented in a simpler form for humans to understand, often by creating a graphical or visual representation.

  • What is the main benefit of using visualisation in understanding data or systems?

    The main benefit of using visualisation is that it simplifies complex data or systems, making them easier for humans to understand and helping to spot new trends and patterns.

  • True or False?

    Visualisation can explain why data behaves in a certain way.

    False.

    Visualisation can show data in a visual way, but it cannot explain the reasons behind why something is the way it is.

  • A         is a diagram that represents workflows or processes in a system.

    A flowchart is a diagram that represents workflows or processes in a system.

  • How do wireframes help in the design process of a program or website?

    Wireframes help with layout planning and user experience design, allowing designers to visualise the skeletal framework of a program or website before detailed development.

  • Define Unified Modeling Language (UML) diagram.

    A Unified Modeling Language (UML) diagram is a standard way to visualise a system's architecture, showing how classes and objects interact with each other.

  • Visualisation can make it easier to spot         and         in data that have not been noticed before.

    Visualisation can make it easier to spot trends and patterns in data that have not been noticed before.

  • Why might different people interpret the same visualisation differently?

    Different people may interpret the same visualisation differently because the way data is presented can influence understanding and individuals may focus on different aspects of the visual information.

Sign up to unlock flashcards

or