Topic 1

Cards (107)

  • What is abstraction in Computer Science?
    Removing excessive details to represent a problem
  • Why is abstraction important in computational thinking?
    It simplifies problems by focusing on key features
  • What is representational abstraction?
    Simplifying a problem based on relevant information
  • What does abstraction by generalisation involve?
    Grouping together similarities within a problem
  • What is the benefit of abstraction by generalisation?
    It allows problems to be categorised for common solutions
  • What is data abstraction?
    Hiding details about how data is stored
  • What are abstract data structures?
    Structures like stacks and queues used without implementation details
  • What is procedural abstraction?
    Modeling what a subroutine does without implementation details
  • What is a black-box in programming?
    A reusable procedure without implementation knowledge
  • How do complex problems utilize multiple levels of abstraction?
    Each level performs a different role in problem-solving
  • What is the role of the highest levels of abstraction?
    Providing an interface for user interaction
  • What do the lowest levels of abstraction do?
    Perform tasks through the execution of machine code
  • Why is abstraction important for non-experts?
    It hides complex information irrelevant to their needs
  • How does abstraction improve software development efficiency?
    It allows focus on essential elements, reducing unnecessary details
  • What are low-level programming languages?
    Languages like assembly code and machine code
  • What is the advantage of high-level programming languages?
    They provide an abstraction for machine code
  • How do high-level languages compare to low-level languages?
    High-level languages are easier to learn and use
  • What is the TCP/IP model?
    An abstraction for how networks function
  • How many layers are in the TCP/IP model?
    Four layers of abstraction
  • What does each layer of the TCP/IP model deal with?
    Different parts of the communication process
  • Why is compatibility important between layers in the TCP/IP model?
    Standards must be agreed in advance for functionality
  • What is abstraction in relation to reality?
    A simplified representation of real-world entities
  • How are real-world values stored in programming?
    As variables within computational structures
  • What role do objects play in object-oriented programming?
    They are abstractions for real-world entities
  • What aspects does abstraction consider in object-oriented programming?
    Functionality, interface, and properties of entities
  • What factors should be considered when devising an abstract model?
    • Identify the problem to solve
    • Determine if it can be solved computationally
    • Define key features of the problem
    • Consider the model's usage and format
    • Identify the target audience and their expertise
    • Remove irrelevant details to avoid confusion
  • What is the significance of removing unnecessary details in abstraction?
    • Prevents programs from becoming large
    • Reduces time spent on projects
    • Allows focus on essential elements
  • How does abstraction facilitate communication in networking?
    • Simplifies understanding of complex processes
    • Allows layers to function independently
    • Hides details of other layers
  • What are the characteristics of attributes and methods in object-oriented programming?
    • Attributes: characteristics of an object
    • Methods: actions an object can perform
  • What does designing a solution involve?
    Thinking ahead about problem components
  • Why is it important to think ahead in software development?
    To anticipate problems during software use
  • What are the two main components of computational problems?
    Inputs and outputs
  • What are inputs in computational problems?
    Data required to solve the problem
  • Why must the order of data input be considered?
    It affects how the data is processed
  • What are outputs in computational problems?
    Results passed back after processing inputs
  • What must designers decide on for presenting solutions?
    Data type, structure, and method
  • What are the inputs and outputs for an ATM program?
    Inputs:
    • Transaction type (Deposit, Balance check, Withdrawal)
    • Card details
    • PIN

    Outputs:
    • Balance
    • Total amount entered
    • Dispensed cash
    • Printed receipt
    • Verbal feedback
  • What input devices are required for an ATM?
    Touch screen, card reader, and keypad
  • What output devices are used in an ATM?
    Monitor, cash dispenser, printer, and speakers
  • What are preconditions in programming?
    Requirements that must be met before execution