Cards (76)

  • Why is it crucial to define the problem statement and its requirements effectively?
    To ensure the solution aligns
  • The problem statement describes the task to be accomplished, along with any constraints or objectives
  • Functional requirements specify how well the system performs tasks.
    False
  • Match the requirement type with its description:
    Functional ↔️ Defines specific tasks
    Non-Functional ↔️ Specifies performance standards
  • What is an example of a functional requirement in a customer purchase tracking system?
    Record purchase date
  • A non-functional requirement for a customer purchase tracking system is to support 1000 transactions per hour
  • Choosing the right algorithms and data structures is crucial for efficient problem-solving.
  • Match the algorithm or data structure with its complexity:
    Bubble Sort ↔️ O(n2)O(n^{2})
    Merge Sort ↔️ O(nlogn)O(n \log n)
  • Arrays have O(1)O(1) complexity for element access
  • Which data structure is preferable for frequent modifications despite slower access time?
    Linked list
  • Program architecture defines the high-level design and interactions between system components
  • Match the architectural pattern with its description:
    Layered ↔️ Organizes components into layers
    Microservices ↔️ Decomposes into independent services
  • What is a disadvantage of the client-server architectural pattern?
    Single point of failure
  • Scalability, maintainability, and performance are key factors in choosing program architecture.
  • Why should the choice of programming language align with project requirements?
    To optimize readability and efficiency
  • Python is known for its high readability
  • Java achieves cross-platform compatibility via the JVM.
  • Which programming language is suitable for performance-critical applications?
    C++
  • The example code in Python calculates the factorial of a number using a recursive approach
  • A functional requirement defines tasks the system must perform
  • A non-functional requirement specifies how well tasks are performed
  • An example of a functional requirement is to support 1000 transactions per hour.
    False
  • The problem statement describes the task and its constraints
  • What is algorithmic complexity used to measure?
    Time efficiency
  • Bubble Sort is efficient for large datasets.
    False
  • Merge Sort has an algorithmic complexity of O(nlogn)O(n \log n), making it efficient for large datasets
  • What is the time complexity for accessing an element in an array?
    O(1)O(1)
  • What is the time complexity for inserting or deleting an element in a linked list?
    O(1)O(1)
  • Program architecture defines the high-level design and interactions between components
  • A layered architecture simplifies maintenance and allows reuse of components.
  • What is a key advantage of microservices architecture?
    Improved scalability
  • In a client-server architecture, the server can become a single point of failure
  • Steps for designing a software system
    1️⃣ Define the problem statement
    2️⃣ Identify algorithms and data structures
    3️⃣ Design the program structure
    4️⃣ Write the program code
    5️⃣ Test and debug the code
  • The choice of a programming language should align with the project's requirements
  • Match the programming language with its strength:
    Python ↔️ Readability
    Java ↔️ Cross-platform compatibility
    C++ ↔️ Performance-critical applications
  • What are three key considerations when designing a program for readability, performance, and compatibility?
    Readability, performance, compatibility
  • Execution speed and memory usage should be optimized to improve program performance
  • Python is highly efficient for performance-critical applications.
    False
  • Match the programming language with its primary use case:
    Python ↔️ Scripting
    Java ↔️ Enterprise applications
    C++ ↔️ Performance-critical applications
  • Testing verifies that software functions correctly according to its specifications