top of page

Search CSNewbs

Search this site

304 results found with an empty search

  • 2.1 - Data Formats & Types | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about data formats such as ASCII, Unicode, CSV, fixed-width, JSON and XML and data types, including Boolean, character, date, integer, real and string. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 2.1 - Data Formats & Types Watch on YouTube: Data Formats Data Types You need to know the characteristics , uses , advantages and disadvantages of six data formats (ASCII , Unicode , CSV , fixed-length , JSON and XML ). You also need to know the characteristics , uses , advantages and disadvantages of six data types (Boolean , character , date , integer , real and string ). What You Need to Know Data Formats ASCII ASCII (American Standard Code for Information Interchange ) is a character-encoding system that represents 256 characters using 8-bit ( 1 byte ) binary codes , including English letters , numbers , punctuation and control characters . It is used for storing and transferring basic English text , such as simple text files and character-based data . It is simple , requires little storage and is widely supported by different computer systems . However, it supports a limited range of characters , so it cannot represent most non-English alphabets , symbols or emojis . Link, Ocarina of Time, 1998 Lamball, Palworld, 2024 This information can simply be stored as plain ASCII characters. Unicode Unicode is a character-encoding standard that can represent a very large range of characters and symbols from different languages . A common encoding is UTF-16 , which uses 16 bits (two bytes ) for 65,536 possible characters . It is typically used for websites , applications and documents that need to store multiple languages , symbols and emojis . Unicode supports characters from many different languages and provides a consistent standard across different systems . However, some Unicode encodings can require more storage per character than ASCII, and incorrect encoding can cause characters to display incorrectly . Link 🗡️ | Ocarina of Time ⏳ | 1998 🗓️ Lamball 🐑 | Palworld 👹 | 2024 🗓️ Similar to ASCII, but Unicode allows a much wider range of characters and symbols. CSV CSV (comma-separated values ) is a plain-text , tabular format where each row represents a record and values are separated into columns , usually by commas . The first row often contains column names . It is used in storing and transferring tabular data , such as spreadsheets , datasets and data exported from databases . CSV is simple , human-readable , lightweight and widely compatible , resulting in small files that are fast to process and can be opened by many applications . But, it has limited support for data types and complex/nested data , with no enforced structure or validation , meaning inconsistent formatting , missing values and encoding problems can occur. Character,Game,Year Link,Ocarina of Time,1998 Lamball,Palworld,2024 Each value is separated by a comma, with column headings on the first row. Fixed Width Fixed width is a text-based format where each field is allocated a fixed number of characters , so data always starts and ends at predetermined positions . It is used in legacy systems , financial systems and transferring structured records where fields need to remain in predictable positions . Fixed width has a consistent and predictable structure , making fields easy for software to locate without needing separators . But it can waste storage space because fields must use their allocated width and changing the structure or allowing longer values can be difficult . Character Game Year Link Ocarina of Time 1998 Lamball Palworld 2024 Each field is given a set amount of space so that the values line up. JSON JSON (JavaScript Object Notation ) is a lightweight , text-based and human-readable format that uses key-value pairs and can contain nested data . It is used when transferring structured data between applications , particularly web applications , servers and APIs . JSON is lightweight , easy for humans to read and software to process , supports complex/nested data and works with many programming languages . It is simple to read/write , scalable and language-independent . But it can become difficult to read with large or deeply nested datasets , and syntax errors can prevent the data from being parsed correctly . { "character": "Link" , "game": "Ocarina of Time" , "year": 1998 } Data is stored using key-value pairs. XML XML (eXtensible Markup Language ) is a text-based , human-readable format that uses custom tags and attributes to describe and structure data and supports hierarchical/nested data . It is used to store and transfer structured data between different applications and systems , including configuration files and data exchange . XML is flexible , platform-independent and human-readable , with support for metadata and nested structures that allow complex data to be represented . However, XML can be verbose (uses lots of extra text/tags ), increasing file size and processing requirements . Complex XML can be difficult to process and syntax errors such as unclosed tags can prevent data from being parsed . Link Ocarina of Time 1998 Data is stored between descriptive opening and closing tags Data Types Character A character stores a single letter (e.g. L ), digit (e.g. 7 ) or symbol (e.g. @ ). It is used to store individual values such as initials , grades or single-letter codes . It is suitable and storage-efficient when only one character needs to be stored , but can only store one character , so multiple characters require a string . String A string stores a sequence of characters , such as "Pokopia" , "Nintendo Switch 2" or "2026" . Strings store text-based information , such as names , addresses , usernames and descriptions . They can store multiple characters and a wide variety of text , making it flexible for textual data . However, they usually require more storage than a single character , and numbers stored as strings cannot normally be used directly in mathematical calculations . Integer An integer stores whole numbers with no decimal places , including positive numbers , negative numbers and zero , e.g. -5 , 0 , 120 . It is used to store values that are counted in whole numbers , such as quantity , lives remaining or number of users . Integers require less storage and can be faster and more precise to process than real numbers when decimals aren't required . However, they cannot represent fractional or decimal values , making it unsuitable for values such as 3.5 . Real A real (also known as a float ) stores numbers that can contain a fractional/decimal part , such as 3.14 , -2.5 or 10.0 . it is used in storing measurements and calculations requiring decimal values , such as temperature , distance or speed . Reals can represent a much wider range of numerical values than integers , including fractional values . However, they require more storage than an integer and some real numbers cannot be represented exactly , potentially causing small rounding errors . Boolean A Boolean stores one of two possible values , usually True or False . It is used in representing yes/no or on/off condition s, such as whether a user is logged in . It requires little storage and is simple and efficient for making decisions in programs . But it can only represent two states , so it is unsuitable when more possible values are needed . Date The date data type stores a calendar date , typically containing a day , month and year , such as 21/11/1998 . It is used to store dates of birth , appointment dates , deadlines and release dates . it allows software to validate , compare , sort and perform calculations with dates . However, different date formats can cause confusion or compatibility problems . For example, 11/10/2026 could mean 11th October or 10th November . Q Half-Life 2 493 93.4 True 18/08/2026 Q uesto's Q uestions 2.1 - Data Formats & Types: 1. For each data format (ASCII , Unicode , CSV , fixed width , JSON and XML ), describe its characteristics and give one typical use . [ 3 each ] 2. Give two advantages and two disadvantages of each of the following data formats : CSV , fixed width , JSON and XML . [ 4 each ] 3. Explain the difference between ASCII and Unicode , including an advantage and disadvantage of each. [ 5 ] 4. For each data type (Boolean , Character , Date , Integer , Real and String ), describe its characteristics and give an example of data it could store. [ 2 each ] 5. For a hospital database , explain why different data types and data formats would be suitable for storing different pieces of data . Be specific . [5 ] Some older computers stored years using only two digits to save space . This contributed to the Y2K problem , where 00 could be interpreted as 1900 rather than 2000 , leading organisations around the world to check and update their systems before the new millennium . D id Y ou K now? 1.3 - Storage Topic List 2.2 - Data Flow

  • 2.3 - Data States | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about the three data states - at rest, in transit (in motion) and in use. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 2.3 - Data States Watch on YouTube: Data States You need to understand the characteristics and uses of the three data states (at rest , in transit (in motion) and in use ) What You Need to Know Data States Data states describe what is happening to data at a particular time - whether it is being stored , transferred or actively used . At Rest Data is at rest when it is stored on a device or storage system and is not currently being transferred or processed . It remains in a stable state until it is accessed , changed or deleted . It is for when data needs to be stored for later use , such as files saved on an SSD , customer details in a database or photos stored on a phone . In Transit Data in transit (also known as data in motion ) is actively moving from one location or device to another , often across a network . It may be sent to multiple users but is susceptible to interception or security attacks while being transferred . It is used when data needs to be sent or shared , such as loading a webpage , sending an email , uploading a file to cloud storage or streaming a video . In Use Data in use is currently being accessed , processed or changed by a user , application or computer system . It is used when an application needs to work with data , such as editing a document , calculating values in a spreadsheet , processing a database search or editing graphics . Q uesto's Q uestions 2.3 - Data States: 1. What is meant by a data state ? [ 1 ] 2. Describe the characteristics of data at rest , data in transit and data in use . [2 each ] 3. Give two examples of when data would be at rest , in transit and in use . [2 each ] 4. Explain how the same piece of data could move between all three data states . [3 ] 5. What might data in transit be particularly susceptible to? [2 ] When you stream a film on Netflix , its data can move through different states : it is at rest on a server , in transit while being sent across the internet , and in use when your device processes it for playback . D id Y ou K now? 2.2 - Data Flow Topic List 3.1 - APIs

  • 2.2 - Data Flow | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about how data is input to an application to be converted and output as information. Covers types of data and information such as numbers, text, audio and images as well as the black box concept to show data flow in a diagram. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 2.2 - Data Flow Watch on YouTube: Data vs Information Data Input Information Output Black Box Concept You need to know the difference between the terms 'data ' and 'information ' and how data is input to be converted to information as an output . There are specific types of input and output , including numbers , text , movement , audio and images . You need to understand how data and information flows through application software and can be stored . You must be able to represent data flow in a diagram using the black box concept . What You Need to Know Data and Information Data is raw , unprocessed facts and values , while information is data that has been processed and given meaning or context so that it is useful . Data is converted into information through processing , such as calculating , sorting , filtering , comparing or organising it. For example, individual test scores are data and then calculating the class average produces information . Data flows into an application through inputs , is processed and/or stored and then flows out as useful information through outputs . Data Processed to give meaning Information Data Input & Information Output 83 blue Numbers are numerical data entered into or produced by a system, including a whole number ( integer ) and decimal values ( real ). For example, entering a person's age , recording a temperature from a sensor or displaying a player's score . Text includes letters , numbers , symbols or words entered into or displayed by a system. For example, entering a username , typing a search query , displaying instructions or showing an error message . Movement is data about the position , direction or motion of a person or object , often captured using sensors or cameras . Examples include a phone detecting that it has been tilted , a fitness tracker detecting steps or a games console detecting controller movements . Audio is sound that is captured as input or produced as output by a system. Examples are speaking into a microphone for voice recognition , recording music , playing sound effects or receiving spoken directions from a navigation app . Moving images are a sequence of images displayed rapidly to create the appearance of movement , usually as video or animation . For example, recording video with a camera , watching a video tutorial , a video call or an animation in a game . Static images are single images that do not move , such as a photograph , drawing or diagram . Examples are taking a photo with a phone camera , scanning a QR code , displaying a logo or showing an image in an app. Storage Locations Black Box Concept The black box concept is a way of representing a system by focusing on what data enters the system , what is stored and what information leaves the system , without needing to understand the internal processes or any code . For example, consider a school quiz application : Flow-in is data that is entered into the system from an external source . Such as when a student selects an answer to a multiple-choice question , which is sent into the quiz application . Flow to storage is data that the system saves so that it can be accessed later . For example, the student's answer and score are saved to a database so their results can be viewed later . Flow-out is information that is sent out of the system to a user or another system , such as the quiz application displaying the student's final score on the screen. Flow In product choices & payment details Flow to Storage customer's order & account details Flow Out order confirmation & receipt Online Shopping System Storage See section 1.3 for information about the two main storage locations required for application software : on-site storage and cloud storage . Q uesto's Q uestions 2.2 - Data Flow: 1. Explain the difference between data and information , giving an example of each. [ 3 ] 2. Explain how application software can process data to turn it into useful information . [2 ] 3. Describe the following types of input/output data and give an example of each: number , text , movement , audio , moving images and static images . [2 each ] 4. Explain the black box concept and the terms flow in , flow to storage and flow out . [4 ] 5. Using an application of your choice , describe how data could flow into the application , be processed or stored , and flow out as useful information . [ 4 ] A controller isn't the only way to play a video game ! The Nintendo Wii and Nintendo Switch can use movement as input , music games like SingStar use audio from microphones , and the EyeToy on the PlayStation 2 used images from a connected camera . D id Y ou K now? 2.1 - Data Formats & Types Topic List 2.3 - Data States

  • 6.1 - Legal Considerations | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about legislation and regulations related to application development, including the Data Protection Act, Computer Misuse Act and Freedom of Information Act. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software Watch on YouTube: Computer Misuse Act Data Protection Act UK General Data Protection Regulation Freedom of Information Act Privacy and Electronic Communications Regulations Independent bodies UK Information Commissioner's Office 6.1 - Legal Considerations You need to know the latest version and main purpose of each act /regulation , as well as actions taken to comply with the act and the impacts of not complying with it. You must also understand how Privacy and Electronic Communications Regulations (PECR ) relate to the Data Protection Act and UK General Data Protection Regulation (UK GDPR ), and the role of the Information Commissioner's Office (ICO ) in the UK. What You Need to Know Developers must ensure application software complies with relevant legislation and regulations to protect users , their data and computer systems and to avoid legal and financial consequences . Computer Misuse Act (CMA) The Computer Misuse Act (CMA ) protects computer systems and data from unauthorised access and misuse . It makes activities such as unauthorised access , hacking and deliberately impairing computer systems criminal offences . Developers must only access systems and data they have permission to use , ensure any security testing is authorised , and must not develop or use software to deliberately gain unauthorised access or damage systems . If individuals do not comply with the CMA , they could face criminal prosecution , fines or imprisonment , while an organisation could also experience financial costs and reputational damage . Example : A developer must have permission before attempting to access restricted parts of a client's system , even if they claim they were only testing its security . Data Protection Act (DPA) The purpose of the Data Protection Act (DPA ) is to control how organisations collect , process , store and protect personal data . It helps ensure people's (known as data subjects ) information is handled fairly , lawfully and securely . Developers should ensure applications only collect necessary personal data , explain how it will be used , only use it for its intended purpose , keep it secure and remove it when it is no longer required . Non-compliance can result in complaints , data breaches , regulatory action , legal disputes , financial penalties , operational disruption and reputational damage . Example : A revision application should not collect a student's home address if that information is unnecessary for providing the service. UK General Data Protection Regulation (UK GDPR) UK General Data Protection Regulation (UK GDPR ) provides rules and principles governing the lawful processing and protection of personal data . It gives individuals rights over how organisations use their information . It operates alongside the DPA 2018 in the UK . Developers should ensure there is a lawful reason for processing personal data , collect only necessary information , clearly explain its use , keep it accurate and secure , avoid retaining it unnecessarily and allow users to exercise their data rights where applicable. If they do not comply , organisations can face investigations , enforcement action , significant fines , compensation claims and reputational damage , particularly following serious data breaches . Example : A bank application collecting account information should clearly tell users what personal data is collected and why it is needed . Freedom of Information Act (FOIA) The Freedom of Information Act (FOIA ) gives people the right to request recorded information held by public authorities , such as government departments , councils , state schools and the NHS , subject to exemptions . To comply , when developing software for a public authority , developers should consider how information can be stored , organised , searched and retrieved so the organisation can respond appropriately to information requests . Non-compliance may cause a public authority to face complaints , investigations , enforcement action and reputational damage if it fails to meet its legal responsibilities . Example : A system developed for a council should allow relevant recorded information to be located when the council receives a valid FOI request . Privacy and Electronic Communications Regulations (PECR) Privacy and Electronic Communications Regulations (PECR ) protect people's privacy when using electronic communications , including rules covering electronic marketing , cookies and similar technologies and the security of communications services . To comply, developers may need to ensure applications obtain appropriate consent for non-essential cookies or similar technologies , provide relevant information to users and follow the rules when enabling electronic marketing such as emails or text messages . If they don't comply , organisations could face regulatory action , financial penalties , complaints and reputational damage . Example : A website should not simply place certain advertising or analytics cookies on a user's device without providing the required information and obtaining consent where required. Independent Bodies Independent bodies are organisations that operate separately from the organisations they oversee and can provide guidance , monitor legal compliance and take action when rules or standards are not followed . When developing application software , independent bodies may: Provide guidance and codes of practice that developers can follow. Monitor and investigate whether organisations are meeting their legal responsibilities . Handle complaints from users or members of the public . Take or recommend enforcement action when organisations fail to comply . Help developers understand how legislation should be applied to applications and user data . Information Commissioner's Office (ICO) The Information Commissioner's Office (ICO ) is the UK's independent regulator for information rights and data protection , overseeing areas including the DPA , UK GDPR , FOIA and PECR . When developing application software , the ICO is relevant because it: Provides guidance on how personal information should be collected , processed , stored and protected . Helps organisations understand how to comply with data protection and privacy legislation . Can investigate complaints and data breaches . Can take enforcement action when organisations fail to meet their legal obligations . Promotes good practice in areas such as privacy , electronic marketing , cookies and protecting users' information . Example : If developers create an application that collects users' names , email addresses and dates of birth , they can use ICO guidance to help ensure the application handles this personal data appropriately and complies with data protection requirements . Q uesto's Q uestions 6.1 - Legal Considerations: 1. State the main purposes of the CMA , DPA , UK GDPR , FOIA and PECR . [ 2 each ] 2. For each act or regulation , explain the actions developers should take to ensure application software complies with its requirements . [2 each ] 3. Explain the possible impacts on an organisation if its application software does not comply with relevant legislation or regulations . [2 each ] 4. Explain the role of independent bodies and the Information Commissioner's Office (ICO ) when developing and operating application software. [4 ] 5. A revision app collects users' personal data , uses cookies and sends marketing emails . Identify the relevant legislation and explain how the developers should comply with it. [4 ] Following a 2018 cyberattack , personal data belonging to more than 400,000 British Airways customers was compromised . In 2020 , the Information Commissioner's Office ( ICO ) fined British Airways £20 million for failing to adequately protect its customers' data , the largest data protection fine the ICO has issued. D id Y ou K now? 5.3 - Policies Topic List

  • 5.3 - Policies | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about policies related to application development, including a user guide, acceptable use policy (AUP), backup, codes of practice, staying safe online and the use of information. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 5.3 - Policies Watch on YouTube: Policies You need to know the purpose , content and application of each policy to be considered when related to developing application platforms . What You Need to Know Policies Policies provide rules and guidance that help ensure an application platform is developed and used safely , responsibly and effectively . Application User Guide An application user guide provides users with instructions and information about how to install , access and use the application correctly . It may include system requirements , installation instructions , explanations of features , troubleshooting advice and contact/support information . Developers create and maintain documentation that reflects the finished application and is accessible and understandable to its intended users . System requirements are an important part of the guide as they allow users to check that their device and operating system are compatible before installation , helping prevent errors and providing useful information when troubleshooting problems . Acceptable Use Policy (AUP) An acceptable use policy (AUP ) defines rules about how an application can and cannot be used, encouraging appropriate and responsible behaviour. It includes acceptable and unacceptable activities , user responsibilities , prohibited content or behaviour , security requirements and possible consequences of breaking the rules . Developers ensure users are given access to the AUP and may be required to agree to it before using the application. For example, a school's learning platform could prohibit users from sharing passwords , posting offensive content or attempting to access another student's account . Backup Policy A backup policy ensures that important application data can be recovered if the original data is lost , damaged , corrupted or affected by a security incident . The policy defines what data should be backed up , how often backups occur, where they are stored , how long they are retained and how data can be restored . Developers ensure the application supports the organisation's backup requirements , such as automatically backing up user data at scheduled intervals and securely storing backup copies . For example, a school application could automatically back up student records each day so they can be restored following data loss. Codes of Practice Codes of practice provide guidelines for good professional practice when developing and operating application platforms . They may cover areas such as security , accessibility , privacy , ethical behaviour , development standards and handling user data responsibly . Developers follow relevant professional or industry guidelines throughout the development process when designing , coding , testing and maintaining the application . For example, developers could follow accessibility guidance to make an application usable by people with different accessibility needs . Staying Safe Online A staying safe online policy promotes responsible internet use and protects the safety and well-being of users , helping create a safe and respectful online environment . It includes guidance about protecting personal information , communicating safely , appropriate online behaviour , recognising suspicious content and reporting concerns . Developers can provide safety information and suitable features , such as privacy controls , reporting systems , blocking features and warnings about sharing personal information . For example, a social media application could allow users to block and report other accounts and provide guidance about not sharing personal information . Use of Information A use of information policy explains how an organisation collects , uses , stores and shares users' information . It provides transparency , builds trust and helps meet legal responsibilities . The policy identifies what information is collected , why it is required , how it will be used and stored , who it may be shared with , users' rights and restrictions on misuse . Developers design the application so that information is collected and processed according to the policy , including appropriate privacy controls, permissions and security measures . For example, an application collecting users' email addresses should explain why they are collected , how they will be used and who can access them . Q uesto's Q uestions 5.3 - Policies: 1. Explain the purpose of an application user guide and describe the information it should contain . [ 3 ] 2. Explain the purpose and content of an Acceptable Use Policy (AUP ), including how it can be applied to an application platform . [4 ] 3. Explain the purpose of backup policies and codes of practice and how developers can apply them when developing application platforms . [4 ] 4. Explain the purpose and content of a staying safe online policy and how its requirements could influence the features of an application . [4 ] 5. Explain the purpose and content of a use of information policy , including how developers can ensure information is collected , stored , used and shared appropriately . [ 4 ] During the production of Toy Story 2 , a command accidentally deleted a huge amount of the film's production data . Pixar discovered that its backups had problems too, but supervising technical director Galyn Susman had a backup copy of the project stored on her computer at home while working remotely, which allowed much of the deleted work to be recovered . D id Y ou K now? 5.2 - Application Installation Topic List 6.1 - Legal Considerations

  • Computer Science Newbies

    Homepage for learning about computer science in school. Discover topics across GCSE and Level 3 IT subjects, plus programming languages including Python, HTML and Greenfoot. C omputer S cience Newb ie s Popular topics: Python Programming Application Development OCR Cambridge Advanced National in Computing (AAQ) A-Level Computer Science You are viewing the mobile version of CSNewbs. The site will appear better on a desktop or laptop . OCR A-Level (H446) GCSE Computer Science OCR GCSE (J277) Latest YouTube Video Latest Blog Post Links & Information YouTube Channel Last updated: Tuesday 18 th August 2026 Millions of visits since 2017! About CSNewbs

  • 5.2 - Application Software Installation | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about application software installation methods, including clean, remote, cloud, mobile and network installation. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software Watch on YouTube: Application installation 5.2 - Application Software Installation You need to know how different installation processes (e.g. clean , remote , cloud , network and mobile installs) work as well as their advantages , disadvantages and appropriate uses . What You Need to Know Application Installation Application software can be installed using different methods depending on factors such as the number of devices , their location , network availability and the requirements of the users or organisation . Ghost / Image A ghost is a master copy (known as an image ) of a correctly configured system containing the required software and settings , which is created and deployed to other devices . This is used when the same applications and configuration need to be installed on many devices, such as computers in a school or business . It allows many devices to be configured quickly and consistently , reducing repetitive installation work and ensuring they have the same software and settings . However, creating and maintaining the image takes time , devices may need compatible hardware and an error or outdated application in the master image could be copied to every device . Upgrade An upgrade is when a newer version is installed over an existing version , usually retaining the user's existing data , settings and configuration . It is required when users need to move to a newer version of an application without completely reinstalling it . Upgrading is usually quicker and more convenient than a clean install and allows existing settings and data to be retained . But existing problems , unnecessary files or incompatible settings may remain and compatibility issues can occur between versions. Clean Install A clean install is when any previous installation is removed and a completely new copy of the application is installed . It is used when installing an application for the first time , or when an existing installation has serious problems and a fresh installation is required. A clean install provides a fresh installation without problems or unwanted settings from an older version, which can improve reliability . However, it can be more time-consuming and existing settings or application data may be lost if they are not backed up first . Repair/Modify Install A repair install (or modify install ) is when an existing installation is reopened to repair damaged or missing files . Installed features can be added or removed without completely reinstalling the application . This is used when an application is not functioning correctly or when its installed features need to be changed . It is usually quicker than completely reinstalling the application and can retain existing settings and data . But it may not fix more serious problems , and the required installation or repair files must be available . Remote Install A remote installation is when an administrator installs an application onto another device from a different location using remote management software . It is used when IT staff need to manage devices without physically accessing them, such as employee computers across different offices . A remote install saves time and travel , allows centralised management and can enable IT staff to install software on many geographically separated devices . However, it requires network connectivity , appropriate permissions and remote management tools . Connection problems could interrupt the installation. Unattended Install An unattended installation is automated using predefined settings , allowing it to complete without the user responding to installation prompts . It is used when installing the same application and settings on many devices or when installations need to occur without staff being present . Advantages are that it requires little or no user interaction , saves staff time and ensures consistent installation settings across devices. However, it requires careful configuration beforehand, and incorrect predefined settings could cause the same installation problem across multiple devices . Cloud Install With a cloud install , files are downloaded from an internet-based cloud service and then installed onto the device . It's suitable for when users or organisations need to download applications directly over the internet , particularly across different locations and devices . Cloud installs can be accessed from many locations and devices , it does not require physical installation media , can support automatic updates and may allow installations to be scheduled for convenient times . But it depends on a reliable internet connection , interrupted downloads can cause problems, large applications can use significant bandwidth and the device must meet the software's requirements . Mobile Install A mobile install is when an application is downloaded and installed through a mobile app store onto a smartphone or tablet . It's needed for applications designed for mobile devices , such as installing a revision app onto a student's tablet . It is usually simple and convenient for users as app stores can manage installation and updates . Also, applications can be installed directly onto the user's device . However, it requires sufficient storage and a compatible operating system and downloads can consume mobile data . Connectivity problems can interrupt installation and app stores may restrict what applications can be distributed . Network Install With a network install , files are stored in a central location on a local network and accessed by devices connected to that network . It is used when an organisation needs to install software on multiple devices connected to the same network , such as computers around a school . Advantages are that installation files can be managed centrally , physical installation media is not required for each device and many devices can access the same installation files . But it requires a working network connection , installing on many devices can increase network traffic and problems with the network or central server could prevent installations . Q uesto's Q uestions 5.2 - Application Software Installation: 1. Describe how each application software installation method is completed : ghost/image , upgrade , clean install , repair/modify , remote , unattended , cloud , mobile and network installation. [ 2 each ] 2. Give an example of when each installation method would be appropriate to use . [1 each ] 3. Give the advantages and disadvantages of each application software installation method . [4 each ] 4. Explain the differences between remote , unattended , cloud and network installation. [3 ] 5. For installing new software in a school , recommend a suitable installation method and justify why it would be appropriate . [ 4 ] The PC version of Baldur's Gate was originally released on five CDs in 1998 , with players swapping discs during installation . As games became larger , lengthy multi-disc installations became common , sometimes leaving players waiting hours before they could start playing . D id Y ou K now? 5.1 - Testing Topic List 5.3 - Policies

  • 5.1 - Testing | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about the importance of testing applications, test plan structure, test types and test data. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 5.1 - Testing Watch on YouTube: Purpose of testing Test plan structure Test data Types of testing You need to know the purpose , importance , advantages and disadvantages of testing applications , as well as the impacts of not carrying out testing . You must understand the structure and contents of test plans and the importance of testing , remedial actions and retesting during application development. You need to know the role of each type of test data (normal , extreme and erroneous ). Finally, the purpose , advantages and disadvantages of each type of testing (technical and user ) must be known as well as when and how each type should take place . What You Need to Know Testing Testing is the process of checking application software to identify problems and ensure that it works correctly and meets its requirements before it is released. Purpose of Testing Key purposes of testing application software include: Identify and fix defects , such as bugs and errors , before release . Check that requirements are met and the application works as expected for users. Check reliability , performance and compatibility across different conditions and devices . Improve security by identifying vulnerabilities and ensuring the application complies with relevant legal requirements . Support continuous improvement by identifying areas that could be optimised . Why Testing is Important Testing is important because it helps developers produce reliable , secure and high-quality software that meets user requirements . Finding problems during development also allows them to be corrected before they affect users and can make problems cheaper and easier to fix . If application software is not properly tested : Bugs and errors may cause features to fail or the application to crash . Poor user experience and compatibility issues may frustrate users or prevent the application from working correctly . Security vulnerabilities may increase the risk of data breaches and cyberattacks . Incorrect results or unmet requirements may mean the application does not achieve its intended purpose . Financial and reputational damage may occur if users lose confidence in the application. Testing Advantages Testing Disadvantages Improves quality by identifying bugs so they can be corrected . Increases customer satisfaction by ensuring the application meets users' requirements and expectations . Reduces costs by finding problems early when they may be cheaper to fix . Reduces risk by identifying potential problems before they affect users . Improves security by identifying vulnerabilities before they can be exploited . Improves user experience by ensuring features work correctly and consistently . Takes considerable time and could affect development deadlines . Increases development costs through additional staff , time and specialist testing software . Can be affected by human error if testers make mistakes or overlook problems . May require specialist knowledge to configure and maintain complex automated testing tools . Can produce false positives , causing developers to waste time investigating problems that do not exist . Cannot cover every possible situation , meaning some defects may remain after release . Test Plan Structure A test plan is a structured document that outlines the tests that will be carried out on application software , including how each test will be performed and the expected and actual results . Parts of a test plan include: Test number : A unique number given to each test so it can be easily referenced . Test type : Identifies the category of testing being carried out, such as functional , usability or compatibility testing . Test description : A brief description of what feature or part of the application is being tested . Purpose : Explains why the test is being carried out and what it aims to check . Procedure : Describes the steps the tester must follow to carry out the test. Test data : The values entered into the application during the test. Expected result : Describes what should happen if the application works correctly . Actual result : Records what actually happened when the test was carried out. Remedial action required : Records any changes needed if the actual result does not match the expected result . Remedial action fixes errors found during initial testing to ensure the software performs as intended . Retest result : Records the outcome after the test is repeated following any remedial action , confirming whether the problem has been fixed . Types of Test Data Test data is the data entered into application software during testing to check that it handles different types of input correctly. Normal Data Normal data is valid and within the expected range or format for an input. It is used to check that the application accepts and correctly processes typical data that users are expected to enter . Example : If an age field accepts values from 18 to 100 , 35 would be normal test data . Extreme Data Extreme data is valid data at the boundary of the permitted range , such as the minimum or maximum allowed value . It is used to check that the application correctly accepts and processes values at its limits . Example : If an age field accepts values from 18 to 100 , 18 and 100 would be extreme test data . Erroneous Data Erroneous data is invalid because it is outside the permitted range , has the wrong data type or does not follow the required format . It is used to check that the application rejects invalid data appropriately , such as by displaying an error message . Example : If an age field accepts whole numbers from 18 to 100 , then 17 , 101 or "twenty" would be erroneous test data . Types of Testing Technical Testing Technical testing checks whether the application works correctly , reliably and securely from a technical perspective . Its purpose is to identify technical faults , bugs , performance problems and compatibility or security issues so they can be corrected . Technical testing takes place throughout development , before release and after significant updates to check that changes have not introduced new problems . Developers or testers use planned tests and specialist testing tools , which may be manual or automated , to test different parts of the application and compare the results against what was expected . Technical testing can identify problems early in development , improve reliability , performance and security , and automated tests can be repeated efficiently . However, it can be time-consuming and expensive , may require specialist knowledge or tools , and cannot guarantee that every possible problem will be identified . There are three common types of technical testing : Fuzz Testing Fuzz testing is where the application is given large amounts of unexpected , invalid or random data to see how it responds . Its purpose is to identify weaknesses such as crashes and errors when the application receives inputs the developers may not have anticipated . Example : Automatically entering unusual characters , extremely long inputs and unexpected values into an application's input fields . Load/Stress Testing Load testing (also known as stress testing ) is when the application is placed under high or increasing levels of demand to see how well it performs . It checks the application's performance , reliability and limits when many users , requests or large amounts of data are being handled . Example : Simulating thousands of customers attempting to use an online shop at the same time before a major sale . Migration Testing Migration testing checks that data or an application has been transferred correctly from one system , platform or version to another . It ensures that data remains complete and usable and that the application continues to function after migration . Example : Checking that all customer accounts and order histories remain correct after moving them from an old database to a new one . User Testing User testing involves intended users trying the application to check that it meets their needs and is suitable for real-world use . Its purpose is to identify usability , accessibility and user-experience problems and gather feedback about whether the application meets user requirements . User testing takes place when a working version of the application is available , particularly before final release , although users can test prototypes and versions throughout development . Users are given the application and realistic tasks or scenarios to complete, while feedback and observations about their experience are collected . User testing provides real feedback from users , reveals how people actually interact with the application and identifies usability and accessibility problems . It validates design decisions and can improve user satisfaction . However, recruiting suitable users can be time-consuming and costly , feedback can be subjective or inconsistent and a small group of testers may not represent every type of use r. Q uesto's Q uestions 5.1 - Testing: 1. Explain the purpose and importance of testing application software , including the possible impacts of not testing thoroughly . [ 4 ] 2. Give advantages and disadvantages of testing application software . [4 ] 3. Describe the structure of a test plan and explain the purpose of normal , extreme and erroneous test data . [6 ] 4. Compare technical testing and user testing , including their purpose , how and when they take place , and their advantages and disadvantages . [6 ] 5. Describe fuzz testing , load/stress testing and migration testing , giving an example of when each could be used . [6 ] Bethesda's Fallout 76 experienced a number of technical problems when it launched in 2018 , with players reporting bugs , crashes and performance issues . Its first major update after launch was around 47 GB on consoles , despite the game itself being around 53 GB , showing how substantial post-release fixes can become when software requires further development and testing . D id Y ou K now? 4.1 - Security Considerations Topic List 5.2 - Application Installation

  • About | CSNewbs

    Frequently asked questions about CSNewbs including content, the creator and contact. Frequently Asked Questions about Computer Science Newbies What is CSNewbs? CSNewbs (standing for Computer Science Newbies ) is an educational website and YouTube channel that contains information about a range of computing topics . It is primarily aimed at British GCSE and A-Level specifications , but is also relevant for all years and locations . It covers all necessary content from relevant specifications , but breaks it down so it is easier to understand and gets straight to the point . It is made by just one person , but updates are frequent . Which courses does CSNewbs cover? The ' Year 10 & 11 ' section follows the OCR J277 specification and Eduqas specification ( 2020 edition ) . The ' Year 12 & 13 ' section follows the OCR A-Level H446 specification and OCR Cambridge Advanced Nationals in Computing specification for Application Development . There is also content for the now-finished Cambridge Technicals IT course. The ' Programming ' section contains material for Python , HTML , Greenfoot and others. The ' Year 7, 8 & 9 ' section covers basic Computer Science topics including computer components and cybersecurity. Is the site linked to any exam boards? CSNewbs is not affiliated with any exam board , financially or in any other way . The content on this site has been independently created by closely manually analysing (no AI ) the publicly released specifications by exam boards such as Eduqas and OCR and their previous exams and mark schemes. How was this website made? CSNewbs.com was created and is maintained using Wix . What's the deal with copyright? CSNewbs is protected by copyright , and some copy / paste features have been disabled on the site. All images have either been self-created or used from Wix's copyright-free vector gallery / their stock image library / or with a licence from Noun Project . Embedded videos are linked to content from the CSNewbs YouTube page. Will other exam boards be added? The site continues to expand over time with new content . The eventual aim is to cover every exam board for GCSE and A-Level Computer Science but that will take a lot of time! Why is something on the site not working at my school? Your school's IT administrators may have blocked some elements such as JavaScript or embedded YouTube videos . The videos can be watched directly on YouTube (if not blocked on your school network). Who is the robot? The robot is called Questo . It's the site logo and appears on some pages to ask questions about the content (' Questo's Questions ') or to display key terms . What else? If you work for an exam board or educational resource organisation , and your organisation has opportunities available , please send me an email. I have previously done work for Educake . How can I contact the creator of CSNewbs? The contact email is: Privacy Policy

  • 4.1 - Security Considerations | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about security threats, including botnets and DDoS attacks and both physical and digital security mitigations. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 4.1 - Security Considerations Watch on YouTube: Security threats Physical security Digital security You need to know the risks that specific security threats pose to applications , including botnets , DDoS attacks , hacking and malware . You need to know how both physical security mitigations (e.g. biometrics , locks and RFID ) and digital security mitigations (e.g. encryption , firewalls and anti-malware ) protect application software against threats . What You Need to Know Security Threats Common threats to application software include: Botnet A botnet is a group of compromised devices that are remotely controlled by an attacker , often without their owners knowing , and used together to carry out malicious activities . DoS / DDoS Attack A Denial of Service (DoS ) attack attempts to make a system or service unavailable by overwhelming it with requests or traffic . A Distributed Denial of Service (DDoS ) attack does this using many devices at the same time , often through a botnet . Hacking Hacking is the process of gaining unauthorised access to a computer system , network or data . This potentially allows data to be viewed , changed , stolen or deleted . Lack of Supplier Support A lack of supplier support occurs when a developer no longer provides updates , security patches or technical assistance for its software , leaving newly discovered vulnerabilities potentially unfixed . Malicious Spam Malicious spam is unwanted messages sent to large numbers of users that contain harmful or deceptive content . This may include links designed to steal information or distribute malware . Malware Malware is software intentionally designed to damage , disrupt or gain unauthorised access to systems or data . Examples include viruses , worms , ransomware and spyware . Out-of-date Software Out-of-date software may contain known security vulnerabilities that newer versions have fixed , making it easier for attackers to compromise the system . Out-of-date Hardware Out-of-date hardware may lack modern security features , be incompatible with newer security software or no longer receive support from its manufacturer . Out-of-date Firmware Firmware is software built into a device that controls how its hardware operates . Out-of-date firmware may contain unpatched security vulnerabilities that attackers could exploit to access or interfere with the device . Physical Security Mitigations Physical security mitigations are measures used to prevent unauthorised physical access to systems that run application software . Biometrics Biometrics use unique physical characteristics, such as fingerprints or facial features , to verify a person's identity and prevent unauthorised users from physically accessing devices and application software . Cable Locks Cable locks physically secure devices such as laptops to a fixed object like a table , reducing the risk of equipment being stolen and the application software or data on it being accessed . Cameras Cameras like CCTV can monitor and record areas containing computer equipment , helping to deter unauthorised access or theft and providing evidence if a security incident occurs . Locks Locks restrict physical access to rooms , cabinets or equipment for unauthorised people , helping prevent devices and the application software they contain from being accessed , stolen or damaged . RFID Radio Frequency Identification (RFID ) uses radio waves to communicate wirelessly between an RFID tag or card and a reader . It can be used to identify authorised users and control physical access to restricted areas , such as server rooms . Safe A safe provides secure physical storage for devices or storage media , protecting them against unauthorised access , theft and potentially physical damage . Swipe Cards Swipe cards require users to swipe or scan an authorised card to enter restricted areas , preventing unauthorised people from physically accessing devices and systems containing application software . Digital Security Mitigations Digital security mitigations use software and technology to protect applications and data from security threats . Access Rights Access rights control what resources and actions different users are allowed to access , such as viewing , editing or deleting data . This helps prevent unauthorised access or changes . Anti-Malware Anti-malware is software that detects , blocks and removes malware , such as a virus or worm . It helps prevent malicious software from damaging applications , stealing data or gaining unauthorised access . Back-up A back-up creates a separate copy of data that can be restored if the original is lost , damaged or corrupted , for example following a malware attack or hardware failure . Cryptography Cryptography uses mathematical techniques to protect data and communications , helping keep data confidential , verify its authenticity and prevent unauthorised changes . 2FA Two-factor authentication (2FA ) requires a user to provide two different forms of authentication before gaining access , such as a password plus a code from another device . This makes unauthorised access more difficult if one factor is compromised . Encryption Encryption converts data (plaintext ) into an unreadable form (ciphertext ) that requires the correct key to decrypt . It prevents unauthorised users from understanding the data if they gain access . Encryption at rest protects stored data , such as files on a device or records in a database , if the storage is accessed or stolen . Encryption in transit protects data while it is being transferred across a network , reducing the risk of intercepted data being read . Firewalls A firewall monitors and controls network traffic using security rules , helping prevent unauthorised or suspicious connections . A hardware firewall is a physical network device , often built into a router , that can protect multiple devices by filtering traffic entering or leaving a network . A software firewall is installed on a specific device that monitors and controls network traffic for that device and its applications . Q uesto's Q uestions 4.1 - Security Considerations: 1. Describe the following security threats : botnets , DoS/DDoS attacks , hacking , lack of supplier support , malicious spam and malware . [ 2 each ] 2. Explain why out-of-date software , hardware and firmware can create security risks for application software . [3 ] 3. Explain how physical security measures , including biometrics , cable locks , cameras , locks , RFID , safes and swipe cards , can protect application software and systems. [2 each ] 4. Explain how access rights , anti-malware , backups , cryptography , encryption , firewalls and 2FA can protect application software from security threats. [2 each ] 5. For an online mobile game , recommend suitable physical and digital security mitigations and justify how they would protect against specific threats . [6 ] The WannaCry ransomware attack of 2017 affected hundreds of thousands of computers worldwide , including NHS systems . It exploited a vulnerability in older or unpatched Windows systems and resulted in an estimated 19,000 NHS appointments and operations being cancelled . D id Y ou K now? 3.2 - Protocols Topic List 5.1 - Testing

  • 3.2 - Protocols | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about protocols including FTP, HTTP, POP, SMTP, SNMP, TCP, UDP, ICMP, IP and the TCP/IP stack. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 3.2 - Protocols Watch on YouTube: Protocols TCP/IP Stack You need to know the role and uses of specific common protocols (FTP , HTTP , POP , SMTP , SNMP , TCP , UDP , ICMP , IP ). You also need to understand the structure , content and use of the 4-layer TCP/IP stack . What You Need to Know Common Protocols A protocol is a set of rules that determines how data is communicated between devices over a network . FTP FTP (File Transfer Protocol ) is used to transfer files between computers over a network , typically between a client and a server . It is used when uploading or downloading files from a server , such as transferring website files to a web server . HTTP HTTP (HyperText Transfer Protocol ) is used to request and transfer webpages and other web content between a web browser and a web server . It is used when accessing websites or when web-based applications communicate with servers . However, HTTPS is the secure , encrypted version commonly used today. POP POP (Post Office Protocol ) is used by an email client to retrieve emails from a mail server , traditionally storing them on the user's device . It is used when emails need to be downloaded from a mail server for access through an email application , particularly where local or offline access is required . SMTP SMTP (Simple Mail Transfer Protocol ) is used to send and transfer email messages between email clients and mail servers and between mail servers . It is required when a user sends an email , including transferring that email between mail servers on its way to the recipient . SNMP SNMP (Simple Network Management Protocol ) allows network administrators and management software to monitor and manage devices on a network to collect information about their status . It is used to monitor devices such as routers , switches , servers and printers , for example checking whether a network device is operating correctly . TCP TCP (Transmission Control Protocol ) provides reliable and ordered delivery of data packets between devices . It checks that packets arrive correctly and retransmits missing packets when necessary. It is used when accuracy and reliability are more important than speed , such as transferring files , loading webpages and sending emails . UDP UDP (User Datagram Protocol ) sends data quickly , although without checking that every piece has arrived or is in the correct order , reducing delays . It is used when speed is more important than perfect delivery , such as live video/audio , online gaming and voice calls . ICMP ICMP (Internet Control Message Protocol ) is used to send network status , diagnostic and error messages between network devices . It is required when diagnosing network problems and checking whether another device can be reached , such as when using the ping command. IP IP (Internet Protocol ) addresses and routes data packets across networks by using IP addresses to uniquely identify devices . It is used when data needs to be sent between devices across networks , with IP helping packets travel from the source towards the correct destination using an appropriate route . TCP/IP Stack The TCP/IP stack is a four-layer model that describes how data is prepared , transmitted across networks and received by applications . When sending data , it travels down through the layers . When receiving data , it travels up through the layers . Different protocols are used at specific layers of the model. Application Layer This is the top layer , where network applications and services interact with the network . It includes protocols such as HTTP , FTP , SMTP , POP and SNMP . It determines how applications communicate and exchange specific types of data across a network . Example : A web browser uses HTTP to request content from a web server . Transport Layer This layer is responsible for transporting data between devices and includes TCP and UDP . It determines how data should be delivered , including whether reliability (using TCP ) or speed (using UDP ) is more important . Example : TCP can ensure that a downloaded file arrives completely and in the correct order , while UDP can prioritise speed during an online game . Internet Layer This layer is responsible for addressing and routing packets between networks and includes protocols such as IP and ICMP . It ensures packets can travel towards the correct destination using IP addresses . Example : IP is used to route packets across the internet to the destination device . Network Access Layer This is the lowest layer , concerned with how data is physically transmitted across the network using technologies such as Ethernet (a wired connection) and WiFi . It handles communication between a device and the network it is directly connected to . Example : A laptop could transmit data wirelessly to a local router using WiFi . Q uesto's Q uestions 3.2 - Protocols: 1. What is a network protocol , and why do you think protocols are needed when devices communicate ? [ 2 ] 2. State the role of FTP , HTTP , POP , SMTP and SNMP and give an example of when each would be used. [2 each ] 3. State the role of TCP , UDP , ICMP and IP and give an example of when each would be used. [2 each ] 4. Describe the structure and purpose of each of the four layers of the TCP/IP stack . [2 each ] 5. Explain how different protocols and layers of the TCP/IP stack can work together to transfer data across a network , such as sending an email on a wired connection . [ 4 ] Online games use UDP because receiving data quickly is often more important than receiving every single packet . A tiny amount of missing data may be preferable to the game pausing while it waits for it to be resent . D id Y ou K now? 3.1 - APIs Topic List 4.1 - Security Considerations

  • 3.1 - Application Programming Interfaces (APIs) | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about Application Programming Interfaces (APIs), including their roles, types (composite, internal, private, public, partner) and architecture (REST, SOAP, RPC). Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software Watch on YouTube: API roles API architecture 3.1 - Application Programming Interface (API) You must know the role and uses of Application Programming Interfaces (APIs ) as well as the uses , advantages and disadvantages of each API type (composite , internal , private , public , partner ). You must also understand the uses , advantages and disadvantages of API architecture (REST , SOAP , RPC ). What You Need to Know Roles of an API An Application Programming Interface (API ) allows different applications or systems to communicate and exchange data using a defined set of rules . Roles of an API include: Setting communication rules by defining the methods that allow an application to communicate correctly with a server . Transferring data by allowing an application to request data from a server and receive the requested information in response. Increasing security by providing a controlled way of accessing a server's data or services , rather than giving an application direct access to the server and its data . As an example , a weather app could use an API to request today's weather data from a weather service's server , which then returns the requested information for the app to display . Types of API Composite API A composite API combines multiple API requests into a single request , allowing several pieces of data or tasks to be handled together . It is used when an application needs data from several sources or needs several related actions completed at once . Such as an online shop retrieving customer , order and delivery i nformation simultaneously . A composite API can reduce the number of separate requests , making complex operations simpler and potentially improving performance . But it can be more complex to develop and maintain , and a problem with one part of the combined request could affect the overall response . Internal API An internal API is designed for use within an organisation , allowing its own applications and systems to communicate . It is used when different systems inside the same organisation need to exchange data , such as a school's student-record system sharing data with its attendance system . An internal API can improve communication and data sharing between internal systems while allowing the organisation to control how the API works . However, it usually cannot be accessed by external organisations , and the organisation is responsible for developing , securing and maintaining it. Private API A private API is where access is restricted to authorised developers or users , usually through authentication such as credentials . It is used during private development and testing , or when developers need controlled access to confidential back-end data and services . A private API provides greater control and security , helping protect confidential data and intellectual property while allowing authorised developers (including remote developers ) to access what they need . But restricted access limits outside involvement and integration , and the organisation is responsible for developing , testing , securing and maintaining the API. Public API A public API is made available to external developers or the general public to access certain data or services . It is used when an organisation wants other applications to use its data or services , such as allowing developers to retrieve weather , mapping or transport information . Public APIs encourage third-party development and integration , potentially increasing the number of applications making use of a service . However, it creates greater security and management requirements , and heavy usage may place additional demand on servers , so access may need to be limited . Partner API A partner API is shared with selected external organisations or business partners , rather than being available to everyone . It is used when two organisations need their systems to securely share data or services , such as an online retailer communicating with a delivery company's system . A partner API allows organisations to use specialist services provided by trusted partners rather than developing everything themselves , potentially reducing development time and costs . However, it creates dependency on the API provider . Also, downtime , security problems , rate limits or limited customisation could affect the application. API Architecture API architecture describes the rules and structure used by an API . REST (Representational State Transfer) REST is an API architecture that commonly uses standard web/HTTP methods to request , add , update or delete data , often exchanging data using JSON . it is commonly used for web and mobile applications that need to communicate with servers , such as an app requesting user account information . REST is simple and easy to use , works across different platforms , uses standard web technologies , is stateless so requests can be handled independently and is scalable for applications with many users . But it provides less strict standardisation than SOAP and developers may need to implement additional security , validation and error handling themselves. SOAP (Simple Object Access Protocol) SOAP is a strict and standardised protocol for exchanging structured information between applications , usually using XML to format messages . It is often used where security , reliability and strict rules are particularly important, such as financial , payment or large business systems . SOAP has strict standards and built-in support for features such as security and error handling , making communication reliable and consistent . However, it can be more complex to develop and use and its XML messages contain lots of tags , making them larger and potentially slower to process than REST. RPC (Remote Procedure Call) RPC is an API architecture that allows an application to request that a function/procedure is carried out on another computer or server , as though it were being carried out locally . It is useful when an application needs to perform specific actions on a remote system , such as requesting a server to calculate a value and return the result . RPC can be simple and efficient for performing specific actions , as the developer can directly request the required procedure . But it can create a strong dependency between the client and server , meaning changes to procedures on the server may require changes to the application . Also, network problems can prevent the procedure from completing . Q uesto's Q uestions 3.1 - Application Programming Interface (API): 1. What is the role of an API , and how can APIs help applications and servers communicate securely ? [ 3 ] 2. Describe composite , internal , private , public and partner APIs , giving an example of when each could be used. [3 each ] 3. Give advantages and disadvantages of composite , internal , private , public and partner APIs . [4 each ] 4. Describe REST , SOAP and RPC API architectures and explain when each would be suitable . [4 each ] 5. Compare the advantages and disadvantages of REST , SOAP and RPC . [ 6 ] A single application can communicate with multiple APIs . For example, a travel app could use separate services for maps , weather , payments and transport information rather than developing every feature itself. D id Y ou K now? 2.3 - Data States Topic List 3.2 - Protocols

© CSNewbs 2026

The written, video and visual content of CSNewbs is protected by copyright. © 2026
bottom of page