Thinking ahead (2.1.2)
Navigate to resources by choosing units within one of the unit groups shown below.
Delivery guides are designed to represent a body of knowledge about teaching a particular topic and contain:
- Content: a clear outline of the content covered by the delivery guide;
- Thinking Conceptually: expert guidance on the key concepts involved, common difficulties students may have, approaches to teaching that can help students understand these concepts and how this topic links conceptually to other areas of the subject;
- Thinking Contextually: a range of suggested teaching activities using a variety of themes so that different activities can be selected that best suit particular classes, learning styles or teaching approaches.
a) Identify the inputs and outputs for a given situation.
b) Determine the preconditions for devising a solution to a problem.
c) The nature, benefits and drawbacks of caching.
d) The need for reusable program components.
Students will learn about the impact of caching in relation to a programming solution or IT system. They could use their knowledge to create a user guide or instructional video which explains the nature, benefits and drawbacks of caching. The 'Caching discussion' link provides a good discussion as a starting point on this topic.
Students’ understanding might also be supported by developing their overall technical understanding of caching, how it works and how it is used (see 'Understanding caching').
The need for reusable program components is important from a business point of view as well as a tool to support future developments. See 'Reusable programs 1' link.
Students could be asked to investigate one particular method of software reuse using this site as a beginning point for the theory. See 'Reusable programs 2' link.
Further reading is provided within the 'Reusable programs 3' link.
Students could consider what elements of their own programs are reusable; this may begin as a simple definition or function. They could annotate printouts of their programs and discuss these elements.
In this unit the content covers the requirement for identifying the inputs and outputs for a given situation. This is usually presented in diagram form as parts in a flow chart showing the inputs, outputs, processes and decisions. Logically ordering the sections of a solution into these parts supports the development of a solution.
A current system’s reusability may be an outcome of the need for reusable program components. For example, standard interfaces allow for interchangeable, reusable components. Consider a simple program icon which is then used throughout a suite of programs: the ‘Save’ icon within the ribbon of a word processor, including its functionality, is reused throughout other software applications such as spreadsheets or databases. A business that systematically reuses these components can combine them as the building blocks of other systems. Sometimes this approach is systematic and a planned part of the development process.
The majority of systems store data and this will be an area that students will be familiar with. Caching in traditional terms concerns storing data or instructions in high speed accessible memory. This results in faster response times and overall better device performance. Students will be required to look at how modern applications run across a number of devices, platforms and servers. This data is often cached across a number of hardware servers. Software takes this shared cache of data and combines it to create one single viewable image, even though it is stored across several machines. Traditionally, as more devices are added to a system stability can slow down and this creates bottlenecks. Synchronising the data across a number of servers or running applications on specific servers can reduce the overall dependency on a specific server, thus reducing bottlenecks.
Caching across servers enables users to distribute applications to multiple physical locations, multiple departments within an organisation, and multiple businesses across the Internet. Plus, it permits reuse of existing code within an organisation and, more importantly, fosters collaboration among different business units.
However, students need to consider the related concerns of caching web application data, such as storing data of a sensitive or personal nature.
Programs will have a number of inputs and outputs that form some element of the final outcome of the coding solution. These inputs are combined with processes to create outcomes. Consider a simple game of hangman to find a six letter word.
1) List all the inputs
2) List the outputs.
Now consider the processes and decisions that take place when a letter is selected or entered.
The letter is either correct or incorrect – this can be considered as a process, the response that is fed back to the player is an output.
The three elements, inputs, outputs and processes, are represented by the following symbols.
- An input or output is a parallelogram.
- A process is a rectangle.
- A decision is a diamond.
Show the symbols (from the 'Symbols' resource) to the students. Ask each learner to:
1) Create a flowchart diagram showing the inputs, outputs, processes and decisions for the hangman game.
2) Compare with another student’s answer and discuss the parts – make improvements to their diagram.
1) Cut up the cards in the 'Components' resource and share them between students/groups of students. Find definitions for the various forms of reusable program components.
2) Get students to order or rank them in terms of which components are most important or useful. Ask students to discuss and justify their choices.
3) The teacher or a student reads out an example of a reusable component and students hold up the matching type card. See 'Cards' resource.
You have been approached by a business who has asked you to make a document regarding the nature of caching, identifying and evaluating the benefits and drawbacks and giving examples.
This could be a video, animation, presentation or a report.
Areas of focus:
- Introduce what caching is and the requirement for it.
- Examples of where caching is used.
- Briefly describe how caching works.
- Discuss the benefits of caching.
- Discuss the drawbacks.
- Focus on, for example, scalability, maintenance issues, security and synching issues.
OCR’s resources are provided to support the teaching of OCR specifications, but in no way constitute an endorsed teaching method that is required by the Board and the decision to use them lies with the individual teacher. Whilst every effort is made to ensure the accuracy of the content, OCR cannot be held responsible for any errors or omissions within these resources. We update our resources on a regular basis, so please check the OCR website to ensure you have the most up to date version.
© OCR 2015 - This resource may be freely copied and distributed, as long as the OCR logo and this message remain intact and OCR is acknowledged as the originator of this work.