2.1 - Elements of computational thinking

Cards (7)

  • Discuss the need for and purpose of abstraction
    • Removal of unnecessary elements
    • Uses symbols to represent elements of a problem
    • Increase chance of creating the program successfully
    • Reduces programming time and factors that can detract from the program
  • Mary created the program as a series of sub-programs that can be reused.
    Describe one benefit of Mary creating reusable program components
    • the components can be used in a future program they do not need to be rewritten
    • they have already been tested it will save time
  • Explain and evaluate the use of re-useable components
    • One piece of code can be used in multiple places / called many times
    • Use of subroutines / procedures / functions
    • Use of classes
    • Use of external libraries
    • The use of a class allows replication
    • Faster development
    • Faster/easier future adaptation
    • Better performance of program
  • Discuss the need for concurrent processing and the benefits and drawbacks of using this
    • Processes are happening at the same time/at overlapping times
    • One process may need to start before a second has finished
    • Individual processes are threads, each thread has a life line
    • One request will be sent to the server, this will have a thread
    Benefit
    • Multiple requests to the server can be made at the same time
    Drawback
    • Programming will need to restrict access to the database of seats/sales
    • Record locking will need implementing – more complex programming
  • Describe what is meant by the term ‘concurrent processing’.
    • Multiple processes being executed at the same time appearing to happen simultaneously
    • Giving processes a slice of the processor time
    • Having multiple processors each carrying out a different process
  • Explain why concurrent processing is needed to allow multiple users to log in and interact with game elements at the same time
    • Game could have large number of requests to the server at a time, server needs to respond in reasonable time
    • having multiple processors handling the different requests would increase response time
    • use record locking to stop edits if someone else has access to data
    • Different users will have different response times therefore the processor can still handle other requests so that the performance for other users is not affected
  • A programmer is developing an aeroplane simulator. The user will sit in a cockpit and the simulated environment will be displayed on screens around them. Describe how caching can be used in the aeroplane simulator.
    • Store data that has been used in cache/RAM in case needed again
    • e.g. store design of the weather/a cloud/external environment