CPS IAS CAIE 2

Cards (65)

  • Abstraction
    The process of extracting information that is essential, while ignoring what is not relevant, for the provision of a solution
  • Abstraction
    • Map
    • Calendar
    • Timetables
  • Abstraction
    • Encourages the development of simplified models that are suited to a specific purpose by eliminating any unnecessary characteristics from that model
  • How to do Abstraction
    1. Identify the purpose of the model of the situation that is to be built
    2. Identify sources of information (observations, view of potential users, evidence of existing models)
    3. Use information gathered to identify what details need to be included in the model (details to be presented, need to be removed, etc)
  • Decomposition
    The process of breaking a complex problem into smaller parts until each part is easy to examine and understand, hence a solution can be developed for it
  • Pattern Recognition
    Used to identify those parts that are similar and could use the same solution
  • Pattern recognition led to the development of reusable program code in the form of subroutines, procedures, and functions
  • When writing a computer program, each final part is defined as a separate program module that can be written and tested as a separate procedure or function
  • Algorithm
    An ordered set of steps to be followed in the completion of a task
  • Algorithm Methods
    • Structured English
    • Flowchart
    • Pseudocode
  • Stepwise Refinement
    The practice of subdividing each part of a larger problem into a series of smaller parts, and so on, as required
  • Data Type
    A classification of different types of data that determines properties like what operations can be conducted on the data and how the data will be stored
  • Record
    A composite data type comprising several related items that may be of different data types
  • Identifier
    A unique name applied on an item of data
  • Array
    A data structure containing several elements of the same data types
  • Lower Bound
    The index of the first element in an array
  • Upper Bound
    The index of the last element in an array
  • Arrays
    • Used to store multiple data types in a uniformly accessible manner
    • All data types use the same identifier and each data item can be accessed separately by the use of an index
    • List of items can be stored, searched, and put into an order
  • 1D Array
    A list
  • 2D Array
    A table, with rows and columns
  • Linear Search
    A method of searching in which each element of an array is checked in order
  • Linear Search

    1. Uses variables Upperbound and Lowerbound so that the algorithm is easier to adapt for different lengths of list
    2. Repeat Until loop make use of 2 conditions, so that the algorithm is more efficient, termination as soon as the item is found in the list
  • Identifier Table
    Good practice to provide an identifier table to keep track of and explain the use of each identifier in an algorithm
  • Bubble Sort
    A method of sorting data in an array into alphabetical or numerical order by comparing adjacent items and swapping them if they are in the wrong order
  • Bubble Sort
    1. Start from the lower bound and finishing with the element next to the upper bound
    2. The element at the upper bound is now in the correct position
    3. This comparison is repeated with 1 less element in the list, until there is only 1 element left or no swaps are made
  • File
    A collection of data stored by a computer program to be used again
  • File Operations
    • Open File
    • EOF
    • Close File
  • Abstract Data Type (ADT)

    A collection of data and a set of operations on that list
  • Stack
    A list containing several items operating on the last in, first out (LIFO) principle
  • Stack
    • Items can be added to the stack (push) and removed from the stack (pop)
    • The first item added to a stack is the last item to be removed from the stack
  • Queue
    A list containing several items operating on the first in, first out (FIFO) principle
  • Queue
    • Items can be added to the queue (enqueue) and removed from the queue (dequeue)
    • The first item added to a queue is the first item to be removed from the queue
  • Linked List
    A list containing several items in which each item in the list points to the next item in the list
  • Linked List
    • Uses a start pointer that points to the first item in the linked list
    • Every item in a linked list is stored together with a pointer to the next item
    • This is called a node
    • The last item in a linked list has a null pointer
  • Applications of Stacks, Queues, and Linked Lists
    • Memory Management
    • Expression evaluation
    • Backtracking in recursion
    • Management of files sent to a printer
    • Buffers used with keyboards
    • Scheduling
    • Using arrays to implement a stack
    • Using arrays to implement a queue
    • Using arrays to implement a binary tree
  • Program Development Lifecycle
    The process of developing a successful program or suite of programs that is going to be used by others to perform a specific task
  • Stages of Program Development Lifecycle
    • Analysis
    • Design
    • Coding
    • Testing
    • Maintenance
  • Waterfall Model
    A linear sequential program development cycle, in which each stage is completed before the next is begun
  • Waterfall Model

    • Linear, as each stage is completed before the next is begun
    • Well documented as full documentaries is completed at every stage
    • Low customer involvement, only involved at the very start and end of the process
  • Iterative Model

    A type of program development cycle in which a simple subset of the requirements is developed, then expanded or enhanced, with the development cycle being repeated until the full system is deployed