2.1.1 thinking abstractly

Cards (10)

  • Thinking abstractly
    programmers can focus on core elements rather than unnecessary detail such as 

    -creating more efficient software designs
    -reduce time spent on the program
    -prevent program from being unnecessarily large
  • Thinking abstractly
    what could the similar themes be
    example: symbols
    icons, colour coding
  • Thinking abstractly
    what does abstraction mean

    this is removing of unnecessary detail and only keep the key features
  • Thinking abstractly
    what is abstraction by generalisation
    grouping together similarities within a problem and identify what kind of problem is it (certain problems are categorised into types) (makes it easier to solve)
  • Thinking abstractly
    what is data abstraction
    the details of how data is represented are hidden
  • Thinking abstractly
    what is procedural abstraction
    perform functions such as pushing and popping items to and from stack without know about the code used to implement functionality (kind of shows what a subroutine does without considering how it is done)
  • Thinking abstractly
    what is representational abstraction
    analysing the relevant details in a scenario and simplifying problem based on information
  • thinking abstractly
    devising an abstract mode for a variety of situation what do they have to consider
    -can the problem be solved by compuatationally?
    -what are the key features?
    -what format does the model need to be displayed in?
    -how many people will be using the model?
  • thinking abstractly
    the difference between abstraction and reality
    abstraction of a simplified representation of reality
    -real-word entities can be represented using structure such as tables and databases
    -real-world values are stored as variables
    -Objects in object orientated programming (OOP) are also real-world entities which consider the functionality, interface and properties of entities
    -attributes are an abstraction for characteristics of an object
    -methods are an abstraction for the actions a real-world object is able to perform
  • thinking abstractly
    the need for abstraction
    what does the TCP/IP shows

    an abstraction of how networks function separated into 4 layers: application, transport, network, link – this makes it simpler to understand